From 21f7143919b5f3e93038d93be4880bdaa35bc639 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 17 Apr 2023 11:12:09 +0800 Subject: [PATCH 1/4] * Code for task #91391. --- db/update18.3.sql | 6 +++++ module/api/lang/de.php | 1 + module/api/lang/en.php | 1 + module/api/lang/fr.php | 1 + module/api/lang/zh-cn.php | 1 + module/doc/lang/de.php | 1 + module/doc/lang/en.php | 1 + module/doc/lang/fr.php | 1 + module/doc/lang/zh-cn.php | 1 + module/group/lang/resource.php | 46 ++++++++++++++++++---------------- 10 files changed, 39 insertions(+), 21 deletions(-) diff --git a/db/update18.3.sql b/db/update18.3.sql index fe305d6bfc..a92f6ae174 100644 --- a/db/update18.3.sql +++ b/db/update18.3.sql @@ -289,6 +289,9 @@ SELECT t1.`group`, t1.`module`, 'addCatalog' FROM `zt_grouppriv` AS t1 WHERE t1. INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT t1.`group`, t1.`module`, 'editCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; +INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) +SELECT t1.`group`, t1.`module`, 'sortCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; + INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT t1.`group`, t1.`module`, 'deleteCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; @@ -298,6 +301,9 @@ SELECT t1.`group`, 'api', 'addCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`modul INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT t1.`group`, 'api', 'editCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; +INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) +SELECT t1.`group`, 'api', 'sortCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; + INSERT IGNORE INTO `zt_grouppriv` (`group`, `module`, `method`) SELECT t1.`group`, 'api', 'deleteCatalog' FROM `zt_grouppriv` AS t1 WHERE t1.`module` = 'doc' AND t1.`method` = 'catalog'; diff --git a/module/api/lang/de.php b/module/api/lang/de.php index 0fb994badc..567c79a6a5 100644 --- a/module/api/lang/de.php +++ b/module/api/lang/de.php @@ -64,6 +64,7 @@ $lang->api->allLibs = "AllLibs"; $lang->api->noLinked = "No Linked {$lang->productCommon} and {$lang->projectCommon}"; $lang->api->addCatalog = 'Add Catalog'; $lang->api->editCatalog = 'Edit Catalog'; +$lang->api->sortCatalog = 'Catalog Sorting'; $lang->api->deleteCatalog = 'Delete Catalog'; /* Common access control lang. */ diff --git a/module/api/lang/en.php b/module/api/lang/en.php index 55e3c4ddec..6f4157a641 100644 --- a/module/api/lang/en.php +++ b/module/api/lang/en.php @@ -64,6 +64,7 @@ $lang->api->allLibs = "AllLibs"; $lang->api->noLinked = "No Linked {$lang->productCommon} and {$lang->projectCommon}"; $lang->api->addCatalog = 'Add Catalog'; $lang->api->editCatalog = 'Edit Catalog'; +$lang->api->sortCatalog = 'Catalog Sorting'; $lang->api->deleteCatalog = 'Delete Catalog'; /* Common access control lang. */ diff --git a/module/api/lang/fr.php b/module/api/lang/fr.php index f9354a402a..f8689c22e6 100644 --- a/module/api/lang/fr.php +++ b/module/api/lang/fr.php @@ -64,6 +64,7 @@ $lang->api->allLibs = "AllLibs"; $lang->api->noLinked = "No Linked {$lang->productCommon} and {$lang->projectCommon}"; $lang->api->addCatalog = 'Add Catalog'; $lang->api->editCatalog = 'Edit Catalog'; +$lang->api->sortCatalog = 'Catalog Sorting'; $lang->api->deleteCatalog = 'Delete Catalog'; /* Common access control lang. */ diff --git a/module/api/lang/zh-cn.php b/module/api/lang/zh-cn.php index 25a77d7d52..aae87d0fe8 100755 --- a/module/api/lang/zh-cn.php +++ b/module/api/lang/zh-cn.php @@ -64,6 +64,7 @@ $lang->api->allLibs = "全部库"; $lang->api->noLinked = "未关联{$lang->productCommon}和{$lang->projectCommon}"; $lang->api->addCatalog = '添加目录'; $lang->api->editCatalog = '编辑目录'; +$lang->api->sortCatalog = '目录排序'; $lang->api->deleteCatalog = '删除目录'; /* Common access control lang. */ diff --git a/module/doc/lang/de.php b/module/doc/lang/de.php index 414e02d102..518ef766b4 100644 --- a/module/doc/lang/de.php +++ b/module/doc/lang/de.php @@ -147,6 +147,7 @@ $lang->doc->tableContents = 'Catalog'; $lang->doc->addCatalog = 'Add Catalog'; $lang->doc->editCatalog = 'Edit Catalog'; $lang->doc->deleteCatalog = 'Delete Catalog'; +$lang->doc->sortCatalog = 'Catalog Sorting'; $lang->doc->docStatistic = 'Statistic'; $lang->doc->docCreated = 'Created Documents'; $lang->doc->docEdited = 'Edited Documents'; diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index d8f4a0de89..048a2a32bf 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -147,6 +147,7 @@ $lang->doc->tableContents = 'Directory'; $lang->doc->addCatalog = 'Add Catalog'; $lang->doc->editCatalog = 'Edit Catalog'; $lang->doc->deleteCatalog = 'Delete Catalog'; +$lang->doc->sortCatalog = 'Catalog Sorting'; $lang->doc->docStatistic = 'Statistic'; $lang->doc->docCreated = 'Created Documents'; $lang->doc->docEdited = 'Edited Documents'; diff --git a/module/doc/lang/fr.php b/module/doc/lang/fr.php index 1cf8e58da5..fdda77aac8 100644 --- a/module/doc/lang/fr.php +++ b/module/doc/lang/fr.php @@ -147,6 +147,7 @@ $lang->doc->tableContents = 'Catalog'; $lang->doc->addCatalog = 'Add Catalog'; $lang->doc->editCatalog = 'Edit Catalog'; $lang->doc->deleteCatalog = 'Delete Catalog'; +$lang->doc->sortCatalog = 'Catalog Sorting'; $lang->doc->docStatistic = 'Statistic'; $lang->doc->docCreated = 'Created Documents'; $lang->doc->docEdited = 'Edited Documents'; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index fc3fcfb248..f736168131 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -147,6 +147,7 @@ $lang->doc->tableContents = '目录'; $lang->doc->addCatalog = '添加目录'; $lang->doc->editCatalog = '编辑目录'; $lang->doc->deleteCatalog = '删除目录'; +$lang->doc->sortCatalog = '目录排序'; $lang->doc->docStatistic = '文档统计'; $lang->doc->docCreated = '创建的文档'; $lang->doc->docEdited = '编辑的文档'; diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 32387fe175..4c948337ec 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -1416,6 +1416,7 @@ $lang->resource->doc->teamSpace = 'teamSpace'; $lang->resource->doc->showFiles = 'showFiles'; $lang->resource->doc->addCatalog = 'addCatalog'; $lang->resource->doc->editCatalog = 'editCatalog'; +$lang->resource->doc->sortCatalog = 'sortCatalog'; $lang->resource->doc->deleteCatalog = 'deleteCatalog'; $lang->resource->doc->displaySetting = 'displaySetting'; @@ -1439,8 +1440,9 @@ $lang->doc->methodOrder[85] = 'teamSpace'; $lang->doc->methodOrder[90] = 'showFiles'; $lang->doc->methodOrder[95] = 'addCatalog'; $lang->doc->methodOrder[100] = 'editCatalog'; -$lang->doc->methodOrder[105] = 'deleteCatalog'; -$lang->doc->methodOrder[110] = 'displaySetting'; +$lang->doc->methodOrder[105] = 'sortCatalog'; +$lang->doc->methodOrder[110] = 'deleteCatalog'; +$lang->doc->methodOrder[115] = 'displaySetting'; /* Mail. */ $lang->resource->mail = new stdclass(); @@ -1937,32 +1939,34 @@ $lang->resource->api->edit = 'edit'; $lang->resource->api->delete = 'delete'; $lang->resource->api->addCatalog = 'addCatalog'; $lang->resource->api->editCatalog = 'editCatalog'; +$lang->resource->api->sortCatalog = 'sortCatalog'; $lang->resource->api->deleteCatalog = 'deleteCatalog'; $lang->resource->api->getModel = 'getModel'; $lang->resource->api->debug = 'debug'; $lang->resource->api->sql = 'sql'; -$lang->api->methodOrder[0] = 'index'; -$lang->api->methodOrder[5] = 'createLib'; -$lang->api->methodOrder[10] = 'editLib'; -$lang->api->methodOrder[15] = 'deleteLib'; -$lang->api->methodOrder[20] = 'createRelease'; -$lang->api->methodOrder[25] = 'releases'; -$lang->api->methodOrder[30] = 'deleteRelease'; -$lang->api->methodOrder[35] = 'struct'; -$lang->api->methodOrder[40] = 'createStruct'; -$lang->api->methodOrder[45] = 'editStruct'; -$lang->api->methodOrder[50] = 'deleteStruct'; -$lang->api->methodOrder[55] = 'create'; -$lang->api->methodOrder[60] = 'edit'; -$lang->api->methodOrder[65] = 'delete'; +$lang->api->methodOrder[0] = 'index'; +$lang->api->methodOrder[5] = 'createLib'; +$lang->api->methodOrder[10] = 'editLib'; +$lang->api->methodOrder[15] = 'deleteLib'; +$lang->api->methodOrder[20] = 'createRelease'; +$lang->api->methodOrder[25] = 'releases'; +$lang->api->methodOrder[30] = 'deleteRelease'; +$lang->api->methodOrder[35] = 'struct'; +$lang->api->methodOrder[40] = 'createStruct'; +$lang->api->methodOrder[45] = 'editStruct'; +$lang->api->methodOrder[50] = 'deleteStruct'; +$lang->api->methodOrder[55] = 'create'; +$lang->api->methodOrder[60] = 'edit'; +$lang->api->methodOrder[65] = 'delete'; $lang->api->methodOrder[70] = 'addCatalog'; -$lang->api->methodOrder[75] = 'editCatalog'; -$lang->api->methodOrder[80] = 'deleteCatalog'; -$lang->api->methodOrder[85] = 'getModel'; -$lang->api->methodOrder[90] = 'debug'; -$lang->api->methodOrder[95] = 'sql'; +$lang->api->methodOrder[75] = 'editCatalog'; +$lang->api->methodOrder[80] = 'sortCatalog'; +$lang->api->methodOrder[85] = 'deleteCatalog'; +$lang->api->methodOrder[90] = 'getModel'; +$lang->api->methodOrder[95] = 'debug'; +$lang->api->methodOrder[100] = 'sql'; $lang->resource->file = new stdclass(); $lang->resource->file->download = 'download'; From 8fc7ca75252aa1e0867d1ff4ff891b60f7f4cba7 Mon Sep 17 00:00:00 2001 From: tianshujie Date: Mon, 17 Apr 2023 13:56:21 +0800 Subject: [PATCH 2/4] * Code for task #91391. --- module/doc/model.php | 2 ++ module/doc/view/lefttree.html.php | 39 ++++++++++++++++++++++++++----- 2 files changed, 35 insertions(+), 6 deletions(-) diff --git a/module/doc/model.php b/module/doc/model.php index 60bea0d7c5..e006c2b08a 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -2914,6 +2914,7 @@ class docModel extends model $item->name = $module->name; $item->type = $module->type == 'api' ? 'apiDoc' : $module->type; $item->active = $module->id == $moduleID ? 1 : 0; + $item->order = $module->order; $item->children = $this->getModuleTree($rootID, $moduleID, $type, $module->id, $modules); $showDoc = $this->loadModel('setting')->getItem('owner=' . $this->app->user->account . '&module=doc&key=showDoc'); $showDoc = $showDoc === '0' ? 0 : 1; @@ -2984,6 +2985,7 @@ class docModel extends model $item->id = $lib->id; $item->type = $lib->type == 'api' ? 'api' : 'lib'; $item->name = $lib->name; + $item->order = $lib->order; $item->objectType = $type; $item->objectID = $objectID; $item->active = $lib->id == $libID && $browseType != 'bysearch' ? 1 : 0; diff --git a/module/doc/view/lefttree.html.php b/module/doc/view/lefttree.html.php index 07687cceb0..f50a6fa785 100644 --- a/module/doc/view/lefttree.html.php +++ b/module/doc/view/lefttree.html.php @@ -57,6 +57,16 @@ i.btn-info, i.btn-info:hover {border: none; background: #fff; box-shadow: unset; #leftBar .selectBox #currentItem > .text {overflow: hidden; text-align: left; flex: 0 1 100%;} .dropdown-in-tree {max-height: 293px; overflow-y: auto;} .before-tree-item {flex: 0 0 14px; margin-right: 5px; margin-bottom: 2px;} + +/* Catalog sort style. */ +.sortable-sorting li >.tree-group {opacity: .5;} +.sortable-sorting .drop-here .tree-group {background-color: #fff3e0;} +.sortable-sorting .drop-here .tree-group > * {opacity: .1;} +.sortable-sorting .drag-shadow .tree-group {opacity: 1!important;} +.sortable-sorting .drag-shadow .tree-actions {visibility: hidden;} +.is-sorting > li > .tree-group {opacity: 1; border-radius: 4px;} +.is-sorting > li ul {display: none!important;} +li.drag-shadow ul {display: none!important;} doc->spaceMethod); +js::set('canSortCatalog', common::hasPriv('doc', 'sortCatalog')); ?>