From 9cb069b33a55a2529e56c6c7134c0816f0f836eb Mon Sep 17 00:00:00 2001 From: tianshujie Date: Fri, 14 Apr 2023 13:47:27 +0800 Subject: [PATCH] * Optimized Level 2.5 dropdown interaction. --- module/doc/model.php | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/module/doc/model.php b/module/doc/model.php index 256b9c064f..1493bc528a 100644 --- a/module/doc/model.php +++ b/module/doc/model.php @@ -2735,20 +2735,8 @@ class docModel extends model $objectDropdown = ''; if(in_array($type, array('project', 'product', 'execution'))) { - $objects = $this->getOrderedObjects($type); - $objectID = $this->loadModel($type)->saveState($objectID, $objects); - $table = $this->config->objectTables[$type]; - $libs = $this->getLibsByObject($type, $objectID, '', $appendLib); - - if(($libID == 0 or !isset($libs[$libID])) and !empty($libs)) $libID = reset($libs)->id; - $object = $this->dao->select('id,name,status')->from($table)->where('id')->eq($objectID)->fetch(); - $objectTitle = zget($objects, $objectID, ''); - $objectDropdown = $this->select($type, $objectTitle, $objectID); - if($type == 'execution' and isset($libs[$libID])) - { - $objectTitle = zget($libs[$libID], 'name', ''); - $objectDropdown = "
{$objectTitle}
"; - } + $table = $this->config->objectTables[$type]; + $object = $this->dao->select('id,name,status')->from($table)->where('id')->eq($objectID)->fetch(); if(empty($object)) { @@ -2756,6 +2744,22 @@ class docModel extends model $methodName = ($type == 'project' and $this->config->vision != 'lite') ? 'createGuide' : 'create'; return print(js::locate(helper::createLink($type, $methodName, $param))); } + + $objects = $this->getOrderedObjects($type); + $objectID = $this->loadModel($type)->saveState($objectID, $objects); + $libs = $this->getLibsByObject($type, $objectID, '', $appendLib); + if(($libID == 0 or !isset($libs[$libID])) and !empty($libs)) $libID = reset($libs)->id; + + $objectTitle = zget($objects, $objectID, ''); + if($this->app->tab != 'doc' and isset($libs[$libID])) + { + $objectTitle = zget($libs[$libID], 'name', ''); + $objectDropdown = "
{$objectTitle}
"; + } + else + { + $objectDropdown = $this->select($type, $objectTitle, $objectID); + } } else {