From d40f6d89bf9084e5d03df1aeea8bffd67662f0c0 Mon Sep 17 00:00:00 2001 From: Daan De Deckere <info@daandd.be> Date: Mon, 12 Feb 2018 20:04:46 +0100 Subject: [PATCH] Add onSubtractTime and onAddTime hooks (#508) --- DateTime.js | 33 ++++++++++++++++++++------------- 1 files changed, 20 insertions(+), 13 deletions(-) diff --git a/DateTime.js b/DateTime.js index 81b9544..6f8e908 100644 --- a/DateTime.js +++ b/DateTime.js @@ -26,6 +26,8 @@ onBlur: TYPES.func, onChange: TYPES.func, onViewModeChange: TYPES.func, + onNavigateBack: TYPES.func, + onNavigateForward: TYPES.func, locale: TYPES.string, utc: TYPES.bool, input: TYPES.bool, @@ -254,26 +256,29 @@ }; }, - addTime: function( amount, type, toSelected ) { - return this.updateTime( 'add', amount, type, toSelected ); + subtractTime: function( amount, type, toSelected ) { + var me = this; + return function() { + me.props.onNavigateBack( amount, type ); + me.updateTime( 'subtract', amount, type, toSelected ); + }; }, - subtractTime: function( amount, type, toSelected ) { - return this.updateTime( 'subtract', amount, type, toSelected ); + addTime: function( amount, type, toSelected ) { + var me = this; + return function() { + me.props.onNavigateForward( amount, type ); + me.updateTime( 'add', amount, type, toSelected ); + }; }, updateTime: function( op, amount, type, toSelected ) { - var me = this; + var update = {}, + date = toSelected ? 'selectedDate' : 'viewDate'; - return function() { - var update = {}, - date = toSelected ? 'selectedDate' : 'viewDate' - ; + update[ date ] = this.state[ date ].clone()[ op ]( amount, type ); - update[ date ] = me.state[ date ].clone()[ op ]( amount, type ); - - me.setState( update ); - }; + this.setState( update ); }, allowedSetTime: ['hours', 'minutes', 'seconds', 'milliseconds'], @@ -459,6 +464,8 @@ onBlur: function() {}, onChange: function() {}, onViewModeChange: function() {}, + onNavigateBack: function() {}, + onNavigateForward: function() {}, timeFormat: true, timeConstraints: {}, dateFormat: true, -- Gitblit v1.9.3