Skip to content

Commit 97083a3

Browse files
committed
refactor(DatePicker, DateRangePicker): improve events handling
1 parent fef3287 commit 97083a3

File tree

2 files changed

+33
-11
lines changed

2 files changed

+33
-11
lines changed

js/src/date-picker.js

+23-3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ const TAB_KEY = 'Tab'
2323
const RIGHT_MOUSE_BUTTON = 2
2424

2525
const EVENT_DATE_CHANGE = `dateChange${EVENT_KEY}`
26+
const EVENT_HIDE = `hide${EVENT_KEY}`
27+
const EVENT_HIDDEN = `hidden${EVENT_KEY}`
28+
const EVENT_SHOW = `show${EVENT_KEY}`
29+
const EVENT_SHOWN = `shown${EVENT_KEY}`
2630
const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
2731
const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`
2832
const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`
@@ -68,9 +72,25 @@ class DatePicker extends DateRangePicker {
6872
super._addEventListeners()
6973

7074
EventHandler.on(this._element, 'startDateChange.coreui.date-range-picker', event => {
71-
EventHandler.trigger(this._element, EVENT_DATE_CHANGE, {
72-
date: event.date
73-
})
75+
EventHandler.trigger(this._element, EVENT_DATE_CHANGE, {
76+
date: event.date
77+
})
78+
})
79+
80+
EventHandler.on(this._element, 'show.coreui.date-range-picker', () => {
81+
EventHandler.trigger(this._element, EVENT_SHOW)
82+
})
83+
84+
EventHandler.on(this._element, 'shown.coreui.date-range-picker', () => {
85+
EventHandler.trigger(this._element, EVENT_SHOWN)
86+
})
87+
88+
EventHandler.on(this._element, 'hide.coreui.date-range-picker', () => {
89+
EventHandler.trigger(this._element, EVENT_HIDE)
90+
})
91+
92+
EventHandler.on(this._element, 'hidden.coreui.date-range-picker', () => {
93+
EventHandler.trigger(this._element, EVENT_HIDDEN)
7494
})
7595
}
7696

js/src/date-range-picker.js

+10-8
Original file line numberDiff line numberDiff line change
@@ -345,13 +345,13 @@ class DateRangePicker extends BaseComponent {
345345
const date = this._parseDate(event.target.value)
346346

347347
// valid date or empty date
348-
if ((date instanceof Date && !isNaN(date)) || (date === null)) {
348+
if ((date instanceof Date && !Number.isNaN(date)) || (date === null)) {
349349
this._startDate = date
350350
this._calendarDate = date
351351
this._calendar.update(this._getCalendarConfig())
352352

353353
EventHandler.trigger(this._element, EVENT_START_DATE_CHANGE, {
354-
date: date
354+
date
355355
})
356356
}
357357
})
@@ -387,13 +387,13 @@ class DateRangePicker extends BaseComponent {
387387
const date = this._parseDate(event.target.value)
388388

389389
// valid date or empty date
390-
if ((date instanceof Date && !isNaN(date)) || (date === null)) {
390+
if ((date instanceof Date && !Number.isNaN(date)) || (date === null)) {
391391
this._endDate = date
392392
this._calendarDate = date
393393
this._calendar.update(this._getCalendarConfig())
394394

395395
EventHandler.trigger(this._element, EVENT_END_DATE_CHANGE, {
396-
date: date
396+
date
397397
})
398398
}
399399
})
@@ -845,17 +845,19 @@ class DateRangePicker extends BaseComponent {
845845
}
846846

847847
_parseDate(str) {
848-
if (!str)
849-
return null;
848+
if (!str) {
849+
return null
850+
}
850851

851852
return this._config.inputDateParse ?
852853
this._config.inputDateParse(str) :
853854
getLocalDateFromString(str, this._config.locale, this._config.timepicker)
854855
}
855856

856857
_formatDate(date) {
857-
if (!date)
858-
return '';
858+
if (!date) {
859+
return ''
860+
}
859861

860862
if (this._config.inputDateFormat) {
861863
return this._config.inputDateFormat(

0 commit comments

Comments
 (0)