diff --git a/module/story/ui/affected.html.php b/module/story/ui/affected.html.php index 4ee8e78ee0..5c5b171edc 100644 --- a/module/story/ui/affected.html.php +++ b/module/story/ui/affected.html.php @@ -29,58 +29,67 @@ $getAffectedTabs = function($story, $users) ); } - return formGroup + $tabs = tabs + ( + setClass('w-full'), + tabPane + ( + to::suffix(label($affectedTaskCount)), + set::key('affectedProjects'), + set::title($lang->story->affectedProjects), + set::active(true), + empty($affectedProjects) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : $affectedProjects + ), + tabPane + ( + to::suffix(label(count($story->bugs))), + set::key('affectedBugs'), + set::title($lang->story->affectedBugs), + empty($story->bugs) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : dtable + ( + set::cols($config->story->affect->bugs->fields), + set::data(array_values($story->bugs)), + set::style(array('min-width' => '100%')) + ) + ), + tabPane + ( + to::suffix(label(count($story->cases))), + set::key('affectedCases'), + set::title($lang->story->affectedCases), + empty($story->cases) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : dtable + ( + set::cols($config->story->affect->cases->fields), + set::data(array_values($story->cases)), + set::style(array('min-width' => '100%')) + ) + ), + empty($story->twins) ? null : tabPane + ( + to::suffix(label(count($story->twins))), + set::key('affectedTwins'), + set::title($lang->story->affectedTwins), + empty($story->twins) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : dtable + ( + set::cols($config->story->affect->twins->fields), + set::data(array_values($story->twins)), + set::style(array('min-width' => '100%')) + ) + ) + ); + + global $app; + return $app->rawMethod == 'change' ? section + ( + set::width('full'), + set::title($lang->story->checkAffection), + set::required(false), + $tabs + ) : formGroup ( setClass('w-full'), set::label($lang->story->checkAffection), set::required(false), - tabs - ( - setClass('w-full'), - tabPane - ( - to::suffix(label($affectedTaskCount)), - set::key('affectedProjects'), - set::title($lang->story->affectedProjects), - set::active(true), - empty($affectedProjects) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : $affectedProjects - ), - tabPane - ( - to::suffix(label(count($story->bugs))), - set::key('affectedBugs'), - set::title($lang->story->affectedBugs), - empty($story->bugs) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : dtable - ( - set::cols($config->story->affect->bugs->fields), - set::data(array_values($story->bugs)), - set::style(array('min-width' => '100%')) - ) - ), - tabPane - ( - to::suffix(label(count($story->cases))), - set::key('affectedCases'), - set::title($lang->story->affectedCases), - empty($story->cases) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : dtable - ( - set::cols($config->story->affect->cases->fields), - set::data(array_values($story->cases)), - set::style(array('min-width' => '100%')) - ) - ), - empty($story->twins) ? null : tabPane - ( - to::suffix(label(count($story->twins))), - set::key('affectedTwins'), - set::title($lang->story->affectedTwins), - empty($story->twins) ? div(setClass('dtable-empty-tip'), div(setClass('text-gray'), $lang->noData)) : dtable - ( - set::cols($config->story->affect->twins->fields), - set::data(array_values($story->twins)), - set::style(array('min-width' => '100%')) - ) - ) - ) + $tabs ); }; diff --git a/module/story/ui/change.html.php b/module/story/ui/change.html.php index 6f5c564d5d..c08db7e959 100644 --- a/module/story/ui/change.html.php +++ b/module/story/ui/change.html.php @@ -24,25 +24,11 @@ jsVar('storyType', $story->type); jsVar('rawModule', $this->app->rawModule); jsVar('page', $this->app->rawMethod); -$formTitle = div -( - setClass('flex items-center pb-3'), - div($lang->story->changed), - entityLabel - ( - set::level(1), - setClass('pl-2'), - set::entityID($story->id), - set::reverse(true), - span(setID('storyTitle'), $story->title) - ) -); - $formItems = array(); -$formItems['reviewer'] = formGroup +$formItems['reviewer'] = section ( set::width('full'), - set::label($fields['reviewer']['title']), + set::title($fields['reviewer']['title']), inputGroup ( picker @@ -69,10 +55,10 @@ $formItems['reviewer'] = formGroup ), set::required(true) ); -$formItems['title'] = formGroup +$formItems['title'] = section ( set::width('full'), - set::label($fields['title']['title']), + set::title($fields['title']['title']), inputGroup ( inputControl @@ -108,7 +94,7 @@ $formItems['title'] = formGroup ), set::required($fields['title']['required']) ); -$formItems['hidden'] = formRow +$formItems['hidden'] = section ( set::hidden(true), formGroup @@ -117,10 +103,10 @@ $formItems['hidden'] = formRow input(set::type('hidden'), set::name('lastEditedDate'), set::value($story->lastEditedDate)) ) ); -$formItems['spec'] = formGroup +$formItems['spec'] = section ( set::width('full'), - set::label($fields['spec']['title']), + set::title($fields['spec']['title']), set::required(strpos(",{$this->config->story->change->requiredFields},", ",spec,") !== false), set::tip($lang->story->specTemplate), editor @@ -140,10 +126,10 @@ foreach($fields as $field => $attr) if($attr['control'] == 'editor') { - $formItems[$field] = formGroup + $formItems[$field] = section ( set::width('full'), - set::label($attr['title']), + set::title($attr['title']), set::required($attr['required']), editor ( @@ -154,11 +140,11 @@ foreach($fields as $field => $attr) } else { - $formItems[$field] = formGroup + $formItems[$field] = section ( set::width('full'), set::name($fieldName), - set::label($attr['title']), + set::title($attr['title']), set::control($control), set::value($attr['default']), set::required($attr['required']) @@ -166,10 +152,10 @@ foreach($fields as $field => $attr) } } -$formItems['file'] = formGroup +$formItems['file'] = section ( set::width('full'), - set::label($lang->attach), + set::title($lang->attach), $story->files ? fileList ( set::files($story->files), @@ -180,9 +166,26 @@ $formItems['file'] = formGroup ); if($this->config->vision != 'or') $formItems['affected'] = $getAffectedTabs($story, $users); -formPanel +detailHeader +( + to::prefix($lang->story->changed), + to::title + ( + entityLabel + ( + set::level(1), + set::entityID($story->id), + set::reverse(true), + span(setID('storyTitle'), $story->title) + ) + ) +); + + +detailBody ( setID('dataform'), + set::isForm(true), set::ajax(array('beforeSubmit' => jsRaw('clickSubmit'))), set::actions(array ( @@ -190,8 +193,7 @@ formPanel array('text' => $lang->story->doNotSubmit, 'data-status' => 'draft', 'class' => 'secondary', 'btnType' => 'submit'), array('text' => $lang->goback, 'data-back' => 'APP', 'class' => 'open-url') )), - $formTitle, - $formItems, + sectionList($formItems), h::hr(), history() );