Skip to content

Commit b37e0e0

Browse files
committed
Use set date functionality to update time variable on change in time directive.
1 parent d76bcdc commit b37e0e0

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

src/time-input.html

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@
1111
</div>
1212
<div class="timer">
1313
<div class="timer-hours">
14-
<div class="arrow arrow-up" ng-click="selected.add(1, 'hours') && onChange()"></div>
14+
<div class="arrow arrow-up" ng-click="setDate(selected.clone().add(1, 'hours'))"></div>
1515
{{ selected.format('HH') }}
16-
<div class="arrow arrow-down" ng-click="selected.subtract(1, 'hours') && onChange()"></div>
16+
<div class="arrow arrow-down" ng-click="setDate(selected.clone().subtract(1, 'hours'))"></div>
1717
</div>
1818
<div class="timer-divider">:</div>
1919
<div class="timer-minutes">
20-
<div class="arrow arrow-up" ng-click="selected.add(1, 'minutes') && onChange()"></div>
20+
<div class="arrow arrow-up" ng-click="setDate(selected.clone().add(1, 'minutes'))"></div>
2121
{{ selected.format('mm') }}
22-
<div class="arrow arrow-down" ng-click="selected.subtract(1, 'minutes') && onChange()"></div>
22+
<div class="arrow arrow-down" ng-click="setDate(selected.clone().subtract(1, 'minutes'))"></div>
2323
</div>
2424
<div class="timer-divider">:</div>
2525
<div class="timer-seconds">
26-
<div class="arrow arrow-up" ng-click="selected.add(1, 'seconds') && onChange()"></div>
26+
<div class="arrow arrow-up" ng-click="setDate(selected.clone().add(1, 'seconds'))"></div>
2727
{{ selected.format('ss') }}
28-
<div class="arrow arrow-down" ng-click="selected.subtract(1, 'seconds') && onChange()"></div>
28+
<div class="arrow arrow-down" ng-click="setDate(selected.clone().subtract(1, 'seconds'))"></div>
2929
</div>
3030
</div>
3131
<div class="clear-button" ng-if="!!time">

src/time-input.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,20 @@ directive('timeInput', ['$document', function ($document) {
2828
}
2929
};
3030

31+
// Update selected time
32+
scope.setDate = function (datetime, calendar_update) {
33+
if ( scope.selected.isSame(datetime) ) { return; }
34+
if ( !datetime ) {
35+
scope.selected = scope.time = undefined;
36+
} else {
37+
scope.selected.year(datetime.year()).month(datetime.month()).date(datetime.date()).hours(datetime.hours()).minutes(datetime.minutes()).seconds(datetime.seconds());
38+
}
39+
if ( !scope.time ) {
40+
scope.time = scope.selected;
41+
}
42+
scope.onChange();
43+
};
44+
3145
// Convert time object to moment.js if its not a moment object yet
3246
if ( scope.time && !scope.time._isAMomentObject ) {
3347
scope.time = moment(scope.time);

0 commit comments

Comments
 (0)