Skip to content

Commit b838e9b

Browse files
committed
feat: fix date-time bugs in wizard step 1:
1 parent d8f98c7 commit b838e9b

File tree

2 files changed

+32
-7
lines changed

2 files changed

+32
-7
lines changed

app/components/forms/wizard/basic-details-step.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,11 @@ export default Component.extend(FormMixin, EventWizardMixin, {
121121
},
122122

123123
getValidationRules() {
124+
window.$.fn.form.settings.rules.checkDates = () => {
125+
let startDatetime = moment(this.get('data.event.startsAt'));
126+
let endDatetime = moment(this.get('data.event.endsAt'));
127+
return (endDatetime.diff(startDatetime, 'minutes') > 0);
128+
};
124129
let validationRules = {
125130
inline : true,
126131
delay : false,
@@ -154,6 +159,10 @@ export default Component.extend(FormMixin, EventWizardMixin, {
154159
{
155160
type : 'date',
156161
prompt : this.l10n.t('Please give a valid start date')
162+
},
163+
{
164+
type : 'checkDates',
165+
prompt : this.l10n.t('Start date & time should be after End date and time')
157166
}
158167
]
159168
},
@@ -167,6 +176,10 @@ export default Component.extend(FormMixin, EventWizardMixin, {
167176
{
168177
type : 'date',
169178
prompt : this.l10n.t('Please give a valid end date')
179+
},
180+
{
181+
type : 'checkDates',
182+
prompt : this.l10n.t('Start date & time should be after End date and time')
170183
}
171184
]
172185
},
@@ -177,6 +190,10 @@ export default Component.extend(FormMixin, EventWizardMixin, {
177190
{
178191
type : 'empty',
179192
prompt : this.l10n.t('Please give a start time')
193+
},
194+
{
195+
type : 'checkDates',
196+
prompt : '..'
180197
}
181198
]
182199
},
@@ -187,6 +204,10 @@ export default Component.extend(FormMixin, EventWizardMixin, {
187204
{
188205
type : 'empty',
189206
prompt : this.l10n.t('Please give an end time')
207+
},
208+
{
209+
type : 'checkDates',
210+
prompt : '..'
190211
}
191212
]
192213
},
@@ -469,6 +490,9 @@ export default Component.extend(FormMixin, EventWizardMixin, {
469490
logoUrl : license.logoUrl,
470491
licenceUrl : license.link
471492
});
493+
},
494+
onChange() {
495+
this.onValid(() => {});
472496
}
473497
}
474498
});

app/templates/components/forms/wizard/basic-details-step.hbs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,34 +25,35 @@
2525
<div class="five wide field">
2626
<label class="required" for="start_date">{{t 'Starts'}}</label>
2727
{{widgets/forms/date-picker type='text'
28-
inputId='start_date'
28+
name='start_date'
2929
placeholder='MM/DD/YYYY'
3030
rangePosition='start'
3131
value=data.event.startsAtDate
32-
onChange=(action 'updateSalesEndDate')}}
32+
onChange=(pipe-action (action 'updateSalesEndDate') (action 'onChange'))}}
3333
</div>
3434
<div class="three wide field">
3535
<label for="start_time">&nbsp;</label>
3636
{{widgets/forms/time-picker type='text'
37-
inputId='start_time'
37+
name='start_time'
3838
placeholder='HH:MM'
39-
rangePosition='start'
39+
onChange=(action 'onChange')
4040
value=data.event.startsAtTime}}
4141
</div>
4242
<div class="five wide field">
4343
<label class="required" for="end_date">{{t 'Ends'}}</label>
4444
{{widgets/forms/date-picker type='text'
45-
inputId='end_date'
45+
name='end_date'
4646
placeholder='MM/DD/YYYY'
4747
rangePosition='end'
48+
onChange=(action 'onChange')
4849
value=data.event.endsAtDate}}
4950
</div>
5051
<div class="three wide field">
5152
<label for="end_time">&nbsp;</label>
5253
{{widgets/forms/time-picker type='text'
53-
inputId='end_time'
54+
name='end_time'
5455
placeholder='HH:MM'
55-
rangePosition='end'
56+
onChange=(action 'onChange')
5657
value=data.event.endsAtTime}}
5758
</div>
5859
<div class="five wide field">

0 commit comments

Comments
 (0)