From d34510d3cab4e92f6237577fb74cbb3bd4196296 Mon Sep 17 00:00:00 2001 From: sunhao Date: Wed, 24 May 2023 17:50:48 +0800 Subject: [PATCH] * support to locate to batch edit page on click btn in dtable. --- module/bug/js/browse.ui.js | 27 +++++++++------------------ module/bug/ui/browse.html.php | 35 +++++++++++++++++++---------------- 2 files changed, 28 insertions(+), 34 deletions(-) diff --git a/module/bug/js/browse.ui.js b/module/bug/js/browse.ui.js index f501bf20f3..f50feb6378 100644 --- a/module/bug/js/browse.ui.js +++ b/module/bug/js/browse.ui.js @@ -1,20 +1,11 @@ -$(function() +window.batchEditBugs = function(event) { - var bugIdList = [1, 2]; + const dtable = zui.DTable.query(event.target); + const checkedList = dtable.$.getChecks(); + if(!checkedList.length) return; - $(document).on('click', '.batch-btn', function() - { - var tempform = document.createElement("form"); - tempform.action = $(this).data('url'); - tempform.method = "post"; - tempform.style.display = "none"; - - var opt = document.createElement("input"); - opt.name = 'bugIdList'; - opt.value = bugIdList; - - tempform.appendChild(opt); - document.body.appendChild(tempform); - tempform.submit(); - }); -}) + const form = new FormData(); + const url = $(event.target).closest('.btn').data('url'); + checkedList.forEach((id) => form.append('bugIdList[]', id)); + postAndLoadPage(url, form); +} diff --git a/module/bug/ui/browse.html.php b/module/bug/ui/browse.html.php index 5ef2c6b2bd..446721a07e 100644 --- a/module/bug/ui/browse.html.php +++ b/module/bug/ui/browse.html.php @@ -24,17 +24,17 @@ foreach($bugs as $bug) $bug->branch = zget($branchTagOption, $bug->branch); $bug->project = zget($projectPairs, $bug->project); $bug->execution = zget($executions, $bug->execution); - $bug->openedBy = zget($users, $bug->openedBy); - $bug->assignedTo = zget($users, $bug->assignedTo); - $bug->resolvedBy = zget($users, $bug->resolvedBy); - $bug->mailto = zget($users, $bug->mailto); - $bug->closedBy = zget($users, $bug->closedBy); - $bug->lastEditedBy = zget($users, $bug->lastEditedBy); - $bug->type = zget($lang->bug->typeList, $bug->type); - $bug->confirmed = zget($lang->bug->confirmedList, $bug->confirmed); - $bug->resolution = zget($lang->bug->resolutionList, $bug->resolution); - $bug->os = zget($lang->bug->osList, $bug->os); - $bug->browser = zget($lang->bug->browserList, $bug->browser); + $bug->openedBy = zget($users, $bug->openedBy); + $bug->assignedTo = zget($users, $bug->assignedTo); + $bug->resolvedBy = zget($users, $bug->resolvedBy); + $bug->mailto = zget($users, $bug->mailto); + $bug->closedBy = zget($users, $bug->closedBy); + $bug->lastEditedBy = zget($users, $bug->lastEditedBy); + $bug->type = zget($lang->bug->typeList, $bug->type); + $bug->confirmed = zget($lang->bug->confirmedList, $bug->confirmed); + $bug->resolution = zget($lang->bug->resolutionList, $bug->resolution); + $bug->os = zget($lang->bug->osList, $bug->os); + $bug->browser = zget($lang->bug->browserList, $bug->browser); $actions = array(); foreach($this->config->bug->dtable->fieldList['actions']['actionsMap'] as $actionCode => $actionMap) @@ -122,11 +122,14 @@ sidebar $footToolbar = array('items' => array ( - array('size' => 'sm', 'text' => $lang->edit, 'btnType' => 'primary', 'className' => 'batch-btn', 'data-url' => helper::createLink('bug', 'batchEdit', "productID=$productID&branch=$branch")), - array('size' => 'sm', 'icon' => 'caret-up', 'btnType' => 'primary', 'url' => '#navActions', 'data-toggle' => 'dropdown', 'data-placement' => 'top-start'), - array('size' => 'sm', 'icon' => 'caret-up', 'text' => $lang->product->branchName[$this->session->currentProductType], 'className' => $this->session->currentProductType == 'normal' ? 'hidden' : '' ,'btnType' => 'primary', 'url' => '#navBranch', 'data-toggle' => 'dropdown', 'data-placement' => 'top-start'), - array('size' => 'sm', 'icon' => 'caret-up', 'text' => $lang->bug->moduleAB, 'btnType' => 'primary', 'url' => '#navModule', 'data-toggle' => 'dropdown', 'data-placement' => 'top-start'), - array('size' => 'sm', 'icon' => 'caret-down', 'text' => $lang->bug->assignedTo, 'btnType' => 'primary', 'url' => '#navAssignedTo','data-toggle' => 'dropdown'), + array('type' => 'btn-group', 'items' => array + ( + array('text' => $lang->edit, 'onClick' => jsRaw('window.batchEditBugs'), 'data-url' => createLink('bug', 'batchEdit', "productID={$product->id}&branch=$branch")), + array('caret' => 'up', 'btnType' => 'primary', 'url' => '#navActions', 'data-toggle' => 'dropdown', 'data-placement' => 'top-start'), + )), + array('caret' => 'up', 'text' => $lang->product->branchName[$this->session->currentProductType], 'className' => $this->session->currentProductType == 'normal' ? 'hidden' : '' ,'btnType' => 'primary', 'url' => '#navBranch', 'data-toggle' => 'dropdown', 'data-placement' => 'top-start'), + array('caret' => 'up', 'text' => $lang->bug->moduleAB, 'btnType' => 'primary', 'url' => '#navModule', 'data-toggle' => 'dropdown', 'data-placement' => 'top-start'), + array('caret' => 'up', 'text' => $lang->bug->assignedTo, 'btnType' => 'primary', 'url' => '#navAssignedTo','data-toggle' => 'dropdown'), )); $resolveItems = array();