switch.blade.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <input class="grid-column-switch" data-url="{{ $url }}" data-reload="{{ $refresh }}" data-size="small" name="{{ $column }}" {{ $checked }} type="checkbox" data-color="{{ $color }}"/>
  2. <script require="@switchery">
  3. var swt = $('.grid-column-switch'),
  4. that;
  5. function initSwitchery() {
  6. swt.parent().find('.switchery').remove();
  7. swt.each(function () {
  8. that = $(this);
  9. new Switchery(that[0], that.data())
  10. })
  11. }
  12. initSwitchery();
  13. swt.off('change').on('change', function(e) {
  14. var that = $(this),
  15. url = that.data('url'),
  16. reload = that.data('reload'),
  17. checked = that.is(':checked'),
  18. name = that.attr('name'),
  19. data = {},
  20. value = checked ? 1 : 0;
  21. if (name.indexOf('.') === -1) {
  22. data[name] = value;
  23. } else {
  24. name = name.split('.');
  25. data[name[0]] = {};
  26. data[name[0]][name[1]] = value;
  27. }
  28. Dcat.NP.start();
  29. $.put({
  30. url: url,
  31. data: data,
  32. success: function (d) {
  33. Dcat.NP.done();
  34. var msg = d.data.message || d.message;
  35. if (d.status) {
  36. Dcat.success(msg);
  37. reload && Dcat.reload();
  38. } else {
  39. Dcat.error(msg);
  40. }
  41. }
  42. });
  43. });
  44. </script>