* Add change and init event on longTime.
This commit is contained in:
@@ -23,6 +23,13 @@ $fields = useFields('program.create');
|
||||
$autoLoad = array();
|
||||
$autoLoad['parent'] = 'parent,future,budget,budgetUnit,acl,whitelist';
|
||||
|
||||
$handleLongTimeChange = jsCallback()->do(<<<'JS'
|
||||
const endPicker = $element.find('[name=end]').zui('datePicker');
|
||||
const longTime = $element.find('[name=longTime]').prop('checked');
|
||||
endPicker.render({disabled: longTime});
|
||||
if(longTime) endPicker.$.setValue('');
|
||||
JS);
|
||||
|
||||
formGridPanel
|
||||
(
|
||||
set::modeSwitcher(false),
|
||||
@@ -33,7 +40,7 @@ formGridPanel
|
||||
on::change('[name=budget]', 'budgetOverrunTips'),
|
||||
on::change('[name=future]', 'onFutureChange'),
|
||||
on::change('[name=acl]', 'onAclChange'),
|
||||
on::change('[name=longTime]')->do('$("[name=end]").zui("datePicker").render({disabled: $(target).prop("checked")});'),
|
||||
on::change('[name=longTime]', $handleLongTimeChange),
|
||||
on::change('[name=begin], [name=end]', 'onDateChange')
|
||||
);
|
||||
|
||||
|
||||
@@ -7,19 +7,9 @@ $fields = defineFieldList('program.edit', 'program');
|
||||
$isLongTime = data('program.end') && data('program.end') == LONG_TIME;
|
||||
$fields->field('dateRange')
|
||||
->checkbox(array('text' => $lang->project->longTime, 'name' => 'longTime', 'checked' => $isLongTime))
|
||||
->controlBegin('dateRangePicker')
|
||||
->beginName('begin')
|
||||
->beginPlaceholder($lang->project->begin)
|
||||
->beginValue(data('program.begin'))
|
||||
->endName('end')
|
||||
->endPlaceholder($lang->project->end)
|
||||
->endValue(data('program.end'))
|
||||
->endDisabled($isLongTime)
|
||||
->endList($lang->execution->endList)
|
||||
->controlEnd()
|
||||
->tip(' ')
|
||||
->tipProps(array('id' => 'dateTip'))
|
||||
->tipClass('text-warning hidden');
|
||||
->endDisabled($isLongTime);
|
||||
|
||||
$fields->field('acl')
|
||||
->items(data('program.parent') ? $lang->program->subAclList : $lang->program->aclList)
|
||||
|
||||
@@ -43,7 +43,7 @@ formGridPanel
|
||||
on::change('[name=acl]', 'onAclChange'),
|
||||
on::change('[name=longTime]', $handleLongTimeChange),
|
||||
on::change('[name=begin], [name=end]', 'onDateChange'),
|
||||
on::inited()->triggerEvent('$element.find("[name=longTime]")', 'change')
|
||||
on::init()->do('setTimeout(() => $element.find("[name=longTime]").trigger("change"), 500)')
|
||||
);
|
||||
|
||||
render();
|
||||
|
||||
Reference in New Issue
Block a user