* Refactor view commit page.

This commit is contained in:
tianshujie
2023-06-20 16:51:49 +08:00
parent ebebcf1974
commit 1a4cc644f4
6 changed files with 71 additions and 32 deletions
+5 -4
View File
@@ -38,10 +38,11 @@ $config->design->actionList['edit']['icon'] = 'alter';
$config->design->actionList['edit']['hint'] = $lang->design->edit;
$config->design->actionList['edit']['url'] = helper::createLink('design', 'edit', 'designID={id}');
$config->design->actionList['viewCommit']['icon'] = 'list-alt';
$config->design->actionList['viewCommit']['hint'] = $lang->design->viewCommit;
$config->design->actionList['viewCommit']['url'] = helper::createLink('design', 'viewCommit', 'designID={id}');
$config->design->actionList['viewCommit']['data-toggle'] = 'modal';
$config->design->actionList['viewCommit']['icon'] = 'list-alt';
$config->design->actionList['viewCommit']['hint'] = $lang->design->viewCommit;
$config->design->actionList['viewCommit']['url'] = helper::createLink('design', 'viewCommit', 'designID={id}');
$config->design->actionList['viewCommit']['data-toggle'] = 'modal';
$config->design->actionList['viewCommit']['data-position'] = 'center';
$config->design->actionList['delete']['icon'] = 'trash';
$config->design->actionList['delete']['hint'] = $lang->design->delete;
+30
View File
@@ -2,7 +2,15 @@
global $lang,$app;
$config->design->dtable = new stdclass();
$config->design->linkcommit = new stdclass();
$config->design->viewcommit = new stdclass();
$config->design->linkcommit->dtable = new stdclass();
$config->design->viewcommit->dtable = new stdclass();
$config->design->viewcommit->actionList['unlinkCommit']['icon'] = 'unlink';
$config->design->viewcommit->actionList['unlinkCommit']['hint'] = $lang->design->unlinkCommit;
$config->design->viewcommit->actionList['unlinkCommit']['url'] = helper::createLink('design', 'unlinkCommit', "designID=%s&commitID={id}");
$config->design->viewcommit->actionList['unlinkCommit']['class'] = 'ajax-submit';
$config->design->viewcommit->actionList['unlinkCommit']['data-confirm'] = $lang->design->confirmUnlink;
$config->design->dtable->fieldList['id']['title'] = $lang->idAB;
$config->design->dtable->fieldList['id']['type'] = 'id';
@@ -54,3 +62,25 @@ $config->design->linkcommit->dtable->fieldList['committer']['sortType'] = false;
$config->design->linkcommit->dtable->fieldList['comment']['title'] = $lang->repo->comment;
$config->design->linkcommit->dtable->fieldList['comment']['type'] = 'html';
$config->design->linkcommit->dtable->fieldList['comment']['sortType'] = false;
$config->design->viewcommit->dtable->fieldList['id']['title'] = $lang->design->submission;
$config->design->viewcommit->dtable->fieldList['id']['format'] = 'RAWJS<function(val){return `#${val}`;}>RAWJS';
$config->design->viewcommit->dtable->fieldList['id']['link'] = helper::createLink('design', 'revision', 'repoID={id}');
$config->design->viewcommit->dtable->fieldList['id']['target'] = '_blank';
$config->design->viewcommit->dtable->fieldList['id']['sortType'] = false;
$config->design->viewcommit->dtable->fieldList['committer']['title'] = $lang->design->commitBy;
$config->design->viewcommit->dtable->fieldList['committer']['type'] = 'user';
$config->design->viewcommit->dtable->fieldList['committer']['sortType'] = false;
$config->design->viewcommit->dtable->fieldList['time']['title'] = $lang->design->commitDate;
$config->design->viewcommit->dtable->fieldList['time']['type'] = 'date';
$config->design->viewcommit->dtable->fieldList['time']['sortType'] = false;
$config->design->viewcommit->dtable->fieldList['comment']['title'] = $lang->design->comment;
$config->design->viewcommit->dtable->fieldList['comment']['type'] = 'html';
$config->design->viewcommit->dtable->fieldList['comment']['sortType'] = false;
$config->design->viewcommit->dtable->fieldList['actions']['type'] = 'actions';
$config->design->viewcommit->dtable->fieldList['actions']['menu'] = array('unlinkCommit');
$config->design->viewcommit->dtable->fieldList['actions']['list'] = $config->design->viewcommit->actionList;
+5 -13
View File
@@ -358,22 +358,14 @@ class design extends control
*
* @param int $designID
* @param int $commitID
* @param string $confirm
* @access public
* @return void
*/
public function unlinkCommit($designID = 0, $commitID = 0, $confirm = 'no')
public function unlinkCommit($designID = 0, $commitID = 0)
{
if($confirm == 'no')
{
return print(js::confirm($this->lang->design->confirmUnlink, inlink('unlinkCommit', "designID=$designID&commitID=$commitID&confirm=yes")));
}
else
{
$this->design->unlinkCommit($designID, $commitID);
$this->design->unlinkCommit($designID, $commitID);
return print(js::reload('parent'));
}
return $this->sendSuccess(array('load' => true));
}
/**
@@ -396,9 +388,9 @@ class design extends control
$pager = pager::init(0, $recPerPage, $pageID);
$design = $this->design->getCommit($designID, $pager);
$this->config->design->viewcommit->dtable->fieldList['actions']['list']['unlinkCommit']['url'] = sprintf($this->config->design->viewcommit->actionList['unlinkCommit']['url'], $designID);
$this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->submission;
$this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->submission;
$this->view->design = $design;
$this->view->pager = $pager;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
View File
-7
View File
@@ -79,19 +79,12 @@ else
)
);
$footToolbar['items'][] = array(
'text' => $lang->save,
'class' => 'btn batch-btn secondary size-sm',
'data-url' => inlink('linkCommit', "designID={$designID}&repoID={$repoID}&begin={$begin}&end={$end}"),
);
dtable
(
set::className('mt-2'),
set::userMap($users),
set::cols($config->design->linkcommit->dtable->fieldList),
set::data($revisions),
set::footToolbar($footToolbar),
set::checkInfo(jsRaw('function(checkedIDList){return \'\';}')),
set::footPager(
usePager(),
set::recPerPage($pager->recPerPage),
+31 -8
View File
@@ -10,6 +10,16 @@ declare(strict_types=1);
*/
namespace zin;
$canLinkCommit = hasPriv('design', 'create');
$linkBtnClass = empty($design->commit) ? 'ml-4' : 'mb-4';
$linkCommitItem = $canLinkCommit ? btn(
setClass("linkCommitBtn {$linkBtnClass}"),
set::icon('plus'),
set::text($lang->design->linkCommit),
set::type('primary'),
set('data-url', createLink('design', 'linkCommit', "designID=$design->id")),
) : null;
if(empty($design->commit))
{
div
@@ -20,18 +30,31 @@ if(empty($design->commit))
setClass('text-gray'),
$lang->design->noCommit,
),
common::hasPriv('design', 'linkCommit') ? btn
(
setClass('ml-4 linkCommitBtn'),
set::icon('plus'),
set::text($lang->design->linkCommit),
set::type('primary'),
set('data-url', createLink('design', 'linkCommit', "designID=$design->id")),
) : '',
$linkCommitItem
);
}
else
{
div
(
setClass('flex justify-end'),
$linkCommitItem
);
$tableData = initTableData($design->commit, $config->design->viewcommit->dtable->fieldList);
dtable
(
set::userMap($users),
set::cols($config->design->viewcommit->dtable->fieldList),
set::data($tableData),
set::footPager(
usePager(),
set::recPerPage($pager->recPerPage),
set::recTotal($pager->recTotal),
set::linkCreator(helper::createLink('design', 'viewCommit', "designID={$designID}&recTotal={recTotal}&recPerPage={recPerPage}&pageID={pageID}", '', true)),
),
);
}
/* ====== Render page ====== */
render('modalDialog');