templates/components/js/sort_js.html.twig line 1

Open in your IDE?
  1. <script>
  2.     $(document).ready(function(){
  3.         setOrderUpdateButton{{ number }}();
  4.     });
  5.     function setOrderBy{{ number }}(field){
  6.         var actualField = "{{ actualSortField }}";
  7.         var actualOrder = "{{ actualSortOrder }}";
  8.         if(actualField == field){
  9.             if(actualOrder == '' || actualOrder == 'DESC')
  10.                 document.getElementById('{{ sort_order }}').value = 'ASC';
  11.             else
  12.                 document.getElementById('{{ sort_order }}').value = 'DESC';
  13.         }
  14.         else{
  15.             document.getElementById('{{ sort_field }}').value = field;
  16.             document.getElementById('{{ sort_order }}').value = 'ASC';
  17.         }
  18.         triggerLoading();
  19.         $('#{{ formName }}').submit();
  20.     }
  21.     function setOrderUpdateButton{{ number }}(){
  22.         var actualField = "{{ actualSortField }}";
  23.         var actualOrder = "{{ actualSortOrder }}";
  24.         var arrows = document.getElementsByClassName('{{ arrowClass }}');
  25.         var elements = [];
  26.         for(var i=0; i<arrows.length; i++){
  27.             arrows[i].children[0].src = "{{ asset (icon_arrow_sort) }}";
  28.             if(actualField != null && arrows[i].getAttribute('data-orderField') == actualField)
  29.                 elements.push(arrows[i]);
  30.         }
  31.         if(actualOrder != null){
  32.             var src = '';
  33.             var title = '';
  34.             switch(actualOrder){
  35.                 case "DESC":
  36.                     var src = "{{ asset (icon_arrow_down) }}";
  37.                     var title = "Ordina in ordine alfabetico";
  38.                     break;
  39.                 case "ASC":
  40.                     var src = "{{ asset (icon_arrow_up) }}";
  41.                     var title = "Ordina al contrario";
  42.                     break;
  43.                 default: break;
  44.             }
  45.             for(var k=0; k<elements.length; k++){
  46.                 elements[k].children[0].src = src;
  47.                 elements[k].children[0].title = title;
  48.             }
  49.         }
  50.     }
  51. </script>