text: var UINestable = function () {
  
  
  
      var updateOutput = function (e) {
  
          var list = e.length ? e : $(e.target),
  
              output = list.data('output');
  
          if (window.JSON) {
  
              output.val(window.JSON.stringify(list.nestable('serialize'))); //, null, 2));
  
          } else {
  
              output.val('JSON browser support required for this demo.');
  
          }
  
      };
  
  
  
  
  
      return {
  
          //main function to initiate the module
  
          init: function () {
  
  
  
              // activate Nestable for list 1
  
              $('#nestable_list_1').nestable({
  
                  group: 1
  
              })
  
                  .on('change', updateOutput);
  
  
  
              // activate Nestable for list 2
  
              $('#nestable_list_2').nestable({
  
                  group: 1
  
              })
  
                  .on('change', updateOutput);
  
  
  
              // output initial serialised data
  
              updateOutput($('#nestable_list_1').data('output', $('#nestable_list_1_output')));
  
              updateOutput($('#nestable_list_2').data('output', $('#nestable_list_2_output')));
  
  
  
              $('#nestable_list_menu').on('click', function (e) {
  
                  var target = $(e.target),
  
                      action = target.data('action');
  
                  if (action === 'expand-all') {
  
                      $('.dd').nestable('expandAll');
  
                  }
  
                  if (action === 'collapse-all') {
  
                      $('.dd').nestable('collapseAll');
  
                  }
  
              });
  
  
  
              $('#nestable_list_3').nestable();
  
  
  
          }
  
  
  
      };
  
  
  
  }();
  
  
  
  jQuery(document).ready(function() {    
  
     UINestable.init();
  
  });