@progress/kendo-vue-scheduler 9.3.0-develop.5 → 9.3.0-develop.7
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 +67 -4
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +267 -115
- package/components/BaseView.js +1 -1
- package/components/BaseView.mjs +10 -4
- package/components/CurrentTimeMarker.js +1 -1
- package/components/CurrentTimeMarker.mjs +9 -9
- package/components/CurrentTimeMarkerArrow.js +1 -1
- package/components/CurrentTimeMarkerArrow.mjs +3 -3
- package/components/DateHeaderCell.js +1 -1
- package/components/DateHeaderCell.mjs +22 -13
- package/components/MoreEventsPopover.d.ts +77 -0
- package/components/MoreEventsPopover.js +8 -0
- package/components/MoreEventsPopover.mjs +125 -0
- package/components/SchedulerActionButtons.d.ts +6 -0
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +25 -19
- package/components/SchedulerForm.d.ts +7 -0
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +69 -61
- package/components/SchedulerOccurrenceDialog.d.ts +4 -4
- package/components/SchedulerOccurrenceDialog.js +1 -1
- package/components/SchedulerOccurrenceDialog.mjs +35 -26
- package/components/SchedulerRemoveDialog.d.ts +6 -0
- package/components/SchedulerRemoveDialog.js +1 -1
- package/components/SchedulerRemoveDialog.mjs +24 -23
- package/components/ShowMoreItemsButton.d.ts +10 -1
- package/components/ShowMoreItemsButton.js +1 -1
- package/components/ShowMoreItemsButton.mjs +40 -18
- package/components/footer/bussiness-hours/BusinessHours.js +1 -1
- package/components/footer/bussiness-hours/BusinessHours.mjs +16 -21
- package/components/header/SchedulerAdaptiveHeader.js +1 -1
- package/components/header/SchedulerAdaptiveHeader.mjs +28 -26
- package/components/header/SchedulerHeader.d.ts +5 -1
- package/components/header/SchedulerHeader.js +1 -1
- package/components/header/SchedulerHeader.mjs +11 -7
- package/components/header/navigation/NavigationDatePicker.d.ts +22 -3
- package/components/header/navigation/NavigationDatePicker.js +1 -1
- package/components/header/navigation/NavigationDatePicker.mjs +27 -30
- package/components/header/view-selector/ViewSelectorList.d.ts +26 -6
- package/components/header/view-selector/ViewSelectorList.js +1 -1
- package/components/header/view-selector/ViewSelectorList.mjs +55 -49
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/RemoveRecurrenceConfirmDialog.d.ts +29 -0
- package/editors/RemoveRecurrenceConfirmDialog.js +8 -0
- package/editors/RemoveRecurrenceConfirmDialog.mjs +65 -0
- package/editors/ResourceEditor.d.ts +3 -0
- package/editors/ResourceEditor.js +1 -1
- package/editors/ResourceEditor.mjs +12 -10
- package/editors/SchedulerFormEditor.d.ts +1067 -2953
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +297 -365
- package/editors/SchedulerRecurrenceDialog.d.ts +143 -0
- package/editors/SchedulerRecurrenceDialog.js +8 -0
- package/editors/SchedulerRecurrenceDialog.mjs +575 -0
- package/editors/TimezoneDropDownList.d.ts +46 -0
- package/editors/TimezoneDropDownList.js +8 -0
- package/editors/TimezoneDropDownList.mjs +63 -0
- package/editors/ZonedSplitDateTime.d.ts +65 -0
- package/editors/ZonedSplitDateTime.js +8 -0
- package/editors/ZonedSplitDateTime.mjs +100 -0
- package/hooks/main.d.ts +1 -0
- package/hooks/useGroupRowHeightSync.d.ts +10 -0
- package/hooks/useRecurrenceSummary.d.ts +10 -0
- package/hooks/useRecurrenceSummary.js +8 -0
- package/hooks/useRecurrenceSummary.mjs +74 -0
- package/hooks/useRowSync.js +1 -1
- package/hooks/useRowSync.mjs +23 -4
- package/hooks/useSlotExpand.js +1 -1
- package/hooks/useSlotExpand.mjs +36 -28
- package/index.d.mts +9 -3
- package/index.d.ts +9 -3
- package/index.js +1 -1
- package/index.mjs +83 -71
- package/items/SchedulerEditItem.d.ts +14 -3
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +130 -72
- package/items/SchedulerItem.d.ts +10 -0
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +153 -135
- package/items/SchedulerProportionalViewItem.d.ts +183 -0
- package/items/SchedulerProportionalViewItem.js +8 -0
- package/items/SchedulerProportionalViewItem.mjs +378 -0
- package/items/SchedulerViewItem.d.ts +3 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +107 -67
- package/messages/main.d.ts +186 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +226 -102
- package/models/Item.d.ts +2 -0
- package/models/Occurrence.d.ts +2 -0
- package/models/SchedulerModelFields.d.ts +5 -0
- package/models/SchedulerResource.d.ts +6 -0
- package/models/SchedulerView.d.ts +2 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +12 -11
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +36 -39
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +31 -27
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +41 -35
- package/slots/SchedulerEditSlot.d.ts +2 -0
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +27 -28
- package/slots/SchedulerSlot.d.ts +4 -0
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +10 -1
- package/slots/SchedulerViewSlot.d.ts +5 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +70 -50
- package/tasks/SchedulerEditTask.d.ts +6 -0
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +64 -23
- package/tasks/SchedulerTask.d.ts +15 -0
- package/tasks/SchedulerTask.js +1 -1
- package/tasks/SchedulerTask.mjs +39 -28
- package/tasks/SchedulerViewTask.d.ts +9 -0
- package/tasks/SchedulerViewTask.js +1 -1
- package/tasks/SchedulerViewTask.mjs +10 -5
- package/utils/main.d.ts +4 -1
- package/utils/main.js +1 -1
- package/utils/main.mjs +133 -112
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +28 -22
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +44 -42
- package/views/agenda/AgendaViewHead.js +1 -1
- package/views/agenda/AgendaViewHead.mjs +14 -10
- package/views/common/SchedulerDrag.d.ts +12 -0
- package/views/common/SchedulerResize.d.ts +12 -0
- package/views/common/VerticalResourceIterator.d.ts +3 -0
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +16 -9
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +2 -2
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +98 -127
- package/views/month/MonthView.d.ts +8 -2
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +115 -109
- package/views/month/MonthViewBody.d.ts +7 -2
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +15 -11
- package/views/time/MultiDayTimelineView.d.ts +5 -0
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +125 -132
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +2 -2
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +2 -2
- package/views/week/WorkWeekView.js +1 -1
- package/views/week/WorkWeekView.mjs +9 -9
- package/components/header/navigation/DatePickerToggleButton.d.ts +0 -16
- package/editors/FilterableComboBox.d.ts +0 -38
- package/editors/FilterableComboBox.js +0 -8
- package/editors/FilterableComboBox.mjs +0 -61
- package/editors/ZonedDateTime.js +0 -8
- package/editors/ZonedDateTime.mjs +0 -57
package/components/BaseView.mjs
CHANGED
|
@@ -13,8 +13,9 @@ import { COLLECTION_ACTION as s } from "../utils/main.mjs";
|
|
|
13
13
|
import { dispatchFocusedSlots as p } from "../hooks/use-slots-focus.mjs";
|
|
14
14
|
import { dispatchFocusedItems as m } from "../hooks/use-items-focus.mjs";
|
|
15
15
|
import { useCellSync as o } from "../hooks/useCellSync.mjs";
|
|
16
|
-
const
|
|
16
|
+
const A = /* @__PURE__ */ d({
|
|
17
17
|
name: "KendoBaseView",
|
|
18
|
+
inheritAttrs: !1,
|
|
18
19
|
props: {
|
|
19
20
|
viewProps: Object,
|
|
20
21
|
baseSlots: Array,
|
|
@@ -54,14 +55,19 @@ const C = /* @__PURE__ */ d({
|
|
|
54
55
|
mounted() {
|
|
55
56
|
this.syncCells();
|
|
56
57
|
},
|
|
58
|
+
watch: {
|
|
59
|
+
ranges(e) {
|
|
60
|
+
this.bv.ranges = e;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
57
63
|
updated() {
|
|
58
64
|
this.syncCells();
|
|
59
65
|
},
|
|
60
66
|
render() {
|
|
61
67
|
const e = h(this);
|
|
62
68
|
return c("div", {
|
|
63
|
-
class: "k-scheduler-layout k-scheduler-layout-flex",
|
|
64
|
-
role: this.$props.isAgendaView ? "grid" : "
|
|
69
|
+
class: ["k-scheduler-layout k-scheduler-layout-flex", this.$attrs.class],
|
|
70
|
+
role: this.$props.isAgendaView ? "grid" : "none"
|
|
65
71
|
}, [e]);
|
|
66
72
|
},
|
|
67
73
|
methods: {
|
|
@@ -119,5 +125,5 @@ const C = /* @__PURE__ */ d({
|
|
|
119
125
|
}
|
|
120
126
|
});
|
|
121
127
|
export {
|
|
122
|
-
|
|
128
|
+
A as BaseView
|
|
123
129
|
};
|
|
@@ -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 a=require("vue"),f=require("@progress/kendo-date-math"),l=require("../utils/main.js"),n=require("../views/common/utils.js"),w=require("@progress/kendo-vue-common"),g=s=>{let t=0;return s.forEach(e=>{if(e){const r=n.getRect(e.$el);t+=r.width}}),t},m=s=>{let t=0;return s.forEach(e=>{if(e){const r=n.getRect(e.$el);t+=r.height}}),t},$=(s,t)=>{const e=f.cloneDate(s);return e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e},b=a.defineComponent({name:"KendoCurrentTimeMarker",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null,this.observer=null,this.line=null},data(){return{show:!1}},mounted(){this.line=this.$el,this.$nextTick(()=>{this.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||!window)&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),w.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){this.observer&&this.observer.disconnect()},render(){return a.createVNode("div",{class:"k-current-time",style:{transform:this.$props.vertical?"translateX(-50%)":"translateY(-50%)",[this.$props.vertical?"width":"height"]:"1px",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const s=this.$props.groupIndex,t=this.bv.slots.filter(e=>(s==null||e.cSlot.group.index===s)&&(this.$props.vertical?l.intersects(new Date,new Date,e.cSlot.start,e.cSlot.end,!0):l.isInTimeRange(new Date,e.cSlot.start,e.cSlot.end))&&!e.isAllDay);if(t&&t.length&&this.line){const e=l.first(t);if(!e)return;const r=this.$props.vertical?m(t):g(t),i=n.getRect(e.$el),h=n.getRect(this.arrowRef),u=(this.$props.vertical?i.width:i.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),c=(Date.now()-$(new Date,e.cSlot.start).getTime())*u,d=this.$props.dir==="rtl",p=this.$props.vertical?i.top:i.top+c-h.height/2,o=d?"right":"left",v=this.$props.vertical?i[o]+c-h.width/2:i[o];this.line.style[o]=`${v}px`,this.line.style.top=`${p}px`,this.line.style[this.$props.vertical?"height":"width"]=`${r-1}px`,this.show=!0}else this.show=!1}}});exports.CurrentTimeMarker=b;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),f=require("@progress/kendo-date-math"),l=require("../utils/main.js"),n=require("../views/common/utils.js"),w=require("@progress/kendo-vue-common"),g=s=>{let t=0;return s.forEach(e=>{if(e){const r=n.getRect(e.$el);t+=r.width}}),t},m=s=>{let t=0;return s.forEach(e=>{if(e){const r=n.getRect(e.$el);t+=r.height}}),t},$=(s,t)=>{const e=f.cloneDate(s);return e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e},b=a.defineComponent({name:"KendoCurrentTimeMarker",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null,this.observer=null,this.line=null},data(){return{show:!1}},mounted(){this.line=this.$el,this.$nextTick(()=>{this.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||!window)&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),w.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){clearInterval(this.interval),this.observer&&this.observer.disconnect()},render(){return a.createVNode("div",{class:"k-current-time",style:{transform:this.$props.vertical?"translateX(-50%)":"translateY(-50%)",[this.$props.vertical?"width":"height"]:"1px",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const s=this.$props.groupIndex,t=this.bv.slots.filter(e=>(s==null||e.cSlot.group.index===s)&&(this.$props.vertical?l.intersects(new Date,new Date,e.cSlot.start,e.cSlot.end,!0):l.isInTimeRange(new Date,e.cSlot.start,e.cSlot.end))&&!e.isAllDay);if(t&&t.length&&this.line){const e=l.first(t);if(!e)return;const r=this.$props.vertical?m(t):g(t),i=n.getRect(e.$el),h=n.getRect(this.arrowRef),u=(this.$props.vertical?i.width:i.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),c=(Date.now()-$(new Date,e.cSlot.start).getTime())*u,d=this.$props.dir==="rtl",p=this.$props.vertical?i.top:i.top+c-h.height/2,o=d?"right":"left",v=this.$props.vertical?i[o]+c-h.width/2:i[o];this.line.style[o]=`${v}px`,this.line.style.top=`${p}px`,this.line.style[this.$props.vertical?"height":"width"]=`${r-1}px`,this.show=!0}else this.show=!1}}});exports.CurrentTimeMarker=b;
|
|
@@ -10,24 +10,24 @@ import { cloneDate as m } from "@progress/kendo-date-math";
|
|
|
10
10
|
import { intersects as v, isInTimeRange as w, first as g } from "../utils/main.mjs";
|
|
11
11
|
import { getRect as o } from "../views/common/utils.mjs";
|
|
12
12
|
import { canUseDOM as $ } from "@progress/kendo-vue-common";
|
|
13
|
-
const b = (
|
|
13
|
+
const b = (i) => {
|
|
14
14
|
let e = 0;
|
|
15
|
-
return
|
|
15
|
+
return i.forEach((t) => {
|
|
16
16
|
if (t) {
|
|
17
17
|
const r = o(t.$el);
|
|
18
18
|
e += r.width;
|
|
19
19
|
}
|
|
20
20
|
}), e;
|
|
21
|
-
}, x = (
|
|
21
|
+
}, x = (i) => {
|
|
22
22
|
let e = 0;
|
|
23
|
-
return
|
|
23
|
+
return i.forEach((t) => {
|
|
24
24
|
if (t) {
|
|
25
25
|
const r = o(t.$el);
|
|
26
26
|
e += r.height;
|
|
27
27
|
}
|
|
28
28
|
}), e;
|
|
29
|
-
}, S = (
|
|
30
|
-
const t = m(
|
|
29
|
+
}, S = (i, e) => {
|
|
30
|
+
const t = m(i);
|
|
31
31
|
return t.setHours(e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()), t;
|
|
32
32
|
}, M = /* @__PURE__ */ d({
|
|
33
33
|
name: "KendoCurrentTimeMarker",
|
|
@@ -62,7 +62,7 @@ const b = (s) => {
|
|
|
62
62
|
}), !(!this.ks.scheduler || !this.ks.scheduler.$el || !window) && (clearInterval(this.interval), this.interval = window.setInterval(this.position, this.updateInterval), $ && window.ResizeObserver && (this.observer = new window.ResizeObserver(this.position), this.observer.observe(this.ks.scheduler.$el)));
|
|
63
63
|
},
|
|
64
64
|
unmounted() {
|
|
65
|
-
this.observer && this.observer.disconnect();
|
|
65
|
+
clearInterval(this.interval), this.observer && this.observer.disconnect();
|
|
66
66
|
},
|
|
67
67
|
render() {
|
|
68
68
|
return f("div", {
|
|
@@ -78,12 +78,12 @@ const b = (s) => {
|
|
|
78
78
|
position() {
|
|
79
79
|
if (!this.bv.slots)
|
|
80
80
|
return;
|
|
81
|
-
const
|
|
81
|
+
const i = this.$props.groupIndex, e = this.bv.slots.filter((t) => (i == null || t.cSlot.group.index === i) && (this.$props.vertical ? v(/* @__PURE__ */ new Date(), /* @__PURE__ */ new Date(), t.cSlot.start, t.cSlot.end, !0) : w(/* @__PURE__ */ new Date(), t.cSlot.start, t.cSlot.end)) && !t.isAllDay);
|
|
82
82
|
if (e && e.length && this.line) {
|
|
83
83
|
const t = g(e);
|
|
84
84
|
if (!t)
|
|
85
85
|
return;
|
|
86
|
-
const r = this.$props.vertical ? x(e) : b(e),
|
|
86
|
+
const r = this.$props.vertical ? x(e) : b(e), s = o(t.$el), l = o(this.arrowRef), c = (this.$props.vertical ? s.width : s.height) / (t.cSlot.end.getTime() - t.cSlot.start.getTime()), h = (Date.now() - S(/* @__PURE__ */ new Date(), t.cSlot.start).getTime()) * c, a = this.$props.dir === "rtl", p = this.$props.vertical ? s.top : s.top + h - l.height / 2, n = a ? "right" : "left", u = this.$props.vertical ? s[n] + h - l.width / 2 : s[n];
|
|
87
87
|
this.line.style[n] = `${u}px`, this.line.style.top = `${p}px`, this.line.style[this.$props.vertical ? "height" : "width"] = `${r - 1}px`, this.show = !0;
|
|
88
88
|
} else
|
|
89
89
|
this.show = !1;
|
|
@@ -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 a=require("vue"),v=require("@progress/kendo-date-math"),c=require("@progress/kendo-vue-common"),o=require("../utils/main.js"),h=require("../views/common/utils.js"),f=(s,t)=>{const e=v.cloneDate(s);return e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e},m=a.defineComponent({name:"KendoCurrentTimeMarkerArrow",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null},data(){return{show:!1}},mounted(){this.arrowRef=this.$el,this.position(),!(!this.ks.scheduler||!this.ks.scheduler.$el||!window)&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){this.observer&&this.observer.disconnect()},render(){return a.createVNode("div",{class:c.classNames("k-current-time",{"k-current-time-arrow-right":!this.$props.vertical&&this.$props.dir!=="rtl","k-current-time-arrow-left":!this.$props.vertical&&this.$props.dir==="rtl","k-current-time-arrow-down":this.$props.vertical}),style:{transform:this.$props.vertical?this.$props.dir==="rtl"?"translateX(50%)":"translateX(-50%)":"translateY(-50%)",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const s=this.$props.groupIndex,t=this.bv.slots.filter(e=>(s==null||e.cSlot.group.index===s)&&(this.$props.vertical?o.intersects(new Date,new Date,e.cSlot.start,e.cSlot.end,!0):o.isInTimeRange(new Date,e.cSlot.start,e.cSlot.end))&&!e.isAllDay);if(t&&t.length&&this.$el){const e=o.first(t);if(!e)return;const r=h.getRect(e.$el),n=h.getRect(this.arrowRef),u=(this.$props.vertical?r.width:r.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),l=(Date.now()-f(new Date,e.cSlot.start).getTime())*u,p=this.$props.dir==="rtl",d=this.$props.vertical?r.top:r.top+l-n.height/2,i=p?"right":"left",w=this.$props.vertical?r[i]+l-n.width/2:r[i];this.$props.vertical?this.arrowRef.style[i]=`${w}px`:this.arrowRef.style.top=`${d}px`,this.show=!0}else this.show=!1}}});exports.CurrentTimeMarkerArrow=m;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),v=require("@progress/kendo-date-math"),c=require("@progress/kendo-vue-common"),o=require("../utils/main.js"),h=require("../views/common/utils.js"),f=(s,t)=>{const e=v.cloneDate(s);return e.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),e},m=a.defineComponent({name:"KendoCurrentTimeMarkerArrow",props:{updateInterval:{type:Number,default:6e4},groupIndex:Number,vertical:Boolean,attachArrow:Object},inject:{ks:{default:null},bv:{default:null}},created(){this.interval=void 0,this.arrowRef=null},data(){return{show:!1}},mounted(){this.arrowRef=this.$el,this.position(),!(!this.ks.scheduler||!this.ks.scheduler.$el||!window)&&(clearInterval(this.interval),this.interval=window.setInterval(this.position,this.updateInterval),c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.position),this.observer.observe(this.ks.scheduler.$el)))},unmounted(){clearInterval(this.interval),this.observer&&this.observer.disconnect()},render(){return a.createVNode("div",{class:c.classNames("k-current-time",{"k-current-time-arrow-right":!this.$props.vertical&&this.$props.dir!=="rtl","k-current-time-arrow-left":!this.$props.vertical&&this.$props.dir==="rtl","k-current-time-arrow-down":this.$props.vertical}),style:{transform:this.$props.vertical?this.$props.dir==="rtl"?"translateX(50%)":"translateX(-50%)":"translateY(-50%)",visibility:this.show?void 0:"hidden"}},null)},methods:{position(){if(!this.bv.slots)return;const s=this.$props.groupIndex,t=this.bv.slots.filter(e=>(s==null||e.cSlot.group.index===s)&&(this.$props.vertical?o.intersects(new Date,new Date,e.cSlot.start,e.cSlot.end,!0):o.isInTimeRange(new Date,e.cSlot.start,e.cSlot.end))&&!e.isAllDay);if(t&&t.length&&this.$el){const e=o.first(t);if(!e)return;const r=h.getRect(e.$el),n=h.getRect(this.arrowRef),u=(this.$props.vertical?r.width:r.height)/(e.cSlot.end.getTime()-e.cSlot.start.getTime()),l=(Date.now()-f(new Date,e.cSlot.start).getTime())*u,p=this.$props.dir==="rtl",d=this.$props.vertical?r.top:r.top+l-n.height/2,i=p?"right":"left",w=this.$props.vertical?r[i]+l-n.width/2:r[i];this.$props.vertical?this.arrowRef.style[i]=`${w}px`:this.arrowRef.style.top=`${d}px`,this.show=!0}else this.show=!1}}});exports.CurrentTimeMarkerArrow=m;
|
|
@@ -13,7 +13,7 @@ import { getRect as l } from "../views/common/utils.mjs";
|
|
|
13
13
|
const b = (s, e) => {
|
|
14
14
|
const t = f(s);
|
|
15
15
|
return t.setHours(e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds()), t;
|
|
16
|
-
},
|
|
16
|
+
}, x = /* @__PURE__ */ d({
|
|
17
17
|
name: "KendoCurrentTimeMarkerArrow",
|
|
18
18
|
props: {
|
|
19
19
|
updateInterval: {
|
|
@@ -44,7 +44,7 @@ const b = (s, e) => {
|
|
|
44
44
|
this.arrowRef = this.$el, this.position(), !(!this.ks.scheduler || !this.ks.scheduler.$el || !window) && (clearInterval(this.interval), this.interval = window.setInterval(this.position, this.updateInterval), w && window.ResizeObserver && (this.observer = new window.ResizeObserver(this.position), this.observer.observe(this.ks.scheduler.$el)));
|
|
45
45
|
},
|
|
46
46
|
unmounted() {
|
|
47
|
-
this.observer && this.observer.disconnect();
|
|
47
|
+
clearInterval(this.interval), this.observer && this.observer.disconnect();
|
|
48
48
|
},
|
|
49
49
|
render() {
|
|
50
50
|
return u("div", {
|
|
@@ -76,5 +76,5 @@ const b = (s, e) => {
|
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
export {
|
|
79
|
-
|
|
79
|
+
x as CurrentTimeMarkerArrow
|
|
80
80
|
};
|
|
@@ -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 e=require("vue"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("@progress/kendo-vue-intl"),l=require("@progress/kendo-vue-common"),d=e.defineComponent({name:"KendoDateHeaderCell",props:{as:[String,Function,Object],format:{type:[String,Object],default:"d"},date:[Date,Object],start:Date,end:Date},inject:{kendoIntlService:{default:null}},setup(){return{kendoIntlService:e.inject("kendoIntlService",{})}},render(){const a=s.provideIntlService(this),t=this.$props.format||"d",n=typeof t=="object"&&"skeleton"in t&&typeof t.skeleton=="string"&&t.skeleton.includes("E")&&t.skeleton.includes("d"),o=n?null:a.formatDate(this.$props.date,t),r=l.getTemplate.call(this,{h:e.h,template:this.$props.as,defaultRendering:o,additionalProps:{default:o,date:this.$props.date,format:this.$props.format}});return e.createVNode("div",{class:"k-scheduler-cell k-heading-cell"},[n?e.createVNode(e.Fragment,null,[e.createVNode("span",{class:"k-scheduler-date-day"},[a.formatDate(this.$props.date,"EEE")]),e.createVNode("span",{class:"k-link k-nav-day","aria-label":a.formatDate(this.$props.date,{skeleton:"Ed"})},[a.formatDate(this.$props.date,{skeleton:"d"})])]):e.createVNode("span",{class:"k-link k-nav-day"},[r])])}});exports.DateHeaderCell=d;
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
9
|
-
import { provideIntlService as
|
|
10
|
-
import { getTemplate as
|
|
11
|
-
const
|
|
8
|
+
import { defineComponent as r, h as l, createVNode as a, Fragment as d, inject as i } from "vue";
|
|
9
|
+
import { provideIntlService as p } from "@progress/kendo-vue-intl";
|
|
10
|
+
import { getTemplate as c } from "@progress/kendo-vue-common";
|
|
11
|
+
const u = /* @__PURE__ */ r({
|
|
12
12
|
name: "KendoDateHeaderCell",
|
|
13
13
|
props: {
|
|
14
14
|
as: [String, Function, Object],
|
|
@@ -27,27 +27,36 @@ const m = /* @__PURE__ */ a({
|
|
|
27
27
|
},
|
|
28
28
|
setup() {
|
|
29
29
|
return {
|
|
30
|
-
kendoIntlService:
|
|
30
|
+
kendoIntlService: i("kendoIntlService", {})
|
|
31
31
|
};
|
|
32
32
|
},
|
|
33
33
|
render() {
|
|
34
|
-
const
|
|
35
|
-
h:
|
|
34
|
+
const t = p(this), e = this.$props.format || "d", n = typeof e == "object" && "skeleton" in e && typeof e.skeleton == "string" && e.skeleton.includes("E") && e.skeleton.includes("d"), s = n ? null : t.formatDate(this.$props.date, e), o = c.call(this, {
|
|
35
|
+
h: l,
|
|
36
36
|
template: this.$props.as,
|
|
37
|
-
defaultRendering:
|
|
37
|
+
defaultRendering: s,
|
|
38
38
|
additionalProps: {
|
|
39
|
-
default:
|
|
39
|
+
default: s,
|
|
40
40
|
date: this.$props.date,
|
|
41
41
|
format: this.$props.format
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
|
-
return
|
|
44
|
+
return a("div", {
|
|
45
45
|
class: "k-scheduler-cell k-heading-cell"
|
|
46
|
-
}, [
|
|
46
|
+
}, [n ? a(d, null, [a("span", {
|
|
47
|
+
class: "k-scheduler-date-day"
|
|
48
|
+
}, [t.formatDate(this.$props.date, "EEE")]), a("span", {
|
|
49
|
+
class: "k-link k-nav-day",
|
|
50
|
+
"aria-label": t.formatDate(this.$props.date, {
|
|
51
|
+
skeleton: "Ed"
|
|
52
|
+
})
|
|
53
|
+
}, [t.formatDate(this.$props.date, {
|
|
54
|
+
skeleton: "d"
|
|
55
|
+
})])]) : a("span", {
|
|
47
56
|
class: "k-link k-nav-day"
|
|
48
|
-
}, [
|
|
57
|
+
}, [o])]);
|
|
49
58
|
}
|
|
50
59
|
});
|
|
51
60
|
export {
|
|
52
|
-
|
|
61
|
+
u as DateHeaderCell
|
|
53
62
|
};
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
import { Item, Slot } from '../models/main';
|
|
10
|
+
/**
|
|
11
|
+
* @hidden
|
|
12
|
+
*/
|
|
13
|
+
export interface MoreEventsPopoverProps {
|
|
14
|
+
show: boolean;
|
|
15
|
+
anchor: HTMLElement | null;
|
|
16
|
+
slot: Slot | null;
|
|
17
|
+
items: Item[];
|
|
18
|
+
itemsPerSlot: number;
|
|
19
|
+
onDayClick?: (slot: Slot) => void;
|
|
20
|
+
onClose?: () => void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*/
|
|
25
|
+
declare const MoreEventsPopover: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
26
|
+
show: {
|
|
27
|
+
type: PropType<boolean>;
|
|
28
|
+
default: boolean;
|
|
29
|
+
};
|
|
30
|
+
anchor: {
|
|
31
|
+
type: PropType<HTMLElement>;
|
|
32
|
+
default: any;
|
|
33
|
+
};
|
|
34
|
+
slot: {
|
|
35
|
+
type: PropType<Slot>;
|
|
36
|
+
default: any;
|
|
37
|
+
};
|
|
38
|
+
items: {
|
|
39
|
+
type: PropType<Item[]>;
|
|
40
|
+
default: () => any[];
|
|
41
|
+
};
|
|
42
|
+
itemsPerSlot: {
|
|
43
|
+
type: PropType<number>;
|
|
44
|
+
default: number;
|
|
45
|
+
};
|
|
46
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "dayclick")[], "close" | "dayclick", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
47
|
+
show: {
|
|
48
|
+
type: PropType<boolean>;
|
|
49
|
+
default: boolean;
|
|
50
|
+
};
|
|
51
|
+
anchor: {
|
|
52
|
+
type: PropType<HTMLElement>;
|
|
53
|
+
default: any;
|
|
54
|
+
};
|
|
55
|
+
slot: {
|
|
56
|
+
type: PropType<Slot>;
|
|
57
|
+
default: any;
|
|
58
|
+
};
|
|
59
|
+
items: {
|
|
60
|
+
type: PropType<Item[]>;
|
|
61
|
+
default: () => any[];
|
|
62
|
+
};
|
|
63
|
+
itemsPerSlot: {
|
|
64
|
+
type: PropType<number>;
|
|
65
|
+
default: number;
|
|
66
|
+
};
|
|
67
|
+
}>> & Readonly<{
|
|
68
|
+
onClose?: (...args: any[]) => any;
|
|
69
|
+
onDayclick?: (...args: any[]) => any;
|
|
70
|
+
}>, {
|
|
71
|
+
slot: Slot;
|
|
72
|
+
anchor: HTMLElement;
|
|
73
|
+
items: Item[];
|
|
74
|
+
show: boolean;
|
|
75
|
+
itemsPerSlot: number;
|
|
76
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
77
|
+
export { MoreEventsPopover };
|
|
@@ -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 e=require("vue"),N=require("@progress/kendo-vue-tooltip"),h=require("@progress/kendo-vue-intl"),s=require("../messages/main.js"),T={skeleton:"MMM"},V={skeleton:"dd"},b="t",D=e.defineComponent({name:"KendoSchedulerMoreEventsPopover",props:{show:{type:Boolean,default:!1},anchor:{type:Object,default:null},slot:{type:Object,default:null},items:{type:Array,default:()=>[]},itemsPerSlot:{type:Number,default:2}},emits:["dayclick","close"],inject:{kendoIntlService:{default:null},kendoLocalizationService:{default:null}},setup(o,{emit:d}){const t=r=>{const l=r.target,a=document.querySelector(".k-scheduler-popover");a&&!a.contains(l)&&o.anchor&&!o.anchor.contains(l)&&d("close")};return e.watch(()=>o.show,r=>{r?document.addEventListener("mousedown",t,!0):document.removeEventListener("mousedown",t,!0)},{immediate:!0}),e.onUnmounted(()=>{document.removeEventListener("mousedown",t,!0)}),{}},render(){const o=h.provideIntlService(this),d=h.provideLocalizationService(this);if(!this.$props.show||!this.$props.slot)return null;const t=this.$props.slot,r=this.$props.itemsPerSlot,l=t.items?t.items.filter((n,p)=>p>=r):[],a=new Date(t.zonedEnd.getTime()-(t.zonedEnd.getTime()-t.zonedStart.getTime())/2),k=o.formatDate(a,T),f=o.formatDate(a,V),y=d.toLanguageString(s.noEvents,s.messages[s.noEvents]),g=d.toLanguageString(s.popoverEvents,s.messages[s.popoverEvents]),E=n=>{n.preventDefault(),this.$emit("dayclick",t)},S=()=>{this.$emit("close")},w=e.createVNode("div",{class:"k-popover-header"},[e.createVNode("div",{class:"k-month"},[k]),e.createVNode("div",{class:"k-link k-day",onClick:E},[f])]);return e.createVNode(N.Popover,{anchor:this.$props.anchor,show:this.$props.show,popoverClass:"k-scheduler-popover",position:"right",collision:{horizontal:"flip",vertical:"flip"},animate:!1,onKeydown:S},{default:()=>[w,e.createVNode("div",{class:"k-scheduler-more-events-content",style:{minWidth:"220px"}},[l.length>0?e.createVNode("div",{class:"k-popover-events",role:"list","aria-label":g},[l.map((n,p)=>{var v,m;const i=(m=(v=n.group)==null?void 0:v.resources)==null?void 0:m.find(c=>!!(c.colorField&&c[c.colorField]!==""&&c[c.colorField]!==void 0)),u=(i==null?void 0:i.colorField)&&i[i.colorField],M=u?{borderColor:u,backgroundColor:u}:void 0;return e.createVNode("div",{key:n.uid||p,class:"k-popover-event k-event",role:"listitem",style:M},[e.createVNode("div",{class:"k-event-title"},[n.title||""]),e.createVNode("span",{class:"k-event-time"},[o.formatDate(n.zonedStart,b)])])})]):e.createVNode("span",{class:"k-no-data"},[y])])]})}});exports.MoreEventsPopover=D;
|
|
@@ -0,0 +1,125 @@
|
|
|
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 T, createVNode as t, watch as L, onUnmounted as b } from "vue";
|
|
9
|
+
import { Popover as z } from "@progress/kendo-vue-tooltip";
|
|
10
|
+
import { provideIntlService as C, provideLocalizationService as F } from "@progress/kendo-vue-intl";
|
|
11
|
+
import { noEvents as u, messages as h, popoverEvents as f } from "../messages/main.mjs";
|
|
12
|
+
const $ = {
|
|
13
|
+
skeleton: "MMM"
|
|
14
|
+
}, O = {
|
|
15
|
+
skeleton: "dd"
|
|
16
|
+
}, P = "t", j = /* @__PURE__ */ T({
|
|
17
|
+
name: "KendoSchedulerMoreEventsPopover",
|
|
18
|
+
props: {
|
|
19
|
+
show: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !1
|
|
22
|
+
},
|
|
23
|
+
anchor: {
|
|
24
|
+
type: Object,
|
|
25
|
+
default: null
|
|
26
|
+
},
|
|
27
|
+
slot: {
|
|
28
|
+
type: Object,
|
|
29
|
+
default: null
|
|
30
|
+
},
|
|
31
|
+
items: {
|
|
32
|
+
type: Array,
|
|
33
|
+
default: () => []
|
|
34
|
+
},
|
|
35
|
+
itemsPerSlot: {
|
|
36
|
+
type: Number,
|
|
37
|
+
default: 2
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
emits: ["dayclick", "close"],
|
|
41
|
+
inject: {
|
|
42
|
+
kendoIntlService: {
|
|
43
|
+
default: null
|
|
44
|
+
},
|
|
45
|
+
kendoLocalizationService: {
|
|
46
|
+
default: null
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
setup(o, {
|
|
50
|
+
emit: c
|
|
51
|
+
}) {
|
|
52
|
+
const e = (s) => {
|
|
53
|
+
const l = s.target, r = document.querySelector(".k-scheduler-popover");
|
|
54
|
+
r && !r.contains(l) && o.anchor && !o.anchor.contains(l) && c("close");
|
|
55
|
+
};
|
|
56
|
+
return L(() => o.show, (s) => {
|
|
57
|
+
s ? document.addEventListener("mousedown", e, !0) : document.removeEventListener("mousedown", e, !0);
|
|
58
|
+
}, {
|
|
59
|
+
immediate: !0
|
|
60
|
+
}), b(() => {
|
|
61
|
+
document.removeEventListener("mousedown", e, !0);
|
|
62
|
+
}), {};
|
|
63
|
+
},
|
|
64
|
+
render() {
|
|
65
|
+
const o = C(this), c = F(this);
|
|
66
|
+
if (!this.$props.show || !this.$props.slot)
|
|
67
|
+
return null;
|
|
68
|
+
const e = this.$props.slot, s = this.$props.itemsPerSlot, l = e.items ? e.items.filter((n, d) => d >= s) : [], r = new Date(e.zonedEnd.getTime() - (e.zonedEnd.getTime() - e.zonedStart.getTime()) / 2), k = o.formatDate(r, $), y = o.formatDate(r, O), g = c.toLanguageString(u, h[u]), S = c.toLanguageString(f, h[f]), w = (n) => {
|
|
69
|
+
n.preventDefault(), this.$emit("dayclick", e);
|
|
70
|
+
}, E = () => {
|
|
71
|
+
this.$emit("close");
|
|
72
|
+
}, D = t("div", {
|
|
73
|
+
class: "k-popover-header"
|
|
74
|
+
}, [t("div", {
|
|
75
|
+
class: "k-month"
|
|
76
|
+
}, [k]), t("div", {
|
|
77
|
+
class: "k-link k-day",
|
|
78
|
+
onClick: w
|
|
79
|
+
}, [y])]);
|
|
80
|
+
return t(z, {
|
|
81
|
+
anchor: this.$props.anchor,
|
|
82
|
+
show: this.$props.show,
|
|
83
|
+
popoverClass: "k-scheduler-popover",
|
|
84
|
+
position: "right",
|
|
85
|
+
collision: {
|
|
86
|
+
horizontal: "flip",
|
|
87
|
+
vertical: "flip"
|
|
88
|
+
},
|
|
89
|
+
animate: !1,
|
|
90
|
+
onKeydown: E
|
|
91
|
+
}, {
|
|
92
|
+
default: () => [D, t("div", {
|
|
93
|
+
class: "k-scheduler-more-events-content",
|
|
94
|
+
style: {
|
|
95
|
+
minWidth: "220px"
|
|
96
|
+
}
|
|
97
|
+
}, [l.length > 0 ? t("div", {
|
|
98
|
+
class: "k-popover-events",
|
|
99
|
+
role: "list",
|
|
100
|
+
"aria-label": S
|
|
101
|
+
}, [l.map((n, d) => {
|
|
102
|
+
var v, m;
|
|
103
|
+
const i = (m = (v = n.group) == null ? void 0 : v.resources) == null ? void 0 : m.find((a) => !!(a.colorField && a[a.colorField] !== "" && a[a.colorField] !== void 0)), p = (i == null ? void 0 : i.colorField) && i[i.colorField], M = p ? {
|
|
104
|
+
borderColor: p,
|
|
105
|
+
backgroundColor: p
|
|
106
|
+
} : void 0;
|
|
107
|
+
return t("div", {
|
|
108
|
+
key: n.uid || d,
|
|
109
|
+
class: "k-popover-event k-event",
|
|
110
|
+
role: "listitem",
|
|
111
|
+
style: M
|
|
112
|
+
}, [t("div", {
|
|
113
|
+
class: "k-event-title"
|
|
114
|
+
}, [n.title || ""]), t("span", {
|
|
115
|
+
class: "k-event-time"
|
|
116
|
+
}, [o.formatDate(n.zonedStart, P)])]);
|
|
117
|
+
})]) : t("span", {
|
|
118
|
+
class: "k-no-data"
|
|
119
|
+
}, [g])])]
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
export {
|
|
124
|
+
j as MoreEventsPopover
|
|
125
|
+
};
|
|
@@ -12,6 +12,8 @@ import { PropType } from 'vue';
|
|
|
12
12
|
export interface SchedulerActionButtonsProps {
|
|
13
13
|
editSaveMessage: string;
|
|
14
14
|
editCancelMessage: string;
|
|
15
|
+
editDeleteMessage?: string;
|
|
16
|
+
onDelete?: () => void;
|
|
15
17
|
onCancel: (event: any) => void;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
@@ -20,6 +22,8 @@ export interface SchedulerActionButtonsProps {
|
|
|
20
22
|
declare const SchedulerActionButtons: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
21
23
|
editSaveMessage: PropType<string>;
|
|
22
24
|
editCancelMessage: PropType<string>;
|
|
25
|
+
editDeleteMessage: PropType<string>;
|
|
26
|
+
onDelete: PropType<() => void>;
|
|
23
27
|
onCancel: PropType<(event: any) => void>;
|
|
24
28
|
}>, {}, {}, {}, {
|
|
25
29
|
onSubmit(e: any): void;
|
|
@@ -27,6 +31,8 @@ declare const SchedulerActionButtons: import('vue').DefineComponent<import('vue'
|
|
|
27
31
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
28
32
|
editSaveMessage: PropType<string>;
|
|
29
33
|
editCancelMessage: PropType<string>;
|
|
34
|
+
editDeleteMessage: PropType<string>;
|
|
35
|
+
onDelete: PropType<() => void>;
|
|
30
36
|
onCancel: PropType<(event: any) => void>;
|
|
31
37
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
32
38
|
export { SchedulerActionButtons };
|
|
@@ -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 e=require("vue"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),n=require("@progress/kendo-vue-dialogs"),i=require("@progress/kendo-svg-icons"),o=require("@progress/kendo-vue-buttons"),s=e.defineComponent({name:"KendoSchedulerActionButtons",props:{editSaveMessage:String,editCancelMessage:String,editDeleteMessage:String,onDelete:Function,onCancel:Function},inject:{kendoForm:{default:{}}},render(){return e.createVNode(n.DialogActionsBar,{class:"k-form-buttons",layout:"end"},{default:()=>[this.onDelete&&e.createVNode(o.Button,{type:"button",fillMode:"flat",themeColor:"primary",svgIcon:i.trashIcon,onClick:this.onDelete},{default:()=>[this.editDeleteMessage]}),e.createVNode(o.Button,{onClick:this.handleCancel},{default:()=>[this.editCancelMessage]}),e.createVNode(o.Button,{type:"submit",themeColor:"primary",disabled:!this.kendoForm.allowSubmit,onClick:this.onSubmit},{default:()=>[this.editSaveMessage]})]})},methods:{onSubmit(t){this.kendoForm.onSubmit(t)},handleCancel(t){this.$emit("cancel",t)}}});exports.SchedulerActionButtons=s;
|
|
@@ -5,15 +5,17 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as n, createVNode as
|
|
8
|
+
import { defineComponent as n, createVNode as e } from "vue";
|
|
9
9
|
import { DialogActionsBar as i } from "@progress/kendo-vue-dialogs";
|
|
10
|
-
import {
|
|
10
|
+
import { trashIcon as s } from "@progress/kendo-svg-icons";
|
|
11
11
|
import { Button as o } from "@progress/kendo-vue-buttons";
|
|
12
|
-
const
|
|
12
|
+
const m = /* @__PURE__ */ n({
|
|
13
13
|
name: "KendoSchedulerActionButtons",
|
|
14
14
|
props: {
|
|
15
15
|
editSaveMessage: String,
|
|
16
16
|
editCancelMessage: String,
|
|
17
|
+
editDeleteMessage: String,
|
|
18
|
+
onDelete: Function,
|
|
17
19
|
onCancel: Function
|
|
18
20
|
},
|
|
19
21
|
inject: {
|
|
@@ -22,37 +24,41 @@ const d = /* @__PURE__ */ n({
|
|
|
22
24
|
}
|
|
23
25
|
},
|
|
24
26
|
render() {
|
|
25
|
-
return
|
|
27
|
+
return e(i, {
|
|
26
28
|
class: "k-form-buttons",
|
|
27
|
-
layout: "
|
|
29
|
+
layout: "end"
|
|
28
30
|
}, {
|
|
29
|
-
default: () => [
|
|
31
|
+
default: () => [this.onDelete && e(o, {
|
|
32
|
+
type: "button",
|
|
33
|
+
fillMode: "flat",
|
|
34
|
+
themeColor: "primary",
|
|
35
|
+
svgIcon: s,
|
|
36
|
+
onClick: this.onDelete
|
|
37
|
+
}, {
|
|
38
|
+
default: () => [this.editDeleteMessage]
|
|
39
|
+
}), e(o, {
|
|
40
|
+
onClick: this.handleCancel
|
|
41
|
+
}, {
|
|
42
|
+
default: () => [this.editCancelMessage]
|
|
43
|
+
}), e(o, {
|
|
30
44
|
type: "submit",
|
|
31
45
|
themeColor: "primary",
|
|
32
46
|
disabled: !this.kendoForm.allowSubmit,
|
|
33
|
-
icon: "save",
|
|
34
|
-
svgIcon: a,
|
|
35
47
|
onClick: this.onSubmit
|
|
36
48
|
}, {
|
|
37
49
|
default: () => [this.editSaveMessage]
|
|
38
|
-
}), t(o, {
|
|
39
|
-
onClick: this.handleCancel,
|
|
40
|
-
icon: "cancel",
|
|
41
|
-
svgIcon: s
|
|
42
|
-
}, {
|
|
43
|
-
default: () => [this.editCancelMessage]
|
|
44
50
|
})]
|
|
45
51
|
});
|
|
46
52
|
},
|
|
47
53
|
methods: {
|
|
48
|
-
onSubmit(
|
|
49
|
-
this.kendoForm.onSubmit(
|
|
54
|
+
onSubmit(t) {
|
|
55
|
+
this.kendoForm.onSubmit(t);
|
|
50
56
|
},
|
|
51
|
-
handleCancel(
|
|
52
|
-
this.$emit("cancel",
|
|
57
|
+
handleCancel(t) {
|
|
58
|
+
this.$emit("cancel", t);
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
61
|
});
|
|
56
62
|
export {
|
|
57
|
-
|
|
63
|
+
m as SchedulerActionButtons
|
|
58
64
|
};
|
|
@@ -22,6 +22,10 @@ export interface SchedulerFormProps extends FormProps {
|
|
|
22
22
|
* Specifies the `dataItem` to be visualized inside the form.
|
|
23
23
|
*/
|
|
24
24
|
dataItem: DataItem;
|
|
25
|
+
/**
|
|
26
|
+
* Called when the delete button is clicked for an existing event.
|
|
27
|
+
*/
|
|
28
|
+
onDelete?: (dataItem: DataItem) => void;
|
|
25
29
|
/**
|
|
26
30
|
* Called when the `cancel` button is clicked.
|
|
27
31
|
*/
|
|
@@ -43,6 +47,7 @@ export interface SchedulerFormHandle {
|
|
|
43
47
|
*/
|
|
44
48
|
declare const SchedulerForm: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
45
49
|
dataItem: PropType<any>;
|
|
50
|
+
onDelete: PropType<(dataItem: DataItem) => void>;
|
|
46
51
|
}>, {
|
|
47
52
|
kendoLocalizationService: {};
|
|
48
53
|
}, {
|
|
@@ -51,6 +56,7 @@ declare const SchedulerForm: import('vue').DefineComponent<import('vue').Extract
|
|
|
51
56
|
calculateMedia(): void;
|
|
52
57
|
handleCancel(event: any): void;
|
|
53
58
|
handleClose({ event }: DialogCloseEvent): void;
|
|
59
|
+
handleDelete(): void;
|
|
54
60
|
handleSubmit(dataItem: DataItem, event: any): void;
|
|
55
61
|
startAfterEndValidator(value: any, formValueGetter: any): any;
|
|
56
62
|
endAfterStartValidator(value: any, formValueGetter: any): any;
|
|
@@ -62,6 +68,7 @@ declare const SchedulerForm: import('vue').DefineComponent<import('vue').Extract
|
|
|
62
68
|
submit: any;
|
|
63
69
|
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
64
70
|
dataItem: PropType<any>;
|
|
71
|
+
onDelete: PropType<(dataItem: DataItem) => void>;
|
|
65
72
|
}>> & Readonly<{
|
|
66
73
|
onCancel?: (...args: any) => any;
|
|
67
74
|
onClose?: (...args: any) => 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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),f=require("./SchedulerActionButtons.js"),S=require("@progress/kendo-vue-form"),k=require("@progress/kendo-vue-dialogs"),p=require("@progress/kendo-vue-intl"),V=require("../editors/SchedulerFormEditor.js"),i=require("../messages/main.js"),r=require("@progress/kendo-vue-common"),M=s.defineComponent({name:"KendoSchedulerForm",emits:{cancel:null,close:null,submit:null},props:{dataItem:Object,onDelete:Function},inject:{ks:{default:null},kendoLocalizationService:{default:null},ksValidator:{default:null},ksModifyInitialFormValues:{default:null}},created(){this.dialogId=r.guid()},data(){return{media:"desktop"}},mounted(){this.calculateMedia(),setTimeout(()=>{const e=document.getElementById(this.dialogId);e&&e.focus()},10)},setup(){return{kendoLocalizationService:s.inject("kendoLocalizationService",{})}},render(){var l;const e=this,t=p.provideLocalizationService(this);this.requiredValidationMessage=t.toLanguageString(i.editorValidationRequired,i.messages[i.editorValidationRequired]),this.endValidationMessage=t.toLanguageString(i.editorValidationEnd,i.messages[i.editorValidationEnd]);const d=t.toLanguageString(i.editorSave,i.messages[i.editorSave]),o=t.toLanguageString(i.editorCancel,i.messages[i.editorCancel]),n=t.toLanguageString(i.editorDelete,i.messages[i.editorDelete]),a=!!((l=this.$props.dataItem)!=null&&l[this.ks.fields.id]),u=a?t.toLanguageString(i.editorEditEvent,i.messages[i.editorEditEvent]):t.toLanguageString(i.editorNewEvent,i.messages[i.editorNewEvent]);this.startValidationMessage=t.toLanguageString(i.editorValidationStart,i.messages[i.editorValidationStart]);const c=s.createVNode(V.SchedulerFormEditor,null,{default:()=>[s.createVNode(f.SchedulerActionButtons,{editSaveMessage:d,editCancelMessage:o,editDeleteMessage:a?n:void 0,onCancel:this.handleCancel,onDelete:a&&this.onDelete?this.handleDelete:void 0},null)]}),h=r.getTemplate.call(this,{h:s.h,template:this.ks.form,defaultRendering:c,additionalProps:{dataItem:this.dataItem,editSaveMessage:d,editCancelMessage:o},additionalListeners:{cancel:this.handleCancel}}),g={title:u,appendTo:"body",width:this.media==="desktop"?650:"85%",wrapperId:this.dialogId,...this.ks.dialogProps},m={initialValues:e.ksModifyInitialFormValues(e.$props.dataItem),validator:e.formValidator,...this.ks.formProps};return s.h(k.Dialog,{onClose:this.handleClose,class:"k-scheduler-edit-dialog",...g},function(){return[s.h(S.Form,{onSubmit:e.handleSubmit,...m},function(){return[h]})]})},methods:{calculateMedia(){r.canUseDOM&&window.matchMedia&&(this.media=window.matchMedia("(min-width: 600px)").matches?"desktop":"mobile")},handleCancel(e){this.$emit("cancel",{value:null,event:e,target:this.form})},handleClose({event:e}){this.$emit("close",{value:null,event:e,target:this.form})},handleDelete(){var e;(e=this.onDelete)==null||e.call(this,this.$props.dataItem)},handleSubmit(e,t){this.$emit("submit",{value:e,event:t,target:this.form})},startAfterEndValidator(e,t){return e&&t(this.ks.fields.end)&&e.getTime()>t(this.ks.fields.end).getTime()?this.startValidationMessage:void 0},endAfterStartValidator(e,t){return e&&t(this.ks.fields.start)&&e.getTime()<t(this.ks.fields.start).getTime()?this.endValidationMessage:void 0},requiredValidator(e){return e?void 0:this.requiredValidationMessage},formValidator(e,t){const d={};d[this.ks.fields.start]=[this.requiredValidator(t(this.ks.fields.start)),this.startAfterEndValidator(t(this.ks.fields.start),t)].filter(Boolean).reduce((n,a)=>n||a,""),d[this.ks.fields.end]=[this.requiredValidator(t(this.ks.fields.start)),this.endAfterStartValidator(t(this.ks.fields.start),t)].filter(Boolean).reduce((n,a)=>n||a,"");const o=this.ksValidator(t);return{...d,...o}}}});exports.SchedulerForm=M;
|