jsl-ui 9.28.2 → 9.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/IntervalComponent.d.ts +17 -17
- package/lib/components/IntervalComponent.js +65 -68
- package/lib/components/auto-suggest/AutoSuggestComponent.d.ts +22 -22
- package/lib/components/auto-suggest/AutoSuggestComponent.js +47 -49
- package/lib/components/button/ButtonComponent.d.ts +18 -18
- package/lib/components/button/ButtonComponent.js +29 -46
- package/lib/components/checkbox/CheckBoxComponent.d.ts +28 -28
- package/lib/components/checkbox/CheckBoxComponent.js +81 -98
- package/lib/components/date/DateComponent.d.ts +32 -32
- package/lib/components/date/DateComponent.js +89 -106
- package/lib/components/date-range/DateRangeComponent.d.ts +35 -35
- package/lib/components/date-range/DateRangeComponent.js +123 -136
- package/lib/components/date-time/DateTimeComponent.d.ts +15 -15
- package/lib/components/date-time/DateTimeComponent.js +39 -53
- package/lib/components/dialog/DialogComponent.d.ts +67 -67
- package/lib/components/dialog/DialogComponent.js +198 -251
- package/lib/components/drop-down/DropDownComponent.d.ts +27 -27
- package/lib/components/drop-down/DropDownComponent.js +60 -74
- package/lib/components/expander/ExpanderComponent.d.ts +27 -27
- package/lib/components/expander/ExpanderComponent.js +89 -90
- package/lib/components/form-field/FormComponent.d.ts +12 -12
- package/lib/components/form-field/FormComponent.js +23 -26
- package/lib/components/form-field/FormFieldComponent.d.ts +39 -39
- package/lib/components/form-field/FormFieldComponent.js +138 -140
- package/lib/components/grid/GridComponent.d.ts +26 -26
- package/lib/components/grid/GridComponent.js +110 -116
- package/lib/components/input/InputComponent.d.ts +33 -33
- package/lib/components/input/InputComponent.js +126 -147
- package/lib/components/loading/LoadingComponent.d.ts +8 -8
- package/lib/components/loading/LoadingComponent.js +20 -22
- package/lib/components/navigation/NavigationComponent.d.ts +34 -34
- package/lib/components/navigation/NavigationComponent.js +45 -70
- package/lib/components/notification/Notification.d.ts +19 -19
- package/lib/components/notification/Notification.js +65 -69
- package/lib/components/number/NumberComponent.d.ts +26 -26
- package/lib/components/number/NumberComponent.js +80 -98
- package/lib/components/overlay/OverlayComponent.d.ts +27 -27
- package/lib/components/overlay/OverlayComponent.js +137 -149
- package/lib/components/progress/ProgressComponent.d.ts +18 -18
- package/lib/components/progress/ProgressComponent.js +40 -42
- package/lib/components/ribbon-menu/RibbonMenuComponent.d.ts +12 -12
- package/lib/components/ribbon-menu/RibbonMenuComponent.js +23 -34
- package/lib/components/select/SelectComponent.d.ts +79 -79
- package/lib/components/select/SelectComponent.js +356 -369
- package/lib/components/select/SelectDDAreaComponent.d.ts +32 -32
- package/lib/components/select/SelectDDAreaComponent.js +303 -317
- package/lib/components/slider/nouislider.d.ts +44 -44
- package/lib/components/slider/nouislider.js +2158 -2158
- package/lib/components/stack-panel/SplitterComponent.d.ts +21 -21
- package/lib/components/stack-panel/SplitterComponent.js +124 -126
- package/lib/components/stack-panel/StackPanelComponent.d.ts +20 -20
- package/lib/components/stack-panel/StackPanelComponent.js +50 -64
- package/lib/components/tabs/TabsComponent.d.ts +40 -40
- package/lib/components/tabs/TabsComponent.js +200 -204
- package/lib/components/time/TimeComponent.d.ts +29 -29
- package/lib/components/time/TimeComponent.js +104 -113
- package/lib/components/tree-view/TreeViewComponent.d.ts +23 -23
- package/lib/components/tree-view/TreeViewComponent.js +43 -45
- package/lib/components/virtual-render/VirtualRenderComponent.d.ts +30 -30
- package/lib/components/virtual-render/VirtualRenderComponent.js +92 -104
- package/lib/core/culture.d.ts +5 -5
- package/lib/core/culture.js +385 -385
- package/lib/core/date.d.ts +14 -14
- package/lib/core/date.js +346 -350
- package/lib/core/helper.d.ts +13 -13
- package/lib/core/helper.js +100 -104
- package/lib/core/jq.d.ts +37 -37
- package/lib/core/jq.js +362 -371
- package/lib/core/lang.d.ts +24 -24
- package/lib/core/lang.js +24 -28
- package/lib/core/numeric.d.ts +7 -7
- package/lib/core/numeric.js +139 -143
- package/lib/core/polyfills.js +22 -22
- package/lib/core.d.ts +6 -6
- package/lib/core.js +6 -6
- package/lib/grid/filterDialogs/dateRangeFilter.d.ts +7 -7
- package/lib/grid/filterDialogs/dateRangeFilter.js +106 -156
- package/lib/grid/filterDialogs/excelFilter.d.ts +9 -9
- package/lib/grid/filterDialogs/excelFilter.js +250 -316
- package/lib/grid/plugins/ext.overlay.d.ts +2 -2
- package/lib/grid/plugins/ext.overlay.js +295 -295
- package/lib/grid/plugins/slick.cellrangedecorator.d.ts +12 -12
- package/lib/grid/plugins/slick.cellrangedecorator.js +68 -68
- package/lib/grid/plugins/slick.cellrangeselector.d.ts +1 -1
- package/lib/grid/plugins/slick.cellrangeselector.js +144 -144
- package/lib/grid/plugins/slick.cellselectionmodel.d.ts +1 -1
- package/lib/grid/plugins/slick.cellselectionmodel.js +194 -194
- package/lib/grid/plugins/slick.headerbuttons.d.ts +55 -55
- package/lib/grid/plugins/slick.headerbuttons.js +156 -156
- package/lib/grid/plugins/slick.headermenu.d.ts +74 -74
- package/lib/grid/plugins/slick.headermenu.js +260 -260
- package/lib/grid/plugins/slick.rowmovemanager.d.ts +18 -18
- package/lib/grid/plugins/slick.rowmovemanager.js +249 -249
- package/lib/grid/plugins/slick.rowselectionmodel.d.ts +1 -1
- package/lib/grid/plugins/slick.rowselectionmodel.js +167 -167
- package/lib/grid/slick.core.d.ts +91 -91
- package/lib/grid/slick.core.js +574 -574
- package/lib/grid/slick.creator.d.ts +81 -81
- package/lib/grid/slick.creator.js +726 -726
- package/lib/grid/slick.dataview.d.ts +71 -71
- package/lib/grid/slick.dataview.js +1069 -1080
- package/lib/grid/slick.editors.core.d.ts +4 -4
- package/lib/grid/slick.editors.core.js +235 -235
- package/lib/grid/slick.editors.date.d.ts +2 -2
- package/lib/grid/slick.editors.date.js +125 -125
- package/lib/grid/slick.editors.lookup.d.ts +14 -14
- package/lib/grid/slick.editors.lookup.js +352 -353
- package/lib/grid/slick.editors.nav.d.ts +6 -6
- package/lib/grid/slick.editors.nav.js +22 -22
- package/lib/grid/slick.formatters.d.ts +17 -17
- package/lib/grid/slick.formatters.js +144 -144
- package/lib/grid/slick.grid.d.ts +285 -285
- package/lib/grid/slick.grid.js +5409 -5412
- package/lib/grid/slick.groupitemmetadataprovider.d.ts +39 -39
- package/lib/grid/slick.groupitemmetadataprovider.js +165 -165
- package/lib/grid/slick.tree.d.ts +33 -33
- package/lib/grid/slick.tree.js +208 -220
- package/lib/grid.css +1 -705
- package/lib/grid.d.ts +13 -13
- package/lib/grid.js +13 -13
- package/lib/index.css +8 -2195
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +56 -55
- package/lib/index.js +61 -61
- package/lib/index.js.map +1 -1
- package/lib/interaction/dataconverter.d.ts +4 -4
- package/lib/interaction/dataconverter.js +0 -1
- package/lib/interaction/eventhandler.d.ts +13 -13
- package/lib/interaction/eventhandler.js +39 -42
- package/lib/interaction/moveable.d.ts +39 -39
- package/lib/interaction/moveable.js +160 -174
- package/lib/interaction/resizable.d.ts +37 -37
- package/lib/interaction/resizable.js +109 -123
- package/lib/ui/auto.suggest.d.ts +18 -18
- package/lib/ui/auto.suggest.js +244 -259
- package/lib/ui/date.picker/date-picker-options.d.ts +11 -11
- package/lib/ui/date.picker/date-picker-options.js +76 -76
- package/lib/ui/date.picker/lib/date-manip.d.ts +74 -74
- package/lib/ui/date.picker/lib/date-manip.js +120 -120
- package/lib/ui/date.picker/lib/dom.d.ts +23 -23
- package/lib/ui/date.picker/lib/dom.js +28 -28
- package/lib/ui/date.picker/lib/emitter.d.ts +13 -13
- package/lib/ui/date.picker/lib/emitter.js +49 -49
- package/lib/ui/date.picker/lib/fns.d.ts +23 -23
- package/lib/ui/date.picker/lib/fns.js +39 -43
- package/lib/ui/date.picker/mode/base-mode.d.ts +26 -26
- package/lib/ui/date.picker/mode/base-mode.js +248 -248
- package/lib/ui/date.picker/mode/dropdown-mode.d.ts +28 -28
- package/lib/ui/date.picker/mode/dropdown-mode.js +50 -50
- package/lib/ui/date.picker/mode/index.d.ts +28 -28
- package/lib/ui/date.picker/mode/index.js +18 -18
- package/lib/ui/date.picker/mode/modal-mode.d.ts +25 -25
- package/lib/ui/date.picker/mode/modal-mode.js +17 -17
- package/lib/ui/date.picker/mode/permanent-mode.d.ts +29 -29
- package/lib/ui/date.picker/mode/permanent-mode.js +19 -19
- package/lib/ui/date.picker/views/day-picker.d.ts +40 -40
- package/lib/ui/date.picker/views/day-picker.js +155 -155
- package/lib/ui/date.picker/views/month-picker.d.ts +26 -26
- package/lib/ui/date.picker/views/month-picker.js +65 -65
- package/lib/ui/date.picker/views/year-picker.d.ts +20 -20
- package/lib/ui/date.picker/views/year-picker.js +66 -66
- package/lib/ui/date.picker.d.ts +66 -66
- package/lib/ui/date.picker.js +32 -32
- package/lib/ui/dialog.d.ts +22 -22
- package/lib/ui/dialog.js +98 -113
- package/lib/ui/drop.down.d.ts +52 -52
- package/lib/ui/drop.down.js +2112 -2112
- package/lib/ui/number.input.d.ts +13 -13
- package/lib/ui/number.input.js +56 -67
- package/package.json +1 -1
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Manages the calendar / day-picker view.
|
|
3
|
-
*/
|
|
4
|
-
import { Key } from '../lib/dom';
|
|
5
|
-
import { now, datesEq, shiftMonth, shiftDay } from '../lib/date-manip';
|
|
6
|
-
export default {
|
|
7
|
-
onKeyDown: keyDown,
|
|
8
|
-
onClick: {
|
|
9
|
-
'dp-day': selectDay,
|
|
10
|
-
'dp-next': gotoNextMonth,
|
|
11
|
-
'dp-prev': gotoPrevMonth,
|
|
12
|
-
'dp-today': selectToday,
|
|
13
|
-
'dp-clear': clear,
|
|
14
|
-
'dp-close': close,
|
|
15
|
-
'dp-cal-month': showMonthPicker,
|
|
16
|
-
'dp-cal-year': showYearPicker,
|
|
17
|
-
},
|
|
18
|
-
render: render
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* view renders the calendar (day picker) as an HTML string.
|
|
22
|
-
*
|
|
23
|
-
* @param {DatePickerContext} context the date picker being rendered
|
|
24
|
-
* @returns {string}
|
|
25
|
-
*/
|
|
26
|
-
function render(dp) {
|
|
27
|
-
var opts = dp.opts;
|
|
28
|
-
var lang = opts.lang;
|
|
29
|
-
var state = dp.state;
|
|
30
|
-
var dayNames = lang.days;
|
|
31
|
-
var dayOffset = opts.dayOffset || 0;
|
|
32
|
-
var selectedDate = state.selectedDate;
|
|
33
|
-
var hilightedDate = state.hilightedDate;
|
|
34
|
-
var hilightedMonth = hilightedDate.getMonth();
|
|
35
|
-
var today = now().getTime();
|
|
36
|
-
return ('<div class="dp-cal">' +
|
|
37
|
-
'<header class="dp-cal-header">' +
|
|
38
|
-
'<button tabindex="-1" type="button" class="dp-prev">Prev</button>' +
|
|
39
|
-
'<button tabindex="-1" type="button" class="dp-cal-month">' +
|
|
40
|
-
lang.months[hilightedMonth] +
|
|
41
|
-
'</button>' +
|
|
42
|
-
'<button tabindex="-1" type="button" class="dp-cal-year">' +
|
|
43
|
-
hilightedDate.getFullYear() +
|
|
44
|
-
'</button>' +
|
|
45
|
-
'<button tabindex="-1" type="button" class="dp-next">Next</button>' +
|
|
46
|
-
'</header>' +
|
|
47
|
-
'<div class="dp-days">' +
|
|
48
|
-
dayNames.map(function (name, i) {
|
|
49
|
-
return ('<span class="dp-col-header">' + dayNames[(i + dayOffset) % dayNames.length] + '</span>');
|
|
50
|
-
}).join('') +
|
|
51
|
-
mapDays(hilightedDate, dayOffset, function (date) {
|
|
52
|
-
var isNotInMonth = date.getMonth() !== hilightedMonth;
|
|
53
|
-
var isDisabled = !opts.inRange(date);
|
|
54
|
-
var isToday = date.getTime() === today;
|
|
55
|
-
var className = 'dp-day';
|
|
56
|
-
className += (isNotInMonth ? ' dp-edge-day' : '');
|
|
57
|
-
className += (datesEq(date, hilightedDate) ? ' dp-current' : '');
|
|
58
|
-
className += (datesEq(date, selectedDate) ? ' dp-selected' : '');
|
|
59
|
-
className += (isDisabled ? ' dp-day-disabled' : '');
|
|
60
|
-
className += (isToday ? ' dp-day-today' : '');
|
|
61
|
-
className += ' ' + opts.dateClass(date, dp);
|
|
62
|
-
return ('<button tabindex="-1" type="button" class="' + className + '" data-date="' + date.getTime() + '">' +
|
|
63
|
-
date.getDate() +
|
|
64
|
-
'</button>');
|
|
65
|
-
}) +
|
|
66
|
-
'</div>' +
|
|
67
|
-
'<footer class="dp-cal-footer">' +
|
|
68
|
-
'<button tabindex="-1" type="button" class="dp-today">' + lang.today + '</button>' +
|
|
69
|
-
'<button tabindex="-1" type="button" class="dp-clear">' + lang.clear + '</button>' +
|
|
70
|
-
'<button tabindex="-1" type="button" class="dp-close">' + lang.close + '</button>' +
|
|
71
|
-
'</footer>' +
|
|
72
|
-
'</div>');
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* keyDown handles the key down event for the day-picker
|
|
76
|
-
*
|
|
77
|
-
* @param {Event} e
|
|
78
|
-
* @param {DatePickerContext} dp
|
|
79
|
-
*/
|
|
80
|
-
function keyDown(e, dp) {
|
|
81
|
-
var key = e.keyCode;
|
|
82
|
-
var shiftBy = (key === Key.left) ? -1 :
|
|
83
|
-
(key === Key.right) ? 1 :
|
|
84
|
-
(key === Key.up) ? -7 :
|
|
85
|
-
(key === Key.down) ? 7 :
|
|
86
|
-
0;
|
|
87
|
-
if (key === Key.esc) {
|
|
88
|
-
dp.close();
|
|
89
|
-
}
|
|
90
|
-
else if (shiftBy) {
|
|
91
|
-
e.preventDefault();
|
|
92
|
-
dp.setState({
|
|
93
|
-
hilightedDate: shiftDay(dp.state.hilightedDate, shiftBy)
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
function selectToday(e, dp) {
|
|
98
|
-
dp.setState({
|
|
99
|
-
selectedDate: now(),
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
function clear(e, dp) {
|
|
103
|
-
dp.setState({
|
|
104
|
-
selectedDate: null,
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
function close(e, dp) {
|
|
108
|
-
dp.close();
|
|
109
|
-
}
|
|
110
|
-
function showMonthPicker(e, dp) {
|
|
111
|
-
dp.setState({
|
|
112
|
-
view: 'month'
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
function showYearPicker(e, dp) {
|
|
116
|
-
dp.setState({
|
|
117
|
-
view: 'year'
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
function gotoNextMonth(e, dp) {
|
|
121
|
-
var hilightedDate = dp.state.hilightedDate;
|
|
122
|
-
dp.setState({
|
|
123
|
-
hilightedDate: shiftMonth(hilightedDate, 1)
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
function gotoPrevMonth(e, dp) {
|
|
127
|
-
var hilightedDate = dp.state.hilightedDate;
|
|
128
|
-
dp.setState({
|
|
129
|
-
hilightedDate: shiftMonth(hilightedDate, -1)
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
function selectDay(e, dp) {
|
|
133
|
-
dp.setState({
|
|
134
|
-
selectedDate: new Date(parseInt(e.target.getAttribute('data-date'))),
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
function mapDays(currentDate, dayOffset, fn) {
|
|
138
|
-
var result = '';
|
|
139
|
-
var iter = new Date(currentDate);
|
|
140
|
-
iter.setDate(1);
|
|
141
|
-
iter.setDate(1 - iter.getDay() + dayOffset);
|
|
142
|
-
// If we are showing monday as the 1st of the week,
|
|
143
|
-
// and the monday is the 2nd of the month, the sunday won't
|
|
144
|
-
// show, so we need to shift backwards
|
|
145
|
-
if (dayOffset && iter.getDate() === dayOffset + 1) {
|
|
146
|
-
iter.setDate(dayOffset - 6);
|
|
147
|
-
}
|
|
148
|
-
// We are going to have 6 weeks always displayed to keep a consistent
|
|
149
|
-
// calendar size
|
|
150
|
-
for (var day = 0; day < (6 * 7); ++day) {
|
|
151
|
-
result += fn(iter);
|
|
152
|
-
iter.setDate(iter.getDate() + 1);
|
|
153
|
-
}
|
|
154
|
-
return result;
|
|
155
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @file Manages the calendar / day-picker view.
|
|
3
|
+
*/
|
|
4
|
+
import { Key } from '../lib/dom';
|
|
5
|
+
import { now, datesEq, shiftMonth, shiftDay } from '../lib/date-manip';
|
|
6
|
+
export default {
|
|
7
|
+
onKeyDown: keyDown,
|
|
8
|
+
onClick: {
|
|
9
|
+
'dp-day': selectDay,
|
|
10
|
+
'dp-next': gotoNextMonth,
|
|
11
|
+
'dp-prev': gotoPrevMonth,
|
|
12
|
+
'dp-today': selectToday,
|
|
13
|
+
'dp-clear': clear,
|
|
14
|
+
'dp-close': close,
|
|
15
|
+
'dp-cal-month': showMonthPicker,
|
|
16
|
+
'dp-cal-year': showYearPicker,
|
|
17
|
+
},
|
|
18
|
+
render: render
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* view renders the calendar (day picker) as an HTML string.
|
|
22
|
+
*
|
|
23
|
+
* @param {DatePickerContext} context the date picker being rendered
|
|
24
|
+
* @returns {string}
|
|
25
|
+
*/
|
|
26
|
+
function render(dp) {
|
|
27
|
+
var opts = dp.opts;
|
|
28
|
+
var lang = opts.lang;
|
|
29
|
+
var state = dp.state;
|
|
30
|
+
var dayNames = lang.days;
|
|
31
|
+
var dayOffset = opts.dayOffset || 0;
|
|
32
|
+
var selectedDate = state.selectedDate;
|
|
33
|
+
var hilightedDate = state.hilightedDate;
|
|
34
|
+
var hilightedMonth = hilightedDate.getMonth();
|
|
35
|
+
var today = now().getTime();
|
|
36
|
+
return ('<div class="dp-cal">' +
|
|
37
|
+
'<header class="dp-cal-header">' +
|
|
38
|
+
'<button tabindex="-1" type="button" class="dp-prev">Prev</button>' +
|
|
39
|
+
'<button tabindex="-1" type="button" class="dp-cal-month">' +
|
|
40
|
+
lang.months[hilightedMonth] +
|
|
41
|
+
'</button>' +
|
|
42
|
+
'<button tabindex="-1" type="button" class="dp-cal-year">' +
|
|
43
|
+
hilightedDate.getFullYear() +
|
|
44
|
+
'</button>' +
|
|
45
|
+
'<button tabindex="-1" type="button" class="dp-next">Next</button>' +
|
|
46
|
+
'</header>' +
|
|
47
|
+
'<div class="dp-days">' +
|
|
48
|
+
dayNames.map(function (name, i) {
|
|
49
|
+
return ('<span class="dp-col-header">' + dayNames[(i + dayOffset) % dayNames.length] + '</span>');
|
|
50
|
+
}).join('') +
|
|
51
|
+
mapDays(hilightedDate, dayOffset, function (date) {
|
|
52
|
+
var isNotInMonth = date.getMonth() !== hilightedMonth;
|
|
53
|
+
var isDisabled = !opts.inRange(date);
|
|
54
|
+
var isToday = date.getTime() === today;
|
|
55
|
+
var className = 'dp-day';
|
|
56
|
+
className += (isNotInMonth ? ' dp-edge-day' : '');
|
|
57
|
+
className += (datesEq(date, hilightedDate) ? ' dp-current' : '');
|
|
58
|
+
className += (datesEq(date, selectedDate) ? ' dp-selected' : '');
|
|
59
|
+
className += (isDisabled ? ' dp-day-disabled' : '');
|
|
60
|
+
className += (isToday ? ' dp-day-today' : '');
|
|
61
|
+
className += ' ' + opts.dateClass(date, dp);
|
|
62
|
+
return ('<button tabindex="-1" type="button" class="' + className + '" data-date="' + date.getTime() + '">' +
|
|
63
|
+
date.getDate() +
|
|
64
|
+
'</button>');
|
|
65
|
+
}) +
|
|
66
|
+
'</div>' +
|
|
67
|
+
'<footer class="dp-cal-footer">' +
|
|
68
|
+
'<button tabindex="-1" type="button" class="dp-today">' + lang.today + '</button>' +
|
|
69
|
+
'<button tabindex="-1" type="button" class="dp-clear">' + lang.clear + '</button>' +
|
|
70
|
+
'<button tabindex="-1" type="button" class="dp-close">' + lang.close + '</button>' +
|
|
71
|
+
'</footer>' +
|
|
72
|
+
'</div>');
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* keyDown handles the key down event for the day-picker
|
|
76
|
+
*
|
|
77
|
+
* @param {Event} e
|
|
78
|
+
* @param {DatePickerContext} dp
|
|
79
|
+
*/
|
|
80
|
+
function keyDown(e, dp) {
|
|
81
|
+
var key = e.keyCode;
|
|
82
|
+
var shiftBy = (key === Key.left) ? -1 :
|
|
83
|
+
(key === Key.right) ? 1 :
|
|
84
|
+
(key === Key.up) ? -7 :
|
|
85
|
+
(key === Key.down) ? 7 :
|
|
86
|
+
0;
|
|
87
|
+
if (key === Key.esc) {
|
|
88
|
+
dp.close();
|
|
89
|
+
}
|
|
90
|
+
else if (shiftBy) {
|
|
91
|
+
e.preventDefault();
|
|
92
|
+
dp.setState({
|
|
93
|
+
hilightedDate: shiftDay(dp.state.hilightedDate, shiftBy)
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function selectToday(e, dp) {
|
|
98
|
+
dp.setState({
|
|
99
|
+
selectedDate: now(),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
function clear(e, dp) {
|
|
103
|
+
dp.setState({
|
|
104
|
+
selectedDate: null,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function close(e, dp) {
|
|
108
|
+
dp.close();
|
|
109
|
+
}
|
|
110
|
+
function showMonthPicker(e, dp) {
|
|
111
|
+
dp.setState({
|
|
112
|
+
view: 'month'
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
function showYearPicker(e, dp) {
|
|
116
|
+
dp.setState({
|
|
117
|
+
view: 'year'
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
function gotoNextMonth(e, dp) {
|
|
121
|
+
var hilightedDate = dp.state.hilightedDate;
|
|
122
|
+
dp.setState({
|
|
123
|
+
hilightedDate: shiftMonth(hilightedDate, 1)
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
function gotoPrevMonth(e, dp) {
|
|
127
|
+
var hilightedDate = dp.state.hilightedDate;
|
|
128
|
+
dp.setState({
|
|
129
|
+
hilightedDate: shiftMonth(hilightedDate, -1)
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function selectDay(e, dp) {
|
|
133
|
+
dp.setState({
|
|
134
|
+
selectedDate: new Date(parseInt(e.target.getAttribute('data-date'))),
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
function mapDays(currentDate, dayOffset, fn) {
|
|
138
|
+
var result = '';
|
|
139
|
+
var iter = new Date(currentDate);
|
|
140
|
+
iter.setDate(1);
|
|
141
|
+
iter.setDate(1 - iter.getDay() + dayOffset);
|
|
142
|
+
// If we are showing monday as the 1st of the week,
|
|
143
|
+
// and the monday is the 2nd of the month, the sunday won't
|
|
144
|
+
// show, so we need to shift backwards
|
|
145
|
+
if (dayOffset && iter.getDate() === dayOffset + 1) {
|
|
146
|
+
iter.setDate(dayOffset - 6);
|
|
147
|
+
}
|
|
148
|
+
// We are going to have 6 weeks always displayed to keep a consistent
|
|
149
|
+
// calendar size
|
|
150
|
+
for (var day = 0; day < (6 * 7); ++day) {
|
|
151
|
+
result += fn(iter);
|
|
152
|
+
iter.setDate(iter.getDate() + 1);
|
|
153
|
+
}
|
|
154
|
+
return result;
|
|
155
|
+
}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Manages the month-picker view.
|
|
3
|
-
*/
|
|
4
|
-
declare const _default: {
|
|
5
|
-
onKeyDown: typeof keyDown;
|
|
6
|
-
onClick: {
|
|
7
|
-
'dp-month': typeof onChooseMonth;
|
|
8
|
-
};
|
|
9
|
-
render: typeof render;
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
|
12
|
-
declare function onChooseMonth(e: any, dp: any): void;
|
|
13
|
-
/**
|
|
14
|
-
* render renders the month picker as an HTML string
|
|
15
|
-
*
|
|
16
|
-
* @param {DatePickerContext} dp the date picker context
|
|
17
|
-
* @returns {string}
|
|
18
|
-
*/
|
|
19
|
-
declare function render(dp: any): string;
|
|
20
|
-
/**
|
|
21
|
-
* keyDown handles keydown events that occur in the month picker
|
|
22
|
-
*
|
|
23
|
-
* @param {Event} e
|
|
24
|
-
* @param {DatePickerContext} dp
|
|
25
|
-
*/
|
|
26
|
-
declare function keyDown(e: any, dp: any): void;
|
|
1
|
+
/**
|
|
2
|
+
* @file Manages the month-picker view.
|
|
3
|
+
*/
|
|
4
|
+
declare const _default: {
|
|
5
|
+
onKeyDown: typeof keyDown;
|
|
6
|
+
onClick: {
|
|
7
|
+
'dp-month': typeof onChooseMonth;
|
|
8
|
+
};
|
|
9
|
+
render: typeof render;
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
12
|
+
declare function onChooseMonth(e: any, dp: any): void;
|
|
13
|
+
/**
|
|
14
|
+
* render renders the month picker as an HTML string
|
|
15
|
+
*
|
|
16
|
+
* @param {DatePickerContext} dp the date picker context
|
|
17
|
+
* @returns {string}
|
|
18
|
+
*/
|
|
19
|
+
declare function render(dp: any): string;
|
|
20
|
+
/**
|
|
21
|
+
* keyDown handles keydown events that occur in the month picker
|
|
22
|
+
*
|
|
23
|
+
* @param {Event} e
|
|
24
|
+
* @param {DatePickerContext} dp
|
|
25
|
+
*/
|
|
26
|
+
declare function keyDown(e: any, dp: any): void;
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Manages the month-picker view.
|
|
3
|
-
*/
|
|
4
|
-
import { Key } from '../lib/dom';
|
|
5
|
-
import { shiftMonth, setMonth } from '../lib/date-manip';
|
|
6
|
-
export default {
|
|
7
|
-
onKeyDown: keyDown,
|
|
8
|
-
onClick: {
|
|
9
|
-
'dp-month': onChooseMonth
|
|
10
|
-
},
|
|
11
|
-
render: render
|
|
12
|
-
};
|
|
13
|
-
function onChooseMonth(e, dp) {
|
|
14
|
-
dp.setState({
|
|
15
|
-
hilightedDate: setMonth(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-month'))),
|
|
16
|
-
view: 'day',
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* render renders the month picker as an HTML string
|
|
21
|
-
*
|
|
22
|
-
* @param {DatePickerContext} dp the date picker context
|
|
23
|
-
* @returns {string}
|
|
24
|
-
*/
|
|
25
|
-
function render(dp) {
|
|
26
|
-
var opts = dp.opts;
|
|
27
|
-
var lang = opts.lang;
|
|
28
|
-
var months = lang.months;
|
|
29
|
-
var currentDate = dp.state.hilightedDate;
|
|
30
|
-
var currentMonth = currentDate.getMonth();
|
|
31
|
-
return ('<div class="dp-months">' +
|
|
32
|
-
months.map(function (month, i) {
|
|
33
|
-
var className = 'dp-month';
|
|
34
|
-
className += (currentMonth === i ? ' dp-current' : '');
|
|
35
|
-
return ('<button tabindex="-1" type="button" class="' + className + '" data-month="' + i + '">' +
|
|
36
|
-
month +
|
|
37
|
-
'</button>');
|
|
38
|
-
}).join('') +
|
|
39
|
-
'</div>');
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* keyDown handles keydown events that occur in the month picker
|
|
43
|
-
*
|
|
44
|
-
* @param {Event} e
|
|
45
|
-
* @param {DatePickerContext} dp
|
|
46
|
-
*/
|
|
47
|
-
function keyDown(e, dp) {
|
|
48
|
-
var key = e.keyCode;
|
|
49
|
-
var shiftBy = (key === Key.left) ? -1 :
|
|
50
|
-
(key === Key.right) ? 1 :
|
|
51
|
-
(key === Key.up) ? -3 :
|
|
52
|
-
(key === Key.down) ? 3 :
|
|
53
|
-
0;
|
|
54
|
-
if (key === Key.esc) {
|
|
55
|
-
dp.setState({
|
|
56
|
-
view: 'day',
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
else if (shiftBy) {
|
|
60
|
-
e.preventDefault();
|
|
61
|
-
dp.setState({
|
|
62
|
-
hilightedDate: shiftMonth(dp.state.hilightedDate, shiftBy, true)
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @file Manages the month-picker view.
|
|
3
|
+
*/
|
|
4
|
+
import { Key } from '../lib/dom';
|
|
5
|
+
import { shiftMonth, setMonth } from '../lib/date-manip';
|
|
6
|
+
export default {
|
|
7
|
+
onKeyDown: keyDown,
|
|
8
|
+
onClick: {
|
|
9
|
+
'dp-month': onChooseMonth
|
|
10
|
+
},
|
|
11
|
+
render: render
|
|
12
|
+
};
|
|
13
|
+
function onChooseMonth(e, dp) {
|
|
14
|
+
dp.setState({
|
|
15
|
+
hilightedDate: setMonth(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-month'))),
|
|
16
|
+
view: 'day',
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* render renders the month picker as an HTML string
|
|
21
|
+
*
|
|
22
|
+
* @param {DatePickerContext} dp the date picker context
|
|
23
|
+
* @returns {string}
|
|
24
|
+
*/
|
|
25
|
+
function render(dp) {
|
|
26
|
+
var opts = dp.opts;
|
|
27
|
+
var lang = opts.lang;
|
|
28
|
+
var months = lang.months;
|
|
29
|
+
var currentDate = dp.state.hilightedDate;
|
|
30
|
+
var currentMonth = currentDate.getMonth();
|
|
31
|
+
return ('<div class="dp-months">' +
|
|
32
|
+
months.map(function (month, i) {
|
|
33
|
+
var className = 'dp-month';
|
|
34
|
+
className += (currentMonth === i ? ' dp-current' : '');
|
|
35
|
+
return ('<button tabindex="-1" type="button" class="' + className + '" data-month="' + i + '">' +
|
|
36
|
+
month +
|
|
37
|
+
'</button>');
|
|
38
|
+
}).join('') +
|
|
39
|
+
'</div>');
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* keyDown handles keydown events that occur in the month picker
|
|
43
|
+
*
|
|
44
|
+
* @param {Event} e
|
|
45
|
+
* @param {DatePickerContext} dp
|
|
46
|
+
*/
|
|
47
|
+
function keyDown(e, dp) {
|
|
48
|
+
var key = e.keyCode;
|
|
49
|
+
var shiftBy = (key === Key.left) ? -1 :
|
|
50
|
+
(key === Key.right) ? 1 :
|
|
51
|
+
(key === Key.up) ? -3 :
|
|
52
|
+
(key === Key.down) ? 3 :
|
|
53
|
+
0;
|
|
54
|
+
if (key === Key.esc) {
|
|
55
|
+
dp.setState({
|
|
56
|
+
view: 'day',
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
else if (shiftBy) {
|
|
60
|
+
e.preventDefault();
|
|
61
|
+
dp.setState({
|
|
62
|
+
hilightedDate: shiftMonth(dp.state.hilightedDate, shiftBy, true)
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Manages the year-picker view.
|
|
3
|
-
*/
|
|
4
|
-
declare const _default: {
|
|
5
|
-
render: typeof render;
|
|
6
|
-
onKeyDown: typeof keyDown;
|
|
7
|
-
onClick: {
|
|
8
|
-
'dp-year': typeof onChooseYear;
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export default _default;
|
|
12
|
-
/**
|
|
13
|
-
* view renders the year picker as an HTML string.
|
|
14
|
-
*
|
|
15
|
-
* @param {DatePickerContext} dp the date picker context
|
|
16
|
-
* @returns {string}
|
|
17
|
-
*/
|
|
18
|
-
declare function render(dp: any): string;
|
|
19
|
-
declare function onChooseYear(e: any, dp: any): void;
|
|
20
|
-
declare function keyDown(e: any, dp: any): void;
|
|
1
|
+
/**
|
|
2
|
+
* @file Manages the year-picker view.
|
|
3
|
+
*/
|
|
4
|
+
declare const _default: {
|
|
5
|
+
render: typeof render;
|
|
6
|
+
onKeyDown: typeof keyDown;
|
|
7
|
+
onClick: {
|
|
8
|
+
'dp-year': typeof onChooseYear;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
12
|
+
/**
|
|
13
|
+
* view renders the year picker as an HTML string.
|
|
14
|
+
*
|
|
15
|
+
* @param {DatePickerContext} dp the date picker context
|
|
16
|
+
* @returns {string}
|
|
17
|
+
*/
|
|
18
|
+
declare function render(dp: any): string;
|
|
19
|
+
declare function onChooseYear(e: any, dp: any): void;
|
|
20
|
+
declare function keyDown(e: any, dp: any): void;
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file Manages the year-picker view.
|
|
3
|
-
*/
|
|
4
|
-
import { Key } from '../lib/dom';
|
|
5
|
-
import { setYear, shiftYear, constrainDate } from '../lib/date-manip';
|
|
6
|
-
export default {
|
|
7
|
-
render: render,
|
|
8
|
-
onKeyDown: keyDown,
|
|
9
|
-
onClick: {
|
|
10
|
-
'dp-year': onChooseYear
|
|
11
|
-
},
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* view renders the year picker as an HTML string.
|
|
15
|
-
*
|
|
16
|
-
* @param {DatePickerContext} dp the date picker context
|
|
17
|
-
* @returns {string}
|
|
18
|
-
*/
|
|
19
|
-
function render(dp) {
|
|
20
|
-
var state = dp.state;
|
|
21
|
-
var currentYear = state.hilightedDate.getFullYear();
|
|
22
|
-
var selectedYear = state.selectedDate.getFullYear();
|
|
23
|
-
return ('<div class="dp-years">' +
|
|
24
|
-
mapYears(dp, function (year) {
|
|
25
|
-
var className = 'dp-year';
|
|
26
|
-
className += (year === currentYear ? ' dp-current' : '');
|
|
27
|
-
className += (year === selectedYear ? ' dp-selected' : '');
|
|
28
|
-
return ('<button tabindex="-1" type="button" class="' + className + '" data-year="' + year + '">' +
|
|
29
|
-
year +
|
|
30
|
-
'</button>');
|
|
31
|
-
}) +
|
|
32
|
-
'</div>');
|
|
33
|
-
}
|
|
34
|
-
function onChooseYear(e, dp) {
|
|
35
|
-
dp.setState({
|
|
36
|
-
hilightedDate: setYear(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-year'))),
|
|
37
|
-
view: 'day',
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
function keyDown(e, dp) {
|
|
41
|
-
var key = e.keyCode;
|
|
42
|
-
var opts = dp.opts;
|
|
43
|
-
var shiftBy = (key === Key.left || key === Key.up) ? 1 :
|
|
44
|
-
(key === Key.right || key === Key.down) ? -1 :
|
|
45
|
-
0;
|
|
46
|
-
if (key === Key.esc) {
|
|
47
|
-
dp.setState({
|
|
48
|
-
view: 'day',
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
else if (shiftBy) {
|
|
52
|
-
e.preventDefault();
|
|
53
|
-
var shiftedYear = shiftYear(dp.state.hilightedDate, shiftBy);
|
|
54
|
-
dp.setState({
|
|
55
|
-
hilightedDate: constrainDate(shiftedYear, opts.min, opts.max),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
function mapYears(dp, fn) {
|
|
60
|
-
var result = '';
|
|
61
|
-
var max = dp.opts.max.getFullYear();
|
|
62
|
-
for (var i = max; i >= dp.opts.min.getFullYear(); --i) {
|
|
63
|
-
result += fn(i);
|
|
64
|
-
}
|
|
65
|
-
return result;
|
|
66
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @file Manages the year-picker view.
|
|
3
|
+
*/
|
|
4
|
+
import { Key } from '../lib/dom';
|
|
5
|
+
import { setYear, shiftYear, constrainDate } from '../lib/date-manip';
|
|
6
|
+
export default {
|
|
7
|
+
render: render,
|
|
8
|
+
onKeyDown: keyDown,
|
|
9
|
+
onClick: {
|
|
10
|
+
'dp-year': onChooseYear
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* view renders the year picker as an HTML string.
|
|
15
|
+
*
|
|
16
|
+
* @param {DatePickerContext} dp the date picker context
|
|
17
|
+
* @returns {string}
|
|
18
|
+
*/
|
|
19
|
+
function render(dp) {
|
|
20
|
+
var state = dp.state;
|
|
21
|
+
var currentYear = state.hilightedDate.getFullYear();
|
|
22
|
+
var selectedYear = state.selectedDate.getFullYear();
|
|
23
|
+
return ('<div class="dp-years">' +
|
|
24
|
+
mapYears(dp, function (year) {
|
|
25
|
+
var className = 'dp-year';
|
|
26
|
+
className += (year === currentYear ? ' dp-current' : '');
|
|
27
|
+
className += (year === selectedYear ? ' dp-selected' : '');
|
|
28
|
+
return ('<button tabindex="-1" type="button" class="' + className + '" data-year="' + year + '">' +
|
|
29
|
+
year +
|
|
30
|
+
'</button>');
|
|
31
|
+
}) +
|
|
32
|
+
'</div>');
|
|
33
|
+
}
|
|
34
|
+
function onChooseYear(e, dp) {
|
|
35
|
+
dp.setState({
|
|
36
|
+
hilightedDate: setYear(dp.state.hilightedDate, parseInt(e.target.getAttribute('data-year'))),
|
|
37
|
+
view: 'day',
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function keyDown(e, dp) {
|
|
41
|
+
var key = e.keyCode;
|
|
42
|
+
var opts = dp.opts;
|
|
43
|
+
var shiftBy = (key === Key.left || key === Key.up) ? 1 :
|
|
44
|
+
(key === Key.right || key === Key.down) ? -1 :
|
|
45
|
+
0;
|
|
46
|
+
if (key === Key.esc) {
|
|
47
|
+
dp.setState({
|
|
48
|
+
view: 'day',
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else if (shiftBy) {
|
|
52
|
+
e.preventDefault();
|
|
53
|
+
var shiftedYear = shiftYear(dp.state.hilightedDate, shiftBy);
|
|
54
|
+
dp.setState({
|
|
55
|
+
hilightedDate: constrainDate(shiftedYear, opts.min, opts.max),
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function mapYears(dp, fn) {
|
|
60
|
+
var result = '';
|
|
61
|
+
var max = dp.opts.max.getFullYear();
|
|
62
|
+
for (var i = max; i >= dp.opts.min.getFullYear(); --i) {
|
|
63
|
+
result += fn(i);
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
66
|
+
}
|