Repository URL to install this package:
|
Version:
4.3.0 ▾
|
//= require jquery.mjs.nestedSortable
$(function() {
sortableTreeStatus = $("#tree-control #status");
sortableTreeStatus.hide();
updateSortableTreeStatus = function(status, message) {
sortableTreeStatus.html(message).removeClass().addClass(status);
return sortableTreeStatus;
};
$('.sortable-tree > ol').nestedSortable({
handle: '.sortable-item-wrapper',
items: 'li',
toleranceElement: '> .sortable-item-wrapper',
placeholder: 'placeholder',
maxLevels: 5,
opacity: 0.6,
forcePlaceholderSize: true,
update: function() {
updateSortableTreeStatus('pending', "Saving...").fadeIn('fast');
var serialized = $(this).nestedSortable('serialize');
$.post($(this).data('url'), serialized).always(function(data) {
updateSortableTreeStatus(data.result, data.message).fadeOut(800);
});
}
});
$('.sortable-tree .toggle').on('click', function() {
$(this).closest('li').toggleClass('collapsed');
});
$('#tree-control a#expand-tree').on('click', function(e) {
e.preventDefault();
var $tree = $('.sortable-tree');
$tree.find('li').each(function() {
if ($(this).children().length) {
$(this).removeClass('collapsed');
}
});
});
$('#tree-control a#collapse-tree').on('click', function(e) {
e.preventDefault();
var $tree = $('.sortable-tree');
$tree.find('li').each(function() {
if ($(this).children().length) {
$(this).addClass('collapsed');
}
});
});
});