* Add pager of mr-link page.

This commit is contained in:
zhaoke
2023-07-05 08:37:33 +08:00
parent 0c237444ef
commit d83d47377e
3 changed files with 67 additions and 15 deletions
+15 -6
View File
@@ -705,8 +705,10 @@ class mr extends control
{
$this->mr->link($MRID, $productID, 'bug');
if(dao::isError()) return print(js::error(dao::getError()));
return print(js::locate(inlink('link', "MRID=$MRID&type=bug&orderBy=$orderBy"), 'parent'));
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
$link = inlink('link', "MRID=$MRID&type=bug&orderBy=$orderBy");
return $this->send(array('result' => 'success', 'callback' => "loadTable('$link', 'bugTable')", 'closeModal' => true));
}
$this->loadModel('bug');
@@ -757,6 +759,10 @@ class mr extends control
$allBugs = $this->bug->getActiveBugs($productID, 0, '0', array_keys($linkedBugs), $pager);
}
list($order, $sort) = explode('_', $orderBy);
$sortCol = array_column($allBugs, $order);
array_multisort($sortCol, $sort == 'asc' ? SORT_ASC : SORT_DESC, $allBugs);
$this->view->modules = $modules;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
$this->view->allBugs = $allBugs;
@@ -790,8 +796,10 @@ class mr extends control
{
$this->mr->link($MRID, $productID, 'task');
if(dao::isError()) return print(js::error(dao::getError()));
return print(js::locate(inlink('link', "MRID=$MRID&type=task&orderBy=$orderBy"), 'parent'));
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
$link = inlink('link', "MRID=$MRID&type=task&orderBy=$orderBy");
return $this->send(array('result' => 'success', 'callback' => "loadTable('$link', 'taskTable')", 'closeModal' => true));
}
$this->loadModel('execution');
@@ -877,7 +885,7 @@ class mr extends control
* @access public
* @return mix
*/
public function unlink($MRID, $productID, $type, $linkID, $confirm = 'no')
public function unlink($MRID, $productID, $type, $linkID)
{
$this->app->loadLang('productplan');
@@ -893,9 +901,10 @@ class mr extends control
}
else
{
$link = inlink('link', "MRID=$MRID&type=$type");
$response['result'] = 'success';
$response['message'] = '';
$response['load'] = true;
$response['load'] = $link;
}
return $this->send($response);
}
+30
View File
@@ -2,3 +2,33 @@ $(function()
{
$('li.' + type + '>a').trigger('click');
});
window.createStorySortLink = function(col)
{
var sort = col.name + '_asc';
var currentOrderBy = 'id_asc';
if(type == 'story') currentOrderBy = orderBy;
if(sort == currentOrderBy) sort = col.name + '_desc';
return sortLink.replace('{orderBy}', sort).replace('{type}', 'story');
}
window.createBugSortLink = function(col)
{
var sort = col.name + '_asc';
var currentOrderBy = 'id_asc';
if(type == 'bug') currentOrderBy = orderBy;
if(sort == currentOrderBy) sort = col.name + '_desc';
return sortLink.replace('{orderBy}', sort).replace('{type}', 'bug');
}
window.createTaskSortLink = function(col)
{
var sort = col.name + '_asc';
var currentOrderBy = 'id_asc';
if(type == 'task') currentOrderBy = orderBy;
if(sort == currentOrderBy) sort = col.name + '_desc';
return sortLink.replace('{orderBy}', sort).replace('{type}', 'task');
}
+22 -9
View File
@@ -11,6 +11,8 @@ declare(strict_types=1);
namespace zin;
jsVar('type', $type);
jsVar('orderBy', $orderBy);
jsVar('sortLink', createLink('mr', 'link', "MRID={$MR->id}&type={type}&orderBy={orderBy}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"));
$actionMenu = array();
$actionMenu['title'] = $lang->actions;
@@ -91,27 +93,27 @@ panel
(
li
(
setClass('nav-item'),
setClass('nav-item' . ($type == 'view' ? ' active' : '')),
a($lang->mr->view, set::href(inlink('view', "MRID={$MR->id}")))
),
li
(
setClass('nav-item'),
setClass('nav-item' . ($type == 'diff' ? ' active' : '')),
a($lang->mr->viewDiff, set::href(inlink('diff', "MRID={$MR->id}")))
),
li
(
setClass('nav-item story'),
setClass('nav-item story' . ($type == 'story' ? ' active' : '')),
a(icon($lang->icons['story']), $lang->productplan->linkedStories, set::href('#mr-story'), set('data-toggle', 'tab'))
),
li
(
setClass('nav-item bug'),
setClass('nav-item bug' . ($type == 'bug' ? ' active' : '')),
a(icon($lang->icons['bug']), $lang->productplan->linkedBugs, set::href('#mr-bug'), set('data-toggle', 'tab'))
),
li
(
setClass('nav-item task'),
setClass('nav-item task' . ($type == 'task' ? ' active' : '')),
a(icon('todo'), $lang->mr->linkedTasks, set::href('#mr-task'), set('data-toggle', 'tab'))
),
)
@@ -126,7 +128,7 @@ panel
(
setClass('mr-actions primary'),
setData('linkType', 'bug'),
setData('size', '80%'),
setData('size', '1000px'),
setData('toggle', 'modal'),
set::url($this->createLink('mr', 'linkStory', "MRID={$MR->id}&productID={$product->id}{$param}&orderBy={$orderBy}")),
set::icon('link'),
@@ -135,8 +137,11 @@ panel
dtable
(
set::id('storyTable'),
set::userMap($users),
set::cols($storyCols),
set::data($stories),
set::sortLink(jsRaw('createStorySortLink')),
set::footPager(usePager(null, 'storyPager')),
),
),
tabPane
@@ -146,7 +151,7 @@ panel
(
setClass('mr-actions primary'),
setData('linkType', 'bug'),
setData('size', '80%'),
setData('size', '900px'),
setData('toggle', 'modal'),
set::url($this->createLink('mr', 'linkBug', "MRID={$MR->id}&productID={$product->id}{$param}&orderBy={$orderBy}")),
set::icon('bug'),
@@ -154,8 +159,12 @@ panel
),
dtable
(
set::id('bugTable'),
set::userMap($users),
set::cols($bugCols),
set::data($bugs),
set::sortLink(jsRaw('createBugSortLink')),
set::footPager(usePager(null, 'bugPager')),
),
),
tabPane
@@ -165,16 +174,20 @@ panel
(
setClass('mr-actions primary'),
setData('linkType', 'task'),
setData('size', '80%'),
setData('size', '900px'),
setData('toggle', 'modal'),
set::url($this->createLink('mr', 'linkTask', "MRID={$MR->id}&productID={$product->id}{$param}&orderBy={$orderBy}")),
set::url($this->createLink('mr', 'linkTask', "MRID={$MR->id}&productID={$product->id}{$param}&browseType=unclosed&orderBy={$orderBy}")),
set::icon('todo'),
$this->lang->mr->linkTask
),
dtable
(
set::id('taskTable'),
set::userMap($users),
set::cols($taskCols),
set::data($tasks),
set::sortLink(jsRaw('createTaskSortLink')),
set::footPager(usePager(null, 'taskPager')),
),
),
),