nestable-demo.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. $(document).ready(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').nestable({
  13. group: 1
  14. })
  15. .on('change', updateOutput);
  16. // activate Nestable for list 2
  17. $('#nestable2').nestable({
  18. group: 1
  19. })
  20. .on('change', updateOutput);
  21. // output initial serialised data
  22. updateOutput($('#nestable').data('output', $('#nestable-output')));
  23. updateOutput($('#nestable2').data('output', $('#nestable2-output')));
  24. $('#nestable-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. $('#nestable3').nestable();
  35. });