" . html::a(inlink('objectLibs', "type=$type&objectID=$objectID&libID=$libID&docID={$doc->id}"), " " . $doc->title, '', "data-app='{$this->app->tab}' class='doc-title' title='{$doc->title}'") . '';
- if(common::hasPriv('doc', 'edit'))
+ $class = common::hasPriv('doc', 'updateOrder') ? 'sortDoc' : '';
+ $treeMenu[$module->id] .= "
" . html::a(inlink('objectLibs', "type=$type&objectID=$objectID&libID=$libID&docID={$doc->id}"), " " . $doc->title, '', "data-app='{$this->app->tab}' class='doc-title $class' title='{$doc->title}'") . '';
+ if(common::hasPriv('doc', 'edit') or common::hasPriv('doc', 'updateOrder'))
{
$treeMenu[$module->id] .= "
";
- $treeMenu[$module->id] .= html::a(helper::createLink('doc', 'edit', "docID={$doc->id}&comment=false&objectType=$type&objectID=$objectID&libID=$libID"), "", '', "title={$this->lang->doc->edit} data-app={$this->app->tab}");
+ if(common::hasPriv('doc', 'edit')) $treeMenu[$module->id] .= html::a(helper::createLink('doc', 'edit', "docID={$doc->id}&comment=false&objectType=$type&objectID=$objectID&libID=$libID"), "", '', "title={$this->lang->doc->edit} data-app={$this->app->tab}");
+ if(common::hasPriv('doc', 'updateOrder')) $treeMenu[$module->id] .= html::a('javascript:;', "", '', "title='{$this->lang->doc->updateOrder}' class='sortDoc'");
$treeMenu[$module->id] .= '
';
}
$treeMenu[$module->id] .= '
';
@@ -2518,11 +2525,12 @@ EOT;
else
{
$li = "
" . $module->name . '';
- if(common::hasPriv('tree', 'edit') or common::hasPriv('tree', 'browse'))
+ if(common::hasPriv('tree', 'edit') or common::hasPriv('tree', 'browse') or common::hasPriv('tree', 'updateOrder'))
{
$li .= "
";
- if(common::hasPriv('tree', 'edit')) $li .= html::a(helper::createLink('tree', 'edit', "module=$module->id&type=doc"), "", '', "data-toggle='modal' title={$this->lang->doc->editType}");
- if(common::hasPriv('tree', 'browse')) $li .= html::a(helper::createLink('tree', 'browse', "rootID=$libID&type=doc&module=$module->id", '', 1), "", '', "class='iframe' title={$this->lang->doc->editChildType}");
+ if(common::hasPriv('tree', 'edit')) $li .= html::a(helper::createLink('tree', 'edit', "module=$module->id&type=doc"), "", '', "data-toggle='modal' title='{$this->lang->doc->editType}'");
+ if(common::hasPriv('tree', 'browse')) $li .= html::a(helper::createLink('tree', 'browse', "rootID=$libID&type=doc&module=$module->id", '', 1), "", '', "class='iframe' title='{$this->lang->doc->editChildType}'");
+ if(common::hasPriv('tree', 'updateOrder')) $li .= html::a('javascript:;', "", '', "title='{$this->lang->doc->updateOrder}' class='sortModule'");
$li .= '
';
}
$li .= '
';
diff --git a/module/doc/view/side.html.php b/module/doc/view/side.html.php
index 32cbbc41b9..701393f393 100644
--- a/module/doc/view/side.html.php
+++ b/module/doc/view/side.html.php
@@ -79,7 +79,7 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
/* Make modules tree sortable */
$('#modules').sortable(
{
- trigger: '.module-name>a.sort-module',
+ trigger: '.module-name>a.sort-module, .tree-actions>.sortModule>.icon-move, .module-name>a.sortDoc, .tree-actions>.sortDoc>.icon-move',
dropToClass: 'sort-to',
stopPropagation: true,
nested: true,
@@ -100,7 +100,15 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
{
if($('#modules').hasClass('sortable-sorting')) $ul.addClass('is-sorting');
}, 100);
- return $ul.children('li');
+
+ if($ele.hasClass('sortDoc'))
+ {
+ return $ul.children('li.sortDoc');
+ }
+ else
+ {
+ return $ul.children('li.catalog');
+ }
},
always: function()
{
@@ -110,16 +118,34 @@ $sideWidth = common::checkNotCN() ? '270' : '238';
{
if(!e.changed) return;
- var orders = {};
- $('#modules').find('li.can-sort').each(function()
+ var orders = {};
+ var link = '';
+ var elementClass = e.list.context.className;
+ if(elementClass.indexOf('sortDoc') >= 0)
{
- var $li = $(this);
+ $('#modules').find('li.sortDoc').each(function()
+ {
+ var $li = $(this);
- var item = $li.data();
- '' == 'book' ? orders['sort[' + item.id + ']'] = $li.attr('data-order') || item.order : orders['orders[' + item.id + ']'] = $li.attr('data-order') || item.order;
- });
+ var item = $li.data();
+ orders['orders[' + item.id + ']'] = $li.attr('data-order') || item.order;
+ });
+
+ link = createLink('doc', 'updateOrder');
+ }
+ else
+ {
+ $('#modules').find('li.can-sort').each(function()
+ {
+ var $li = $(this);
+
+ var item = $li.data();
+ '' == 'book' ? orders['sort[' + item.id + ']'] = $li.attr('data-order') || item.order : orders['orders[' + item.id + ']'] = $li.attr('data-order') || item.order;
+ });
+
+ link = '' == 'book' ? createLink('doc', 'sortBookOrder') : createLink('tree', 'updateOrder');
+ }
- var link = '' == 'book' ? createLink('doc', 'sortBookOrder') : createLink('tree', 'updateOrder');
$.post(link, orders, function(data){}).error(function()
{
bootbox.alert(lang.timeout);
diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php
index 60aa69d0a4..9e7c18a9bd 100644
--- a/module/group/lang/resource.php
+++ b/module/group/lang/resource.php
@@ -1215,6 +1215,7 @@ $lang->resource->doc->objectLibs = 'objectLibs';
$lang->resource->doc->collect = 'collectAction';
$lang->resource->doc->tableContents = 'tableContents';
$lang->resource->doc->showFiles = 'showFiles';
+$lang->resource->doc->updateOrder = 'updateOrder';
$lang->doc->methodOrder[0] = 'index';
$lang->doc->methodOrder[5] = 'browse';