From df6121d2126acf10f474602713726cbd5f5740eb Mon Sep 17 00:00:00 2001 From: dingyongliang Date: Tue, 23 May 2023 09:50:47 +0800 Subject: [PATCH] Refactor task view page. --- module/task/ui/view.html.php | 173 +++++++---------------------------- 1 file changed, 34 insertions(+), 139 deletions(-) diff --git a/module/task/ui/view.html.php b/module/task/ui/view.html.php index a372c8e65d..e4d4bbf4ad 100644 --- a/module/task/ui/view.html.php +++ b/module/task/ui/view.html.php @@ -3,80 +3,6 @@ declare(strict_types=1); namespace zin; global $lang; -/** - * Detail title wg. - * - * @param array $props type: array('title' => string, 'className' => ?string). - * @return wg - */ -function detailTitle(array $props): wg -{ - extract($props); - $className = isset($className) ? $className : null; - - return div - ( - setClass($className), - $title - ); -} - -/** - * Detail subtitle wg. - * - * @param array $props type: array('title' => string, 'className' => ?string). - * @return wg - */ -function detailSubtitle(array $props): wg -{ - extract($props); - $className = isset($className) ? $className : null; - - return div - ( - setClass('detail-subtitle', $className), - $title - ); -} - -/** - * Detail description wg. - * - * @param array $props type: array('desc' => string, 'className' => ?string). - * @return wg - */ -function detailDesc(array $props): wg -{ - extract($props); - $className = isset($className) ? $className : null; - - return div - ( - setClass('detail-desc', $className), - $desc - ); -} - -/** - * Entity ID label wg. - * - * @param array $props type: array('id' => string|int, 'className' => ?string). - * @return wg - */ -function idLabel(array $props): wg -{ - extract($props); - $className = isset($className) ? $className : null; - - return label - ( - setClass('justify-center rounded-full', $className), - setStyle('height', '14px'), - setStyle('padding', '0 6px'), - $id - ); -} - /** * Goback button wg. * @@ -95,7 +21,7 @@ function backBtn(array $props): wg set::icon('back'), set::url($url), set::type('secondary'), - setClass($className), + setClass($className, 'mr-4'), $lang->goback ); } @@ -123,39 +49,6 @@ function createTaskBtn(array $props): wg ); } -/** - * Detail section wg. - * - * @param wg|array $wg wg or wg array. - * @return wg - */ -function detailSection(wg|array $wg): wg -{ - return div - ( - setClass('p-4'), - $wg - ); -} - -/** - * Description heading wg. - * - * @param array $props type: array('title' => string, 'className' => ?string). - * @return wg - */ -function descHeading(array $props): wg -{ - extract($props); - $className = isset($className) ? $className : null; - - return div - ( - setClass('desc-heading', $className), - "[$title]" - ); -} - /** * Vertical data table wg. * @param array $data @@ -179,17 +72,6 @@ function vtable(array $data): wg ); } -function storySection(array $props): wg -{ - extract($props); - return div - ( - setClass('my-4'), - descHeading(array('title' => $title, 'className' => $titleClass)), - detailDesc(array('desc' => $desc)), - ); -} - div ( setClass('detail-header flex justify-between mb-3'), @@ -197,8 +79,12 @@ div ( setClass('flex', 'items-center'), backBtn(array('url' => '')), - idLabel(array('id' => $task->id, 'className' => 'ml-4 mr-2')), - detailTitle(array('title' => $task->name, 'className' => 'text-lg text-title')), + entityLabel + ( + set::entityID($task->id), + set::level(1), + set::text($task->name), + ) ), createTaskBtn(array('url' => '')) ); @@ -209,29 +95,38 @@ div div ( setClass('detail-main grow'), - detailSection + section ( - array( - detailTitle(array('title' => $lang->task->legendDesc, 'className' => 'mb-3 mt-1 text-subtitle')), - detailDesc(array('desc' => empty($task->desc) ? $lang->noData : $task->desc)), - ) + set::title($lang->task->legendDesc), + set::content(empty($task->desc) ? $lang->noData : $task->desc), ), - detailSection + section ( - array( - detailTitle(array('title' => $lang->task->story, 'className' => 'text-subtitle')), - div + set::title($lang->task->story), + to::subTitle + ( + entityLabel ( setClass('my-3'), - idLabel(array('id' => $task->storyID, 'className' => 'mr-2')), - detailSubtitle(array('title' => $task->storyTitle, 'className' => 'text-base text-story-title inline-block')), - ), - div - ( - storySection(array('title' => $lang->story->legendSpec, 'titleClass' => 'mb-1 text-base', 'desc' => empty($task->storySpec) && empty($task->storyFiles) ? $lang->noData : $task->storySpec)), - storySection(array('title' => $lang->task->storyVerify, 'titleClass' => 'mb-1 text-base', 'desc' => empty($task->storyVerify) ? $lang->noData : $task->storyVerify)) - ), - ) + set::entityID($task->storyID), + set::level(3), + set::text($task->storyTitle), + ) + ), + set::content + ( + array( + array( + 'title' => $lang->story->legendSpec, + 'content' => empty($task->storySpec) && empty($task->storyFiles) ? $lang->noData : $task->storySpec + ), + array( + 'title' => $lang->task->storyVerify, + 'content' => empty($task->storyVerify) ? $lang->noData : $task->storyVerify + ) + ) + ), + set::useHtml(true) ), history (