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