column-selector.blade.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <div class="dropdown pull-right column-selector" style="margin-right: 10px">
  2. <button type="button" class="btn btn-sm btn-instagram dropdown-toggle" data-toggle="dropdown">
  3. <i class="fa fa-table"></i>
  4. &nbsp;
  5. <span class="caret"></span>
  6. </button>
  7. <ul class="dropdown-menu" role="menu" style="padding: 10px;height: auto;max-height: 500px;overflow-x: hidden;">
  8. <li>
  9. <ul style='padding: 0;'>
  10. {!! $checkbox !!}
  11. </ul>
  12. </li>
  13. <li class="divider"></li>
  14. <li class="text-right">
  15. <button class="btn btn-sm btn-default column-select-all">{!! trans('admin.all') !!}</button>&nbsp;&nbsp;
  16. <button class="btn btn-sm btn-primary column-select-submit">{!! trans('admin.submit') !!}</button>
  17. </li>
  18. </ul>
  19. </div>
  20. <script>
  21. $('.column-select-submit').on('click', function () {
  22. var defaults = {!! json_encode($defaults) !!};
  23. var selected = [];
  24. $('.column-select-item:checked').each(function () {
  25. selected.push($(this).val());
  26. });
  27. if (selected.length == 0) {
  28. return;
  29. }
  30. var url = new URL(location);
  31. if (selected.sort().toString() == defaults.sort().toString()) {
  32. url.searchParams.delete('_columns_');
  33. } else {
  34. url.searchParams.set('_columns_', selected.join());
  35. }
  36. $.pjax({container:'#pjax-container', url: url.toString()});
  37. });
  38. $('.column-select-all').on('click', function () {
  39. $('.column-select-item').iCheck('check');
  40. return false;
  41. });
  42. $('.column-select-item').iCheck({
  43. checkboxClass:'icheckbox_minimal-blue'
  44. });
  45. </script>