Skip to content

Commit e10180f

Browse files
committed
4.3.2
1 parent a5a00a6 commit e10180f

4 files changed

Lines changed: 55 additions & 38 deletions

File tree

dist/tui-date-picker.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*!
22
* TOAST UI Date Picker
3-
* @version 4.3.1
4-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
3+
* @version 4.3.2
4+
* @author NHN Cloud. FE Development Lab <dl_javascript@nhn.com>
55
* @license MIT
66
*/
77
@charset "utf-8";

dist/tui-date-picker.js

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*!
22
* TOAST UI Date Picker
3-
* @version 4.3.1
4-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
3+
* @version 4.3.2
4+
* @author NHN Cloud. FE Development Lab <dl_javascript@nhn.com>
55
* @license MIT
66
*/
77
(function webpackUniversalModuleDefinition(root, factory) {
@@ -195,7 +195,6 @@ module.exports = defineClass;
195195
"use strict";
196196
/**
197197
* @fileoverview Constants of date-picker
198-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
199198
*/
200199

201200

@@ -352,7 +351,6 @@ module.exports = inArray;
352351
"use strict";
353352
/**
354353
* @fileoverview Utils for Datepicker component
355-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
356354
*/
357355

358356

@@ -445,7 +443,6 @@ module.exports = utils;
445443
"use strict";
446444
/**
447445
* @fileoverview Utils for DatePicker component
448-
* @author NHN. FE dev Lab. <dl_javascript@nhn.com>
449446
*/
450447

451448

@@ -1432,7 +1429,6 @@ module.exports = forEach;
14321429
"use strict";
14331430
/**
14341431
* @fileoverview Default locale texts
1435-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
14361432
*/
14371433

14381434

@@ -2125,7 +2121,6 @@ module.exports = removeClass;
21252121
"use strict";
21262122
/**
21272123
* @fileoverview Set mouse-touch event
2128-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
21292124
*/
21302125

21312126

@@ -2195,7 +2190,6 @@ module.exports = mouseTouchEvent;
21952190
"use strict";
21962191
/**
21972192
* @fileoverview Layer base
2198-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
21992193
*/
22002194

22012195

@@ -2319,7 +2313,6 @@ module.exports = LayerBase;
23192313
"use strict";
23202314
/**
23212315
* @fileoverview DatePicker component
2322-
* @author NHN. FE dev Lab <dl_javascript@nhn.com>
23232316
*/
23242317

23252318

@@ -3064,8 +3057,13 @@ var DatePicker = defineClass(
30643057
* @private
30653058
*/
30663059
_setDisplayHeadButtons: function() {
3067-
var nextYearDate = this._calendar.getNextYearDate();
3068-
var prevYearDate = this._calendar.getPrevYearDate();
3060+
var customStep = 60; // 60 months = 5 years = 12 * 5
3061+
var nextYearDate = this._calendar.getNextYearDate(
3062+
this.getCalendarType() === TYPE_YEAR ? customStep : null
3063+
);
3064+
var prevYearDate = this._calendar.getPrevYearDate(
3065+
this.getCalendarType() === TYPE_YEAR ? -customStep : null
3066+
);
30693067
var maxTimestamp = this._rangeModel.getMaximumValue();
30703068
var minTimestamp = this._rangeModel.getMinimumValue();
30713069
var nextYearBtn = this._element.querySelector('.' + CLASS_NAME_NEXT_YEAR_BTN);
@@ -3448,11 +3446,12 @@ var DatePicker = defineClass(
34483446
/**
34493447
* Select the date.
34503448
* @param {Date|number} date - Date instance or timestamp to set
3449+
* @param {boolean} [silent] - Prevents firing 'change' event if it is true.
34513450
* @example
34523451
* datepicker.setDate(new Date()); // Set today
34533452
*/
34543453
// eslint-disable-next-line complexity
3455-
setDate: function(date) {
3454+
setDate: function(date, silent) {
34563455
var isValidInput, newDate, shouldUpdate;
34573456

34583457
if (date === null) {
@@ -3470,7 +3469,7 @@ var DatePicker = defineClass(
34703469
this._date = newDate;
34713470
this._calendar.draw({ date: newDate });
34723471
if (this._timePicker) {
3473-
this._timePicker.setTime(newDate.getHours(), newDate.getMinutes());
3472+
this._timePicker.setTime(newDate.getHours(), newDate.getMinutes(), true);
34743473
}
34753474
this._syncToInput();
34763475

@@ -3489,7 +3488,9 @@ var DatePicker = defineClass(
34893488
* // unbind the 'change' event
34903489
* datepicker.off('change');
34913490
*/
3492-
this.fire('change');
3491+
if (!silent) {
3492+
this.fire('change');
3493+
}
34933494
}
34943495
},
34953496

@@ -4007,7 +4008,6 @@ module.exports = isDate;
40074008
"use strict";
40084009
/**
40094010
* @fileoverview Calendar component
4010-
* @author NHN. FE dev Lab <dl_javascript@nhn.com>
40114011
*/
40124012

40134013

@@ -4418,9 +4418,14 @@ var Calendar = defineClass(
44184418

44194419
/**
44204420
* Return the date a year later.
4421+
* @param {number} [customStep] - custom step for getting relative date
44214422
* @returns {Date}
44224423
*/
4423-
getNextYearDate: function() {
4424+
getNextYearDate: function(customStep) {
4425+
if (customStep) {
4426+
return this._getRelativeDate(customStep);
4427+
}
4428+
44244429
switch (this.getType()) {
44254430
case TYPE_DATE:
44264431
case TYPE_MONTH:
@@ -4434,9 +4439,14 @@ var Calendar = defineClass(
44344439

44354440
/**
44364441
* Return the date a year previously.
4442+
* @param {number} [customStep] - custom step for getting relative date
44374443
* @returns {Date}
44384444
*/
4439-
getPrevYearDate: function() {
4445+
getPrevYearDate: function(customStep) {
4446+
if (customStep) {
4447+
return this._getRelativeDate(customStep);
4448+
}
4449+
44404450
switch (this.getType()) {
44414451
case TYPE_DATE:
44424452
case TYPE_MONTH:
@@ -4523,7 +4533,6 @@ module.exports = Calendar;
45234533
"use strict";
45244534
/**
45254535
* @fileoverview Date <-> Text formatting module
4526-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
45274536
*/
45284537

45294538

@@ -5093,7 +5102,6 @@ module.exports = off;
50935102
"use strict";
50945103
/**
50955104
* @fileoverview The entry file of DatePicker components
5096-
* @author NHN. FE Development Team
50975105
*/
50985106

50995107

@@ -5466,7 +5474,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__43__;
54665474
"use strict";
54675475
/**
54685476
* @fileoverview Calendar Header
5469-
* @author NHN. FE dev Lab <dl_javascript@nhn.com>
54705477
*/
54715478

54725479

@@ -5914,7 +5921,6 @@ module.exports = imagePing;
59145921
"use strict";
59155922
/**
59165923
* @fileoverview Calendar body
5917-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
59185924
*/
59195925

59205926

@@ -6061,7 +6067,6 @@ module.exports = Body;
60616067
"use strict";
60626068
/**
60636069
* @fileoverview Date layer
6064-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
60656070
*/
60666071

60676072

@@ -6299,7 +6304,6 @@ module.exports = function(context) {
62996304
"use strict";
63006305
/**
63016306
* @fileoverview Month layer
6302-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
63036307
*/
63046308

63056309

@@ -6432,7 +6436,6 @@ module.exports = function(context) {
64326436
"use strict";
64336437
/**
64346438
* @fileoverview Year layer
6435-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
64366439
*/
64376440

64386441

@@ -6548,7 +6551,6 @@ module.exports = function(context) {
65486551
"use strict";
65496552
/**
65506553
* @fileoverview RangeModel
6551-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
65526554
*/
65536555

65546556

@@ -6740,7 +6742,6 @@ module.exports = RangeModel;
67406742
"use strict";
67416743
/**
67426744
* @fileoverview Range (in RangeModel)
6743-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
67446745
*/
67456746

67466747

@@ -6904,7 +6905,6 @@ module.exports = function(context) {
69046905
"use strict";
69056906
/**
69066907
* @fileoverview DatePicker input(element) component
6907-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
69086908
*/
69096909

69106910

@@ -7114,7 +7114,6 @@ module.exports = DatePickerInput;
71147114
"use strict";
71157115
/**
71167116
* @fileoverview Date-Range picker
7117-
* @author NHN. FE Development Lab <dl_javascript@nhn.com>
71187117
*/
71197118

71207119

@@ -7417,12 +7416,29 @@ var DateRangePicker = defineClass(
74177416
this.fire('change:end');
74187417
},
74197418

7419+
/*
7420+
* Get date of start picker and end picker being same
7421+
* @returns {boolean}
7422+
* @private
7423+
*/
7424+
_isStartAndEndDateSame: function() {
7425+
return (
7426+
!!this._endpicker.getDate() &&
7427+
!!this._startpicker.getDate() &&
7428+
dateUtil.compare(
7429+
this._endpicker.getDate(),
7430+
this._startpicker.getDate(),
7431+
constants.TYPE_DATE
7432+
) === 0
7433+
);
7434+
},
7435+
74207436
/**
74217437
* Set time range on end picker
74227438
* @private
74237439
*/
74247440
_setTimeRangeOnEndPicker: function() {
7425-
var pickerDate, timeRange;
7441+
var pickerDate, timeRange, timeRangeToSet;
74267442
var endTimePicker = this._endpicker._timePicker;
74277443

74287444
if (!endTimePicker) {
@@ -7431,9 +7447,10 @@ var DateRangePicker = defineClass(
74317447

74327448
pickerDate = this._endpicker.getDate() || this._startpicker.getDate();
74337449
timeRange = this._getTimeRangeFromStartPicker();
7450+
timeRangeToSet = pickerDate && timeRange[pickerDate.getDate()];
74347451

7435-
if (pickerDate && timeRange[pickerDate.getDate()]) {
7436-
endTimePicker.setRange(timeRange[pickerDate.getDate()]);
7452+
if (this._isStartAndEndDateSame() && timeRangeToSet) {
7453+
endTimePicker.setRange(timeRangeToSet);
74377454
this._isRangeSet = true;
74387455
} else if (this._isRangeSet) {
74397456
endTimePicker.setRange({ hour: 0, minute: 0 });

0 commit comments

Comments
 (0)