templates/_jsBase.html.twig line 1

Open in your IDE?
  1. <script>    
  2.     
  3.     $(document).ready(function () {
  4.         $('#defaultDataTable').DataTable({
  5.             scrollY: '50vh',
  6.             scrollCollapse: false,
  7.             paging: false
  8.         });
  9.         $('.select').select2();
  10.         hideOrDisplaySelectedBtn();
  11.         $('.js-registration-ajax-select').select2({
  12.             minimumInputLength: 3,
  13.             ajax: {
  14.                 url: '{{ path('api_registration_student_registration_select')}}',
  15.                 dataType: 'json',
  16.                 processResults: function (data) {
  17.                     return {
  18.                         results: $.map(data, function (item) {
  19.                             return {
  20.                                 text: item.text,
  21.                                 id: item.id
  22.                             }
  23.                         })
  24.                     };
  25.                     if ($('.js-registration-ajax-select').find("option[value='" + data.id + "']").length) {
  26.                         $('.js-registration-ajax-select').val(data.id).trigger('change');
  27.                     }else{
  28.                         var newOption = new Option(data.text, data.id, false, false);
  29.                         $('.js-registration-ajax-select').append(newOption).trigger('change');
  30.                     }
  31.                 }
  32.             }
  33.         });
  34.     })
  35.     const swalWithBootstrapButtons = Swal.mixin({
  36.         customClass: {
  37.             confirmButton: 'btn btn-success',
  38.             cancelButton: 'btn btn-danger'
  39.         },
  40.         buttonsStyling: false
  41.     })
  42.     function hideOrDisplaySelectedBtn(){
  43.         disableSelected = $("#disable-selected-btn");
  44.         enableSelected = $("#enable-selected-btn");
  45.         deleteSelected = $("#delete-selected-btn");
  46.         selection = $(".selected-btn");
  47.         checkOne = $(".check-one");
  48.         countcheckOne = checkOne.filter(':checked').length;
  49.         $("#count-checked").text(countcheckOne);
  50.         if(countcheckOne > 0){
  51.             disableSelected.css('display', 'inline-block');
  52.             enableSelected.css('display', 'inline-block');
  53.             deleteSelected.css('display', 'inline-block');
  54.             selection.show();
  55.         }else{
  56.             disableSelected.css('display', 'none'); 
  57.             enableSelected.css('display', 'none'); 
  58.             deleteSelected.css('display', 'none'); 
  59.             selection.hide(); 
  60.         }     
  61.     }
  62.     /* nouvelle methode de suppression groupe */
  63.     function setSelected(){
  64.         var selected = new Array()
  65.         $("tbody input[type=checkbox]:checked").each(function () {
  66.             selected.push(this.value);
  67.         });
  68.         if (selected.length > 0) {
  69.             disableSelected.css('display', 'inline-block');
  70.             enableSelected.css('display', 'inline-block');
  71.             deleteSelected.css('display', 'inline-block');
  72.             selection.show();
  73.             $("#count-checked").text(selected.length);
  74.         }else{
  75.             disableSelected.css('display', 'none');
  76.             enableSelected.css('display', 'none');
  77.             deleteSelected.css('display', 'none');
  78.             selection.hide();
  79.         }
  80.         console.log(selected);
  81.         return selected;
  82.     }
  83.     function checkElt(){
  84.         setSelected();
  85.     }
  86.     function checkAllElt(){
  87.         if($('#check-all').is(":checked")){
  88.             $("input[type=checkbox]").each(function () {
  89.                 $(this).prop('checked', true);
  90.             });
  91.         }else{
  92.             $("input[type=checkbox]").each(function () {
  93.                 $(this).prop('checked', false);
  94.             });
  95.         }
  96.         setSelected();
  97.     }
  98.     function actionByPathAndElts(path){
  99.         var elts = setSelected();
  100.         swalWithBootstrapButtons.fire({
  101.             title: 'Êtes-vous sûr de bien vouloir effectuer cette action?',
  102.             text: "Vous ne pourrez pas revenir en arrière!",
  103.             icon: 'warning',
  104.             showCancelButton: true,
  105.             confirmButtonText: 'OUI',
  106.             cancelButtonText: 'NON',
  107.             reverseButtons: true,
  108.             }).then((result) => {
  109.             if (result.isConfirmed) {
  110.                 $('.loader').addClass('is-active');
  111.                 axios.get(path, {
  112.                     params: {
  113.                         entities: elts
  114.                     }
  115.                 }).then(function (response) {
  116.                     console.log(response.data.message);
  117.                     console.log(elts);
  118.                     $('.loader').removeClass('is-active');
  119.                     if(response.data.code == 200){
  120.                         swalWithBootstrapButtons.fire({
  121.                             title: 'Effectué!',
  122.                             text: response.data.message,
  123.                             icon: 'success',
  124.                             showCancelButton: false,
  125.                             confirmButtonText: 'OK'
  126.                         }).then((result) => {
  127.                                 if (result.isConfirmed) {
  128.                                     location.reload();
  129.                                 }
  130.                         });
  131.                     }else{
  132.                         swalWithBootstrapButtons.fire({
  133.                             title: 'Echèc!',
  134.                             text: response.data.message,
  135.                             icon: 'warning',
  136.                             showCancelButton: false,
  137.                             confirmButtonText: 'OK'
  138.                         }).then((result) => {
  139.                                 if (result.isConfirmed) {
  140.                                     location.reload();
  141.                                 }
  142.                         });
  143.                     }
  144.                     
  145.                 });
  146.             } else if (
  147.                 /* Read more about handling dismissals below */
  148.                 result.dismiss === Swal.DismissReason.cancel
  149.             ) {
  150.                 swalWithBootstrapButtons.fire(
  151.                     'Annulé',
  152.                     'Votre enrégistrement est en sécurité:)',
  153.                     'error'
  154.                 )
  155.             }
  156.         })
  157.     }
  158.     function changeUserPassword(path){
  159.         swalWithBootstrapButtons.fire({
  160.             title: 'Êtes-vous sûr de bien vouloir effectuer cette action?',
  161.             text: "Vous ne pourrez pas revenir en arrière!",
  162.             icon: 'warning',
  163.             showCancelButton: true,
  164.             confirmButtonText: 'OUI',
  165.             cancelButtonText: 'NON',
  166.             reverseButtons: true,
  167.             }).then((result) => {
  168.             if (result.isConfirmed) {
  169.                 $('.loader').addClass('is-active');
  170.                 axios.get(path, {
  171.                     params: {
  172.                         newPassword: $('#newPassword').val(),
  173.                         oldPassword: $('#oldPassword').val(),
  174.                         confirmPassword: $('#confirmPassword').val(),
  175.                     }
  176.                 }).then(function (response) {
  177.                     console.log(response.data.message);
  178.                     $('.loader').removeClass('is-active');
  179.                     if(response.data.code == '200'){
  180.                         swalWithBootstrapButtons.fire({
  181.                             title: 'Effectué!',
  182.                             text: response.data.message,
  183.                             icon: 'success',
  184.                             showCancelButton: false,
  185.                             confirmButtonText: 'OK'
  186.                         }).then((result) => {
  187.                                 if (result.isConfirmed) {
  188.                                     location.reload();
  189.                                 }
  190.                         });
  191.                     }else{
  192.                         swalWithBootstrapButtons.fire({
  193.                             title: 'Echèc!',
  194.                             text: response.data.message,
  195.                             icon: 'warning',
  196.                             showCancelButton: false,
  197.                             confirmButtonText: 'OK'
  198.                         }).then((result) => {
  199.                                 if (result.isConfirmed) {
  200.                                     console.log("erreure");
  201.                                 }
  202.                         });
  203.                     }
  204.                 });
  205.             } else if (
  206.                 /* Read more about handling dismissals below */
  207.                 result.dismiss === Swal.DismissReason.cancel
  208.             ) {
  209.                 swalWithBootstrapButtons.fire(
  210.                     'Annulé',
  211.                     'Votre enrégistrement est en sécurité:)',
  212.                     'error'
  213.                 )
  214.             }
  215.         })
  216.     }
  217.     {% if is_granted('ROLE_USER') %}
  218.         {% if app.user.isPasswordChanged == 0 %}
  219.             $('#currentChangePasswordModal').modal();
  220.         {% endif %}
  221.     {% endif %}
  222. </script>