Skip to content

Commit 759090a

Browse files
committed
Refactored updateDate back to setDate, keeping the syntax as it was.
1 parent 66277fc commit 759090a

File tree

2 files changed

+23
-19
lines changed

2 files changed

+23
-19
lines changed

src/datetime-range.html

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919
</div>
2020
<div class="calendar" ng-show="!!calendar_active">
2121
<div class="calendar-header">
22-
<div class="arrow arrow-left" ng-click="updateDate('month', selected.clone().subtract(1, 'months').month())"></div>
22+
<div class="arrow arrow-left" ng-click="setDate(selected.clone().subtract(1, 'months'))"></div>
2323
{{ selected.format('MMMM') }}
24-
<div class="arrow arrow-right" ng-click="updateDate('month', selected.clone().add(1, 'months').month())"></div>
24+
<div class="arrow arrow-right" ng-click="setDate(selected.clone().add(1, 'months'))"></div>
2525
</div>
2626
<div class="calendar-body">
2727
<div class="weekdays">
@@ -31,35 +31,34 @@
3131
</div>
3232
<div class="week" ng-repeat="week in 'months' | limitTo: ((selected.clone().endOf('month').week() - selected.clone().startOf('month').week()) + 1) track by $index">
3333
<span class="date" ng-repeat="date in 'weeeeek' track by $index"
34-
ng-init="_date = selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).startOf('day')"
3534
ng-class="{
36-
'current': _date.isSame(current.clone().startOf('day')),
37-
'active': _date.isSame(selected.clone().startOf('day')),
38-
'inactive': _date.month() !== selected.month()
35+
'current': selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).startOf('day').isSame(current.clone().startOf('day')),
36+
'active': selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).startOf('day').isSame(selected.clone().startOf('day')),
37+
'inactive': selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).month() !== selected.month()
3938
}"
40-
ng-click="updateDate('date', _date.date()); updateDate('month', _date.month())">
41-
{{ _date.date() }}
39+
ng-click="setDate(selected.clone().date(selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).date()).month(selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).month()))">
40+
{{ selected.clone().startOf('month').add($parent.$index, 'weeks').weekday($index).date() }}
4241
</span>
4342
</div>
4443
</div>
4544
</div>
4645
<div class="timer">
4746
<div class="timer-hours">
48-
<div class="arrow arrow-up" ng-click="updateDate('hours', selected.clone().add(1, 'hours').hours())"></div>
47+
<div class="arrow arrow-up" ng-click="setDate(selected.clone().add(1, 'hours'))"></div>
4948
{{ selected.format('HH') }}
50-
<div class="arrow arrow-down" ng-click="updateDate('hours', selected.clone().subtract(1, 'hours').hours())"></div>
49+
<div class="arrow arrow-down" ng-click="setDate(selected.clone().subtract(1, 'hours'))"></div>
5150
</div>
5251
<div class="timer-divider">:</div>
5352
<div class="timer-minutes">
54-
<div class="arrow arrow-up" ng-click="updateDate('minutes', selected.clone().add(1, 'minutes').minutes())"></div>
53+
<div class="arrow arrow-up" ng-click="setDate(selected.clone().add(1, 'minutes'))"></div>
5554
{{ selected.format('mm') }}
56-
<div class="arrow arrow-down" ng-click="updateDate('minutes', selected.clone().subtract(1, 'minutes').minutes())"></div>
55+
<div class="arrow arrow-down" ng-click="setDate(selected.clone().subtract(1, 'minutes'))"></div>
5756
</div>
5857
<div class="timer-divider">:</div>
5958
<div class="timer-seconds">
60-
<div class="arrow arrow-up" ng-click="updateDate('seconds', selected.clone().add(1, 'seconds').seconds())"></div>
59+
<div class="arrow arrow-up" ng-click="setDate(selected.clone().add(1, 'seconds'))"></div>
6160
{{ selected.format('ss') }}
62-
<div class="arrow arrow-down" ng-click="updateDate('seconds', selected.clone().subtract(1, 'seconds').seconds())"></div>
61+
<div class="arrow arrow-down" ng-click="setDate(selected.clone().subtract(1, 'seconds'))"></div>
6362
</div>
6463
</div>
6564
</div>

src/datetime-range.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,16 @@ angular.module('g1b.datetime-range', []).
2121
scope.current = moment();
2222

2323
// Set selected date
24-
scope.updateDate = function (unit, value) {
25-
var _date = scope.selected.clone()[unit](value);
26-
if ( ( scope.selected === scope.start && _date < scope.end) ||
27-
( scope.selected === scope.end && _date > scope.start ) ) {
28-
scope.selected[unit](_date[unit]());
24+
scope.setDate = function (date) {
25+
if ( !scope.selected.isSame(date) &&
26+
( ( scope.selected === scope.start && date < scope.end) ||
27+
( scope.selected === scope.end && date > scope.start ) ) ) {
28+
scope.selected.year(date.year());
29+
scope.selected.month(date.month());
30+
scope.selected.date(date.date());
31+
scope.selected.hours(date.hours());
32+
scope.selected.minutes(date.minutes());
33+
scope.selected.seconds(date.seconds());
2934
scope.handler();
3035
}
3136
};

0 commit comments

Comments
 (0)