add schedules timezone link warning to UI

This commit is contained in:
Keith J. Grant
2022-05-31 15:02:14 -07:00
committed by John Westcott IV
parent b05ebe9623
commit 0b63af8d4d

View File

@@ -100,15 +100,24 @@ function ScheduleFormFields({ hasDaysToKeepField, zoneOptions, zoneLinks }) {
}); });
const [{ name: dateFieldName }] = useField('startDate'); const [{ name: dateFieldName }] = useField('startDate');
const [{ name: timeFieldName }] = useField('startTime'); const [{ name: timeFieldName }] = useField('startTime');
const warnLinkedTZ = (event, selected_value) => { const [timezoneMessage, setTimezoneMessage] = useState('');
console.log(selected_value) const warnLinkedTZ = (event, selectedValue) => {
console.log(event) if (zoneLinks[selectedValue]) {
if(selected_value in zoneLinks) { setTimezoneMessage(
console.log("Warning: "+ selected_value +" is a link to "+ zoneLinks[selected_value] +" and will be saved as that.") `Warning: ${selectedValue} is a link to ${zoneLinks[selectedValue]} and will be saved as that.`
);
} else {
setTimezoneMessage('');
} }
timezone.onChange(); timezone.onChange(event, selectedValue);
}; };
let timezoneValidatedStatus = 'default';
if (timezoneMeta.touched && timezoneMeta.error) {
timezoneValidatedStatus = 'error';
} else if (timezoneMessage) {
timezoneValidatedStatus = 'warning';
}
return ( return (
<> <>
<FormField <FormField
@@ -133,18 +142,17 @@ function ScheduleFormFields({ hasDaysToKeepField, zoneOptions, zoneLinks }) {
<FormGroup <FormGroup
name="timezone" name="timezone"
fieldId="schedule-timezone" fieldId="schedule-timezone"
helperTextInvalid={timezoneMeta.error} helperTextInvalid={timezoneMeta.error || timezoneMessage}
isRequired isRequired
validated={ validated={timezoneValidatedStatus}
!timezoneMeta.touched || !timezoneMeta.error ? 'default' : 'error'
}
label={t`Local time zone`} label={t`Local time zone`}
helperText={timezoneMessage}
> >
<AnsibleSelect <AnsibleSelect
id="schedule-timezone" id="schedule-timezone"
data={zoneOptions} data={zoneOptions}
{...timezone} {...timezone}
onChange={warnLinkedTZ} onChange={warnLinkedTZ}
/> />
</FormGroup> </FormGroup>
<FormGroup <FormGroup
@@ -243,7 +251,7 @@ function ScheduleForm({
return { return {
zoneOptions: zones, zoneOptions: zones,
zoneLinks: data.zones.links, zoneLinks: data.links,
credentials: creds || [], credentials: creds || [],
}; };
}, [schedule]), }, [schedule]),
@@ -642,6 +650,7 @@ function ScheduleForm({
<ScheduleFormFields <ScheduleFormFields
hasDaysToKeepField={hasDaysToKeepField} hasDaysToKeepField={hasDaysToKeepField}
zoneOptions={zoneOptions} zoneOptions={zoneOptions}
zoneLinks={zoneLinks}
/> />
{isWizardOpen && ( {isWizardOpen && (
<SchedulePromptableFields <SchedulePromptableFields