From 77727fe37d7dfc6e56cff2876e5fa60e504b50b7 Mon Sep 17 00:00:00 2001 From: dingguodong Date: Thu, 8 Jun 2023 10:00:16 +0800 Subject: [PATCH] * Show stories in order and group. --- module/datatable/model.php | 1 + module/product/ui/browse.html.php | 3 ++- module/story/config/table.php | 14 +++++++++++++- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/module/datatable/model.php b/module/datatable/model.php index 8ce4ccac1f..48da59f303 100644 --- a/module/datatable/model.php +++ b/module/datatable/model.php @@ -104,6 +104,7 @@ class datatableModel extends model $set->title = $fieldList[$id]['title']; $set->sort = isset($fieldList[$id]['sort']) ? $fieldList[$id]['sort'] : 'yes'; $set->name = isset($fieldList[$id]['name']) ? $fieldList[$id]['name'] : ''; + $set->group = isset($fieldList[$id]['group']) ? $fieldList[$id]['group'] : ''; if(isset($fieldList[$id]['minWidth'])) $set->minWidth = $fieldList[$id]['minWidth']; if(isset($fieldList[$id]['maxWidth'])) $set->maxWidth = $fieldList[$id]['maxWidth']; diff --git a/module/product/ui/browse.html.php b/module/product/ui/browse.html.php index b6c9bd17d1..8880ab35a0 100644 --- a/module/product/ui/browse.html.php +++ b/module/product/ui/browse.html.php @@ -153,7 +153,7 @@ $fnBuildLinkStoryButton = function() use($lang, $product, $productID, $projectHa }; /* DataTable columns. */ -$setting = $this->datatable->getSetting('product'); +$setting = $this->datatable->getSetting('story'); $cols = array_values($setting); foreach($cols as $key => $col) { @@ -397,6 +397,7 @@ toolbar dtable ( set::customCols(true), + set::groupDivider(true), set::cols($cols), set::data($data), set::className('shadow rounded'), diff --git a/module/story/config/table.php b/module/story/config/table.php index 4855e9dec3..a8c0424ae2 100644 --- a/module/story/config/table.php +++ b/module/story/config/table.php @@ -2,13 +2,14 @@ global $lang, $app; $config->story->datatable = new stdclass(); -$config->story->datatable->defaultField = array('id', 'title', 'pri', 'plan', 'status', 'estimate', 'reviewedBy', 'stage', 'assignedTo', 'actions'); +$config->story->datatable->defaultField = array('id', 'title', 'pri', 'plan', 'status', 'openedBy', 'estimate', 'reviewedBy', 'stage', 'assignedTo', 'taskCount', 'actions'); $config->story->datatable->fieldList['id']['title'] = 'idAB'; $config->story->datatable->fieldList['id']['fixed'] = 'left'; $config->story->datatable->fieldList['id']['width'] = '60'; $config->story->datatable->fieldList['id']['required'] = 'yes'; $config->story->datatable->fieldList['id']['type'] = 'id'; +$config->story->datatable->fieldList['id']['group'] = 'group1'; if($app->tab == 'execution') { @@ -24,6 +25,7 @@ $config->story->datatable->fieldList['title']['title'] = 'title'; $config->story->datatable->fieldList['title']['fixed'] = 'left'; $config->story->datatable->fieldList['title']['width'] = 200; $config->story->datatable->fieldList['title']['required'] = 'yes'; +$config->story->datatable->fieldList['title']['group'] = 'group1'; $config->story->datatable->fieldList['pri']['title'] = 'priAB'; $config->story->datatable->fieldList['pri']['fixed'] = 'left'; @@ -31,6 +33,7 @@ $config->story->datatable->fieldList['pri']['width'] = '40'; $config->story->datatable->fieldList['pri']['required'] = 'no'; $config->story->datatable->fieldList['pri']['name'] = $this->lang->story->pri; $config->story->datatable->fieldList['pri']['type'] = 'pri'; +$config->story->datatable->fieldList['pri']['group'] = 'group2'; $config->story->datatable->fieldList['plan']['title'] = 'planAB'; $config->story->datatable->fieldList['plan']['fixed'] = 'no'; @@ -38,6 +41,7 @@ $config->story->datatable->fieldList['plan']['width'] = '64'; $config->story->datatable->fieldList['plan']['required'] = 'no'; $config->story->datatable->fieldList['plan']['control'] = 'select'; $config->story->datatable->fieldList['plan']['dataSource'] = array('module' => 'productplan', 'method' => 'getPairs', 'params' => '$productID'); +$config->story->datatable->fieldList['plan']['group'] = 'group3'; $config->story->datatable->fieldList['status']['title'] = 'statusAB'; $config->story->datatable->fieldList['status']['fixed'] = 'no'; @@ -45,21 +49,25 @@ $config->story->datatable->fieldList['status']['width'] = '60'; $config->story->datatable->fieldList['status']['required'] = 'no'; $config->story->datatable->fieldList['status']['type'] = 'status'; $config->story->datatable->fieldList['status']['statusMap'] = $lang->story->statusList; +$config->story->datatable->fieldList['status']['group'] = 'group3'; $config->story->datatable->fieldList['openedBy']['title'] = 'openedByAB'; $config->story->datatable->fieldList['openedBy']['fixed'] = 'no'; $config->story->datatable->fieldList['openedBy']['width'] = '60'; $config->story->datatable->fieldList['openedBy']['required'] = 'no'; +$config->story->datatable->fieldList['openedBy']['group'] = 'group4'; $config->story->datatable->fieldList['estimate']['title'] = 'estimateAB'; $config->story->datatable->fieldList['estimate']['fixed'] = 'no'; $config->story->datatable->fieldList['estimate']['width'] = '50'; $config->story->datatable->fieldList['estimate']['required'] = 'no'; +$config->story->datatable->fieldList['estimate']['group'] = 'group4'; $config->story->datatable->fieldList['reviewer']['title'] = 'reviewer'; $config->story->datatable->fieldList['reviewer']['control'] = 'multiple'; $config->story->datatable->fieldList['reviewer']['dataSource'] = array('module' => 'story', 'method' => 'getStoriesReviewer', 'params' => '$productID'); $config->story->datatable->fieldList['reviewer']['type'] = 'user'; +$config->story->datatable->fieldList['reviewer']['group'] = 'group4'; $config->story->datatable->fieldList['reviewedBy']['title'] = 'reviewedBy'; $config->story->datatable->fieldList['reviewedBy']['fixed'] = 'no'; @@ -68,6 +76,7 @@ $config->story->datatable->fieldList['reviewedBy']['required'] = 'no'; $config->story->datatable->fieldList['reviewedBy']['control'] = 'multiple'; $config->story->datatable->fieldList['reviewedBy']['dataSource'] = array('module' => 'story', 'method' => 'getStoriesReviewer', 'params' => '$productID'); $config->story->datatable->fieldList['reviewedBy']['type'] = 'user'; +$config->story->datatable->fieldList['reviewedBy']['group'] = 'group4'; $config->story->datatable->fieldList['reviewedDate']['title'] = 'reviewedDate'; $config->story->datatable->fieldList['reviewedDate']['fixed'] = 'no'; @@ -80,12 +89,14 @@ $config->story->datatable->fieldList['stage']['width'] = '85'; $config->story->datatable->fieldList['stage']['required'] = 'no'; $config->story->datatable->fieldList['stage']['type'] = 'status'; $config->story->datatable->fieldList['stage']['statusMap'] = $lang->story->stageList; +$config->story->datatable->fieldList['stage']['group'] = 'group5'; $config->story->datatable->fieldList['assignedTo']['title'] = 'assignedTo'; $config->story->datatable->fieldList['assignedTo']['fixed'] = 'no'; $config->story->datatable->fieldList['assignedTo']['width'] = '90'; $config->story->datatable->fieldList['assignedTo']['required'] = 'no'; $config->story->datatable->fieldList['assignedTo']['type'] = 'assign'; +$config->story->datatable->fieldList['assignedTo']['group'] = 'group5'; $config->story->datatable->fieldList['assignedDate']['title'] = 'assignedDate'; $config->story->datatable->fieldList['assignedDate']['fixed'] = 'no'; @@ -192,6 +203,7 @@ $config->story->datatable->fieldList['taskCount']['width'] = '30'; $config->story->datatable->fieldList['taskCount']['required'] = 'no'; $config->story->datatable->fieldList['taskCount']['sort'] = 'no'; $config->story->datatable->fieldList['taskCount']['name'] = $lang->story->taskCount; +$config->story->datatable->fieldList['taskCount']['group'] = 'group5'; $config->story->datatable->fieldList['bugCount']['title'] = 'B'; $config->story->datatable->fieldList['bugCount']['fixed'] = 'no';