@progress/kendo-vue-scheduler 3.2.10 → 3.3.0-dev.202205091534
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/dist/cdn/js/kendo-vue-scheduler.js +2 -2
- package/dist/es/Scheduler.js +11 -9
- package/dist/es/components/SchedulerForm.d.ts +1 -0
- package/dist/es/components/SchedulerForm.js +16 -2
- package/dist/es/components/SchedulerOccurrenceDialog.js +17 -1
- package/dist/es/components/SchedulerRemoveDialog.js +18 -2
- package/dist/es/editors/ZonedDateTime.js +5 -1
- package/dist/es/hooks/use-items-focus.d.ts +1 -0
- package/dist/es/hooks/use-items-focus.js +18 -1
- package/dist/es/items/SchedulerEditItem.js +39 -86
- package/dist/es/items/SchedulerItem.js +57 -73
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/slots/SchedulerEditSlot.js +20 -8
- package/dist/es/slots/SchedulerViewSlot.js +2 -2
- package/dist/es/tasks/SchedulerEditTask.js +3 -2
- package/dist/es/utils/index.d.ts +8 -0
- package/dist/es/utils/index.js +32 -12
- package/dist/es/views/common/SchedulerDrag.js +39 -48
- package/dist/es/views/common/SchedulerResize.js +39 -42
- package/dist/npm/Scheduler.js +12 -9
- package/dist/npm/components/SchedulerForm.d.ts +1 -0
- package/dist/npm/components/SchedulerForm.js +15 -1
- package/dist/npm/components/SchedulerOccurrenceDialog.js +18 -1
- package/dist/npm/components/SchedulerRemoveDialog.js +19 -2
- package/dist/npm/editors/ZonedDateTime.js +5 -1
- package/dist/npm/hooks/use-items-focus.d.ts +1 -0
- package/dist/npm/hooks/use-items-focus.js +17 -0
- package/dist/npm/items/SchedulerEditItem.js +34 -81
- package/dist/npm/items/SchedulerItem.js +57 -73
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/slots/SchedulerEditSlot.js +19 -6
- package/dist/npm/slots/SchedulerViewSlot.js +2 -2
- package/dist/npm/tasks/SchedulerEditTask.js +3 -2
- package/dist/npm/utils/index.d.ts +8 -0
- package/dist/npm/utils/index.js +33 -13
- package/dist/npm/views/common/SchedulerDrag.js +39 -48
- package/dist/npm/views/common/SchedulerResize.js +39 -42
- package/package.json +12 -12
package/dist/es/Scheduler.js
CHANGED
|
@@ -49,6 +49,7 @@ import { validatePackage } from '@progress/kendo-vue-common';
|
|
|
49
49
|
import { packageMetadata } from './package-metadata';
|
|
50
50
|
import { AgendaView, MonthView, WeekView, WorkWeekView } from './main';
|
|
51
51
|
import { TimelineView } from './views/time/TimelineView';
|
|
52
|
+
import { useEditable } from './hooks';
|
|
52
53
|
var DEFAULT_DATE_FORMAT = '{0:D}';
|
|
53
54
|
var DEFAULT_SHORT_DATE_FORMAT = '{0:d}';
|
|
54
55
|
/**
|
|
@@ -142,6 +143,9 @@ var SchedulerVue2 = {
|
|
|
142
143
|
},
|
|
143
144
|
fields: function fields() {
|
|
144
145
|
return getModelFields(this.$props.modelFields).fields;
|
|
146
|
+
},
|
|
147
|
+
currentEditable: function currentEditable() {
|
|
148
|
+
return useEditable(this.$props.editable);
|
|
145
149
|
}
|
|
146
150
|
},
|
|
147
151
|
provide: function provide() {
|
|
@@ -174,8 +178,8 @@ var SchedulerVue2 = {
|
|
|
174
178
|
date: currentDate,
|
|
175
179
|
timezone: this.$props.timezone,
|
|
176
180
|
numberOfDays: this.getViewPropValue(view, 'numberOfDays', activeViewName),
|
|
177
|
-
workWeekStart: view
|
|
178
|
-
workWeekEnd: view
|
|
181
|
+
workWeekStart: this.getViewPropValue(view, 'workWeekStart', activeViewName) || this.intl.firstDay(),
|
|
182
|
+
workWeekEnd: this.getViewPropValue(view, 'workWeekEnd', activeViewName) || (this.intl.firstDay() + this.getViewPropValue(view, 'numberOfDays', activeViewName)) % 6
|
|
179
183
|
});
|
|
180
184
|
return {
|
|
181
185
|
ks: {
|
|
@@ -197,9 +201,6 @@ var SchedulerVue2 = {
|
|
|
197
201
|
}
|
|
198
202
|
};
|
|
199
203
|
},
|
|
200
|
-
mounted: function mounted() {
|
|
201
|
-
this.ks.scheduler = this.$el;
|
|
202
|
-
},
|
|
203
204
|
watch: {
|
|
204
205
|
view: function view(newName) {
|
|
205
206
|
this.updatePassedState(newName);
|
|
@@ -260,7 +261,8 @@ var SchedulerVue2 = {
|
|
|
260
261
|
viewItem: viewItem,
|
|
261
262
|
task: task,
|
|
262
263
|
dateHeaderCell: dateHeaderCell,
|
|
263
|
-
timeHeaderCell: timeHeaderCell
|
|
264
|
+
timeHeaderCell: timeHeaderCell,
|
|
265
|
+
editable: this.currentEditable
|
|
264
266
|
});
|
|
265
267
|
|
|
266
268
|
var headerRender;
|
|
@@ -554,12 +556,12 @@ var SchedulerVue2 = {
|
|
|
554
556
|
this.$emit('viewchange', __assign(__assign({
|
|
555
557
|
viewName: newView
|
|
556
558
|
}, event), {
|
|
557
|
-
target: this.ks.scheduler
|
|
559
|
+
target: this.ks.scheduler.$el
|
|
558
560
|
}));
|
|
559
561
|
},
|
|
560
562
|
handleDateChange: function handleDateChange(newDate, event) {
|
|
561
563
|
this.setDate(newDate, __assign(__assign({}, event), {
|
|
562
|
-
target: this.ks.scheduler
|
|
564
|
+
target: this.ks.scheduler.$el
|
|
563
565
|
}));
|
|
564
566
|
},
|
|
565
567
|
handleDatePickerChange: function handleDatePickerChange(event) {
|
|
@@ -568,7 +570,7 @@ var SchedulerVue2 = {
|
|
|
568
570
|
}
|
|
569
571
|
|
|
570
572
|
this.setDate(event.value, __assign(__assign({}, event), {
|
|
571
|
-
target: this.ks.scheduler,
|
|
573
|
+
target: this.ks.scheduler.$el,
|
|
572
574
|
nativeEvent: event.event
|
|
573
575
|
}));
|
|
574
576
|
},
|
|
@@ -26,7 +26,7 @@ import { provideLocalizationService } from '@progress/kendo-vue-intl';
|
|
|
26
26
|
import { SchedulerFormEditor } from '../editors/SchedulerFormEditor'; // import { useSchedulerFieldsContext } from '../context';
|
|
27
27
|
|
|
28
28
|
import { messages, editorValidationRequired, editorValidationStart, editorValidationEnd, editorSave, editorCancel, editorTitle } from '../messages';
|
|
29
|
-
import { getTemplate } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length
|
|
29
|
+
import { getTemplate, guid } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length
|
|
30
30
|
|
|
31
31
|
var SchedulerFormVue2 = {
|
|
32
32
|
name: 'KendoSchedulerForm',
|
|
@@ -53,6 +53,19 @@ var SchedulerFormVue2 = {
|
|
|
53
53
|
default: null
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
+
created: function created() {
|
|
57
|
+
this.dialogId = guid();
|
|
58
|
+
},
|
|
59
|
+
mounted: function mounted() {
|
|
60
|
+
var that = this;
|
|
61
|
+
setTimeout(function () {
|
|
62
|
+
var dialogWrapper = document.getElementById(that.dialogId);
|
|
63
|
+
|
|
64
|
+
if (dialogWrapper) {
|
|
65
|
+
dialogWrapper.focus();
|
|
66
|
+
}
|
|
67
|
+
}, 10);
|
|
68
|
+
},
|
|
56
69
|
// @ts-ignore
|
|
57
70
|
setup: !gh ? undefined : function () {
|
|
58
71
|
var v3 = !!gh;
|
|
@@ -119,7 +132,8 @@ var SchedulerFormVue2 = {
|
|
|
119
132
|
var dialogProps = __assign({
|
|
120
133
|
title: editorTitleMessage,
|
|
121
134
|
appendTo: 'body',
|
|
122
|
-
minWidth: 600
|
|
135
|
+
minWidth: 600,
|
|
136
|
+
wrapperId: this.dialogId
|
|
123
137
|
}, this.ks.dialogProps);
|
|
124
138
|
|
|
125
139
|
var formProps = __assign({
|
|
@@ -6,6 +6,7 @@ var inject = allVue.inject;
|
|
|
6
6
|
import { Dialog, DialogActionsBar } from '@progress/kendo-vue-dialogs';
|
|
7
7
|
import { provideLocalizationService } from '@progress/kendo-vue-intl';
|
|
8
8
|
import { messages, editorOccurrence, editorSeries, editorRecurringConfirmation, editorRecurringDialogTitle, deleteOccurrence, deleteSeries, deleteRecurringDialogTitle, deleteRecurringConfirmation } from '../messages';
|
|
9
|
+
import { guid } from '@progress/kendo-vue-common';
|
|
9
10
|
import { Button } from '@progress/kendo-vue-buttons'; // tslint:enable:max-line-length
|
|
10
11
|
|
|
11
12
|
var SchedulerOccurrenceDialogVue2 = {
|
|
@@ -19,6 +20,19 @@ var SchedulerOccurrenceDialogVue2 = {
|
|
|
19
20
|
default: null
|
|
20
21
|
}
|
|
21
22
|
},
|
|
23
|
+
created: function created() {
|
|
24
|
+
this.dialogId = guid();
|
|
25
|
+
},
|
|
26
|
+
mounted: function mounted() {
|
|
27
|
+
var that = this;
|
|
28
|
+
setTimeout(function () {
|
|
29
|
+
var dialogWrapper = document.getElementById(that.dialogId);
|
|
30
|
+
|
|
31
|
+
if (dialogWrapper) {
|
|
32
|
+
dialogWrapper.focus();
|
|
33
|
+
}
|
|
34
|
+
}, 10);
|
|
35
|
+
},
|
|
22
36
|
// @ts-ignore
|
|
23
37
|
setup: !gh ? undefined : function () {
|
|
24
38
|
var v3 = !!gh;
|
|
@@ -57,9 +71,11 @@ var SchedulerOccurrenceDialogVue2 = {
|
|
|
57
71
|
title: titleMessage,
|
|
58
72
|
attrs: this.v3 ? undefined : {
|
|
59
73
|
title: titleMessage,
|
|
60
|
-
appendTo: 'body'
|
|
74
|
+
appendTo: 'body',
|
|
75
|
+
wrapperId: this.dialogId
|
|
61
76
|
},
|
|
62
77
|
appendTo: 'body',
|
|
78
|
+
wrapperId: this.dialogId,
|
|
63
79
|
onClose: this.handleClose,
|
|
64
80
|
on: this.v3 ? undefined : {
|
|
65
81
|
"close": this.handleClose
|
|
@@ -6,7 +6,8 @@ var inject = allVue.inject;
|
|
|
6
6
|
import { DialogActionsBar, Dialog } from '@progress/kendo-vue-dialogs';
|
|
7
7
|
import { provideLocalizationService } from '@progress/kendo-vue-intl';
|
|
8
8
|
import { messages, editorCancel, deleteConfirmation, editorDelete, deleteDialogTitle } from '../messages';
|
|
9
|
-
import { Button } from '@progress/kendo-vue-buttons';
|
|
9
|
+
import { Button } from '@progress/kendo-vue-buttons';
|
|
10
|
+
import { guid } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length
|
|
10
11
|
|
|
11
12
|
var SchedulerRemoveDialogVue2 = {
|
|
12
13
|
name: 'KendoSchedulerRemoveDialog',
|
|
@@ -18,6 +19,19 @@ var SchedulerRemoveDialogVue2 = {
|
|
|
18
19
|
default: null
|
|
19
20
|
}
|
|
20
21
|
},
|
|
22
|
+
created: function created() {
|
|
23
|
+
this.dialogId = guid();
|
|
24
|
+
},
|
|
25
|
+
mounted: function mounted() {
|
|
26
|
+
var that = this;
|
|
27
|
+
setTimeout(function () {
|
|
28
|
+
var dialogWrapper = document.getElementById(that.dialogId);
|
|
29
|
+
|
|
30
|
+
if (dialogWrapper) {
|
|
31
|
+
dialogWrapper.focus();
|
|
32
|
+
}
|
|
33
|
+
}, 10);
|
|
34
|
+
},
|
|
21
35
|
// @ts-ignore
|
|
22
36
|
setup: !gh ? undefined : function () {
|
|
23
37
|
var v3 = !!gh;
|
|
@@ -42,9 +56,11 @@ var SchedulerRemoveDialogVue2 = {
|
|
|
42
56
|
title: deleteDialogTitleMessage,
|
|
43
57
|
attrs: this.v3 ? undefined : {
|
|
44
58
|
title: deleteDialogTitleMessage,
|
|
45
|
-
appendTo: 'body'
|
|
59
|
+
appendTo: 'body',
|
|
60
|
+
wrapperId: this.dialogId
|
|
46
61
|
},
|
|
47
62
|
appendTo: 'body',
|
|
63
|
+
wrapperId: this.dialogId,
|
|
48
64
|
onClose: this.handleClose,
|
|
49
65
|
on: this.v3 ? undefined : {
|
|
50
66
|
"close": this.handleClose
|
|
@@ -37,6 +37,10 @@ import { ZonedDate, toLocalDate } from '@progress/kendo-date-math'; // tslint:en
|
|
|
37
37
|
|
|
38
38
|
var ZonedDateTimeVue2 = {
|
|
39
39
|
name: 'KendoZonedDateTime',
|
|
40
|
+
// @ts-ignore
|
|
41
|
+
emits: {
|
|
42
|
+
change: null
|
|
43
|
+
},
|
|
40
44
|
props: __assign(__assign({}, DateTimePicker.props), {
|
|
41
45
|
value: [String, Date],
|
|
42
46
|
isAllDay: Boolean,
|
|
@@ -65,7 +69,7 @@ var ZonedDateTimeVue2 = {
|
|
|
65
69
|
var timezone = this.ks.timezone;
|
|
66
70
|
|
|
67
71
|
var dtpProps = __assign(__assign({}, other), {
|
|
68
|
-
format: this.isAllDay ? 'd' : '
|
|
72
|
+
format: this.isAllDay ? 'd' : 'g',
|
|
69
73
|
value: this.readDateAsLocal(other.value, timezone)
|
|
70
74
|
});
|
|
71
75
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { findNextItem } from '../utils';
|
|
1
|
+
import { findCurrentItem, findNextItem } from '../utils';
|
|
2
2
|
/**
|
|
3
3
|
* Represents the available `action` types for the `SchedulerItemsFocusAction` objects.
|
|
4
4
|
*
|
|
@@ -10,6 +10,7 @@ import { findNextItem } from '../utils';
|
|
|
10
10
|
export var ITEMS_FOCUS_ACTION;
|
|
11
11
|
|
|
12
12
|
(function (ITEMS_FOCUS_ACTION) {
|
|
13
|
+
ITEMS_FOCUS_ACTION["current"] = "ITEMS_FOCUS_CURRENT";
|
|
13
14
|
ITEMS_FOCUS_ACTION["next"] = "ITEMS_FOCUS_NEXT";
|
|
14
15
|
ITEMS_FOCUS_ACTION["prev"] = "ITEMS_FOCUS_PREV";
|
|
15
16
|
})(ITEMS_FOCUS_ACTION || (ITEMS_FOCUS_ACTION = {}));
|
|
@@ -18,6 +19,22 @@ export var ITEMS_FOCUS_ACTION;
|
|
|
18
19
|
|
|
19
20
|
export var dispatchFocusedItems = function dispatchFocusedItems(action, event) {
|
|
20
21
|
switch (action.type) {
|
|
22
|
+
case ITEMS_FOCUS_ACTION.current:
|
|
23
|
+
{
|
|
24
|
+
if (!action.item || !this.bv.items) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var next = findCurrentItem(action.item, this.bv.items, action.ignoreIsAllDay);
|
|
29
|
+
|
|
30
|
+
if (next && next.element) {
|
|
31
|
+
event.preventDefault();
|
|
32
|
+
next.element.focus();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
|
|
21
38
|
case ITEMS_FOCUS_ACTION.next:
|
|
22
39
|
{
|
|
23
40
|
if (!action.item || !this.bv.items) {
|
|
@@ -22,16 +22,16 @@ var inject = allVue.inject;
|
|
|
22
22
|
import { DATA_ACTION } from '../Scheduler';
|
|
23
23
|
import { clone, Keys, getDefaultSlots, getTemplate } from '@progress/kendo-vue-common';
|
|
24
24
|
import { SchedulerViewItem } from './SchedulerViewItem';
|
|
25
|
-
import { ITEMS_FOCUS_ACTION, SLOTS_FOCUS_ACTION
|
|
25
|
+
import { ITEMS_FOCUS_ACTION, SLOTS_FOCUS_ACTION } from '../hooks';
|
|
26
26
|
import { FORM_ITEM_ACTION } from './hooks/use-form-item';
|
|
27
|
-
import { showOccurrenceDialogReducer, SHOW_OCCURRENCE_DIALOG_ACTION
|
|
27
|
+
import { showOccurrenceDialogReducer, SHOW_OCCURRENCE_DIALOG_ACTION } from './hooks/use-show-occurrence-dialog';
|
|
28
28
|
import { REMOVE_ITEM_ACTION } from './hooks/use-remove-item';
|
|
29
|
-
import { showRemoveDialogReducer, SHOW_REMOVE_DIALOG_ACTION
|
|
29
|
+
import { showRemoveDialogReducer, SHOW_REMOVE_DIALOG_ACTION } from './hooks/use-show-remove-item-dialog';
|
|
30
30
|
import { DRAG_ITEM_ACTION, useDragItem } from './hooks/use-drag-item';
|
|
31
31
|
import { RESIZE_ITEM_ACTION, useResizeItem } from './hooks/use-resize-item';
|
|
32
|
-
import { seriesReducer, SERIES_ACTION
|
|
32
|
+
import { seriesReducer, SERIES_ACTION } from './hooks/use-series';
|
|
33
33
|
import { ITEMS_SELECT_ACTION } from '../hooks/use-items-selection';
|
|
34
|
-
import { compareItems, findMaster } from '../utils'; // tslint:enable:max-line-length
|
|
34
|
+
import { compareItems, compareSlots, findMaster } from '../utils'; // tslint:enable:max-line-length
|
|
35
35
|
|
|
36
36
|
var SchedulerEditItemVue2 = {
|
|
37
37
|
name: 'KendoSchedulerEditItem',
|
|
@@ -196,77 +196,6 @@ var SchedulerEditItemVue2 = {
|
|
|
196
196
|
var h = gh || createElement;
|
|
197
197
|
var defaultSlot = getDefaultSlots(this); // tslint:enable:max-line-length
|
|
198
198
|
|
|
199
|
-
var _a = this.$props,
|
|
200
|
-
onDataaction = _a.onDataaction,
|
|
201
|
-
ignoreIsAllDay = _a.ignoreIsAllDay,
|
|
202
|
-
propViewItem = _a.viewItem,
|
|
203
|
-
propSeries = _a.series,
|
|
204
|
-
onSeriesChange = _a.onSeriesChange,
|
|
205
|
-
propForm = _a.form,
|
|
206
|
-
propFormItem = _a.formItem,
|
|
207
|
-
onFormItemChange = _a.onFormItemChange,
|
|
208
|
-
propDrag = _a.drag,
|
|
209
|
-
propDragItem = _a.dragItem,
|
|
210
|
-
onDragItemChange = _a.onDragItemChange,
|
|
211
|
-
propResize = _a.resize,
|
|
212
|
-
propResizeItem = _a.resizeItem,
|
|
213
|
-
onResizeItemChange = _a.onResizeItemChange,
|
|
214
|
-
propRemoveDialog = _a.removeDialog,
|
|
215
|
-
propRemoveItem = _a.removeItem,
|
|
216
|
-
onRemoveItemChange = _a.onRemoveItemChange,
|
|
217
|
-
propOccurrenceDialog = _a.occurrenceDialog,
|
|
218
|
-
propShowOccurrenceDialog = _a.showOccurrenceDialog,
|
|
219
|
-
onShowOccurrenceDialogChange = _a.onShowOccurrenceDialogChange,
|
|
220
|
-
propShowRemoveDialog = _a.showRemoveDialog,
|
|
221
|
-
onShowRemoveDialogChange = _a.onShowRemoveDialogChange; // const editItem = React.useRef<SchedulerEditItemHandle>(null);
|
|
222
|
-
// const item = React.useRef<SchedulerItemHandle>(null);
|
|
223
|
-
|
|
224
|
-
var ViewItem = propViewItem;
|
|
225
|
-
var Drag = propDrag;
|
|
226
|
-
var Resize = propResize;
|
|
227
|
-
var Form = propForm;
|
|
228
|
-
var OccurrenceDialog = propOccurrenceDialog;
|
|
229
|
-
var RemoveDialog = propRemoveDialog;
|
|
230
|
-
var editable = useEditable(this.$props.editable); // const [selectedItems, dispatchItemSelection] = useSchedulerViewSelectedItemsContext();
|
|
231
|
-
|
|
232
|
-
var _b = useSeries(null, propSeries, onSeriesChange),
|
|
233
|
-
series = _b[0],
|
|
234
|
-
dispatchSeries = _b[1]; // const [formItem, setFormItem, dispatchFormItem] = useFormItem(
|
|
235
|
-
// { series, onDataaction},
|
|
236
|
-
// [null, propFormItem, onFormItemChange]
|
|
237
|
-
// );
|
|
238
|
-
// const [dragItem, setDragItem, dispatchDragItem] = useDragItem(
|
|
239
|
-
// {
|
|
240
|
-
// dataItem: this.$props.dataItem,
|
|
241
|
-
// ignoreIsAllDay: this.$props.ignoreIsAllDay,
|
|
242
|
-
// isAllDay: this.$props.isAllDay,
|
|
243
|
-
// onDataaction },
|
|
244
|
-
// [null, propDragItem, onDragItemChange]
|
|
245
|
-
// );
|
|
246
|
-
// const [resizeItem, setResizeItem, dispatchResizeItem] = useResizeItem(
|
|
247
|
-
// { dataItem: this.$props.dataItem, onDataaction },
|
|
248
|
-
// [null, propResizeItem, onResizeItemChange]
|
|
249
|
-
// );
|
|
250
|
-
// const [removeItem, setRemoveItem, dispatchRemoveItem] = useRemoveItem(
|
|
251
|
-
// { series, onDataaction},
|
|
252
|
-
// [null, propRemoveItem, onRemoveItemChange]
|
|
253
|
-
// );
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
var _c = useShowRemoveDialog(false, propShowRemoveDialog, onShowRemoveDialogChange),
|
|
257
|
-
showRemoveDialog = _c[0],
|
|
258
|
-
setShowRemoveDialog = _c[1],
|
|
259
|
-
dispatchShowRemoveDialog = _c[2];
|
|
260
|
-
|
|
261
|
-
var _d = useShowOccurrenceDialog(false, propShowOccurrenceDialog, onShowOccurrenceDialogChange),
|
|
262
|
-
showOccurrenceDialog = _d[0],
|
|
263
|
-
setShowOccurrenceDialog = _d[1],
|
|
264
|
-
dispatchShowOccurrenceDialog = _d[2];
|
|
265
|
-
|
|
266
|
-
var items = this.bv.items; // useSchedulerViewItemsContext();
|
|
267
|
-
// const [,dispatchViewItemsFocus] = useSchedulerViewFocusedItemsContext();
|
|
268
|
-
// const [,dispatchViewSlotsFocus] = useSchedulerViewFocusedSlotsContext();
|
|
269
|
-
|
|
270
199
|
var selected = Boolean(this.bv.selectedItems && this.bv.selectedItems.some(function (si) {
|
|
271
200
|
return compareItems(si, _this, _this.ignoreIsAllDay);
|
|
272
201
|
}));
|
|
@@ -314,8 +243,7 @@ var SchedulerEditItemVue2 = {
|
|
|
314
243
|
formItem: this.compFormItem,
|
|
315
244
|
dragItem: this.compDragItem,
|
|
316
245
|
resizeItem: this.compResizeItem,
|
|
317
|
-
removeItem: this.compRemoveItem
|
|
318
|
-
,
|
|
246
|
+
removeItem: this.compRemoveItem,
|
|
319
247
|
itemRef: this.item,
|
|
320
248
|
selected: selected,
|
|
321
249
|
tabIndex: this.currentTabIndex // Keyboard
|
|
@@ -1084,6 +1012,8 @@ var SchedulerEditItemVue2 = {
|
|
|
1084
1012
|
}
|
|
1085
1013
|
},
|
|
1086
1014
|
onKeyDownAction: function onKeyDownAction(event, props) {
|
|
1015
|
+
var nextSlot;
|
|
1016
|
+
|
|
1087
1017
|
switch (event.event.keyCode) {
|
|
1088
1018
|
case Keys.enter:
|
|
1089
1019
|
return [{
|
|
@@ -1103,27 +1033,50 @@ var SchedulerEditItemVue2 = {
|
|
|
1103
1033
|
}];
|
|
1104
1034
|
|
|
1105
1035
|
case Keys.up:
|
|
1106
|
-
|
|
1036
|
+
nextSlot = this.bv.slots.find(function (s) {
|
|
1037
|
+
return compareSlots(s, props.slots[0]);
|
|
1038
|
+
});
|
|
1039
|
+
return [Boolean(props.slots.length && nextSlot) && {
|
|
1107
1040
|
type: SLOTS_FOCUS_ACTION.up,
|
|
1108
|
-
slot:
|
|
1041
|
+
slot: nextSlot
|
|
1109
1042
|
}];
|
|
1110
1043
|
|
|
1111
1044
|
case Keys.right:
|
|
1112
|
-
|
|
1045
|
+
nextSlot = this.bv.slots.find(function (s) {
|
|
1046
|
+
return compareSlots(s, props.slots[0]);
|
|
1047
|
+
});
|
|
1048
|
+
return [Boolean(props.slots.length && nextSlot) && {
|
|
1113
1049
|
type: SLOTS_FOCUS_ACTION.right,
|
|
1114
|
-
slot:
|
|
1050
|
+
slot: nextSlot
|
|
1115
1051
|
}];
|
|
1116
1052
|
|
|
1117
1053
|
case Keys.down:
|
|
1118
|
-
|
|
1054
|
+
nextSlot = this.bv.slots.find(function (s) {
|
|
1055
|
+
return compareSlots(s, props.slots[props.slots.length - 1]);
|
|
1056
|
+
});
|
|
1057
|
+
return [Boolean(props.slots.length && nextSlot) && {
|
|
1119
1058
|
type: SLOTS_FOCUS_ACTION.down,
|
|
1120
|
-
slot:
|
|
1059
|
+
slot: nextSlot
|
|
1121
1060
|
}];
|
|
1122
1061
|
|
|
1123
1062
|
case Keys.left:
|
|
1124
|
-
|
|
1063
|
+
nextSlot = this.bv.slots.find(function (s) {
|
|
1064
|
+
return compareSlots(s, props.slots[0]);
|
|
1065
|
+
});
|
|
1066
|
+
return [Boolean(props.slots.length && nextSlot) && {
|
|
1125
1067
|
type: SLOTS_FOCUS_ACTION.left,
|
|
1126
|
-
slot:
|
|
1068
|
+
slot: nextSlot
|
|
1069
|
+
}];
|
|
1070
|
+
|
|
1071
|
+
case Keys.delete:
|
|
1072
|
+
case Keys.backspace:
|
|
1073
|
+
return [{
|
|
1074
|
+
type: REMOVE_ITEM_ACTION.set,
|
|
1075
|
+
payload: props.dataItem
|
|
1076
|
+
}, props.isRecurring ? {
|
|
1077
|
+
type: SHOW_OCCURRENCE_DIALOG_ACTION.open
|
|
1078
|
+
} : {
|
|
1079
|
+
type: SHOW_REMOVE_DIALOG_ACTION.open
|
|
1127
1080
|
}];
|
|
1128
1081
|
|
|
1129
1082
|
default:
|