|
|
@@ -124,12 +124,15 @@ type Props = {
|
|
|
}
|
|
|
@observer
|
|
|
class ScheduleItem extends React.Component<Props> {
|
|
|
- getFieldValue(
|
|
|
+ getFieldValue(opts: {
|
|
|
items: Field[],
|
|
|
fieldName: ScheduleFieldName,
|
|
|
zeroBasedIndex?: boolean,
|
|
|
defaultSelectedIndex?: number,
|
|
|
- ) {
|
|
|
+ }) {
|
|
|
+ const {
|
|
|
+ items, fieldName, zeroBasedIndex, defaultSelectedIndex,
|
|
|
+ } = opts
|
|
|
if (this.props.item.schedule == null) {
|
|
|
return defaultSelectedIndex !== undefined ? items[defaultSelectedIndex] : items[0]
|
|
|
}
|
|
|
@@ -219,7 +222,7 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
})
|
|
|
|
|
|
if (this.props.item.enabled || this.props.deleting) {
|
|
|
- return this.renderLabel(this.getFieldValue(items, 'month'))
|
|
|
+ return this.renderLabel(this.getFieldValue({ items, fieldName: 'month' }))
|
|
|
}
|
|
|
|
|
|
return (
|
|
|
@@ -228,7 +231,7 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
width={160}
|
|
|
items={items}
|
|
|
useBold={this.shouldUseBold('month')}
|
|
|
- selectedItem={this.getFieldValue(items, 'month')}
|
|
|
+ selectedItem={this.getFieldValue({ items, fieldName: 'month' })}
|
|
|
onChange={item => { this.handleMonthChange(item) }}
|
|
|
data-test-id="scheduleItem-monthDropdown"
|
|
|
/>
|
|
|
@@ -244,7 +247,7 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
}
|
|
|
|
|
|
if (this.props.item.enabled || this.props.deleting) {
|
|
|
- return this.renderLabel(this.getFieldValue(items, 'dom'))
|
|
|
+ return this.renderLabel(this.getFieldValue({ items, fieldName: 'dom' }))
|
|
|
}
|
|
|
|
|
|
return (
|
|
|
@@ -253,7 +256,7 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
width={86}
|
|
|
items={items}
|
|
|
useBold={this.shouldUseBold('dom')}
|
|
|
- selectedItem={this.getFieldValue(items, 'dom')}
|
|
|
+ selectedItem={this.getFieldValue({ items, fieldName: 'dom' })}
|
|
|
onChange={item => { this.props.onChange({ schedule: { dom: item.value } }) }}
|
|
|
data-test-id="scheduleItem-dayOfMonthDropdown"
|
|
|
/>
|
|
|
@@ -269,7 +272,7 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
})
|
|
|
|
|
|
if (this.props.item.enabled || this.props.deleting) {
|
|
|
- return this.renderLabel(this.getFieldValue(items, 'dow', true))
|
|
|
+ return this.renderLabel(this.getFieldValue({ items, fieldName: 'dow', zeroBasedIndex: true }))
|
|
|
}
|
|
|
|
|
|
return (
|
|
|
@@ -278,7 +281,7 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
width={160}
|
|
|
items={items}
|
|
|
useBold={this.shouldUseBold('dow')}
|
|
|
- selectedItem={this.getFieldValue(items, 'dow', true)}
|
|
|
+ selectedItem={this.getFieldValue({ items, fieldName: 'dow', zeroBasedIndex: true })}
|
|
|
onChange={item => { this.props.onChange({ schedule: { dow: item.value } }) }}
|
|
|
data-test-id="scheduleItem-dayOfWeekDropdown"
|
|
|
/>
|
|
|
@@ -292,7 +295,9 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
}
|
|
|
|
|
|
if (this.props.item.enabled || this.props.deleting) {
|
|
|
- return this.renderLabel(this.getFieldValue(items, 'hour', true, 1))
|
|
|
+ return this.renderLabel(this.getFieldValue({
|
|
|
+ items, fieldName: 'hour', zeroBasedIndex: true, defaultSelectedIndex: 1,
|
|
|
+ }))
|
|
|
}
|
|
|
|
|
|
return (
|
|
|
@@ -301,7 +306,9 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
width={86}
|
|
|
items={items}
|
|
|
useBold={this.shouldUseBold('hour')}
|
|
|
- selectedItem={this.getFieldValue(items, 'hour', true, 1)}
|
|
|
+ selectedItem={this.getFieldValue({
|
|
|
+ items, fieldName: 'hour', zeroBasedIndex: true, defaultSelectedIndex: 1,
|
|
|
+ })}
|
|
|
onChange={item => { this.handleHourChange(item.value) }}
|
|
|
data-test-id="scheduleItem-hourDropdown"
|
|
|
/>
|
|
|
@@ -315,7 +322,9 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
}
|
|
|
|
|
|
if (this.props.item.enabled || this.props.deleting) {
|
|
|
- return this.renderLabel(this.getFieldValue(items, 'minute', true, 1))
|
|
|
+ return this.renderLabel(this.getFieldValue({
|
|
|
+ items, fieldName: 'minute', zeroBasedIndex: true, defaultSelectedIndex: 1,
|
|
|
+ }))
|
|
|
}
|
|
|
|
|
|
return (
|
|
|
@@ -324,7 +333,9 @@ class ScheduleItem extends React.Component<Props> {
|
|
|
width={86}
|
|
|
items={items}
|
|
|
useBold={this.shouldUseBold('minute')}
|
|
|
- selectedItem={this.getFieldValue(items, 'minute', true, 1)}
|
|
|
+ selectedItem={this.getFieldValue({
|
|
|
+ items, fieldName: 'minute', zeroBasedIndex: true, defaultSelectedIndex: 1,
|
|
|
+ })}
|
|
|
onChange={item => { this.props.onChange({ schedule: { minute: item.value } }) }}
|
|
|
data-test-id="scheduleItem-minuteDropdown"
|
|
|
/>
|