templates/datatable/Snippet/multipleRaw.js.twig line 1

Open in your IDE?
  1. $('#{{ id }}').one('draw.dt', function() {
  2. {#var multiple_rawhtml = '<label class="dataTables_multiple"><span style="margin:0 40px 0 0px;">{% trans %}datatable.common.execute{% endtrans %}<select name="dataTables[select]">{% for key,item in multiple %}<option value="{{ path(item.route) }}">{{ item.title }}</option>{% endfor %}</select><button class="btn-datatable-multiple" >{% trans %}datatable.common.ok{% endtrans %}</button><span></label>';#}
  3. var multiple_rawhtml = '<label class="dataTables_multiple"><span style="margin:0 40px 0 0px;">Actions : <select name="dataTables[select]">{% for key,item in multiple %}<option value="{{ path(item.route) }}">{{ item.title }}</option>{% endfor %}</select> &nbsp;<button class="btn-datatable-multiple" >{% trans %}OK{% endtrans %}</button><span></label>';
  4.         
  5.     if((el = $('#{{ id }}_wrapper div[id^="{{ id }}"]')).length > 0 ) {
  6.         $(el[0]).prepend(multiple_rawhtml);
  7.     }
  8.     {% set chbox %}input:checkbox[name="dataTables[actions][]"]{% endset %}
  9.     {% set chboxAll %}input:checkbox[name="datatable_action_all"]{% endset %}
  10.      $("#minimaxi").on('click', function(e) {
  11.            if($('{{ chbox }}:checked').length > 0){
  12.                var form = $('#{{ id }}_wrapper .btn-datatable-multiple').parents('form:eq(0)');
  13.                console.log(form.serialize());               
  14.                var url = Routing.generate('dtc_article_mini_maxi');
  15.                var urlForm = Routing.generate('dtc_article_mini_maxi', { formulaire: 1 });
  16.                
  17.                $.ajax({
  18.                     type: "POST",
  19.                     url: url,
  20.                     dataType: "json",
  21.                     data: form.serialize(),
  22.                     async: false, 
  23.                     success: function(data) {
  24.                         $('#conteneur-modal').html(data.rendu);
  25.                         var form = $('#conteneur-modal').parent('form');
  26.                         form.attr("action",urlForm);
  27.                         $('#modal-titre').html(data.titre);
  28.                         $('#blocModal').modal('show');
  29.                     }
  30.                 });
  31.   
  32.            }
  33.            else {
  34.                alert('{% trans %}Vous devez sélectionner au moins un élément.{% endtrans %}');
  35.            }
  36.        });
  37.     $('#{{ id }}_wrapper .btn-datatable-multiple:not(.search_init)').on('click', function(e) {
  38.         if($('input:focus', $('#{{ id }}_wrapper')).length > 0){
  39.             return false;
  40.         }
  41.         e.preventDefault();
  42.         if($('{{ chbox }}:checked').length > 0){
  43.         
  44.             //alert('test');
  45.             var message = '';
  46.             $('input[name="dataTables[actions][]"]:checked').each(function(){
  47.                 var idReglement =  $(this).val();
  48.                 var compteBancaire = $('select[name="comptesBancaires['+idReglement+']"]');
  49.                 if(compteBancaire.length == 0) return false;
  50.                 var modeReglement = $('input[name="modesreglement['+idReglement+']"]').val();
  51.                 //alert(modeReglement);
  52.                 if(modeReglement == '1') return false;
  53.                 if(compteBancaire.val() == '') {
  54.                     message = 'Veuillez choisir une banque!';
  55.                     compteBancaire.parent().addClass('has-error');
  56.                 } else {
  57.                     
  58.                 }
  59.             });
  60.                  
  61.             if(message != '') {
  62.                 alert(message);
  63.                 return false;
  64.             }
  65.             
  66.             if (!confirm('{% trans %}Êtes-vous sûr ?{% endtrans %}')) {
  67.                 return false;
  68.             }
  69.             
  70.             $('.actionDatatable').attr('disabled', true);
  71.             $('.dataTables_processing').show();
  72.             //console.log('actionDatatable');
  73.             
  74.             var form = $(this).parents('form:eq(0)');
  75.             var action = $('select[name="dataTables[select]"]',$('#{{ id }}_wrapper')).val();
  76.             $.ajax({
  77.                 type: "POST",
  78.                 url: action,
  79.                 dataType: "json",
  80.                 data: form.serialize(),
  81.                 async: false, 
  82.                 success: function(data) {
  83.                      $('.dataTables_processing').hide();
  84.                     //alert(msg.url);
  85.                     if(data.target=="_blank") {
  86.                         window.open(data.url,'_blank');
  87.                         //window.open(data.url);
  88.                     }
  89.                     else window.location.href = data.url;
  90.                     //$('#{{ id }}').trigger('dt.draw');
  91.                     if(typeof(data.draw) != 'undefined') {
  92.                         $('input[name="datatable_action_all"]').prop('checked', false);
  93.                         $('#{{ id }}').DataTable().draw();
  94.                     }
  95.                 }
  96.             });
  97.         } else {
  98.             alert('{% trans %}Vous devez sélectionner au moins un élément.{% endtrans %}');
  99.         }
  100.         
  101.         
  102.             
  103.     });
  104.     $('#{{ id }}_wrapper').on('click', '{{ chboxAll }}', function() {
  105.         if($(this).is(':checked')) {
  106.             $('{{ chbox }}', $('#{{ id }}_wrapper')).attr("checked",false).click();
  107.         } else {
  108.             $('{{ chbox }}', $('#{{ id }}_wrapper')).attr("checked",true).click();
  109.         }
  110.     });
  111.     $('#{{ id }}_wrapper {{ chboxAll }}').attr('checked', false);
  112. });
  113. function inclureChoixStatut() 
  114. {
  115.     if ($('#conteneurFiltreStatutCommande').length) {
  116.         var liste = $("#conteneurFiltreStatutCommande").html();
  117.         //$('.dataTables_filter').append(liste);
  118.         
  119.         var valeur = $("#filtrerEtatCommande option:selected" ).val();
  120.         $('.search_init[index=3]').focus();
  121.         //$('.search_init[index=3]').val(valeur);
  122.         
  123.         
  124.         //alert($('.search_init[index=3]').html());
  125.         
  126.         //$('#{{ id }}').DataTable().columns(3).search(valeur).draw();
  127.         
  128.         
  129.         setTimeout(function(){ 
  130.             $('.search_init[index=4]').parent().prepend(liste);
  131.             $('.search_init[index=4]').attr("type","hidden");
  132.             //$('#{{ id }}').DataTable().columns(4).search(valeur).draw(); 
  133.         }, 500);
  134.     }
  135.     return false;
  136. }
  137.         
  138. $('body').on('change', '#filtrerEtatCommande',function(event){  
  139.     
  140.     //alert("{{id}}");
  141.     var valeur = $(this).val();
  142.     $('.search_init[index=4]').focus();
  143.     $('.search_init[index=4]').val(valeur);
  144.     $('#{{ id }}').DataTable().columns(4).search(valeur).draw();
  145.     //$('.search_init[index=3]').blur();
  146. });