nestable.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. var Nestable = function () {
  2. var updateOutput = function (e) {
  3. var list = e.length ? e : $(e.target),
  4. output = list.data('output');
  5. if (window.JSON) {
  6. output.val(window.JSON.stringify(list.nestable('serialize'))); //, null, 2));
  7. } else {
  8. output.val('JSON browser support required for this demo.');
  9. }
  10. };
  11. // activate Nestable for list 1
  12. $('#nestable_list_1').nestable({
  13. group: 1
  14. })
  15. .on('change', updateOutput);
  16. // activate Nestable for list 2
  17. $('#nestable_list_2').nestable({
  18. group: 1
  19. })
  20. .on('change', updateOutput);
  21. // output initial serialised data
  22. updateOutput($('#nestable_list_1').data('output', $('#nestable_list_1_output')));
  23. updateOutput($('#nestable_list_2').data('output', $('#nestable_list_2_output')));
  24. $('#nestable_list_menu').on('click', function (e) {
  25. var target = $(e.target),
  26. action = target.data('action');
  27. if (action === 'expand-all') {
  28. $('.dd').nestable('expandAll');
  29. }
  30. if (action === 'collapse-all') {
  31. $('.dd').nestable('collapseAll');
  32. }
  33. });
  34. $('#nestable_list_3').nestable();
  35. }();