diff --git a/module/testcase/ui/browsescene.html.php b/module/testcase/ui/browsescene.html.php new file mode 100644 index 0000000000..a382404b92 --- /dev/null +++ b/module/testcase/ui/browsescene.html.php @@ -0,0 +1,80 @@ + + * @package testcase + * @link https://www.zentao.net + */ +namespace zin; + +jsVar('modules', $modulePairs); + +include 'header.html.php'; + +$footToolbar = null; +$canBatchChangeModule = common::canModify('product', $product) && hasPriv('testcase', 'batchChangeModule') && !empty($productID) && ((isset($product->type) && $product->type == 'normal') || $branch !== 'all'); +if($canBatchChangeModule) +{ + $moduleItems = array(); + foreach($modules as $changeModuleID => $module) $moduleItems[] = array('text' => $module, 'innerClass' => 'batch-btn ajax-btn not-open-url', 'data-url' => helper::createLink('testcase', 'batchChangeModule', "moduleID={$changeModuleID}")); + $footToolbar = array('items' => array + ( + array('caret' => 'up', 'text' => $lang->testcase->moduleAB, 'type' => 'dropdown', 'items' => $moduleItems, 'data-placement' => 'top-start', 'data-menu' => array('searchBox' => true)) + ), 'btnProps' => array('size' => 'sm', 'btnType' => 'secondary')); +} + +$subSceneCount = count(array_filter(array_map(function($scene){return $scene->grade > 1;}, $scenes))); + +$cols = $this->config->scene->dtable->fieldList; +$cols['title']['nestedToggle'] = $subSceneCount > 0; + +initTableData($scenes, $cols, $this->testcase); + +div +( + dtable + ( + set::id('scenes'), + set::plugins(array('sortable')), + set::nested(true), + set::sortable(true), + set::onSortEnd(jsRaw('window.onSortEnd')), + set::canSortTo(jsRaw('window.canSortTo')), + set::onRenderCell(jsRaw('window.onRenderCell')), + set::sortLink(inlink('browseScene', "productID=$product->id&branch=$branch&moduleID=$moduleID&orderBy={name}_{sortType}")), + set::checkable($canBatchChangeModule), + set::cols($cols), + set::data(array_values($scenes)), + set::userMap($users), + set::orderBy($orderBy), + set::footPager(usePager()), + set::footToolbar($footToolbar), + set::emptyTip($lang->testcase->noScene), + set::createTip($lang->testcase->createScene), + set::createLink($canCreateScene ? $createSceneLink : ''), + set::customData(array('modules' => $modulePairs)) + ) +); + +modal +( + setID('dragModal'), + set::title($lang->testcase->dragModalTitle), + set::size('sm'), + divider(), + div(setClass('my-4'), $lang->testcase->dragModalDesc), + div($lang->testcase->dragModalOrder), + div($lang->testcase->dragModalScene), + div(setClass('my-4'), $lang->testcase->dragModalAction), + divider(), + div + ( + setClass('mt-4 pull-right'), + btn(setClass('primary mr-2'), $lang->testcase->dragModalChangeScene, set('data-on', 'click'), set('data-call', 'clickChangeScenen')), + btn(setClass('primary mr-2'), $lang->testcase->dragModalChangeOrder, set('data-on', 'click'), set('data-call', 'clickChangeOrder')), + btn($lang->close, set('data-dismiss', 'modal')) + ) +); \ No newline at end of file