@progress/kendo-vue-scheduler 3.2.9 → 3.3.0-dev.202205080814
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 +2 -2
- 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/hooks/use-items-focus.d.ts +1 -0
- package/dist/es/hooks/use-items-focus.js +18 -1
- package/dist/es/items/SchedulerEditItem.js +34 -9
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/slots/SchedulerEditSlot.js +20 -8
- package/dist/es/utils/index.d.ts +8 -0
- package/dist/es/utils/index.js +32 -12
- package/dist/npm/Scheduler.js +2 -2
- 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/hooks/use-items-focus.d.ts +1 -0
- package/dist/npm/hooks/use-items-focus.js +17 -0
- package/dist/npm/items/SchedulerEditItem.js +33 -8
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/slots/SchedulerEditSlot.js +19 -6
- package/dist/npm/utils/index.d.ts +8 -0
- package/dist/npm/utils/index.js +33 -13
- package/package.json +12 -12
|
@@ -21,7 +21,9 @@ var SchedulerViewSlot_1 = require("./SchedulerViewSlot");
|
|
|
21
21
|
|
|
22
22
|
var hooks_1 = require("../hooks");
|
|
23
23
|
|
|
24
|
-
var use_slots_selection_1 = require("../hooks/use-slots-selection");
|
|
24
|
+
var use_slots_selection_1 = require("../hooks/use-slots-selection");
|
|
25
|
+
|
|
26
|
+
var main_1 = require("../main"); // tslint:enable:max-line-length
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
var SchedulerEditSlotVue2 = {
|
|
@@ -79,6 +81,12 @@ var SchedulerEditSlotVue2 = {
|
|
|
79
81
|
ks: {
|
|
80
82
|
default: null
|
|
81
83
|
},
|
|
84
|
+
dispatchSelectedItems: {
|
|
85
|
+
default: null
|
|
86
|
+
},
|
|
87
|
+
dispatchFocusedItems: {
|
|
88
|
+
default: null
|
|
89
|
+
},
|
|
82
90
|
dispatchFocusedSlots: {
|
|
83
91
|
default: null
|
|
84
92
|
},
|
|
@@ -323,7 +331,16 @@ var SchedulerEditSlotVue2 = {
|
|
|
323
331
|
break;
|
|
324
332
|
|
|
325
333
|
case kendo_vue_common_1.Keys.tab:
|
|
326
|
-
|
|
334
|
+
var fi = utils_1.findFirstItem(event.target);
|
|
335
|
+
nextItem = fi ? utils_1.findCurrentItem(fi, this.bv.items, false) : utils_1.getSortedSlots(this.bv.items, this.ignoreIsAllDay)[0];
|
|
336
|
+
this.dispatchFocusedItems({
|
|
337
|
+
type: hooks_1.ITEMS_FOCUS_ACTION.current,
|
|
338
|
+
item: nextItem
|
|
339
|
+
}, event.event);
|
|
340
|
+
this.dispatchSelectedItems({
|
|
341
|
+
type: main_1.ITEMS_SELECT_ACTION.select,
|
|
342
|
+
item: nextItem
|
|
343
|
+
}, event);
|
|
327
344
|
break;
|
|
328
345
|
|
|
329
346
|
default:
|
|
@@ -332,10 +349,6 @@ var SchedulerEditSlotVue2 = {
|
|
|
332
349
|
|
|
333
350
|
if (nextItem) {
|
|
334
351
|
event.event.preventDefault();
|
|
335
|
-
|
|
336
|
-
if (nextItem.element) {
|
|
337
|
-
nextItem.element.focus();
|
|
338
|
-
}
|
|
339
352
|
}
|
|
340
353
|
},
|
|
341
354
|
handleEditFormSubmit: function handleEditFormSubmit(event) {
|
|
@@ -166,9 +166,17 @@ export declare const noop: (..._args: any) => void;
|
|
|
166
166
|
export declare const findFirstItem: (current: any) => SchedulerItemHandle | null;
|
|
167
167
|
/** @hidden */
|
|
168
168
|
export declare const compareItems: (f: any, s: any, ignoreIsAllDay?: boolean) => boolean;
|
|
169
|
+
export declare const getSortedSlots: (all: any[], ignoreIsAllDay: boolean) => any[];
|
|
169
170
|
/** @hidden */
|
|
170
171
|
export declare const compareSlots: (f: any, s: any) => boolean;
|
|
171
172
|
/** @hidden */
|
|
173
|
+
export declare const getCurrentItemIndex: (ref: any, all: any, ignoreIsAllDay?: boolean | undefined) => {
|
|
174
|
+
currentIndex: number;
|
|
175
|
+
sorted: any[];
|
|
176
|
+
};
|
|
177
|
+
/** @hidden */
|
|
178
|
+
export declare const findCurrentItem: (ref: any, all: any, ignoreIsAllDay?: boolean | undefined) => any;
|
|
179
|
+
/** @hidden */
|
|
172
180
|
export declare const findNextItem: (ref: any, all: any, ignoreIsAllDay?: boolean | undefined, backwards?: boolean) => any;
|
|
173
181
|
/**
|
|
174
182
|
* @hidden
|
package/dist/npm/utils/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __spreadArrays = (this && this.__spreadArrays) || function () {
|
|
|
18
18
|
return r;
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.orderSort = exports.findNextItem = exports.compareSlots = exports.compareItems = exports.findFirstItem = exports.noop = exports.mapItemsToSlots = exports.mapSlotsToItems = exports.calculateOrder = exports.findMissing = exports.shallowCompare = exports.extractResources = exports.extractResourceFields = exports.extractGroups = exports.setTime = exports.isNullOrEmptyString = exports.isBlank = exports.generateResourceFields = exports.toSchedulerResources = exports.toSchedulerGroups = exports.isInTimeRange = exports.getModelFields = exports.defaultModelFields = exports.roundAllDayEnd = exports.intersects = exports.isException = exports.buildException = exports.isMaster = exports.findMaster = exports.groupResources = exports.isRecurring = exports.isRecurringException = exports.toInvariantTime = exports.toUTCDateTime = exports.getUTCDate = exports.toUTCDate = exports.isRecurringMaster = exports.isPresent = exports.assignFields = exports.assignField = exports.setField = exports.getField = exports.slotDive = exports.getToday = exports.dateWithTime = exports.addUTCDays = exports.formatEventTime = exports.isGroupped = exports.isMultiDay = exports.last = exports.first = exports.COLLECTION_ACTION = void 0;
|
|
21
|
+
exports.orderSort = exports.findNextItem = exports.findCurrentItem = exports.getCurrentItemIndex = exports.compareSlots = exports.getSortedSlots = exports.compareItems = exports.findFirstItem = exports.noop = exports.mapItemsToSlots = exports.mapSlotsToItems = exports.calculateOrder = exports.findMissing = exports.shallowCompare = exports.extractResources = exports.extractResourceFields = exports.extractGroups = exports.setTime = exports.isNullOrEmptyString = exports.isBlank = exports.generateResourceFields = exports.toSchedulerResources = exports.toSchedulerGroups = exports.isInTimeRange = exports.getModelFields = exports.defaultModelFields = exports.roundAllDayEnd = exports.intersects = exports.isException = exports.buildException = exports.isMaster = exports.findMaster = exports.groupResources = exports.isRecurring = exports.isRecurringException = exports.toInvariantTime = exports.toUTCDateTime = exports.getUTCDate = exports.toUTCDate = exports.isRecurringMaster = exports.isPresent = exports.assignFields = exports.assignField = exports.setField = exports.getField = exports.slotDive = exports.getToday = exports.dateWithTime = exports.addUTCDays = exports.formatEventTime = exports.isGroupped = exports.isMultiDay = exports.last = exports.first = exports.COLLECTION_ACTION = void 0;
|
|
22
22
|
var kendo_date_math_1 = require("@progress/kendo-date-math");
|
|
23
23
|
var utils_1 = require("../views/common/utils");
|
|
24
24
|
var kendo_vue_common_1 = require("@progress/kendo-vue-common");
|
|
@@ -545,6 +545,16 @@ exports.compareItems = function (f, s, ignoreIsAllDay) { return Boolean(f.uid ==
|
|
|
545
545
|
&& (f.group.index === s.group.index)
|
|
546
546
|
&& (f.range.index === s.range.index)
|
|
547
547
|
&& (ignoreIsAllDay || f.isAllDay === s.isAllDay)); };
|
|
548
|
+
exports.getSortedSlots = function (all, ignoreIsAllDay) {
|
|
549
|
+
var filtered = all.filter(function (i) { return i.element !== null; });
|
|
550
|
+
var sorted = kendo_data_query_1.orderBy(filtered, [
|
|
551
|
+
{ field: 'group.index', dir: 'asc' },
|
|
552
|
+
{ field: 'range.index', dir: 'asc' },
|
|
553
|
+
(ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
|
|
554
|
+
{ field: 'start', dir: 'asc' }
|
|
555
|
+
]);
|
|
556
|
+
return sorted;
|
|
557
|
+
};
|
|
548
558
|
/** @hidden */
|
|
549
559
|
exports.compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.start.getTime()
|
|
550
560
|
&& f.end.getTime() === s.end.getTime()
|
|
@@ -553,22 +563,32 @@ exports.compareSlots = function (f, s) { return Boolean(f.start.getTime() === s.
|
|
|
553
563
|
&& f.range.index === s.range.index
|
|
554
564
|
&& f.isAllDay === s.isAllDay); };
|
|
555
565
|
/** @hidden */
|
|
556
|
-
exports.
|
|
566
|
+
exports.getCurrentItemIndex = function (ref, all, ignoreIsAllDay) {
|
|
557
567
|
if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
|
|
558
|
-
if (backwards === void 0) { backwards = false; }
|
|
559
568
|
var current = ref;
|
|
560
|
-
|
|
561
|
-
return null;
|
|
562
|
-
}
|
|
563
|
-
var filtered = all.filter(function (i) { return i.element !== null; });
|
|
564
|
-
var sorted = kendo_data_query_1.orderBy(filtered, [
|
|
565
|
-
{ field: 'group.index', dir: 'asc' },
|
|
566
|
-
{ field: 'range.index', dir: 'asc' },
|
|
567
|
-
(ignoreIsAllDay ? { field: '' } : { field: 'isAllDay', dir: 'desc' }),
|
|
568
|
-
{ field: 'start', dir: 'asc' }
|
|
569
|
-
]);
|
|
569
|
+
var sorted = exports.getSortedSlots(all, ignoreIsAllDay);
|
|
570
570
|
var currentIndex = sorted
|
|
571
571
|
.findIndex(function (i) { return exports.compareItems(i, current, ignoreIsAllDay); });
|
|
572
|
+
return {
|
|
573
|
+
currentIndex: currentIndex,
|
|
574
|
+
sorted: sorted
|
|
575
|
+
};
|
|
576
|
+
};
|
|
577
|
+
/** @hidden */
|
|
578
|
+
exports.findCurrentItem = function (ref, all, ignoreIsAllDay) {
|
|
579
|
+
if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
|
|
580
|
+
if (!ref || !all) {
|
|
581
|
+
return null;
|
|
582
|
+
}
|
|
583
|
+
var _a = exports.getCurrentItemIndex(ref, all, ignoreIsAllDay) || {}, currentIndex = _a.currentIndex, sorted = _a.sorted;
|
|
584
|
+
var next = sorted[currentIndex];
|
|
585
|
+
return next;
|
|
586
|
+
};
|
|
587
|
+
/** @hidden */
|
|
588
|
+
exports.findNextItem = function (ref, all, ignoreIsAllDay, backwards) {
|
|
589
|
+
if (ignoreIsAllDay === void 0) { ignoreIsAllDay = false; }
|
|
590
|
+
if (backwards === void 0) { backwards = false; }
|
|
591
|
+
var _a = exports.getCurrentItemIndex(ref, all, ignoreIsAllDay), currentIndex = _a.currentIndex, sorted = _a.sorted;
|
|
572
592
|
var next = sorted[currentIndex + (backwards ? -1 : 1)];
|
|
573
593
|
return next;
|
|
574
594
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-vue-scheduler",
|
|
3
3
|
"description": "Kendo UI for Vue Scheduler package",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.3.0-dev.202205080814",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/telerik/kendo-vue.git"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@progress/kendo-data-query": "^1.5.1",
|
|
44
44
|
"@progress/kendo-recurrence": "^1.0.1",
|
|
45
|
-
"@progress/kendo-vue-common": "3.
|
|
45
|
+
"@progress/kendo-vue-common": "3.3.0-dev.202205080814",
|
|
46
46
|
"@telerik/kendo-draggable": "^2.2.1"
|
|
47
47
|
},
|
|
48
48
|
"@progress": {
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"@progress/kendo-date-math": "^1.4.1",
|
|
59
59
|
"@progress/kendo-drawing": "^1.8.0",
|
|
60
60
|
"@progress/kendo-licensing": "^1.0.1",
|
|
61
|
-
"@progress/kendo-vue-buttons": "3.
|
|
62
|
-
"@progress/kendo-vue-dateinputs": "3.
|
|
63
|
-
"@progress/kendo-vue-dialogs": "3.
|
|
64
|
-
"@progress/kendo-vue-dropdowns": "3.
|
|
65
|
-
"@progress/kendo-vue-form": "3.
|
|
66
|
-
"@progress/kendo-vue-inputs": "3.
|
|
67
|
-
"@progress/kendo-vue-intl": "3.
|
|
68
|
-
"@progress/kendo-vue-labels": "3.
|
|
69
|
-
"@progress/kendo-vue-popup": "3.
|
|
70
|
-
"@progress/kendo-vue-progressbars": "3.
|
|
61
|
+
"@progress/kendo-vue-buttons": "3.3.0-dev.202205080814",
|
|
62
|
+
"@progress/kendo-vue-dateinputs": "3.3.0-dev.202205080814",
|
|
63
|
+
"@progress/kendo-vue-dialogs": "3.3.0-dev.202205080814",
|
|
64
|
+
"@progress/kendo-vue-dropdowns": "3.3.0-dev.202205080814",
|
|
65
|
+
"@progress/kendo-vue-form": "3.3.0-dev.202205080814",
|
|
66
|
+
"@progress/kendo-vue-inputs": "3.3.0-dev.202205080814",
|
|
67
|
+
"@progress/kendo-vue-intl": "3.3.0-dev.202205080814",
|
|
68
|
+
"@progress/kendo-vue-labels": "3.3.0-dev.202205080814",
|
|
69
|
+
"@progress/kendo-vue-popup": "3.3.0-dev.202205080814",
|
|
70
|
+
"@progress/kendo-vue-progressbars": "3.3.0-dev.202205080814",
|
|
71
71
|
"cldr-core": "36.0.0",
|
|
72
72
|
"cldr-dates-full": "36.0.0",
|
|
73
73
|
"cldr-numbers-full": "36.0.0"
|