= render partial: 'head' - content_for :manage do %p Для выбора категории — щелкните по ее названию. %p =link_to '#', {id: 'catalogue_category_new'} do =button_to_function 'Добавить под-категорию в выбранную', "$('#catalogue_category_new').attr('href', Routes.new_admin_catalogue_category_path({ 'catalogue_category[parent_id]': $('#catalogue_tree').tree('getSelectedNodes')[0].id }))", class: 'btn btn-default' %p =link_to '#', {id: 'catalogue_category_edit'} do =button_to_function 'Редактировать выбранную', "$('#catalogue_category_edit').attr('href', Routes.edit_admin_catalogue_category_path($('#catalogue_tree').tree('getSelectedNodes')[0].id))", class: 'btn btn-default' %p =link_to '#', method: :delete, data: {confirm: 'Вы действительно хотите удалить категорию и все ее подкатегории, а так же товары содержащиеся в них?'}, id: 'catalogue_category_delete' do =button_to_function 'Удалить выбранную', "var tree_node = $('#catalogue_tree').tree('getSelectedNodes')[0]; var delete_link = $('#catalogue_category_delete'); delete_link.attr('href', Routes.admin_catalogue_category_path(tree_node.id)); delete_link.attr('data-confirm', 'Вы действительно хотите удалить категорию \"'+tree_node.name+'\" и все ее подкатегории, а так же товары содержащиеся в них?')", class: 'btn btn-danger' - content_for :main do %p Перетащитекивайте названия категорий для их сортировки или перемещения в структуре каталога. #catalogue_tree{ :data => {:url => tree_get_data_admin_catalogue_categories_path} } :javascript $(function() { $('#catalogue_tree').tree({ dragAndDrop: true, selectable: true, autoOpen: true, onCanMoveTo: function(moved_node, target_node, position) { if (target_node.id == 1 && position != 'inside' ) { return false; } return true; } }); $('#catalogue_tree').bind( 'tree.move', function(event) { event.preventDefault(); $.post( '#{tree_move_node_admin_catalogue_categories_path}', { moved_node: event.move_info.moved_node.id, target_node: event.move_info.target_node.id, position: event.move_info.position } ).done(function() { //event.move_info.do_move(); $('#catalogue_tree').tree('loadDataFromUrl') } ).fail(function() { alert("Произошла ошибка! Если она повторится — перезагрузите страницу."); }); } ); });