From 1bc4e2ee7890b865283ceaf9c673703e641c8132 Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 24 Jul 2024 17:49:10 +0800 Subject: [PATCH] * [task#124025] Add repo drop down menu. --- module/repo/control.php | 8 +++---- module/repo/model.php | 15 +++++++----- module/repo/ui/browsebranch.html.php | 36 +++++++++++++++------------- 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/module/repo/control.php b/module/repo/control.php index 67e80f01d5..227570ce60 100644 --- a/module/repo/control.php +++ b/module/repo/control.php @@ -1863,7 +1863,7 @@ class repo extends control * @access public * @return void */ - public function browseBranch(int $repoID, int $objectID = 0, string $orderBy = 'date_desc', int $recTotal = 0, int $recPerPage = 20, int $pageID = 1) + public function browseBranch(int $repoID, int $objectID = 0, string $orderBy = 'date_desc', int $recPerPage = 20, int $pageID = 1) { $repoID = $this->repoZen->processRepoID($repoID, $objectID); $this->commonAction($repoID, $objectID); @@ -1898,9 +1898,9 @@ class repo extends control /* Pager. */ $this->app->loadClass('pager', true); - $branchTotal = count($branchList); - $pager = new pager($branchTotal, $recPerPage, $pageID); - $branchList = array_chunk($branchList, (int)$pager->recPerPage); + $branchTotal = count($branchList); + $pager = new pager($branchTotal, $recPerPage, $pageID); + $branchList = array_chunk($branchList, (int)$pager->recPerPage); $this->view->title = $this->lang->repo->browseBranch; $this->view->repoID = $repoID; diff --git a/module/repo/model.php b/module/repo/model.php index 0f9206c3ec..4c5ceaf7fb 100644 --- a/module/repo/model.php +++ b/module/repo/model.php @@ -3022,9 +3022,10 @@ class repoModel extends model $menuGroup = $this->app->tab == 'project' ? array('project', 'waterfall') : array('execution'); $repoPairs = $this->loadModel('repo')->getRepoPairs($this->app->tab, $objectID); - $showMR = false; - $showTag = false; - $hasTagSCM = array_map('strtolower', $this->config->repo->notSyncSCM); + $showMR = false; + $showTag = false; + $showBranch = false; + $hasTagSCM = array_map('strtolower', $this->config->repo->notSyncSCM); foreach($repoPairs as $repoName) { preg_match('/^\[(\w+)\]/', $repoName, $matches); @@ -3034,13 +3035,15 @@ class repoModel extends model if(in_array($result, $this->config->repo->gitServiceList)) $showMR = true; } - $showMR = $showMR && common::hasPriv('mr', 'browse'); - $showTag = $showTag && common::hasPriv('repo', 'browsetag'); - $showReview = $repoPairs && common::hasPriv('repo', 'review'); + $showMR = $showMR && common::hasPriv('mr', 'browse'); + $showTag = $showTag && common::hasPriv('repo', 'browsetag'); + $showBranch = $showBranch && common::hasPriv('repo', 'browsebranch'); + $showReview = $repoPairs && common::hasPriv('repo', 'review'); foreach($menuGroup as $module) { if(!$showMR) unset($this->lang->{$module}->menu->devops['subMenu']->mr); if(!$showTag) unset($this->lang->{$module}->menu->devops['subMenu']->tag); + if(!$showBranch) unset($this->lang->{$module}->menu->devops['subMenu']->branch); if(!$showReview) unset($this->lang->{$module}->menu->devops['subMenu']->review); if(count((array)$this->lang->{$module}->menu->devops['subMenu']) < 2) unset($this->lang->{$module}->menu->devops['subMenu']); } diff --git a/module/repo/ui/browsebranch.html.php b/module/repo/ui/browsebranch.html.php index 656a825e7e..28909c4e79 100644 --- a/module/repo/ui/browsebranch.html.php +++ b/module/repo/ui/browsebranch.html.php @@ -20,24 +20,28 @@ dropmenu featureBar ( - form + (in_array($app->tab, array('project', 'execution')) && count($repoPairs) > 1) ? dropmenu ( - setID('searchForm'), + set::id('repoDropmenu'), + set::text($repo->name), + set::objectID($repo->id), + set::url(createLink('repo', 'ajaxGetDropMenu', "repoID={$repo->id}&module=repo&method=browsebranch&projectID={$objectID}")) + ) : null, + div + ( + setID('flex'), set::actions(array()), - formRow + input ( - input - ( - set::placeholder($lang->searchAB), - set::name('keyword'), - set::value($keyword) - ), - btn - ( - setClass('primary ml-2'), - $lang->searchAB, - on::click('searchList') - ) + set::placeholder($lang->searchAB), + set::name('keyword'), + set::value($keyword) + ), + btn + ( + setClass('primary ml-2'), + $lang->searchAB, + on::click('searchList') ) ) ); @@ -47,7 +51,7 @@ dtable ( set::cols($config->repo->dtable->branch->fieldList), set::data($branchList), - set::sortLink(createLink('repo', 'browsebranch', "repoID={$repo->id}&objectID={$objectID}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")), + set::sortLink(createLink('repo', 'browsebranch', "repoID={$repo->id}&objectID={$objectID}&orderBy={name}_{sortType}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")), set::orderBy($orderBy), set::footPager(usePager()) );