diff --git a/amd/build/suivi.js b/amd/build/suivi.js index 0a2c975065a6085bc0fb997d1d707074fa986e88..52d7dee3b4c07d11d5b50c7c3ecb52a9a6a8001e 100644 --- a/amd/build/suivi.js +++ b/amd/build/suivi.js @@ -60,6 +60,8 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], }); $('#iena-button-search').on('click', function(e){ searchStudent(); + e.preventDefault() + e.stopPropagation() }) @@ -425,43 +427,52 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], function searchStudent(){ - $(".iena-filters .custom-select").prop('disabled', true); - $(".iena-filters .iena-custom-dropdown > button").prop('disabled', true); + var searchinput= $('input[name="iena-search-student"]').val(); + var searchform=document.querySelector("#iena-search-form"); + + if(searchinput.length<=2){ + + $('input[name="iena-search-student"]').css("border-color","#dc3545"); + $("#iena-search-error").show(); - if($("#iena-close-tag").length == 0){ - console.log("on a pas encore cherché"); - old_data=$.extend(true,{},data); } else{ - console.log("le tag existe : on a déjà cherché"); - } - - var completeUrl=getCompleteUrl(); - var searchinput= $('input[name="iena-search-student"]').val(); - $('#iena-search-tag').html(`<span role="option" data-value="`+searchinput+`" aria-selected="true" class="badge badge-secondary clickable text-wrap text-break line-height-4 m-1" id="form_autocomplete_selection-1739873966209-0" data-active-selection="true"> - `+searchinput+`<i id="iena-close-tag" class="icon fa fa-times pl-2 mr-0"></i> - </span>`); - - $('#iena-search-tag').on('click', 'i', function(e){ - - deleteSearch(old_data); - }); - - $.ajax({ url: completeUrl, - data: {action: 'search_student', search_input:searchinput}, - type: 'post', - success: function(request) { - showHideActivities(); - data=calcPercentage(JSON.parse(request)); - showHideStudents(); - if(!request.error){ + + $('input[name="iena-search-student"]').css("border-color","#8f959e"); + $("#iena-search-error").hide(); + + $(".iena-filters .custom-select").prop('disabled', true); + $(".iena-filters .iena-custom-dropdown > button").prop('disabled', true); - } - $('input[name="iena-search-student"]').val(""); - reloadTable(data); - updateGroupsFilterLabel(false); + if($("#iena-close-tag").length == 0){ + old_data=$.extend(true,{},data); } - }); + + var completeUrl=getCompleteUrl(); + + $('#iena-search-tag').html(`<span role="option" data-value="`+searchinput+`" aria-selected="true" class="badge badge-secondary clickable text-wrap text-break line-height-4 m-1" id="form_autocomplete_selection-1739873966209-0" data-active-selection="true"> + `+searchinput+`<i id="iena-close-tag" class="icon fa fa-times pl-2 mr-0"></i></span>`); + + $('#iena-search-tag').on('click', 'i', function(e){ + + deleteSearch(old_data); + }); + + $.ajax({ url: completeUrl, + data: {action: 'search_student', search_input:searchinput}, + type: 'post', + success: function(request) { + showHideActivities(); + data=calcPercentage(JSON.parse(request)); + showHideStudents(); + + $('input[name="iena-search-student"]').val(""); + reloadTable(data); + updateGroupsFilterLabel(false); + } + }); + } + } function deleteSearch(old_data){ diff --git a/styles.css b/styles.css index cbee038b4e35d02b7c275a5f96b03a22ea94e852..6ff2685189911bc298548f8f6343ef995a1f4a61 100644 --- a/styles.css +++ b/styles.css @@ -935,6 +935,18 @@ tbody th{ padding-bottom: .5rem; } +.group-column-iena{ + padding-left: 6px; + padding-right: 10px; + +} + +th.group-column-iena{ + background: white; + z-index: 200; + position: sticky; +} + #caption-iena .caption-status{ display: flex; margin-right: 20px; @@ -943,7 +955,7 @@ tbody th{ #caption-iena .caption-status .pointer-help{ width: 32px; - height: 25px; + height: 26px; margin-right: 7px; display: flex; align-items: center; @@ -1253,10 +1265,16 @@ border-bottom: 1px solid #dee2e6; } #iena-search-tag{ - display: inline-block; + display: block; vertical-align: middle; } #iena-search-bar{ margin-top: 30px; -} \ No newline at end of file +} + +#iena-search-bar input{ + width: auto; + display: inline-block; + vertical-align: middle; +} diff --git a/templates/suivi.mustache b/templates/suivi.mustache index 36d82eb21de0e463cd94b36e20a6ac726ed6da3f..ed6996ada941fa8f9027e89088d15b373f0db304 100644 --- a/templates/suivi.mustache +++ b/templates/suivi.mustache @@ -143,13 +143,19 @@ <div id="iena-search-bar"> <h4>{{# str }} searchstudent, format_iena {{/ str}}</h4> - <input type="text" name="iena-search-student" placeholder="{{# str }} searchplaceholder, format_iena {{/ str}}"></input> + <form class="needs-validation" id="iena-search-form"> + <input type="text" class="form-control" name="iena-search-student" placeholder="{{# str }} searchplaceholder, format_iena {{/ str}}"></input> + + <button id="iena-button-search" type="submit" class="btn btn-primary">Rechercher</button> + <div id="iena-search-tag"> + <div class="form-autocomplete-selection d-inline-block my-0 form-autocomplete-multiple h5" role="listbox" aria-atomic="true" tabindex="0"></div> + + </div> + <div id="iena-search-error" class="invalid-feedback"> + Veuillez entrer au moins 3 caractères. + </div> + </form> - <button id="iena-button-search" class="btn btn-primary">Rechercher</button> - <div id="iena-search-tag"> - <div class="form-autocomplete-selection d-inline-block my-0 form-autocomplete-multiple h5" role="listbox" aria-atomic="true" tabindex="0"></div> - - </div> </div> </div>