app/Plugin/ProductSort42/Resource/template/admin/Product/index.twig line 1

Open in your IDE?
  1. {% if pagination and pagination.totalItemCount %}
  2.     <script src="{{ asset('ProductSort42/assets/jquery-ui.js', 'plugin') }}"></script>
  3.     <script>
  4.         $(function () {
  5.             $("#form_bulk table tbody").sortable({
  6.                 item: 'tr',
  7.                 axis: 'y',
  8.                 update: function (event, ui) {
  9.                     $('body').append($('<div class="modal-backdrop show"></div>'));
  10.                     $.ajax({
  11.                         type: 'PUT',
  12.                         dataType: 'json',
  13.                         url: '{{ path('admin_product_product_sort') }}',
  14.                         data: {
  15.                             order: $('#form_bulk table tbody').sortable('serialize')
  16.                         }
  17.                     }).done((data) => {
  18.                         console.log(data.message);
  19.                     }).fail((data) => {
  20.                         console.log(data.responseJSON.message);
  21.                     }).always((data) => {
  22.                         window.location.href = '{{ path('admin_product') }}'
  23.                     });
  24.                 }
  25.             });
  26.             $('#form_bulk table thead tr').append('<th class="border-top-0 pt-2 pb-2" style="width: 150px">並び順</th>')
  27.             {% for Product in pagination %}
  28.             $("tr#ex-product-{{ Product.id }}").append('<td class="align-middle"><input type="text" class="form-control" style="width:50px;" value="{{ Product.plg_sort_no }}" data-move-url="{{ url('admin_product_product_move', { id: Product.id }) }}" /></td>');
  29.             {% endfor %}
  30.             $('#form_bulk table tr[id^="ex-product"] input[type="text"]').on('change', function () {
  31.                 $('body').append($('<div class="modal-backdrop show"></div>'));
  32.                 $.ajax({
  33.                     type: 'PUT',
  34.                     url: $(this).data('move-url'),
  35.                     data: {
  36.                         sort_no: $(this).val()
  37.                     }
  38.                 }).done((data) => {
  39.                     console.log(data.message)
  40.                 }).fail((data) => {
  41.                     alert(data.responseJSON.message)
  42.                 }).always((data) => {
  43.                     window.location.href = '{{ path('admin_product') }}'
  44.                 });
  45.             });
  46.         });
  47.     </script>
  48. {% endif %}