@progress/kendo-vue-scheduler 10.2.0-develop.10 → 10.2.0-develop.12
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/Scheduler.d.ts +157 -56
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +242 -214
- package/components/EventOverviewPopover.d.ts +62 -0
- package/components/EventOverviewPopover.js +8 -0
- package/components/EventOverviewPopover.mjs +191 -0
- package/components/MoreEventsPopover.d.ts +3 -1
- package/components/MoreEventsPopover.js +1 -1
- package/components/MoreEventsPopover.mjs +31 -27
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +1 -0
- package/components/SchedulerForm.d.ts +412 -2
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +162 -60
- package/components/SchedulerQuickCreateForm.d.ts +118 -0
- package/components/SchedulerQuickCreateForm.js +8 -0
- package/components/SchedulerQuickCreateForm.mjs +249 -0
- package/constants/main.d.ts +2 -0
- package/constants/main.js +1 -1
- package/constants/main.mjs +10 -9
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
- package/editors/KeepResetCustomEventsDialog.js +8 -0
- package/editors/KeepResetCustomEventsDialog.mjs +72 -0
- package/editors/SchedulerFormEditor.d.ts +151 -52
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +192 -139
- package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
- package/editors/SchedulerRecurrenceDialog.js +1 -1
- package/editors/SchedulerRecurrenceDialog.mjs +126 -131
- package/editors/ZonedSplitDateTime.d.ts +32 -3
- package/editors/ZonedSplitDateTime.js +1 -1
- package/editors/ZonedSplitDateTime.mjs +112 -47
- package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
- package/hooks/useCloseOnAnchorScrollOut.js +8 -0
- package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
- package/hooks/useCustomEventsConfirmation.d.ts +20 -0
- package/hooks/useCustomEventsConfirmation.js +8 -0
- package/hooks/useCustomEventsConfirmation.mjs +48 -0
- package/hooks/useDeferredClick.d.ts +12 -0
- package/hooks/useDeferredClick.js +8 -0
- package/hooks/useDeferredClick.mjs +22 -0
- package/hooks/useExclusivePopover.d.ts +26 -0
- package/hooks/useExclusivePopover.js +8 -0
- package/hooks/useExclusivePopover.mjs +30 -0
- package/hooks/useRecurrenceSummary.d.ts +3 -0
- package/hooks/useRecurrenceSummary.js +1 -1
- package/hooks/useRecurrenceSummary.mjs +68 -41
- package/index.d.mts +4 -2
- package/index.d.ts +4 -2
- package/index.js +1 -1
- package/index.mjs +83 -78
- package/items/SchedulerEditItem.d.ts +116 -12
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +212 -131
- package/items/SchedulerItem.d.ts +2 -1
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +28 -23
- package/items/SchedulerProportionalViewItem.d.ts +1 -0
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +83 -68
- package/items/SchedulerViewItem.d.ts +1 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +84 -75
- package/items/hooks/use-drag-item.js +1 -1
- package/items/hooks/use-drag-item.mjs +49 -48
- package/items/hooks/use-form-item.d.ts +1 -1
- package/items/hooks/use-remove-item.d.ts +1 -1
- package/items/hooks/use-resize-item.js +1 -1
- package/items/hooks/use-resize-item.mjs +74 -65
- package/messages/main.d.ts +42 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +303 -275
- package/models/InternalDataAction.d.ts +13 -0
- package/models/SchedulerView.d.ts +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -12
- package/recurrence/RecurrenceEditor.js +1 -1
- package/recurrence/RecurrenceEditor.mjs +42 -42
- package/recurrence/common.d.ts +10 -0
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +39 -35
- package/services/itemsService.d.ts +5 -2
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +46 -33
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +18 -18
- package/slots/SchedulerEditSlot.d.ts +70 -8
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +222 -141
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +20 -16
- package/slots/SchedulerViewSlot.d.ts +3 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +21 -15
- package/tasks/SchedulerEditTask.d.ts +13 -2
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +45 -30
- package/utils/main.d.ts +27 -0
- package/utils/main.js +1 -1
- package/utils/main.mjs +172 -136
- package/views/agenda/AgendaView.d.ts +6 -2
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +31 -29
- package/views/agenda/AgendaViewBody.d.ts +3 -3
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +31 -29
- package/views/common/SchedulerDrag.d.ts +4 -2
- package/views/common/SchedulerDrag.js +1 -1
- package/views/common/SchedulerDrag.mjs +8 -7
- package/views/common/SchedulerResize.d.ts +4 -2
- package/views/common/SchedulerResize.js +1 -1
- package/views/common/SchedulerResize.mjs +14 -12
- package/views/common/VerticalResourceIterator.d.ts +3 -3
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +34 -33
- package/views/day/DayView.d.ts +2 -0
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +9 -7
- package/views/day/DayViewAllDaySlots.d.ts +7 -5
- package/views/day/DayViewAllDaySlots.js +1 -1
- package/views/day/DayViewAllDaySlots.mjs +24 -21
- package/views/day/DayViewMiddleRow.d.ts +7 -5
- package/views/day/DayViewMiddleRow.js +1 -1
- package/views/day/DayViewMiddleRow.mjs +18 -13
- package/views/day/DayViewVerticalRow.d.ts +7 -5
- package/views/day/DayViewVerticalRow.js +1 -1
- package/views/day/DayViewVerticalRow.mjs +23 -17
- package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
- package/views/day/DayViewVerticalSlotsRow.js +1 -1
- package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
- package/views/day/MultiDayView.d.ts +13 -7
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +108 -95
- package/views/month/MonthView.d.ts +15 -4
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +105 -68
- package/views/month/MonthViewBody.d.ts +3 -3
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +18 -16
- package/views/time/MultiDayTimelineView.d.ts +6 -4
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +64 -63
- package/views/time/TimelineView.d.ts +2 -0
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +5 -3
- package/views/time/TimelineViewBody.d.ts +7 -5
- package/views/time/TimelineViewBody.js +1 -1
- package/views/time/TimelineViewBody.mjs +29 -27
- package/views/week/WeekView.d.ts +2 -0
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +11 -10
- package/views/week/WorkWeekView.d.ts +2 -0
- package/views/week/WorkWeekView.js +1 -1
- package/views/week/WorkWeekView.mjs +17 -16
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { PropType } from 'vue';
|
|
9
|
+
/** @hidden */
|
|
10
|
+
export interface KeepResetCustomEventsDialogProps {
|
|
11
|
+
/** Fires when the user chooses to keep the custom events. */
|
|
12
|
+
onKeep?: () => void;
|
|
13
|
+
/** Fires when the user chooses to delete the custom events. */
|
|
14
|
+
onReset?: () => void;
|
|
15
|
+
/** Fires when the user cancels and returns to editing. */
|
|
16
|
+
onCancel?: () => void;
|
|
17
|
+
}
|
|
18
|
+
/** @hidden */
|
|
19
|
+
export declare const KeepResetCustomEventsDialog: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
20
|
+
onKeep: PropType<() => void>;
|
|
21
|
+
onReset: PropType<() => void>;
|
|
22
|
+
onCancel: PropType<() => void>;
|
|
23
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("cancel" | "reset" | "keep")[], "cancel" | "reset" | "keep", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
24
|
+
onKeep: PropType<() => void>;
|
|
25
|
+
onReset: PropType<() => void>;
|
|
26
|
+
onCancel: PropType<() => void>;
|
|
27
|
+
}>> & Readonly<{
|
|
28
|
+
onReset?: (...args: any[]) => any;
|
|
29
|
+
onCancel?: (...args: any[]) => any;
|
|
30
|
+
onKeep?: (...args: any[]) => any;
|
|
31
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),u=require("@progress/kendo-vue-buttons"),i=require("@progress/kendo-vue-dialogs"),p=require("@progress/kendo-vue-intl"),e=require("../messages/main.js");function l(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Object]"&&!t.isVNode(s)}const m=510,C=t.defineComponent({name:"KendoKeepResetCustomEventsDialog",emits:["keep","reset","cancel"],props:{onKeep:Function,onReset:Function,onCancel:Function},setup(s,{emit:r}){const g=t.inject("kendoLocalizationService",null),d=o=>{o.event.stopPropagation(),r("cancel")};return()=>{let o,c,a;const n=p.provideLocalizationService({kendoLocalizationService:g});return t.createVNode(i.Dialog,{title:n.toLanguageString(e.recurrenceCustomEventsDialogTitle,e.messages[e.recurrenceCustomEventsDialogTitle]),className:"k-scheduler-custom-events-dialog",appendTo:"body",width:m,onClose:d},{default:()=>[t.createVNode("p",null,[n.toLanguageString(e.recurrenceCustomEventsConfirmation,e.messages[e.recurrenceCustomEventsConfirmation])]),t.createVNode(i.DialogActionsBar,{layout:"start"},{default:()=>[t.createVNode(u.Button,{type:"button",fillMode:"flat",onClick:()=>r("cancel")},l(o=n.toLanguageString(e.recurrenceCustomEventsCancel,e.messages[e.recurrenceCustomEventsCancel]))?o:{default:()=>[o]}),t.createVNode("span",{class:"k-spacer"},null),t.createVNode(u.Button,{type:"button",onClick:()=>r("reset")},l(c=n.toLanguageString(e.recurrenceCustomEventsReset,e.messages[e.recurrenceCustomEventsReset]))?c:{default:()=>[c]}),t.createVNode(u.Button,{type:"button",themeColor:"primary",onClick:()=>r("keep")},l(a=n.toLanguageString(e.recurrenceCustomEventsKeep,e.messages[e.recurrenceCustomEventsKeep]))?a:{default:()=>[a]})]})]})}}});exports.KeepResetCustomEventsDialog=C;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
*-------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
+
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
+
*-------------------------------------------------------------------------------------------
|
|
7
|
+
*/
|
|
8
|
+
import { defineComponent as v, inject as S, createVNode as e, isVNode as k } from "vue";
|
|
9
|
+
import { Button as s } from "@progress/kendo-vue-buttons";
|
|
10
|
+
import { Dialog as E, DialogActionsBar as L } from "@progress/kendo-vue-dialogs";
|
|
11
|
+
import { provideLocalizationService as y } from "@progress/kendo-vue-intl";
|
|
12
|
+
import { recurrenceCustomEventsDialogTitle as u, messages as n, recurrenceCustomEventsConfirmation as p, recurrenceCustomEventsCancel as g, recurrenceCustomEventsReset as m, recurrenceCustomEventsKeep as d } from "../messages/main.mjs";
|
|
13
|
+
function i(r) {
|
|
14
|
+
return typeof r == "function" || Object.prototype.toString.call(r) === "[object Object]" && !k(r);
|
|
15
|
+
}
|
|
16
|
+
const _ = 510, j = /* @__PURE__ */ v({
|
|
17
|
+
name: "KendoKeepResetCustomEventsDialog",
|
|
18
|
+
emits: ["keep", "reset", "cancel"],
|
|
19
|
+
props: {
|
|
20
|
+
onKeep: Function,
|
|
21
|
+
onReset: Function,
|
|
22
|
+
onCancel: Function
|
|
23
|
+
},
|
|
24
|
+
setup(r, {
|
|
25
|
+
emit: a
|
|
26
|
+
}) {
|
|
27
|
+
const C = S("kendoLocalizationService", null), f = (t) => {
|
|
28
|
+
t.event.stopPropagation(), a("cancel");
|
|
29
|
+
};
|
|
30
|
+
return () => {
|
|
31
|
+
let t, c, l;
|
|
32
|
+
const o = y({
|
|
33
|
+
kendoLocalizationService: C
|
|
34
|
+
});
|
|
35
|
+
return e(E, {
|
|
36
|
+
title: o.toLanguageString(u, n[u]),
|
|
37
|
+
className: "k-scheduler-custom-events-dialog",
|
|
38
|
+
appendTo: "body",
|
|
39
|
+
width: _,
|
|
40
|
+
onClose: f
|
|
41
|
+
}, {
|
|
42
|
+
default: () => [e("p", null, [o.toLanguageString(p, n[p])]), e(L, {
|
|
43
|
+
layout: "start"
|
|
44
|
+
}, {
|
|
45
|
+
default: () => [e(s, {
|
|
46
|
+
type: "button",
|
|
47
|
+
fillMode: "flat",
|
|
48
|
+
onClick: () => a("cancel")
|
|
49
|
+
}, i(t = o.toLanguageString(g, n[g])) ? t : {
|
|
50
|
+
default: () => [t]
|
|
51
|
+
}), e("span", {
|
|
52
|
+
class: "k-spacer"
|
|
53
|
+
}, null), e(s, {
|
|
54
|
+
type: "button",
|
|
55
|
+
onClick: () => a("reset")
|
|
56
|
+
}, i(c = o.toLanguageString(m, n[m])) ? c : {
|
|
57
|
+
default: () => [c]
|
|
58
|
+
}), e(s, {
|
|
59
|
+
type: "button",
|
|
60
|
+
themeColor: "primary",
|
|
61
|
+
onClick: () => a("keep")
|
|
62
|
+
}, i(l = o.toLanguageString(d, n[d])) ? l : {
|
|
63
|
+
default: () => [l]
|
|
64
|
+
})]
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
export {
|
|
71
|
+
j as KeepResetCustomEventsDialog
|
|
72
|
+
};
|
|
@@ -9,8 +9,12 @@ import { RecurrenceRule } from '@progress/kendo-recurrence';
|
|
|
9
9
|
import { FormRenderProps, FormElementProps } from '@progress/kendo-vue-form';
|
|
10
10
|
import { SwitchChangeEvent } from '@progress/kendo-vue-inputs';
|
|
11
11
|
import { Omit } from '../models/Omit';
|
|
12
|
+
import { readDateAsLocal } from './ZonedSplitDateTime';
|
|
13
|
+
import { VNode } from 'vue';
|
|
12
14
|
/**
|
|
13
15
|
* Represents the props passed to the [`recurrenceButtonTextTemplate`](slug:api_scheduler_schedulerformeditorprops#toc-recurrenceButtonTextTemplate) component.
|
|
16
|
+
*
|
|
17
|
+
* @deprecated The `recurrenceButtonTextTemplate` is ignored. Use `recurrenceSummaryTemplate` and `RecurrenceSummaryTemplateProps` instead.
|
|
14
18
|
*/
|
|
15
19
|
export interface RecurrenceButtonTextTemplateProps {
|
|
16
20
|
/**
|
|
@@ -108,17 +112,19 @@ export interface SchedulerFormEditorProps extends Omit<FormElementProps, 'childr
|
|
|
108
112
|
*/
|
|
109
113
|
resourceEditor?: any;
|
|
110
114
|
/**
|
|
111
|
-
*
|
|
115
|
+
* This template is ignored. The recurrence button always uses the localized
|
|
116
|
+
* "Make recurring" or "Edit recurrence" label. Use `recurrenceSummaryTemplate`
|
|
117
|
+
* to customize the separate recurrence summary instead.
|
|
112
118
|
*
|
|
113
|
-
*
|
|
114
|
-
* The developer controls the entire button content for both states.
|
|
119
|
+
* @deprecated Use `recurrenceSummaryTemplate` instead.
|
|
115
120
|
*/
|
|
116
121
|
recurrenceButtonTextTemplate?: any;
|
|
117
122
|
/**
|
|
118
|
-
* Overrides the recurrence summary
|
|
123
|
+
* Overrides the recurrence summary displayed below the recurrence button and inside the recurrence editor dialog.
|
|
119
124
|
*
|
|
120
|
-
* Receives
|
|
121
|
-
* This template is only
|
|
125
|
+
* Receives `recurrenceRule` (RRULE string), `text` (full default summary), and `parsedRule`.
|
|
126
|
+
* This template is only rendered when a recurrence rule exists.
|
|
127
|
+
* The native tooltip displays the full rendered template text.
|
|
122
128
|
*/
|
|
123
129
|
recurrenceSummaryTemplate?: any;
|
|
124
130
|
}
|
|
@@ -371,7 +377,9 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
371
377
|
startEditor: {
|
|
372
378
|
type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
|
|
373
379
|
default: () => import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
374
|
-
value: import('vue').PropType<Date>;
|
|
380
|
+
value: import('vue').PropType<Date>; /**
|
|
381
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
382
|
+
*/
|
|
375
383
|
isAllDay: BooleanConstructor;
|
|
376
384
|
connector: StringConstructor;
|
|
377
385
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -380,17 +388,32 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
380
388
|
fieldError: StringConstructor;
|
|
381
389
|
ariaLabel: StringConstructor;
|
|
382
390
|
timeAriaLabel: StringConstructor;
|
|
383
|
-
}>, {
|
|
391
|
+
}>, {
|
|
392
|
+
ks: any;
|
|
393
|
+
pendingValue: import('vue').Ref<Date, Date>;
|
|
394
|
+
boundAttr: (key: "min" | "max") => Date;
|
|
395
|
+
isInBounds: (value: Date) => boolean;
|
|
396
|
+
dateMin: () => Date;
|
|
397
|
+
timeMin: (value: Date) => Date;
|
|
398
|
+
timeMax: (value: Date) => Date;
|
|
399
|
+
modelStart: () => Date;
|
|
400
|
+
}, {}, {
|
|
384
401
|
timezone(): string;
|
|
385
402
|
localValue(): Date;
|
|
403
|
+
displayValue(): Date;
|
|
386
404
|
isInvalid(): boolean;
|
|
387
405
|
}, {
|
|
388
406
|
handleDateChange(e: import('@progress/kendo-vue-dateinputs').DatePickerChangeEvent): void;
|
|
389
407
|
handleTimeChange(e: import('@progress/kendo-vue-dateinputs').TimePickerChangeEvent): void;
|
|
390
|
-
|
|
391
|
-
|
|
408
|
+
commit(local: Date, event?: Event): void;
|
|
409
|
+
handleBlur(event: any): void;
|
|
410
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
411
|
+
readDateAsLocal: typeof readDateAsLocal;
|
|
412
|
+
readDateWithTimezone: (value: Date, timezone?: string) => Date;
|
|
392
413
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
393
|
-
value: import('vue').PropType<Date>;
|
|
414
|
+
value: import('vue').PropType<Date>; /**
|
|
415
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
416
|
+
*/
|
|
394
417
|
isAllDay: BooleanConstructor;
|
|
395
418
|
connector: StringConstructor;
|
|
396
419
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -444,7 +467,9 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
444
467
|
endEditor: {
|
|
445
468
|
type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
|
|
446
469
|
default: () => import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
447
|
-
value: import('vue').PropType<Date>;
|
|
470
|
+
value: import('vue').PropType<Date>; /**
|
|
471
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
472
|
+
*/
|
|
448
473
|
isAllDay: BooleanConstructor;
|
|
449
474
|
connector: StringConstructor;
|
|
450
475
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -453,17 +478,32 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
453
478
|
fieldError: StringConstructor;
|
|
454
479
|
ariaLabel: StringConstructor;
|
|
455
480
|
timeAriaLabel: StringConstructor;
|
|
456
|
-
}>, {
|
|
481
|
+
}>, {
|
|
482
|
+
ks: any;
|
|
483
|
+
pendingValue: import('vue').Ref<Date, Date>;
|
|
484
|
+
boundAttr: (key: "min" | "max") => Date;
|
|
485
|
+
isInBounds: (value: Date) => boolean;
|
|
486
|
+
dateMin: () => Date;
|
|
487
|
+
timeMin: (value: Date) => Date;
|
|
488
|
+
timeMax: (value: Date) => Date;
|
|
489
|
+
modelStart: () => Date;
|
|
490
|
+
}, {}, {
|
|
457
491
|
timezone(): string;
|
|
458
492
|
localValue(): Date;
|
|
493
|
+
displayValue(): Date;
|
|
459
494
|
isInvalid(): boolean;
|
|
460
495
|
}, {
|
|
461
496
|
handleDateChange(e: import('@progress/kendo-vue-dateinputs').DatePickerChangeEvent): void;
|
|
462
497
|
handleTimeChange(e: import('@progress/kendo-vue-dateinputs').TimePickerChangeEvent): void;
|
|
463
|
-
|
|
464
|
-
|
|
498
|
+
commit(local: Date, event?: Event): void;
|
|
499
|
+
handleBlur(event: any): void;
|
|
500
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
501
|
+
readDateAsLocal: typeof readDateAsLocal;
|
|
502
|
+
readDateWithTimezone: (value: Date, timezone?: string) => Date;
|
|
465
503
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
466
|
-
value: import('vue').PropType<Date>;
|
|
504
|
+
value: import('vue').PropType<Date>; /**
|
|
505
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
506
|
+
*/
|
|
467
507
|
isAllDay: BooleanConstructor;
|
|
468
508
|
connector: StringConstructor;
|
|
469
509
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -524,10 +564,7 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
524
564
|
name: StringConstructor;
|
|
525
565
|
accessKey: StringConstructor;
|
|
526
566
|
checked: {
|
|
527
|
-
type: BooleanConstructor;
|
|
528
|
-
* Overrides the component used for visualizing the `allDay` field editor.
|
|
529
|
-
* The [Kendo UI for Vue Switch]({% slug overview_switch %}) component is used, by default.
|
|
530
|
-
*/
|
|
567
|
+
type: BooleanConstructor;
|
|
531
568
|
default: any;
|
|
532
569
|
};
|
|
533
570
|
className: StringConstructor;
|
|
@@ -627,10 +664,7 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
627
664
|
name: StringConstructor;
|
|
628
665
|
accessKey: StringConstructor;
|
|
629
666
|
checked: {
|
|
630
|
-
type: BooleanConstructor;
|
|
631
|
-
* Overrides the component used for visualizing the `allDay` field editor.
|
|
632
|
-
* The [Kendo UI for Vue Switch]({% slug overview_switch %}) component is used, by default.
|
|
633
|
-
*/
|
|
667
|
+
type: BooleanConstructor;
|
|
634
668
|
default: any;
|
|
635
669
|
};
|
|
636
670
|
className: StringConstructor;
|
|
@@ -797,8 +831,13 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
797
831
|
placeholder: import('vue').PropType<string>;
|
|
798
832
|
tabIndex: import('vue').PropType<number>;
|
|
799
833
|
valid: {
|
|
834
|
+
/**
|
|
835
|
+
* Specifies the `id` attribute of the root element.
|
|
836
|
+
*/
|
|
800
837
|
type: import('vue').PropType<boolean>;
|
|
801
|
-
default: any;
|
|
838
|
+
default: any; /**
|
|
839
|
+
* Specifies the `tabIndex` attribute of the root element.
|
|
840
|
+
*/
|
|
802
841
|
};
|
|
803
842
|
value: import('vue').PropType<string | number | string[]>;
|
|
804
843
|
validityStyles: {
|
|
@@ -834,7 +873,13 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
834
873
|
[x: string]: any;
|
|
835
874
|
[x: number]: any;
|
|
836
875
|
'k-input': boolean;
|
|
837
|
-
'k-textarea': boolean;
|
|
876
|
+
'k-textarea': boolean; /**
|
|
877
|
+
* This template is ignored. The recurrence button always uses the localized
|
|
878
|
+
* "Make recurring" or "Edit recurrence" label. Use `recurrenceSummaryTemplate`
|
|
879
|
+
* to customize the separate recurrence summary instead.
|
|
880
|
+
*
|
|
881
|
+
* @deprecated Use `recurrenceSummaryTemplate` instead.
|
|
882
|
+
*/
|
|
838
883
|
'k-disabled': any;
|
|
839
884
|
'k-invalid': boolean;
|
|
840
885
|
'k-required': any;
|
|
@@ -916,8 +961,13 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
916
961
|
placeholder: import('vue').PropType<string>;
|
|
917
962
|
tabIndex: import('vue').PropType<number>;
|
|
918
963
|
valid: {
|
|
964
|
+
/**
|
|
965
|
+
* Specifies the `id` attribute of the root element.
|
|
966
|
+
*/
|
|
919
967
|
type: import('vue').PropType<boolean>;
|
|
920
|
-
default: any;
|
|
968
|
+
default: any; /**
|
|
969
|
+
* Specifies the `tabIndex` attribute of the root element.
|
|
970
|
+
*/
|
|
921
971
|
};
|
|
922
972
|
value: import('vue').PropType<string | number | string[]>;
|
|
923
973
|
validityStyles: {
|
|
@@ -952,8 +1002,8 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
952
1002
|
"onUpdate:modelValue"?: (value: string | number | string[]) => any;
|
|
953
1003
|
}>, {
|
|
954
1004
|
flow: string;
|
|
955
|
-
resizable: string;
|
|
956
1005
|
valid: boolean;
|
|
1006
|
+
resizable: string;
|
|
957
1007
|
modelValue: string | number | string[];
|
|
958
1008
|
validityStyles: boolean;
|
|
959
1009
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -1010,7 +1060,10 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1010
1060
|
submitted: BooleanConstructor;
|
|
1011
1061
|
allowSubmit: BooleanConstructor;
|
|
1012
1062
|
valueGetter: FunctionConstructor;
|
|
1013
|
-
}>, {
|
|
1063
|
+
}>, {
|
|
1064
|
+
handleStartChange: () => void;
|
|
1065
|
+
updatePreviousRange: () => void;
|
|
1066
|
+
}, {
|
|
1014
1067
|
showTimezones: boolean;
|
|
1015
1068
|
showTimezoneResetDialog: boolean;
|
|
1016
1069
|
showRecurrenceDialog: boolean;
|
|
@@ -1024,8 +1077,10 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1024
1077
|
isEditingOccurrence(): boolean;
|
|
1025
1078
|
showRecurrenceButton(): boolean;
|
|
1026
1079
|
recurrenceButtonText(): string;
|
|
1080
|
+
recurrenceSummaryText(): string;
|
|
1081
|
+
parsedRecurrenceRule(): RecurrenceRule | null;
|
|
1027
1082
|
}, {
|
|
1028
|
-
|
|
1083
|
+
renderRecurrenceSummaryTemplate(): VNode | null;
|
|
1029
1084
|
handleTimezoneToggle(event: Event): void;
|
|
1030
1085
|
handleTimezoneResetConfirm(): void;
|
|
1031
1086
|
handleTimezoneResetClose(): void;
|
|
@@ -1280,7 +1335,9 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1280
1335
|
startEditor: {
|
|
1281
1336
|
type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
|
|
1282
1337
|
default: () => import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
1283
|
-
value: import('vue').PropType<Date>;
|
|
1338
|
+
value: import('vue').PropType<Date>; /**
|
|
1339
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
1340
|
+
*/
|
|
1284
1341
|
isAllDay: BooleanConstructor;
|
|
1285
1342
|
connector: StringConstructor;
|
|
1286
1343
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -1289,17 +1346,32 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1289
1346
|
fieldError: StringConstructor;
|
|
1290
1347
|
ariaLabel: StringConstructor;
|
|
1291
1348
|
timeAriaLabel: StringConstructor;
|
|
1292
|
-
}>, {
|
|
1349
|
+
}>, {
|
|
1350
|
+
ks: any;
|
|
1351
|
+
pendingValue: import('vue').Ref<Date, Date>;
|
|
1352
|
+
boundAttr: (key: "min" | "max") => Date;
|
|
1353
|
+
isInBounds: (value: Date) => boolean;
|
|
1354
|
+
dateMin: () => Date;
|
|
1355
|
+
timeMin: (value: Date) => Date;
|
|
1356
|
+
timeMax: (value: Date) => Date;
|
|
1357
|
+
modelStart: () => Date;
|
|
1358
|
+
}, {}, {
|
|
1293
1359
|
timezone(): string;
|
|
1294
1360
|
localValue(): Date;
|
|
1361
|
+
displayValue(): Date;
|
|
1295
1362
|
isInvalid(): boolean;
|
|
1296
1363
|
}, {
|
|
1297
1364
|
handleDateChange(e: import('@progress/kendo-vue-dateinputs').DatePickerChangeEvent): void;
|
|
1298
1365
|
handleTimeChange(e: import('@progress/kendo-vue-dateinputs').TimePickerChangeEvent): void;
|
|
1299
|
-
|
|
1300
|
-
|
|
1366
|
+
commit(local: Date, event?: Event): void;
|
|
1367
|
+
handleBlur(event: any): void;
|
|
1368
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
1369
|
+
readDateAsLocal: typeof readDateAsLocal;
|
|
1370
|
+
readDateWithTimezone: (value: Date, timezone?: string) => Date;
|
|
1301
1371
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1302
|
-
value: import('vue').PropType<Date>;
|
|
1372
|
+
value: import('vue').PropType<Date>; /**
|
|
1373
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
1374
|
+
*/
|
|
1303
1375
|
isAllDay: BooleanConstructor;
|
|
1304
1376
|
connector: StringConstructor;
|
|
1305
1377
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -1353,7 +1425,9 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1353
1425
|
endEditor: {
|
|
1354
1426
|
type: (ObjectConstructor | StringConstructor | FunctionConstructor)[];
|
|
1355
1427
|
default: () => import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
1356
|
-
value: import('vue').PropType<Date>;
|
|
1428
|
+
value: import('vue').PropType<Date>; /**
|
|
1429
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
1430
|
+
*/
|
|
1357
1431
|
isAllDay: BooleanConstructor;
|
|
1358
1432
|
connector: StringConstructor;
|
|
1359
1433
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -1362,17 +1436,32 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1362
1436
|
fieldError: StringConstructor;
|
|
1363
1437
|
ariaLabel: StringConstructor;
|
|
1364
1438
|
timeAriaLabel: StringConstructor;
|
|
1365
|
-
}>, {
|
|
1439
|
+
}>, {
|
|
1440
|
+
ks: any;
|
|
1441
|
+
pendingValue: import('vue').Ref<Date, Date>;
|
|
1442
|
+
boundAttr: (key: "min" | "max") => Date;
|
|
1443
|
+
isInBounds: (value: Date) => boolean;
|
|
1444
|
+
dateMin: () => Date;
|
|
1445
|
+
timeMin: (value: Date) => Date;
|
|
1446
|
+
timeMax: (value: Date) => Date;
|
|
1447
|
+
modelStart: () => Date;
|
|
1448
|
+
}, {}, {
|
|
1366
1449
|
timezone(): string;
|
|
1367
1450
|
localValue(): Date;
|
|
1451
|
+
displayValue(): Date;
|
|
1368
1452
|
isInvalid(): boolean;
|
|
1369
1453
|
}, {
|
|
1370
1454
|
handleDateChange(e: import('@progress/kendo-vue-dateinputs').DatePickerChangeEvent): void;
|
|
1371
1455
|
handleTimeChange(e: import('@progress/kendo-vue-dateinputs').TimePickerChangeEvent): void;
|
|
1372
|
-
|
|
1373
|
-
|
|
1456
|
+
commit(local: Date, event?: Event): void;
|
|
1457
|
+
handleBlur(event: any): void;
|
|
1458
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
1459
|
+
readDateAsLocal: typeof readDateAsLocal;
|
|
1460
|
+
readDateWithTimezone: (value: Date, timezone?: string) => Date;
|
|
1374
1461
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "change"[], "change", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
1375
|
-
value: import('vue').PropType<Date>;
|
|
1462
|
+
value: import('vue').PropType<Date>; /**
|
|
1463
|
+
* The current recurrence rule string (RRULE), or `null` when no recurrence is set.
|
|
1464
|
+
*/
|
|
1376
1465
|
isAllDay: BooleanConstructor;
|
|
1377
1466
|
connector: StringConstructor;
|
|
1378
1467
|
connectorElement: import('vue').PropType<any>;
|
|
@@ -1433,10 +1522,7 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1433
1522
|
name: StringConstructor;
|
|
1434
1523
|
accessKey: StringConstructor;
|
|
1435
1524
|
checked: {
|
|
1436
|
-
type: BooleanConstructor;
|
|
1437
|
-
* Overrides the component used for visualizing the `allDay` field editor.
|
|
1438
|
-
* The [Kendo UI for Vue Switch]({% slug overview_switch %}) component is used, by default.
|
|
1439
|
-
*/
|
|
1525
|
+
type: BooleanConstructor;
|
|
1440
1526
|
default: any;
|
|
1441
1527
|
};
|
|
1442
1528
|
className: StringConstructor;
|
|
@@ -1536,10 +1622,7 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1536
1622
|
name: StringConstructor;
|
|
1537
1623
|
accessKey: StringConstructor;
|
|
1538
1624
|
checked: {
|
|
1539
|
-
type: BooleanConstructor;
|
|
1540
|
-
* Overrides the component used for visualizing the `allDay` field editor.
|
|
1541
|
-
* The [Kendo UI for Vue Switch]({% slug overview_switch %}) component is used, by default.
|
|
1542
|
-
*/
|
|
1625
|
+
type: BooleanConstructor;
|
|
1543
1626
|
default: any;
|
|
1544
1627
|
};
|
|
1545
1628
|
className: StringConstructor;
|
|
@@ -1706,8 +1789,13 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1706
1789
|
placeholder: import('vue').PropType<string>;
|
|
1707
1790
|
tabIndex: import('vue').PropType<number>;
|
|
1708
1791
|
valid: {
|
|
1792
|
+
/**
|
|
1793
|
+
* Specifies the `id` attribute of the root element.
|
|
1794
|
+
*/
|
|
1709
1795
|
type: import('vue').PropType<boolean>;
|
|
1710
|
-
default: any;
|
|
1796
|
+
default: any; /**
|
|
1797
|
+
* Specifies the `tabIndex` attribute of the root element.
|
|
1798
|
+
*/
|
|
1711
1799
|
};
|
|
1712
1800
|
value: import('vue').PropType<string | number | string[]>;
|
|
1713
1801
|
validityStyles: {
|
|
@@ -1743,7 +1831,13 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1743
1831
|
[x: string]: any;
|
|
1744
1832
|
[x: number]: any;
|
|
1745
1833
|
'k-input': boolean;
|
|
1746
|
-
'k-textarea': boolean;
|
|
1834
|
+
'k-textarea': boolean; /**
|
|
1835
|
+
* This template is ignored. The recurrence button always uses the localized
|
|
1836
|
+
* "Make recurring" or "Edit recurrence" label. Use `recurrenceSummaryTemplate`
|
|
1837
|
+
* to customize the separate recurrence summary instead.
|
|
1838
|
+
*
|
|
1839
|
+
* @deprecated Use `recurrenceSummaryTemplate` instead.
|
|
1840
|
+
*/
|
|
1747
1841
|
'k-disabled': any;
|
|
1748
1842
|
'k-invalid': boolean;
|
|
1749
1843
|
'k-required': any;
|
|
@@ -1825,8 +1919,13 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1825
1919
|
placeholder: import('vue').PropType<string>;
|
|
1826
1920
|
tabIndex: import('vue').PropType<number>;
|
|
1827
1921
|
valid: {
|
|
1922
|
+
/**
|
|
1923
|
+
* Specifies the `id` attribute of the root element.
|
|
1924
|
+
*/
|
|
1828
1925
|
type: import('vue').PropType<boolean>;
|
|
1829
|
-
default: any;
|
|
1926
|
+
default: any; /**
|
|
1927
|
+
* Specifies the `tabIndex` attribute of the root element.
|
|
1928
|
+
*/
|
|
1830
1929
|
};
|
|
1831
1930
|
value: import('vue').PropType<string | number | string[]>;
|
|
1832
1931
|
validityStyles: {
|
|
@@ -1861,8 +1960,8 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1861
1960
|
"onUpdate:modelValue"?: (value: string | number | string[]) => any;
|
|
1862
1961
|
}>, {
|
|
1863
1962
|
flow: string;
|
|
1864
|
-
resizable: string;
|
|
1865
1963
|
valid: boolean;
|
|
1964
|
+
resizable: string;
|
|
1866
1965
|
modelValue: string | number | string[];
|
|
1867
1966
|
validityStyles: boolean;
|
|
1868
1967
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),w=require("@progress/kendo-date-math"),h=require("@progress/kendo-vue-labels"),T=require("@progress/kendo-vue-intl"),n=require("@progress/kendo-vue-form"),p=require("@progress/kendo-vue-inputs"),d=require("@progress/kendo-vue-common"),a=require("@progress/kendo-svg-icons"),c=require("@progress/kendo-vue-buttons"),v=require("@progress/kendo-vue-dialogs"),e=require("../messages/main.js"),C=require("../recurrence/RecurrenceEditor.js"),I=require("./ResourceEditor.js"),R=require("./ZonedSplitDateTime.js"),S=require("./TimezoneDropDownList.js"),q=require("./SchedulerRecurrenceDialog.js"),A=require("./RemoveRecurrenceConfirmDialog.js"),B=require("../hooks/useRecurrenceSummary.js");function g(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!t.isVNode(r)}const j=t.defineComponent({name:"KendoSchedulerFormEditor",props:{as:[String,Function,Object],id:String,tabIndex:Number,titleEditor:{type:[String,Function,Object],default:function(){return p.TextBox}},startEditor:{type:[String,Function,Object],default:function(){return R.ZonedSplitDateTime}},startTimezoneEditor:{type:[String,Function,Object],default:function(){return S.TimezoneDropDownList}},endEditor:{type:[String,Function,Object],default:function(){return R.ZonedSplitDateTime}},endTimezoneEditor:{type:[String,Function,Object],default:function(){return S.TimezoneDropDownList}},allDayLabel:{type:[String,Function,Object],default:function(){return"span"}},allDayEditor:{type:[String,Function,Object],default:function(){return p.Switch}},recurrenceEditor:{type:[String,Function,Object],default:function(){return C.RecurrenceEditor}},descriptionEditor:{type:[String,Function,Object],default:function(){return p.TextArea}},resourceEditor:{type:[String,Function,Object],default:function(){return I.ResourceEditor}},recurrenceButtonTextTemplate:[Object,Function],recurrenceSummaryTemplate:[Object,Function],errors:Object,valid:Boolean,touched:Boolean,visited:Boolean,modified:Boolean,submitted:Boolean,allowSubmit:Boolean,valueGetter:Function},created(){this.requiredValidationMessage=void 0},inject:{ks:{default:null},kendoForm:{default:{}},kendoLocalizationService:{default:null}},data(){const r=this.kendoForm,o=this.ks;return{showTimezones:!!r.valueGetter(o.fields.startTimezone),showTimezoneResetDialog:!1,showRecurrenceDialog:!1,showRemoveRecurrenceDialog:!1}},computed:{isAllDay(){return!!this.kendoForm.valueGetter(this.ks.fields.isAllDay)},start(){return this.kendoForm.valueGetter(this.ks.fields.start)||new Date},startTimezone(){return this.kendoForm.valueGetter(this.ks.fields.startTimezone)||""},recurrenceRule(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceRule)},recurrenceId(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceId)},isEditingOccurrence(){return this.recurrenceId!==void 0&&this.recurrenceId!==null},showRecurrenceButton(){return!this.isEditingOccurrence},recurrenceButtonText(){const r=T.provideIntlService(this),o=T.provideLocalizationService(this),l=(m,i)=>o.toLanguageString(m,i),u=o.toLanguageString(e.editorRecurrenceMakeRecurring,e.messages[e.editorRecurrenceMakeRecurring]);return this.recurrenceRule&&B.getRecurrenceSummary(this.recurrenceRule,this.start,r,l)||u}},render(){let r,o,l;const u=d.getDefaultSlots(this),m=w.timezoneNames(),i=T.provideLocalizationService(this),k=this.$props.startEditor,z=this.$props.endEditor,F=this.$props.startTimezoneEditor,E=this.$props.endTimezoneEditor,D=this.$props.allDayEditor,V=this.$props.allDayLabel,b=this.$props.descriptionEditor,L=this.$props.resourceEditor,N=this.$props.titleEditor,y=this.startTimezone;this.requiredValidationMessage=i.toLanguageString(e.editorValidationRequired,e.messages[e.editorValidationRequired]);const f=i.toLanguageString(e.editorEventAllDay,e.messages[e.editorEventAllDay]);return t.createVNode(t.Fragment,null,[t.createVNode(n.FormElement,{horizontal:!0,class:"k-scheduler-edit-form"},{default:()=>[t.createVNode(n.FieldWrapper,null,{default:()=>[t.createVNode(h.Label,{class:"k-form-label"},{default:()=>[t.createVNode(d.SvgIcon,{icon:a.rightDoubleQuotesIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(n.Field,{id:"k-scheduler-editor-title",name:this.ks.fields.title,field:this.ks.fields.title,component:N,placeholder:i.toLanguageString(e.editorEventTitle,e.messages[e.editorEventTitle]),"aria-label":i.toLanguageString(e.editorEventTitle,e.messages[e.editorEventTitle])},null)])]}),t.createVNode(n.FieldWrapper,null,{default:()=>[t.createVNode(h.Label,{class:"k-form-label"},{default:()=>[t.createVNode(d.SvgIcon,{icon:a.clockIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-datetime-section"},[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(n.Field,{name:this.ks.fields.isAllDay,component:D,onLabel:"",offLabel:""},null),t.createVNode(V,null,g(f)?f:{default:()=>[f]})]),t.createVNode("div",{class:"k-scheduler-datetime-grid"},[this.isAllDay?t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(n.Field,{name:this.ks.fields.start,component:k,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:i.toLanguageString(e.editorEventStart,e.messages[e.editorEventStart]),timezone:this.ks.timezone},null),t.createVNode("span",{class:"k-scheduler-datetime-label"},[i.toLanguageString(e.editorDateConnectorTo,e.messages[e.editorDateConnectorTo])]),t.createVNode(n.Field,{name:this.ks.fields.end,component:z,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:i.toLanguageString(e.editorEventEnd,e.messages[e.editorEventEnd]),timezone:this.ks.timezone},null)]):t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(n.Field,{name:this.ks.fields.start,component:k,isAllDay:this.isAllDay,connector:i.toLanguageString(e.editorDateConnectorFrom,e.messages[e.editorDateConnectorFrom]),fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:i.toLanguageString(e.editorEventStart,e.messages[e.editorEventStart]),timeAriaLabel:i.toLanguageString(e.editorStartTimeAriaLabel,e.messages[e.editorStartTimeAriaLabel]),timezone:this.ks.timezone},null)]),!this.showTimezones&&t.createVNode(c.Button,{class:"k-col-span-2",fillMode:"flat",themeColor:"primary",title:i.toLanguageString(e.editorSetTimezoneTitle,e.messages[e.editorSetTimezoneTitle]),onClick:this.handleTimezoneToggle,svgIcon:a.globeIcon},g(r=i.toLanguageString(e.editorTimezoneButton,e.messages[e.editorTimezoneButton]))?r:{default:()=>[r]}),this.showTimezones&&t.createVNode(t.Fragment,null,[t.createVNode(n.Field,{name:this.ks.fields.startTimezone,component:F,dataItems:m,value:y,ariaLabel:i.toLanguageString(e.editorEventStartTimeZone,e.messages[e.editorEventStartTimeZone])},null),t.createVNode(c.Button,{title:i.toLanguageString(e.editorResetTimezoneTitle,e.messages[e.editorResetTimezoneTitle]),"aria-label":i.toLanguageString(e.editorResetTimezoneAriaLabel,e.messages[e.editorResetTimezoneAriaLabel]),onClick:this.handleTimezoneToggle,svgIcon:a.globeIcon,fillMode:"flat",themeColor:"primary"},null)]),t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(n.Field,{name:this.ks.fields.end,component:z,isAllDay:this.isAllDay,connector:i.toLanguageString(e.editorDateConnectorTo,e.messages[e.editorDateConnectorTo]),fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:i.toLanguageString(e.editorEventEnd,e.messages[e.editorEventEnd]),timeAriaLabel:i.toLanguageString(e.editorEndTimeAriaLabel,e.messages[e.editorEndTimeAriaLabel]),timezone:this.ks.timezone},null)]),this.showTimezones&&t.createVNode(n.Field,{name:this.ks.fields.endTimezone,component:E,dataItems:m,value:this.kendoForm.valueGetter(this.ks.fields.endTimezone)||"",ariaLabel:i.toLanguageString(e.editorEventEndTimeZone,e.messages[e.editorEventEndTimeZone])},null)])]),this.showRecurrenceButton&&t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(c.Button,{class:"k-scheduler-recurrence-button",type:"button",fillMode:"flat",themeColor:"primary",svgIcon:a.arrowRotateCwIcon,onClick:this.handleMakeRecurringClick},{default:()=>[this.recurrenceButtonTextTemplate?this.renderRecurrenceButtonTextTemplate():this.recurrenceButtonText]})])])])]}),t.createVNode(n.FieldWrapper,null,{default:()=>[t.createVNode(h.Label,{class:"k-form-label"},{default:()=>[t.createVNode(d.SvgIcon,{icon:a.commentIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(n.Field,{component:b,name:this.ks.fields.description,id:"k-event-description",resizable:"vertical",placeholder:i.toLanguageString(e.editorEventDescription,e.messages[e.editorEventDescription]),"aria-label":i.toLanguageString(e.editorEventDescription,e.messages[e.editorEventDescription])},null)])]}),(this.ks.props.resources||[]).map(s=>t.createVNode(n.FieldWrapper,{key:s.field},{default:()=>[s.svgIcon&&t.createVNode(h.Label,{class:"k-form-label"},{default:()=>[t.createVNode(d.SvgIcon,{icon:s.svgIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(n.Field,{name:s.field,component:L,resource:s,multiple:s.multiple,dataItems:s.data,textField:s.textField,valueField:s.valueField,colorField:s.colorField,ariaLabel:s.name||s.field},null)])]})),u]}),this.showRecurrenceDialog&&t.createVNode(q.SchedulerRecurrenceDialog,{value:this.recurrenceRule,start:this.start,timezone:this.ks.timezone||"",onSave:this.handleRecurrenceSave,onCancel:this.handleRecurrenceCancel,onRemoveRecurrence:this.handleRemoveRecurrenceClick,recurrenceSummaryTemplate:this.recurrenceSummaryTemplate,recurrenceEditor:this.recurrenceEditor},null),this.showRemoveRecurrenceDialog&&t.createVNode(A.RemoveRecurrenceConfirmDialog,{onConfirm:this.handleRemoveRecurrenceConfirm,onCancel:this.handleRemoveRecurrenceCancel},null),this.showTimezoneResetDialog&&t.createVNode(v.Dialog,{title:i.toLanguageString(e.resetTimezoneDialogTitle,e.messages[e.resetTimezoneDialogTitle]),onClose:this.handleTimezoneResetClose},{default:()=>[i.toLanguageString(e.resetTimezoneConfirmation,e.messages[e.resetTimezoneConfirmation]),t.createVNode(v.DialogActionsBar,null,{default:()=>[t.createVNode(c.Button,{onClick:this.handleTimezoneResetClose},g(o=i.toLanguageString(e.resetTimezoneNo,e.messages[e.resetTimezoneNo]))?o:{default:()=>[o]}),t.createVNode(c.Button,{themeColor:"primary",onClick:this.handleTimezoneResetConfirm},g(l=i.toLanguageString(e.resetTimezoneYes,e.messages[e.resetTimezoneYes]))?l:{default:()=>[l]})]})]})])},methods:{renderRecurrenceButtonTextTemplate(){const r=this.recurrenceButtonTextTemplate;return r?t.createVNode(r,{recurrenceRule:this.recurrenceRule},null):null},handleTimezoneToggle(r){r.preventDefault(),this.showTimezones?this.showTimezoneResetDialog=!0:(this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!0)},handleTimezoneResetConfirm(){this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!1,this.showTimezoneResetDialog=!1},handleTimezoneResetClose(){this.showTimezoneResetDialog=!1},handleMakeRecurringClick(){this.showRecurrenceDialog=!0},handleRecurrenceSave(r){this.updateFormField(this.ks.fields.recurrenceRule,r),this.showRecurrenceDialog=!1},handleRecurrenceCancel(){this.showRecurrenceDialog=!1},handleRemoveRecurrenceClick(){this.showRemoveRecurrenceDialog=!0},handleRemoveRecurrenceConfirm(){this.updateFormField(this.ks.fields.recurrenceRule,null),this.updateFormField(this.ks.fields.recurrenceExceptions,null),this.showRemoveRecurrenceDialog=!1,this.showRecurrenceDialog=!1},handleRemoveRecurrenceCancel(){this.showRemoveRecurrenceDialog=!1},updateFormField(r,o){this.kendoForm.onChange(r,{value:o}),this.$emit("change",r,{value:o})},requiredValidator(r){return r?void 0:this.requiredValidationMessage},startTimezoneValidator(r,o){return this.showTimezones?this.requiredValidator(o(this.ks.fields.startTimezone)):void 0},endTimezoneValidator(r,o){return this.showTimezones?this.requiredValidator(o(this.ks.fields.endTimezone))||this.requiredValidator(o(this.ks.fields.startTimezone)):void 0}},watch:{startTimezone(r,o){this.showTimezones&&r&&r!==o&&this.updateFormField(this.ks.fields.endTimezone,r)}}});exports.SchedulerFormEditor=j;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),F=require("@progress/kendo-date-math"),A=require("@progress/kendo-recurrence"),T=require("@progress/kendo-vue-labels"),k=require("@progress/kendo-vue-intl"),s=require("@progress/kendo-vue-form"),D=require("@progress/kendo-vue-inputs"),f=require("@progress/kendo-vue-common"),h=require("@progress/kendo-svg-icons"),p=require("@progress/kendo-vue-buttons"),E=require("@progress/kendo-vue-dialogs"),e=require("../messages/main.js"),I=require("../recurrence/RecurrenceEditor.js"),q=require("./ResourceEditor.js"),u=require("./ZonedSplitDateTime.js"),V=require("./TimezoneDropDownList.js"),j=require("./SchedulerRecurrenceDialog.js"),B=require("./RemoveRecurrenceConfirmDialog.js"),b=require("../hooks/useRecurrenceSummary.js");function v(r){return typeof r=="function"||Object.prototype.toString.call(r)==="[object Object]"&&!t.isVNode(r)}const x=t.defineComponent({name:"KendoSchedulerFormEditor",props:{as:[String,Function,Object],id:String,tabIndex:Number,titleEditor:{type:[String,Function,Object],default:function(){return D.TextBox}},startEditor:{type:[String,Function,Object],default:function(){return u.ZonedSplitDateTime}},startTimezoneEditor:{type:[String,Function,Object],default:function(){return V.TimezoneDropDownList}},endEditor:{type:[String,Function,Object],default:function(){return u.ZonedSplitDateTime}},endTimezoneEditor:{type:[String,Function,Object],default:function(){return V.TimezoneDropDownList}},allDayLabel:{type:[String,Function,Object],default:function(){return"span"}},allDayEditor:{type:[String,Function,Object],default:function(){return D.Switch}},recurrenceEditor:{type:[String,Function,Object],default:function(){return I.RecurrenceEditor}},descriptionEditor:{type:[String,Function,Object],default:function(){return D.TextArea}},resourceEditor:{type:[String,Function,Object],default:function(){return q.ResourceEditor}},recurrenceButtonTextTemplate:[Object,Function],recurrenceSummaryTemplate:[Object,Function],errors:Object,valid:Boolean,touched:Boolean,visited:Boolean,modified:Boolean,submitted:Boolean,allowSubmit:Boolean,valueGetter:Function},created(){this.requiredValidationMessage=void 0},inject:{ks:{default:null},kendoForm:{default:{}},kendoIntlService:{default:null},kendoLocalizationService:{default:null}},data(){const r=this.kendoForm,i=this.ks;return{showTimezones:!!r.valueGetter(i.fields.startTimezone),showTimezoneResetDialog:!1,showRecurrenceDialog:!1,showRemoveRecurrenceDialog:!1}},setup(){const r=t.inject("ks"),i=t.inject("kendoForm");let a=null,c;t.provide("schedulerEndAdjustment",o=>(c=o,()=>{c===o&&(c=void 0)}));const m=()=>{const o=i.valueGetter(r.fields.start),d=i.valueGetter(r.fields.end);o instanceof Date&&d instanceof Date&&Number.isFinite(o.getTime())&&Number.isFinite(d.getTime())&&d.getTime()>=o.getTime()&&(a={start:new Date(o),end:new Date(d)})},n=()=>{const o=i.valueGetter(r.fields.start);if(!a||!(o instanceof Date)||!Number.isFinite(o.getTime()))return;let d=new Date(o.getTime()+a.end.getTime()-a.start.getTime());if(i.valueGetter(r.fields.isAllDay)){const R=u.readDateAsLocal(a.start,r.timezone),S=u.readDateAsLocal(o,r.timezone),g=new Date(u.readDateAsLocal(a.end,r.timezone));g.setDate(g.getDate()+Math.round((u.dayValue(S)-u.dayValue(R))/F.MS_PER_DAY)),d=u.readDateWithTimezone(g,r.timezone)}i.onChange(r.fields.end,{value:c?c(d):d}),m()};return m(),t.watch([()=>i.valueGetter(r.fields.start),()=>i.valueGetter(r.fields.end)],m,{flush:"post"}),{handleStartChange:n,updatePreviousRange:m}},computed:{isAllDay(){return!!this.kendoForm.valueGetter(this.ks.fields.isAllDay)},start(){return this.kendoForm.valueGetter(this.ks.fields.start)||new Date},startTimezone(){return this.kendoForm.valueGetter(this.ks.fields.startTimezone)||""},recurrenceRule(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceRule)},recurrenceId(){return this.kendoForm.valueGetter(this.ks.fields.recurrenceId)},isEditingOccurrence(){return this.recurrenceId!==void 0&&this.recurrenceId!==null},showRecurrenceButton(){return!this.isEditingOccurrence},recurrenceButtonText(){const r=k.provideLocalizationService(this),i=this.recurrenceRule?e.editorRecurrenceEdit:e.editorRecurrenceMakeRecurring;return r.toLanguageString(i,e.messages[i])},recurrenceSummaryText(){if(!this.recurrenceRule)return"";const r=k.provideIntlService(this),i=k.provideLocalizationService(this);return b.getRecurrenceSummary(this.recurrenceRule,this.start,r,(a,c)=>i.toLanguageString(a,c))},parsedRecurrenceRule(){return this.recurrenceRule?A.parseRule({recurrenceRule:this.recurrenceRule}):null}},render(){let r,i,a;const c=f.getDefaultSlots(this),m=F.timezoneNames(),n=k.provideLocalizationService(this),o=this.$props.startEditor,d=this.$props.endEditor,R=this.$props.startTimezoneEditor,S=this.$props.endTimezoneEditor,g=this.$props.allDayEditor,L=this.$props.allDayLabel,y=this.$props.descriptionEditor,N=this.$props.resourceEditor,C=this.$props.titleEditor,w=this.startTimezone;this.requiredValidationMessage=n.toLanguageString(e.editorValidationRequired,e.messages[e.editorValidationRequired]);const z=n.toLanguageString(e.editorEventAllDay,e.messages[e.editorEventAllDay]);return t.createVNode(t.Fragment,null,[t.createVNode(s.FormElement,{horizontal:!0,class:"k-scheduler-edit-form"},{default:()=>[t.createVNode(s.FieldWrapper,null,{default:()=>[t.createVNode(T.Label,{class:"k-form-label"},{default:()=>[t.createVNode(f.SvgIcon,{icon:h.rightDoubleQuotesIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(s.Field,{id:"k-scheduler-editor-title",name:this.ks.fields.title,field:this.ks.fields.title,component:C,placeholder:n.toLanguageString(e.editorEventTitle,e.messages[e.editorEventTitle]),"aria-label":n.toLanguageString(e.editorEventTitle,e.messages[e.editorEventTitle])},null)])]}),t.createVNode(s.FieldWrapper,null,{default:()=>[t.createVNode(T.Label,{class:"k-form-label"},{default:()=>[t.createVNode(f.SvgIcon,{icon:h.clockIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode("div",{class:"k-scheduler-datetime-section"},[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(s.Field,{name:this.ks.fields.isAllDay,component:g,onLabel:"",offLabel:""},null),t.createVNode(L,null,v(z)?z:{default:()=>[z]})]),t.createVNode("div",{class:"k-scheduler-datetime-grid"},[this.isAllDay?t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(s.Field,{name:this.ks.fields.start,component:o,onChange:this.handleStartChange,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:n.toLanguageString(e.editorEventStart,e.messages[e.editorEventStart]),timezone:this.ks.timezone},null),t.createVNode("span",{class:"k-scheduler-datetime-label"},[n.toLanguageString(e.editorDateConnectorTo,e.messages[e.editorDateConnectorTo])]),t.createVNode(s.Field,{name:this.ks.fields.end,component:d,onChange:this.updatePreviousRange,isAllDay:this.isAllDay,fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:n.toLanguageString(e.editorEventEnd,e.messages[e.editorEventEnd]),timezone:this.ks.timezone},null)]):t.createVNode(t.Fragment,null,[t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(s.Field,{name:this.ks.fields.start,component:o,onChange:this.handleStartChange,isAllDay:this.isAllDay,connector:n.toLanguageString(e.editorDateConnectorFrom,e.messages[e.editorDateConnectorFrom]),fieldError:this.kendoForm.errors[this.ks.fields.start],ariaLabel:n.toLanguageString(e.editorEventStart,e.messages[e.editorEventStart]),timeAriaLabel:n.toLanguageString(e.editorStartTimeAriaLabel,e.messages[e.editorStartTimeAriaLabel]),timezone:this.ks.timezone},null)]),!this.showTimezones&&t.createVNode(p.Button,{class:"k-col-span-2",fillMode:"flat",themeColor:"primary",title:n.toLanguageString(e.editorSetTimezoneTitle,e.messages[e.editorSetTimezoneTitle]),onClick:this.handleTimezoneToggle,svgIcon:h.globeIcon},v(r=n.toLanguageString(e.editorTimezoneButton,e.messages[e.editorTimezoneButton]))?r:{default:()=>[r]}),this.showTimezones&&t.createVNode(t.Fragment,null,[t.createVNode(s.Field,{name:this.ks.fields.startTimezone,component:R,dataItems:m,value:w,ariaLabel:n.toLanguageString(e.editorEventStartTimeZone,e.messages[e.editorEventStartTimeZone])},null),t.createVNode(p.Button,{title:n.toLanguageString(e.editorResetTimezoneTitle,e.messages[e.editorResetTimezoneTitle]),"aria-label":n.toLanguageString(e.editorResetTimezoneAriaLabel,e.messages[e.editorResetTimezoneAriaLabel]),onClick:this.handleTimezoneToggle,svgIcon:h.globeIcon,fillMode:"flat",themeColor:"primary"},null)]),t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(s.Field,{name:this.ks.fields.end,component:d,onChange:this.updatePreviousRange,isAllDay:this.isAllDay,connector:n.toLanguageString(e.editorDateConnectorTo,e.messages[e.editorDateConnectorTo]),fieldError:this.kendoForm.errors[this.ks.fields.end],ariaLabel:n.toLanguageString(e.editorEventEnd,e.messages[e.editorEventEnd]),timeAriaLabel:n.toLanguageString(e.editorEndTimeAriaLabel,e.messages[e.editorEndTimeAriaLabel]),timezone:this.ks.timezone},null)]),this.showTimezones&&t.createVNode(s.Field,{name:this.ks.fields.endTimezone,component:S,dataItems:m,value:this.kendoForm.valueGetter(this.ks.fields.endTimezone)||"",ariaLabel:n.toLanguageString(e.editorEventEndTimeZone,e.messages[e.editorEventEndTimeZone])},null)])]),this.showRecurrenceButton&&t.createVNode("div",{class:"k-scheduler-edit-form-row"},[t.createVNode(p.Button,{class:"k-scheduler-recurrence-button",type:"button",fillMode:"flat",themeColor:"primary",svgIcon:h.arrowRotateCwIcon,onClick:this.handleMakeRecurringClick},{default:()=>[this.recurrenceButtonText]}),this.recurrenceRule&&(this.recurrenceSummaryTemplate||this.recurrenceSummaryText)&&b.renderRecurrenceSummary(this.recurrenceSummaryText,this.renderRecurrenceSummaryTemplate())])])])]}),t.createVNode(s.FieldWrapper,null,{default:()=>[t.createVNode(T.Label,{class:"k-form-label"},{default:()=>[t.createVNode(f.SvgIcon,{icon:h.commentIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(s.Field,{component:y,name:this.ks.fields.description,id:"k-event-description",resizable:"vertical",placeholder:n.toLanguageString(e.editorEventDescription,e.messages[e.editorEventDescription]),"aria-label":n.toLanguageString(e.editorEventDescription,e.messages[e.editorEventDescription])},null)])]}),(this.ks.props.resources||[]).map(l=>t.createVNode(s.FieldWrapper,{key:l.field},{default:()=>[l.svgIcon&&t.createVNode(T.Label,{class:"k-form-label"},{default:()=>[t.createVNode(f.SvgIcon,{icon:l.svgIcon,size:"xlarge"},null)]}),t.createVNode("div",{class:"k-form-field-wrap"},[t.createVNode(s.Field,{name:l.field,component:N,resource:l,multiple:l.multiple,dataItems:l.data,textField:l.textField,valueField:l.valueField,colorField:l.colorField,ariaLabel:l.name||l.field},null)])]})),c]}),this.showRecurrenceDialog&&t.createVNode(j.SchedulerRecurrenceDialog,{value:this.recurrenceRule,start:this.start,timezone:this.ks.timezone||"",onSave:this.handleRecurrenceSave,onCancel:this.handleRecurrenceCancel,onRemoveRecurrence:this.handleRemoveRecurrenceClick,recurrenceSummaryTemplate:this.recurrenceSummaryTemplate,recurrenceEditor:this.recurrenceEditor},null),this.showRemoveRecurrenceDialog&&t.createVNode(B.RemoveRecurrenceConfirmDialog,{onConfirm:this.handleRemoveRecurrenceConfirm,onCancel:this.handleRemoveRecurrenceCancel},null),this.showTimezoneResetDialog&&t.createVNode(E.Dialog,{title:n.toLanguageString(e.resetTimezoneDialogTitle,e.messages[e.resetTimezoneDialogTitle]),onClose:this.handleTimezoneResetClose},{default:()=>[n.toLanguageString(e.resetTimezoneConfirmation,e.messages[e.resetTimezoneConfirmation]),t.createVNode(E.DialogActionsBar,null,{default:()=>[t.createVNode(p.Button,{onClick:this.handleTimezoneResetClose},v(i=n.toLanguageString(e.resetTimezoneNo,e.messages[e.resetTimezoneNo]))?i:{default:()=>[i]}),t.createVNode(p.Button,{themeColor:"primary",onClick:this.handleTimezoneResetConfirm},v(a=n.toLanguageString(e.resetTimezoneYes,e.messages[e.resetTimezoneYes]))?a:{default:()=>[a]})]})]})])},methods:{renderRecurrenceSummaryTemplate(){const r=this.recurrenceSummaryTemplate;return!r||!this.recurrenceRule?null:t.createVNode(r,{recurrenceRule:this.recurrenceRule,text:this.recurrenceSummaryText,parsedRule:this.parsedRecurrenceRule},null)},handleTimezoneToggle(r){r.preventDefault(),this.showTimezones?this.showTimezoneResetDialog=!0:(this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!0)},handleTimezoneResetConfirm(){this.updateFormField(this.ks.fields.startTimezone,null),this.updateFormField(this.ks.fields.endTimezone,null),this.showTimezones=!1,this.showTimezoneResetDialog=!1},handleTimezoneResetClose(){this.showTimezoneResetDialog=!1},handleMakeRecurringClick(){this.showRecurrenceDialog=!0},handleRecurrenceSave(r){this.updateFormField(this.ks.fields.recurrenceRule,r),this.showRecurrenceDialog=!1},handleRecurrenceCancel(){this.showRecurrenceDialog=!1},handleRemoveRecurrenceClick(){this.showRemoveRecurrenceDialog=!0},handleRemoveRecurrenceConfirm(){this.updateFormField(this.ks.fields.recurrenceRule,null),this.updateFormField(this.ks.fields.recurrenceExceptions,null),this.showRemoveRecurrenceDialog=!1,this.showRecurrenceDialog=!1},handleRemoveRecurrenceCancel(){this.showRemoveRecurrenceDialog=!1},updateFormField(r,i){this.kendoForm.onChange(r,{value:i}),this.$emit("change",r,{value:i})},requiredValidator(r){return r?void 0:this.requiredValidationMessage},startTimezoneValidator(r,i){return this.showTimezones?this.requiredValidator(i(this.ks.fields.startTimezone)):void 0},endTimezoneValidator(r,i){return this.showTimezones?this.requiredValidator(i(this.ks.fields.endTimezone))||this.requiredValidator(i(this.ks.fields.startTimezone)):void 0}},watch:{startTimezone(r,i){this.showTimezones&&r&&r!==i&&this.updateFormField(this.ks.fields.endTimezone,r)}}});exports.SchedulerFormEditor=x;
|