;(function($,window,document,undefined) {var hasTouch='ontouchstart'in window;var hasPointerEvents=(function() {var el=document.createElement('div'),docEl=document.documentElement;if(!('pointerEvents'in el.style)){return false;} el.style.pointerEvents='auto';el.style.pointerEvents='x';docEl.appendChild(el);var supports=window.getComputedStyle&&window.getComputedStyle(el,'').pointerEvents==='auto';docEl.removeChild(el);return!!supports;})();var eStart=hasTouch?'touchstart':'mousedown',eMove=hasTouch?'touchmove':'mousemove',eEnd=hasTouch?'touchend':'mouseup';eCancel=hasTouch?'touchcancel':'mouseup';var defaults={listNodeName:'ol',itemNodeName:'li',rootClass:'dd',listClass:'dd-list',itemClass:'dd-item',dragClass:'dd-dragel',handleClass:'dd-handle',collapsedClass:'dd-collapsed',placeClass:'dd-placeholder',noDragClass:'dd-nodrag',emptyClass:'dd-empty',expandBtnHTML:'',collapseBtnHTML:'',group:0,maxDepth:5,threshold:20};function Plugin(element,options) {this.w=$(window);this.el=$(element);this.options=$.extend({},defaults,options);this.init();} Plugin.prototype={init:function() {var list=this;list.reset();list.el.data('nestable-group',this.options.group);list.placeEl=$('
');$.each(this.el.find(list.options.itemNodeName),function(k,el){list.setParent($(el));});list.el.on('click','button',function(e){if(list.dragEl||(!hasTouch&&e.button!==0)){return;} var target=$(e.currentTarget),action=target.data('action'),item=target.parent(list.options.itemNodeName);if(action==='collapse'){list.collapseItem(item);} if(action==='expand'){list.expandItem(item);}});var onStartEvent=function(e) {var handle=$(e.target);if(!handle.hasClass(list.options.handleClass)){if(handle.closest('.'+ list.options.noDragClass).length){return;} handle=handle.closest('.'+ list.options.handleClass);} if(!handle.length||list.dragEl||(!hasTouch&&e.button!==0)||(hasTouch&&e.touches.length!==1)){return;} e.preventDefault();list.dragStart(hasTouch?e.touches[0]:e);};var onMoveEvent=function(e) {if(list.dragEl){e.preventDefault();list.dragMove(hasTouch?e.touches[0]:e);}};var onEndEvent=function(e) {if(list.dragEl){e.preventDefault();list.dragStop(hasTouch?e.touches[0]:e);}};if(hasTouch){list.el[0].addEventListener(eStart,onStartEvent,false);window.addEventListener(eMove,onMoveEvent,false);window.addEventListener(eEnd,onEndEvent,false);window.addEventListener(eCancel,onEndEvent,false);}else{list.el.on(eStart,onStartEvent);list.w.on(eMove,onMoveEvent);list.w.on(eEnd,onEndEvent);}},serialize:function() {var data,depth=0,list=this;step=function(level,depth) {var array=[],items=level.children(list.options.itemNodeName);items.each(function() {var li=$(this),item=$.extend({},li.data()),sub=li.children(list.options.listNodeName);if(sub.length){item.children=step(sub,depth+ 1);} array.push(item);});return array;};data=step(list.el.find(list.options.listNodeName).first(),depth);return data;},serialise:function() {return this.serialize();},reset:function() {this.mouse={offsetX:0,offsetY:0,startX:0,startY:0,lastX:0,lastY:0,nowX:0,nowY:0,distX:0,distY:0,dirAx:0,dirX:0,dirY:0,lastDirX:0,lastDirY:0,distAxX:0,distAxY:0};this.moving=false;this.dragEl=null;this.dragRootEl=null;this.dragDepth=0;this.hasNewRoot=false;this.pointEl=null;},expandItem:function(li) {li.removeClass(this.options.collapsedClass);li.children('[data-action="expand"]').hide();li.children('[data-action="collapse"]').show();li.children(this.options.listNodeName).show();},collapseItem:function(li) {var lists=li.children(this.options.listNodeName);if(lists.length){li.addClass(this.options.collapsedClass);li.children('[data-action="collapse"]').hide();li.children('[data-action="expand"]').show();li.children(this.options.listNodeName).hide();}},expandAll:function() {var list=this;list.el.find(list.options.itemNodeName).each(function(){list.expandItem($(this));});},collapseAll:function() {var list=this;list.el.find(list.options.itemNodeName).each(function(){list.collapseItem($(this));});},setParent:function(li) {if(li.children(this.options.listNodeName).length){li.prepend($(this.options.expandBtnHTML));li.prepend($(this.options.collapseBtnHTML));} li.children('[data-action="expand"]').hide();},unsetParent:function(li) {li.removeClass(this.options.collapsedClass);li.children('[data-action]').remove();li.children(this.options.listNodeName).remove();},dragStart:function(e) {var mouse=this.mouse,target=$(e.target),dragItem=target.closest(this.options.itemNodeName);this.placeEl.css('height',dragItem.height());mouse.offsetX=e.offsetX!==undefined?e.offsetX:e.pageX- target.offset().left;mouse.offsetY=e.offsetY!==undefined?e.offsetY:e.pageY- target.offset().top;mouse.startX=mouse.lastX=e.pageX;mouse.startY=mouse.lastY=e.pageY;this.dragRootEl=this.el;this.dragEl=$(document.createElement(this.options.listNodeName)).addClass(this.options.listClass+' '+ this.options.dragClass);this.dragEl.css('width',dragItem.width());dragItem.after(this.placeEl);dragItem[0].parentNode.removeChild(dragItem[0]);dragItem.appendTo(this.dragEl);$(document.body).append(this.dragEl);this.dragEl.css({'left':e.pageX- mouse.offsetX,'top':e.pageY- mouse.offsetY});var i,depth,items=this.dragEl.find(this.options.itemNodeName);for(i=0;i