@progress/kendo-vue-scheduler 10.2.0-develop.1 → 10.2.0-develop.11
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/components/DateHeaderCell.js +1 -1
- package/components/DateHeaderCell.mjs +3 -3
- package/components/MoreEventsPopover.js +1 -1
- package/components/MoreEventsPopover.mjs +9 -10
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/ResourceEditor.d.ts +3 -1
- package/editors/ResourceEditor.js +1 -1
- package/editors/ResourceEditor.mjs +27 -22
- package/editors/SchedulerFormEditor.d.ts +6 -2
- package/items/SchedulerItem.d.ts +3 -2
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +6 -7
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -13
- package/tasks/SchedulerTask.d.ts +3 -1
- package/tasks/SchedulerTask.js +1 -1
- package/tasks/SchedulerTask.mjs +34 -28
- package/utils/main.d.ts +4 -0
- package/utils/main.js +1 -1
- package/utils/main.mjs +131 -106
|
@@ -38,7 +38,9 @@ declare const ResourceEditor: import('vue').DefineComponent<import('vue').Extrac
|
|
|
38
38
|
visited: PropType<boolean>;
|
|
39
39
|
valid: PropType<boolean>;
|
|
40
40
|
name: PropType<string>;
|
|
41
|
-
}>, {
|
|
41
|
+
}>, {
|
|
42
|
+
getResourceColor: (color?: string) => string;
|
|
43
|
+
}, {}, {}, {
|
|
42
44
|
handleChange(event: DropDownListChangeEvent | MultiSelectChangeEvent): void;
|
|
43
45
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
44
46
|
change: 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 a=require("vue"),n=require("@progress/kendo-vue-dropdowns"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),n=require("@progress/kendo-vue-dropdowns"),u=require("../utils/main.js"),v=a.defineComponent({name:"KendoResourceEditor",setup(){return{getResourceColor:u.useSchedulerResourceColor()}},emits:{change:null},props:{resource:Object,dataItems:Array,textField:String,valueField:String,colorField:String,multiple:Boolean,validationMessage:String,ariaLabel:String,value:[String,Number,Object],touched:Boolean,modified:Boolean,visited:Boolean,valid:Boolean,name:String},render(){const{colorField:t,textField:o,valueField:r}=this.$props,i=this.getResourceColor,d=Array.isArray(this.$props.value)?this.$props.dataItems.filter(l=>this.$props.value.some(s=>l[this.$props.valueField]===s)):this.$props.dataItems.find(l=>l[this.$props.valueField]===this.$props.value),c=this.$props.multiple?n.MultiSelect:n.DropDownList,p=function(l,s,e){return a.createVNode("span",{class:"k-input-inner"},[t&&e.value&&a.createVNode("span",{key:1,class:"k-scheduler-mark",style:{backgroundColor:i(e.value[t]),marginRight:e.value[r]?"8px":"4px"}},null),e.value&&e.value[o]])},m=function(l,s,e,h){return a.createVNode("li",{class:{"k-item":!0,...e.itemClass},onClick:h.onClick},[t&&a.createVNode("span",{key:1,class:"k-scheduler-mark",style:{backgroundColor:i(e.dataItem[t]),marginRight:u.isPresent(e.dataItem[r])?"8px":"4px"}},null),e.dataItem[o]])};return a.createVNode(c,{value:d,onChange:this.handleChange,dataItems:this.$props.dataItems,textField:this.$props.textField,dataItemKey:this.$props.valueField,valid:this.$props.valid,validationMessage:this.$props.validationMessage,ariaLabel:this.$props.ariaLabel,itemRender:m,valueRender:p},null)},methods:{handleChange(t){const o=t.component.$props.dataItemKey,r=this.$props.multiple?(t.value||[]).map(i=>i[o]):t.value[o];this.$emit("change",{value:r})}}});exports.ResourceEditor=v;
|
|
@@ -5,11 +5,16 @@
|
|
|
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 { MultiSelect as
|
|
10
|
-
import { isPresent as
|
|
11
|
-
const
|
|
8
|
+
import { defineComponent as c, createVNode as i } from "vue";
|
|
9
|
+
import { MultiSelect as h, DropDownList as v } from "@progress/kendo-vue-dropdowns";
|
|
10
|
+
import { useSchedulerResourceColor as g, isPresent as $ } from "../utils/main.mjs";
|
|
11
|
+
const R = /* @__PURE__ */ c({
|
|
12
12
|
name: "KendoResourceEditor",
|
|
13
|
+
setup() {
|
|
14
|
+
return {
|
|
15
|
+
getResourceColor: g()
|
|
16
|
+
};
|
|
17
|
+
},
|
|
13
18
|
emits: {
|
|
14
19
|
change: null
|
|
15
20
|
},
|
|
@@ -33,36 +38,36 @@ const F = /* @__PURE__ */ m({
|
|
|
33
38
|
const {
|
|
34
39
|
colorField: t,
|
|
35
40
|
textField: a,
|
|
36
|
-
valueField:
|
|
37
|
-
} = this.$props,
|
|
38
|
-
return
|
|
41
|
+
valueField: o
|
|
42
|
+
} = this.$props, r = this.getResourceColor, n = Array.isArray(this.$props.value) ? this.$props.dataItems.filter((l) => this.$props.value.some((s) => l[this.$props.valueField] === s)) : this.$props.dataItems.find((l) => l[this.$props.valueField] === this.$props.value), u = this.$props.multiple ? h : v, d = function(l, s, e) {
|
|
43
|
+
return i("span", {
|
|
39
44
|
class: "k-input-inner"
|
|
40
|
-
}, [t && e.value &&
|
|
45
|
+
}, [t && e.value && i("span", {
|
|
41
46
|
key: 1,
|
|
42
47
|
class: "k-scheduler-mark",
|
|
43
48
|
style: {
|
|
44
|
-
backgroundColor: e.value[t],
|
|
45
|
-
marginRight: e.value[
|
|
49
|
+
backgroundColor: r(e.value[t]),
|
|
50
|
+
marginRight: e.value[o] ? "8px" : "4px"
|
|
46
51
|
}
|
|
47
52
|
}, null), e.value && e.value[a]]);
|
|
48
|
-
},
|
|
49
|
-
return
|
|
53
|
+
}, p = function(l, s, e, m) {
|
|
54
|
+
return i("li", {
|
|
50
55
|
class: {
|
|
51
56
|
"k-item": !0,
|
|
52
57
|
...e.itemClass
|
|
53
58
|
},
|
|
54
|
-
onClick:
|
|
55
|
-
}, [t &&
|
|
59
|
+
onClick: m.onClick
|
|
60
|
+
}, [t && i("span", {
|
|
56
61
|
key: 1,
|
|
57
62
|
class: "k-scheduler-mark",
|
|
58
63
|
style: {
|
|
59
|
-
backgroundColor: e.dataItem[t],
|
|
60
|
-
marginRight:
|
|
64
|
+
backgroundColor: r(e.dataItem[t]),
|
|
65
|
+
marginRight: $(e.dataItem[o]) ? "8px" : "4px"
|
|
61
66
|
}
|
|
62
67
|
}, null), e.dataItem[a]]);
|
|
63
68
|
};
|
|
64
|
-
return
|
|
65
|
-
value:
|
|
69
|
+
return i(u, {
|
|
70
|
+
value: n,
|
|
66
71
|
onChange: this.handleChange,
|
|
67
72
|
dataItems: this.$props.dataItems,
|
|
68
73
|
textField: this.$props.textField,
|
|
@@ -70,19 +75,19 @@ const F = /* @__PURE__ */ m({
|
|
|
70
75
|
valid: this.$props.valid,
|
|
71
76
|
validationMessage: this.$props.validationMessage,
|
|
72
77
|
ariaLabel: this.$props.ariaLabel,
|
|
73
|
-
itemRender:
|
|
78
|
+
itemRender: p,
|
|
74
79
|
valueRender: d
|
|
75
80
|
}, null);
|
|
76
81
|
},
|
|
77
82
|
methods: {
|
|
78
83
|
handleChange(t) {
|
|
79
|
-
const a = t.component.$props.dataItemKey,
|
|
84
|
+
const a = t.component.$props.dataItemKey, o = this.$props.multiple ? (t.value || []).map((r) => r[a]) : t.value[a];
|
|
80
85
|
this.$emit("change", {
|
|
81
|
-
value:
|
|
86
|
+
value: o
|
|
82
87
|
});
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
});
|
|
86
91
|
export {
|
|
87
|
-
|
|
92
|
+
R as ResourceEditor
|
|
88
93
|
};
|
|
@@ -975,7 +975,9 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
975
975
|
visited: import('vue').PropType<boolean>;
|
|
976
976
|
valid: import('vue').PropType<boolean>;
|
|
977
977
|
name: import('vue').PropType<string>;
|
|
978
|
-
}>, {
|
|
978
|
+
}>, {
|
|
979
|
+
getResourceColor: (color?: string) => string;
|
|
980
|
+
}, {}, {}, {
|
|
979
981
|
handleChange(event: import('@progress/kendo-vue-dropdowns').DropDownListChangeEvent | import('@progress/kendo-vue-dropdowns').MultiSelectChangeEvent): void;
|
|
980
982
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
981
983
|
change: any;
|
|
@@ -1882,7 +1884,9 @@ declare const SchedulerFormEditor: import('vue').DefineComponent<import('vue').E
|
|
|
1882
1884
|
visited: import('vue').PropType<boolean>;
|
|
1883
1885
|
valid: import('vue').PropType<boolean>;
|
|
1884
1886
|
name: import('vue').PropType<string>;
|
|
1885
|
-
}>, {
|
|
1887
|
+
}>, {
|
|
1888
|
+
getResourceColor: (color?: string) => string;
|
|
1889
|
+
}, {}, {}, {
|
|
1886
1890
|
handleChange(event: import('@progress/kendo-vue-dropdowns').DropDownListChangeEvent | import('@progress/kendo-vue-dropdowns').MultiSelectChangeEvent): void;
|
|
1887
1891
|
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
1888
1892
|
change: any;
|
package/items/SchedulerItem.d.ts
CHANGED
|
@@ -42,8 +42,9 @@ export interface SchedulerItemProps extends Item {
|
|
|
42
42
|
* The SchedulerItem applies the following default styles:
|
|
43
43
|
* - `cursor`: `pointer`
|
|
44
44
|
* - `userSelect`: `none`
|
|
45
|
-
* -
|
|
46
|
-
*
|
|
45
|
+
* - `--kendo-scheduler-event-color`: the color resolved from the matching entry in
|
|
46
|
+
* `props.group.resources` whose `colorField` is set (requires a Kendo theme that
|
|
47
|
+
* consumes this CSS variable; see https://github.com/telerik/kendo-themes/pull/6204)
|
|
47
48
|
* - `pointerEvents`: `none` - if `props.dragHint` or `props.resizeHint` is set to `true`
|
|
48
49
|
*/
|
|
49
50
|
itemStyle?: any;
|
package/items/SchedulerItem.js
CHANGED
|
@@ -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"),r=require("../utils/main.js"),i=require("@progress/kendo-vue-common"),n=require("@progress/kendo-vue-intl"),o=require("../components/SchedulerOccurrenceDialog.js"),a=require("../components/SchedulerRemoveDialog.js"),h=require("../components/SchedulerForm.js"),d=require("../hooks/useEditable.js"),u=t.defineComponent({name:"KendoSchedulerItem",inheritAttrs:!1,emits:{focus:null,blur:null,mousedown:null,mouseup:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,click:null,doubleclick:null,removeclick:null,keydown:null,keypress:null,keyup:null,press:null,drag:null,release:null,resizepress:null,resizestartdrag:null,resizeenddrag:null,resizerelease:null,cancel:null,close:null,formsubmit:null},props:{uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,isAllDay:Boolean,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,id:String,tabIndex:Number,className:String,itemStyle:Object,editable:[Object,Boolean],readonly:Boolean,selected:Boolean,vertical:Boolean,dragHint:Boolean,resizeHint:Boolean,format:String,maxSiblingsPerSlot:Number,itemTitle:String,formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,ignoreIsAllDay:Boolean,item:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0}},inject:{ks:{default:null},bv:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null},setItems:{default:null},itemClick:{default:null},itemDoubleClick:{default:null},ksMobile:{default:null},ksCancel:{default:null},ksFormSubmit:{default:null},ksOccurrenceClick:{default:null},ksSeriesClick:{default:null},ksRemoveConfirm:{default:null},ksRemoveDialogCancel:{default:null},ksDeleteItem:{default:null},ksFormDelete:{default:null},ksIsSeries:{default:null}},computed:{currentEditable(){const e=d.useEditable(this.$props.editable);return this.$props.readonly?{add:!1,edit:!1,drag:!1,resize:!1,remove:!1,select:e.select}:e},resource(){return this.$props.group.resources.find(e=>!!(e.colorField&&e[e.colorField]!==""&&e[e.colorField]!==void 0))},color(){return this.resource&&this.resource.colorField&&this.resource[this.resource.colorField]},currentTabIndex(){return this.$props.tabIndex!==void 0?this.$props.tabIndex===null?void 0:this.$props.tabIndex:this.$props.selected?0:-1},itemClassName(){return{"k-event":!this.$props.resizeHint,"k-selected":this.$props.selected&&this.currentEditable.select,"k-readonly":!this.$props.resizeHint&&!!this.$props.readonly,"k-event-drag-hint":this.$props.dragHint,"k-scheduler-marquee":this.$props.resizeHint,"k-marquee":this.$props.resizeHint,"k-first":this.$props.resizeHint&&!this.$props.tail,"k-last":this.$props.resizeHint&&!this.$props.head,[this.$props.className]:this.$props.className}},eventLabel(){return`${r.formatEventTime(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay)}, ${this.$props.title}`},resizeHandleStyle(){var e;return this.$props.selected&&this.currentEditable.select&&((e=this.ksMobile)!=null&&e.call(this))?{visibility:"visible"}:void 0},computedStyle(){var e;return{cursor:"pointer",userSelect:"none",borderColor:this.$props.resizeHint?void 0:this.color,backgroundColor:this.$props.resizeHint?void 0:this.color,touchAction:"none",...this.$props.itemStyle,containerType:this.$props.resizeHint?void 0:((e=this.$props.itemStyle)==null?void 0:e.height)==="auto"?"normal":"size"}}},created(){this.setItems({type:r.COLLECTION_ACTION.add,item:this})},mounted(){this.element||(this.element=this.$refs.draggable&&this.$refs.draggable.element)},unmounted(){this.setItems({type:r.COLLECTION_ACTION.remove,item:this})},render(){const e=i.getDefaultSlots(this);this.intl=n.provideIntlService(this);const s=i.getTemplate.call(this,{h:t.h,template:this.bv.viewProps.resizeHint,additionalProps:{dataItem:this.dataItem,color:this.color,itemClassName:this.itemClassName}});return t.createVNode(i.Draggable,{onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,ref:"draggable"},{default:()=>{var l;return[t.createVNode("div",{id:this.$props.id,style:this.computedStyle,tabindex:this.currentTabIndex,class:this.itemClassName,role:"button","aria-label":this.eventLabel,"aria-disabled":this.$props.readonly?!0:void 0,onFocusin:this.handleFocus,onBlur:this.handleBlur,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-group-index":this.$props.group.index,"data-range-index":this.$props.range.index},[this.formItem&&!this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(h.SchedulerForm,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel,onDelete:this.currentEditable.remove?this.handleEditDialogDelete:void 0},null),this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(o.SchedulerOccurrenceDialog,{dataItem:this.formItem||this.dragItem||this.resizeItem||this.removeItem,isRemove:!!this.removeItem,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&this.removeItem&&this.currentEditable.remove&&t.createVNode(a.SchedulerRemoveDialog,{dataItem:this.removeItem,isSeries:(l=this.ksIsSeries)==null?void 0:l.call(this),onClose:this.ksRemoveDialogCancel,onCancel:this.ksRemoveDialogCancel,onConfirm:this.ksRemoveConfirm},null),e,this.currentEditable.resize&&this.$props.vertical&&[t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-n",style:this.resizeHandleStyle},null)]}),t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-s",style:this.resizeHandleStyle},null)]})],this.currentEditable.resize&&!this.$props.vertical&&[t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-w",style:this.resizeHandleStyle},null)]}),t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-e",style:this.resizeHandleStyle},null)]})],this.$props.resizeHint?this.bv.viewProps.resizeHint?s:[t.createVNode("div",{class:"k-marquee-color",style:{borderColor:this.color,backgroundColor:this.color}},null),t.createVNode("div",{class:"k-marquee-text"},[!this.$props.tail&&t.createVNode("div",{class:"k-label-top"},[this.intl.formatDate(this.$props.zonedStart,this.$props.format)]),!this.$props.head&&t.createVNode("div",{class:"k-label-bottom"},[this.intl.formatDate(this.$props.zonedEnd,this.$props.format)])])]:null])]}})},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.$props},element:this.element}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseDown(e){this.$emit("mousedown",{event:e,target:{props:{...this.$props},element:this.element}})},handleClick(e){var l;const s={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("click",s),this.itemClick(s),(l=this.ksMobile)!=null&&l.call(this)&&this.$props.selected&&this.handleDoubleClick(e)},handleMouseUp(e){this.$emit("mouseup",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.$props},element:this.element}})},handleDoubleClick(e){if(this.$props.readonly)return;const s={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("doubleclick",s),this.itemDoubleClick(s)},handleRemoveClick(e){this.$emit("removeclick",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.$props},element:this.element}})},handlePress(e){this.currentEditable.drag&&this.$emit("press",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleDrag(e){this.currentEditable.drag&&this.$emit("drag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleRelease(e){this.currentEditable.drag&&this.$emit("release",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizePress(e){this.$emit("resizepress",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeStartDrag(e){this.$emit("resizestartdrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeEndDrag(e){this.$emit("resizeenddrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeRelease(e){this.$emit("resizerelease",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleFormClose(e){this.ksCancel(e),this.$emit("close",e)},handleFormSubmit(e){this.ksFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogSave(e){const s={value:e,event:null,target:this};this.ksFormSubmit(s),this.$emit("formsubmit",s)},handleEditDialogCancel(){const e={value:null,event:null,target:this};this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogDelete(e){this.ksFormDelete&&this.ksFormDelete(e)}}});exports.SchedulerItem=u;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),r=require("../utils/main.js"),i=require("@progress/kendo-vue-common"),n=require("@progress/kendo-vue-intl"),o=require("../components/SchedulerOccurrenceDialog.js"),a=require("../components/SchedulerRemoveDialog.js"),h=require("../components/SchedulerForm.js"),d=require("../hooks/useEditable.js"),u=t.defineComponent({name:"KendoSchedulerItem",inheritAttrs:!1,emits:{focus:null,blur:null,mousedown:null,mouseup:null,mouseover:null,mouseout:null,mouseenter:null,mouseleave:null,click:null,doubleclick:null,removeclick:null,keydown:null,keypress:null,keyup:null,press:null,drag:null,release:null,resizepress:null,resizestartdrag:null,resizeenddrag:null,resizerelease:null,cancel:null,close:null,formsubmit:null},props:{uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,isAllDay:Boolean,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,id:String,tabIndex:Number,className:String,itemStyle:Object,editable:[Object,Boolean],readonly:Boolean,selected:Boolean,vertical:Boolean,dragHint:Boolean,resizeHint:Boolean,format:String,maxSiblingsPerSlot:Number,itemTitle:String,formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,ignoreIsAllDay:Boolean,item:[String,Function,Object],showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0}},inject:{ks:{default:null},bv:{default:null},kendoLocalizationService:{default:null},kendoIntlService:{default:null},setItems:{default:null},itemClick:{default:null},itemDoubleClick:{default:null},ksMobile:{default:null},ksCancel:{default:null},ksFormSubmit:{default:null},ksOccurrenceClick:{default:null},ksSeriesClick:{default:null},ksRemoveConfirm:{default:null},ksRemoveDialogCancel:{default:null},ksDeleteItem:{default:null},ksFormDelete:{default:null},ksIsSeries:{default:null}},computed:{currentEditable(){const e=d.useEditable(this.$props.editable);return this.$props.readonly?{add:!1,edit:!1,drag:!1,resize:!1,remove:!1,select:e.select}:e},resource(){return this.$props.group.resources.find(e=>!!(e.colorField&&e[e.colorField]!==""&&e[e.colorField]!==void 0))},color(){return this.resource&&this.resource.colorField&&this.resource[this.resource.colorField]},currentTabIndex(){return this.$props.tabIndex!==void 0?this.$props.tabIndex===null?void 0:this.$props.tabIndex:this.$props.selected?0:-1},itemClassName(){return{"k-event":!this.$props.resizeHint,"k-selected":this.$props.selected&&this.currentEditable.select,"k-readonly":!this.$props.resizeHint&&!!this.$props.readonly,"k-event-drag-hint":this.$props.dragHint,"k-scheduler-marquee":this.$props.resizeHint,"k-marquee":this.$props.resizeHint,"k-first":this.$props.resizeHint&&!this.$props.tail,"k-last":this.$props.resizeHint&&!this.$props.head,[this.$props.className]:this.$props.className}},eventLabel(){return`${r.formatEventTime(this.intl,this.$props.zonedStart,this.$props.zonedEnd,this.$props.isAllDay)}, ${this.$props.title}`},resizeHandleStyle(){var e;return this.$props.selected&&this.currentEditable.select&&((e=this.ksMobile)!=null&&e.call(this))?{visibility:"visible"}:void 0},computedStyle(){var e;return{cursor:"pointer",userSelect:"none",...this.color?{[this.$props.resizeHint?"--kendo-marquee-color":"--kendo-scheduler-event-color"]:this.color}:void 0,touchAction:"none",...this.$props.itemStyle,containerType:this.$props.resizeHint?void 0:((e=this.$props.itemStyle)==null?void 0:e.height)==="auto"?"normal":"size"}}},created(){this.setItems({type:r.COLLECTION_ACTION.add,item:this})},mounted(){this.element||(this.element=this.$refs.draggable&&this.$refs.draggable.element)},unmounted(){this.setItems({type:r.COLLECTION_ACTION.remove,item:this})},render(){const e=i.getDefaultSlots(this);this.intl=n.provideIntlService(this);const s=i.getTemplate.call(this,{h:t.h,template:this.bv.viewProps.resizeHint,additionalProps:{dataItem:this.dataItem,color:this.color,itemClassName:this.itemClassName}});return t.createVNode(i.Draggable,{onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,ref:"draggable"},{default:()=>{var l;return[t.createVNode("div",{id:this.$props.id,style:this.computedStyle,tabindex:this.currentTabIndex,class:this.itemClassName,role:"button","aria-label":this.eventLabel,"aria-disabled":this.$props.readonly?!0:void 0,onFocusin:this.handleFocus,onBlur:this.handleBlur,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onMouseover:this.handleMouseOver,onMouseout:this.handleMouseOut,onMouseenter:this.handleMouseEnter,onMouseleave:this.handleMouseLeave,onDblclick:this.handleDoubleClick,onKeydown:this.handleKeyDown,onKeypress:this.handleKeyPress,onKeyup:this.handleKeyUp,"data-group-index":this.$props.group.index,"data-range-index":this.$props.range.index},[this.formItem&&!this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(h.SchedulerForm,{dataItem:this.formItem,onSubmit:this.handleFormSubmit,onClose:this.handleFormClose,onCancel:this.handleFormCancel,onDelete:this.currentEditable.remove?this.handleEditDialogDelete:void 0},null),this.showOccurrenceDialog&&this.currentEditable.edit&&t.createVNode(o.SchedulerOccurrenceDialog,{dataItem:this.formItem||this.dragItem||this.resizeItem||this.removeItem,isRemove:!!this.removeItem,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&this.removeItem&&this.currentEditable.remove&&t.createVNode(a.SchedulerRemoveDialog,{dataItem:this.removeItem,isSeries:(l=this.ksIsSeries)==null?void 0:l.call(this),onClose:this.ksRemoveDialogCancel,onCancel:this.ksRemoveDialogCancel,onConfirm:this.ksRemoveConfirm},null),e,this.currentEditable.resize&&this.$props.vertical&&[t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-n",style:this.resizeHandleStyle},null)]}),t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-s",style:this.resizeHandleStyle},null)]})],this.currentEditable.resize&&!this.$props.vertical&&[t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeStartDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-w",style:this.resizeHandleStyle},null)]}),t.createVNode(i.Draggable,{onPress:this.handleResizePress,onDrag:this.handleResizeEndDrag,onRelease:this.handleResizeRelease},{default:()=>[t.createVNode("span",{class:"k-resize-handle k-resize-e",style:this.resizeHandleStyle},null)]})],this.$props.resizeHint?this.bv.viewProps.resizeHint?s:[t.createVNode("div",{key:"color",class:"k-marquee-color"},null),t.createVNode("div",{key:"text",class:"k-marquee-text"},[!this.$props.tail&&t.createVNode("div",{class:"k-label-top"},[this.intl.formatDate(this.$props.zonedStart,this.$props.format)]),!this.$props.head&&t.createVNode("div",{class:"k-label-bottom"},[this.intl.formatDate(this.$props.zonedEnd,this.$props.format)])])]:null])]}})},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",{event:e,target:{props:{...this.$props},element:this.element}})},handleBlur(e){this.$emit("blur",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseDown(e){this.$emit("mousedown",{event:e,target:{props:{...this.$props},element:this.element}})},handleClick(e){var l;const s={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("click",s),this.itemClick(s),(l=this.ksMobile)!=null&&l.call(this)&&this.$props.selected&&this.handleDoubleClick(e)},handleMouseUp(e){this.$emit("mouseup",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOver(e){this.$emit("mouseover",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseOut(e){this.$emit("mouseout",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseEnter(e){this.$emit("mouseenter",{event:e,target:{props:{...this.$props},element:this.element}})},handleMouseLeave(e){this.$emit("mouseleave",{event:e,target:{props:{...this.$props},element:this.element}})},handleDoubleClick(e){if(this.$props.readonly)return;const s={event:e,target:{props:{...this.$props},element:this.element}};this.$emit("doubleclick",s),this.itemDoubleClick(s)},handleRemoveClick(e){this.$emit("removeclick",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyDown(e){this.$emit("keydown",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyPress(e){this.$emit("keypress",{event:e,target:{props:{...this.$props},element:this.element}})},handleKeyUp(e){this.$emit("keyup",{event:e,target:{props:{...this.$props},element:this.element}})},handlePress(e){this.currentEditable.drag&&this.$emit("press",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleDrag(e){this.currentEditable.drag&&this.$emit("drag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleRelease(e){this.currentEditable.drag&&this.$emit("release",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizePress(e){this.$emit("resizepress",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeStartDrag(e){this.$emit("resizestartdrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeEndDrag(e){this.$emit("resizeenddrag",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleResizeRelease(e){this.$emit("resizerelease",{dragEvent:e,target:{props:{...this.$props},element:this.element}})},handleFormClose(e){this.ksCancel(e),this.$emit("close",e)},handleFormSubmit(e){this.ksFormSubmit(e),this.$emit("formsubmit",e)},handleFormCancel(e){this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogSave(e){const s={value:e,event:null,target:this};this.ksFormSubmit(s),this.$emit("formsubmit",s)},handleEditDialogCancel(){const e={value:null,event:null,target:this};this.ksCancel(e),this.$emit("cancel",e)},handleEditDialogDelete(e){this.ksFormDelete&&this.ksFormDelete(e)}}});exports.SchedulerItem=u;
|
package/items/SchedulerItem.mjs
CHANGED
|
@@ -196,8 +196,9 @@ const y = /* @__PURE__ */ n({
|
|
|
196
196
|
return {
|
|
197
197
|
cursor: "pointer",
|
|
198
198
|
userSelect: "none",
|
|
199
|
-
|
|
200
|
-
|
|
199
|
+
...this.color ? {
|
|
200
|
+
[this.$props.resizeHint ? "--kendo-marquee-color" : "--kendo-scheduler-event-color"]: this.color
|
|
201
|
+
} : void 0,
|
|
201
202
|
touchAction: "none",
|
|
202
203
|
...this.$props.itemStyle,
|
|
203
204
|
containerType: this.$props.resizeHint ? void 0 : ((e = this.$props.itemStyle) == null ? void 0 : e.height) === "auto" ? "normal" : "size"
|
|
@@ -317,12 +318,10 @@ const y = /* @__PURE__ */ n({
|
|
|
317
318
|
style: this.resizeHandleStyle
|
|
318
319
|
}, null)]
|
|
319
320
|
})], this.$props.resizeHint ? this.bv.viewProps.resizeHint ? s : [t("div", {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
borderColor: this.color,
|
|
323
|
-
backgroundColor: this.color
|
|
324
|
-
}
|
|
321
|
+
key: "color",
|
|
322
|
+
class: "k-marquee-color"
|
|
325
323
|
}, null), t("div", {
|
|
324
|
+
key: "text",
|
|
326
325
|
class: "k-marquee-text"
|
|
327
326
|
}, [!this.$props.tail && t("div", {
|
|
328
327
|
class: "k-label-top"
|
package/package-metadata.js
CHANGED
|
@@ -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={name:"@progress/kendo-vue-scheduler",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate:
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={name:"@progress/kendo-vue-scheduler",productName:"Kendo UI for Vue",productCode:"KENDOUIVUE",productCodes:["KENDOUIVUE"],publishDate: 1793637516,version:"10.2.0-develop.11",licensingDocsUrl:"https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"};exports.packageMetadata=e;
|
package/package-metadata.mjs
CHANGED
|
@@ -10,8 +10,8 @@ const e = {
|
|
|
10
10
|
productName: "Kendo UI for Vue",
|
|
11
11
|
productCode: "KENDOUIVUE",
|
|
12
12
|
productCodes: ["KENDOUIVUE"],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: "10.2.0-develop.
|
|
13
|
+
publishDate: 1793637516,
|
|
14
|
+
version: "10.2.0-develop.11",
|
|
15
15
|
licensingDocsUrl: "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
|
|
16
16
|
};
|
|
17
17
|
export {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-vue-scheduler",
|
|
3
|
-
"version": "10.2.0-develop.
|
|
3
|
+
"version": "10.2.0-develop.11",
|
|
4
4
|
"description": "TODO",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -26,17 +26,17 @@
|
|
|
26
26
|
"peerDependencies": {
|
|
27
27
|
"@progress/kendo-date-math": "^1.5.13",
|
|
28
28
|
"@progress/kendo-drawing": "^1.20.1",
|
|
29
|
-
"@progress/kendo-licensing": "^1.
|
|
30
|
-
"@progress/kendo-vue-common": "10.2.0-develop.
|
|
31
|
-
"@progress/kendo-vue-buttons": "10.2.0-develop.
|
|
32
|
-
"@progress/kendo-vue-dateinputs": "10.2.0-develop.
|
|
33
|
-
"@progress/kendo-vue-dialogs": "10.2.0-develop.
|
|
34
|
-
"@progress/kendo-vue-dropdowns": "10.2.0-develop.
|
|
35
|
-
"@progress/kendo-vue-form": "10.2.0-develop.
|
|
36
|
-
"@progress/kendo-vue-inputs": "10.2.0-develop.
|
|
37
|
-
"@progress/kendo-vue-intl": "10.2.0-develop.
|
|
38
|
-
"@progress/kendo-vue-popup": "10.2.0-develop.
|
|
39
|
-
"@progress/kendo-vue-tooltip": "10.2.0-develop.
|
|
29
|
+
"@progress/kendo-licensing": "^1.12.0",
|
|
30
|
+
"@progress/kendo-vue-common": "10.2.0-develop.11",
|
|
31
|
+
"@progress/kendo-vue-buttons": "10.2.0-develop.11",
|
|
32
|
+
"@progress/kendo-vue-dateinputs": "10.2.0-develop.11",
|
|
33
|
+
"@progress/kendo-vue-dialogs": "10.2.0-develop.11",
|
|
34
|
+
"@progress/kendo-vue-dropdowns": "10.2.0-develop.11",
|
|
35
|
+
"@progress/kendo-vue-form": "10.2.0-develop.11",
|
|
36
|
+
"@progress/kendo-vue-inputs": "10.2.0-develop.11",
|
|
37
|
+
"@progress/kendo-vue-intl": "10.2.0-develop.11",
|
|
38
|
+
"@progress/kendo-vue-popup": "10.2.0-develop.11",
|
|
39
|
+
"@progress/kendo-vue-tooltip": "10.2.0-develop.11",
|
|
40
40
|
"@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
|
|
41
41
|
"vue": "^3.0.2"
|
|
42
42
|
},
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"package": {
|
|
62
62
|
"productName": "Kendo UI for Vue",
|
|
63
63
|
"productCode": "KENDOUIVUE",
|
|
64
|
-
"publishDate":
|
|
64
|
+
"publishDate": 1793637516,
|
|
65
65
|
"licensingDocsUrl": "https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=vue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning"
|
|
66
66
|
}
|
|
67
67
|
},
|
package/tasks/SchedulerTask.d.ts
CHANGED
|
@@ -98,7 +98,9 @@ declare const SchedulerTask: import('vue').DefineComponent<import('vue').Extract
|
|
|
98
98
|
default: any;
|
|
99
99
|
};
|
|
100
100
|
onRemoveclick: PropType<(event: SchedulerTaskMouseEvent) => void>;
|
|
101
|
-
}>, {
|
|
101
|
+
}>, {
|
|
102
|
+
getResourceColor: (color?: string) => string;
|
|
103
|
+
}, {}, {}, {
|
|
102
104
|
handleRemoveClick(event: any): void;
|
|
103
105
|
handleClick(event: any): void;
|
|
104
106
|
handleDoubleClick(event: any): void;
|
package/tasks/SchedulerTask.js
CHANGED
|
@@ -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"),u=require("@progress/kendo-vue-intl"),c=require("../messages/main.js"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),u=require("@progress/kendo-vue-intl"),c=require("../messages/main.js"),r=require("@progress/kendo-vue-common"),h=require("../components/SchedulerOccurrenceDialog.js"),k=require("../components/SchedulerRemoveDialog.js"),m=require("../utils/main.js"),s=require("@progress/kendo-svg-icons"),p=require("../hooks/useEditable.js"),g=e.defineComponent({name:"KendoSchedulerTask",setup(){return{getResourceColor:m.useSchedulerResourceColor()}},props:{refTo:[Function,Object],id:String,tabIndex:Number,head:Boolean,tail:Boolean,order:Number,zonedStart:Object,zonedEnd:Object,slots:Array,group:Object,range:Object,isException:Boolean,isRecurring:Boolean,isAllDay:Boolean,uid:[String,Number],start:Date,end:Date,originalStart:Date,startTimezone:String,endTimezone:String,title:String,description:String,occurrenceId:String,recurrenceExceptions:Array,recurrenceRule:String,recurrenceId:[String,Number],dataItem:Object,removeItem:Object,editable:[Object,Boolean],readonly:Boolean,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},isSeries:{type:Boolean,default:void 0},onRemoveclick:Function},inject:{kendoLocalizationService:{default:null},taskClick:{default:null},taskDoubleClick:{default:null},ksCancel:{default:null},ksSeriesClick:{default:null},ksOccurrenceClick:{default:null},ksRemoveConfirm:{default:null}},created(){this.task=null},render(){const o=r.getDefaultSlots(this),t=p.useEditable(this.$props.editable),d=this.$props.readonly?{remove:!1,select:t.select}:t,a=u.provideLocalizationService(this).toLanguageString(c.deleteTitle,c.messages[c.deleteTitle]),i=this.$props.group.resources.find(l=>!!(l.colorField&&l[l.colorField]!==""&&l[l.colorField]!==void 0)),n=this.getResourceColor(i&&i.colorField&&i[i.colorField]);return e.createVNode("div",{id:this.$props.id,class:"k-task",tabindex:this.$props.tabIndex||void 0,onClick:this.handleClick,onDblclick:this.handleDoubleClick},[n&&e.createVNode("span",{class:"k-scheduler-mark",style:{color:n,backgroundColor:n}},null),this.$props.isRecurring&&e.createVNode(r.Icon,{name:"arrow-rotate-cw",icon:s.arrowRotateCwIcon},null),this.$props.isException&&e.createVNode(r.Icon,{name:"arrows-no-repeat",icon:s.arrowsNoRepeatIcon},null),e.createVNode("span",{class:"k-scheduler-task-text"},[this.$props.title]),o,d.remove&&e.createVNode("a",{class:"k-link k-event-delete",title:a,"aria-label":a,onClick:this.handleRemoveClick},[e.createVNode(r.Icon,{name:"x",icon:s.xIcon},null)]),this.showOccurrenceDialog&&e.createVNode(h.SchedulerOccurrenceDialog,{dataItem:this.removeItem,isRemove:this.removeItem!==null,onClose:this.ksCancel,onOccurrenceclick:this.ksOccurrenceClick,onSeriesclick:this.ksSeriesClick},null),this.showRemoveDialog&&e.createVNode(k.SchedulerRemoveDialog,{dataItem:this.removeItem,isSeries:this.isSeries,onClose:this.ksCancel,onCancel:this.ksCancel,onConfirm:this.ksRemoveConfirm},null)])},methods:{handleRemoveClick(o){this.$emit("removeclick",{event:o,target:this.task})},handleClick(o){const t={event:o,target:{props:{...this.$props},element:this.$el}};this.$emit("click",t),this.taskClick(t)},handleDoubleClick(o){const t={event:o,target:{props:{...this.$props},element:this.$el}};this.$emit("doubleclick",t),this.taskDoubleClick(t)}}});exports.SchedulerTask=g;
|
package/tasks/SchedulerTask.mjs
CHANGED
|
@@ -7,14 +7,20 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { defineComponent as d, createVNode as e } from "vue";
|
|
9
9
|
import { provideLocalizationService as u } from "@progress/kendo-vue-intl";
|
|
10
|
-
import { deleteTitle as
|
|
11
|
-
import { getDefaultSlots as h, Icon as
|
|
10
|
+
import { deleteTitle as c, messages as m } from "../messages/main.mjs";
|
|
11
|
+
import { getDefaultSlots as h, Icon as n } from "@progress/kendo-vue-common";
|
|
12
12
|
import { SchedulerOccurrenceDialog as k } from "../components/SchedulerOccurrenceDialog.mjs";
|
|
13
13
|
import { SchedulerRemoveDialog as p } from "../components/SchedulerRemoveDialog.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
14
|
+
import { useSchedulerResourceColor as g } from "../utils/main.mjs";
|
|
15
|
+
import { arrowRotateCwIcon as f, arrowsNoRepeatIcon as C, xIcon as b } from "@progress/kendo-svg-icons";
|
|
16
|
+
import { useEditable as S } from "../hooks/useEditable.mjs";
|
|
17
|
+
const y = /* @__PURE__ */ d({
|
|
17
18
|
name: "KendoSchedulerTask",
|
|
19
|
+
setup() {
|
|
20
|
+
return {
|
|
21
|
+
getResourceColor: g()
|
|
22
|
+
};
|
|
23
|
+
},
|
|
18
24
|
props: {
|
|
19
25
|
refTo: [Function, Object],
|
|
20
26
|
id: String,
|
|
@@ -87,36 +93,36 @@ const x = /* @__PURE__ */ d({
|
|
|
87
93
|
this.task = null;
|
|
88
94
|
},
|
|
89
95
|
render() {
|
|
90
|
-
const
|
|
96
|
+
const t = h(this), o = S(this.$props.editable), a = this.$props.readonly ? {
|
|
91
97
|
remove: !1,
|
|
92
|
-
select:
|
|
93
|
-
} :
|
|
98
|
+
select: o.select
|
|
99
|
+
} : o, s = u(this).toLanguageString(c, m[c]), i = this.$props.group.resources.find((l) => !!(l.colorField && l[l.colorField] !== "" && l[l.colorField] !== void 0)), r = this.getResourceColor(i && i.colorField && i[i.colorField]);
|
|
94
100
|
return e("div", {
|
|
95
101
|
id: this.$props.id,
|
|
96
102
|
class: "k-task",
|
|
97
103
|
tabindex: this.$props.tabIndex || void 0,
|
|
98
104
|
onClick: this.handleClick,
|
|
99
105
|
onDblclick: this.handleDoubleClick
|
|
100
|
-
}, [
|
|
106
|
+
}, [r && e("span", {
|
|
101
107
|
class: "k-scheduler-mark",
|
|
102
108
|
style: {
|
|
103
|
-
color:
|
|
104
|
-
backgroundColor:
|
|
109
|
+
color: r,
|
|
110
|
+
backgroundColor: r
|
|
105
111
|
}
|
|
106
|
-
}, null), this.$props.isRecurring && e(
|
|
112
|
+
}, null), this.$props.isRecurring && e(n, {
|
|
107
113
|
name: "arrow-rotate-cw",
|
|
108
|
-
icon: g
|
|
109
|
-
}, null), this.$props.isException && e(r, {
|
|
110
|
-
name: "arrows-no-repeat",
|
|
111
114
|
icon: f
|
|
115
|
+
}, null), this.$props.isException && e(n, {
|
|
116
|
+
name: "arrows-no-repeat",
|
|
117
|
+
icon: C
|
|
112
118
|
}, null), e("span", {
|
|
113
119
|
class: "k-scheduler-task-text"
|
|
114
|
-
}, [this.$props.title]),
|
|
120
|
+
}, [this.$props.title]), t, a.remove && e("a", {
|
|
115
121
|
class: "k-link k-event-delete",
|
|
116
122
|
title: s,
|
|
117
123
|
"aria-label": s,
|
|
118
124
|
onClick: this.handleRemoveClick
|
|
119
|
-
}, [e(
|
|
125
|
+
}, [e(n, {
|
|
120
126
|
name: "x",
|
|
121
127
|
icon: b
|
|
122
128
|
}, null)]), this.showOccurrenceDialog && e(k, {
|
|
@@ -134,15 +140,15 @@ const x = /* @__PURE__ */ d({
|
|
|
134
140
|
}, null)]);
|
|
135
141
|
},
|
|
136
142
|
methods: {
|
|
137
|
-
handleRemoveClick(
|
|
143
|
+
handleRemoveClick(t) {
|
|
138
144
|
this.$emit("removeclick", {
|
|
139
|
-
event:
|
|
145
|
+
event: t,
|
|
140
146
|
target: this.task
|
|
141
147
|
});
|
|
142
148
|
},
|
|
143
|
-
handleClick(
|
|
144
|
-
const
|
|
145
|
-
event:
|
|
149
|
+
handleClick(t) {
|
|
150
|
+
const o = {
|
|
151
|
+
event: t,
|
|
146
152
|
target: {
|
|
147
153
|
props: {
|
|
148
154
|
...this.$props
|
|
@@ -150,11 +156,11 @@ const x = /* @__PURE__ */ d({
|
|
|
150
156
|
element: this.$el
|
|
151
157
|
}
|
|
152
158
|
};
|
|
153
|
-
this.$emit("click",
|
|
159
|
+
this.$emit("click", o), this.taskClick(o);
|
|
154
160
|
},
|
|
155
|
-
handleDoubleClick(
|
|
156
|
-
const
|
|
157
|
-
event:
|
|
161
|
+
handleDoubleClick(t) {
|
|
162
|
+
const o = {
|
|
163
|
+
event: t,
|
|
158
164
|
target: {
|
|
159
165
|
props: {
|
|
160
166
|
...this.$props
|
|
@@ -162,10 +168,10 @@ const x = /* @__PURE__ */ d({
|
|
|
162
168
|
element: this.$el
|
|
163
169
|
}
|
|
164
170
|
};
|
|
165
|
-
this.$emit("doubleclick",
|
|
171
|
+
this.$emit("doubleclick", o), this.taskDoubleClick(o);
|
|
166
172
|
}
|
|
167
173
|
}
|
|
168
174
|
});
|
|
169
175
|
export {
|
|
170
|
-
|
|
176
|
+
y as SchedulerTask
|
|
171
177
|
};
|
package/utils/main.d.ts
CHANGED
|
@@ -17,6 +17,10 @@ export declare enum COLLECTION_ACTION {
|
|
|
17
17
|
remove = 1
|
|
18
18
|
}
|
|
19
19
|
/** @hidden */
|
|
20
|
+
export declare const getSchedulerResourceColor: (color?: string) => string | undefined;
|
|
21
|
+
/** @hidden */
|
|
22
|
+
export declare const useSchedulerResourceColor: () => (color?: string) => string | undefined;
|
|
23
|
+
/** @hidden */
|
|
20
24
|
export declare const first: <T>(arr: T[]) => T;
|
|
21
25
|
/** @hidden */
|
|
22
26
|
export declare const last: <T>(arr: T[]) => T;
|
package/utils/main.js
CHANGED
|
@@ -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"});require("@progress/kendo-date-math");const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("vue");require("@progress/kendo-date-math");const S=require("../views/common/utils.js"),M=require("@progress/kendo-vue-common"),b=require("@progress/kendo-data-query");var D=(e=>(e[e.add=0]="add",e[e.remove=1]="remove",e))(D||{});const m=new WeakMap,T=e=>{if(!e||typeof document=="undefined"||!document.body||!document.defaultView)return e;const t=document;let r=m.get(t);r||(r=new Map,m.set(t,r),queueMicrotask(()=>m.delete(t)));const s=r.get(e);if(s!==void 0)return s;const o=t.createElement("span");o.className="k-event",Object.assign(o.style,{position:"fixed",visibility:"hidden",pointerEvents:"none",width:"0",height:"0"}),o.style.setProperty("--kendo-scheduler-event-color",e),t.body.append(o);try{const n=t.defaultView.getComputedStyle(o).backgroundColor;return r.set(e,n),n}finally{o.remove()}},k=()=>{const e=y.ref(!1);return y.onMounted(()=>{e.value=!0}),t=>e.value?T(t):t},C=e=>e[0],H=e=>e[e.length-1],w=e=>{const t=new Set;return e.forEach(r=>{t.add(r.field)}),t.size===e.length};function P(e,t,r,s,o="all day"){const n={skeleton:"yMMMMEEEEdhm"},i={skeleton:"yMMMMEEEEd"},c="t",l=t.getFullYear()===r.getFullYear()&&t.getMonth()===r.getMonth()&&t.getDate()===r.getDate();if(s){const d=r.getHours()===0&&r.getMinutes()===0&&r.getSeconds()===0&&r.getTime()-t.getTime()===864e5;return l||d?`${e.formatDate(t,i)} (${o})`:`${e.formatDate(t,i)} to ${e.formatDate(r,i)} (${o})`}return l?`${e.formatDate(t,n)}–${e.formatDate(r,c)}`:`${e.formatDate(t,n)}-${e.formatDate(r,n)}`}const I=(e,t,r,s=0)=>{if(s===r)return null;let o=null;const n=document.elementFromPoint(e,t);if(!n)return o;if(n.getAttribute("data-slot")==="true")return n;{const c=n.style.pointerEvents;n.style.pointerEvents="none",o=I(e,t,r,s+1),n.style.pointerEvents=c}return o},a=(e,t)=>M.getter(t)(e),q=(e,t,r)=>{if(t)return M.setter(t)(e,r)},G=e=>e!=null;function z(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}const B=(e,t,r)=>{const s=E(e,t)?a(e,t.id):a(e,t.recurrenceId);return r.find(o=>a(o,t.id)===s)},E=(e,t)=>{const r=a(e,t.id),s=a(e,t.recurrenceId),o=a(e,t.recurrenceRule);return!!(r&&o&&s==null)},h=(e,t)=>Math.max(e.getTime(),t.getTime()),x=(e,t)=>Math.min(e.getTime(),t.getTime()),g=(e,t,r,s,o=!1)=>o?h(t,s)-x(e,r)<=t.getTime()-e.getTime()+(s.getTime()-r.getTime()):h(t,s)-x(e,r)<t.getTime()-e.getTime()+(s.getTime()-r.getTime()),v={id:"id",start:"start",startTimezone:"startTimezone",originalStart:"originalStart",end:"end",endTimezone:"endTimezone",isAllDay:"isAllDay",title:"title",description:"description",recurrenceRule:"recurrenceRule",recurrenceId:"recurrenceId",recurrenceExceptions:"recurrenceExceptions",readonly:"readonly"},N=e=>({fields:{...v,...e}}),U=(e,t,r)=>(t.getHours()<e.getHours()||t.getHours()===e.getHours()&&t.getMinutes()<=e.getMinutes())&&(e.getHours()<r.getHours()||r.getHours()===e.getHours()&&e.getMinutes()<r.getMinutes()),V=(e,t)=>{const r=S.toGroupResources(e,t),s=S.toFlatGroupResources(r);return s.length===1?[{index:0,resources:(t||[]).reduce((o,n)=>[...o,...n.data.map(i=>({...i,field:n.field,valueField:n.valueField,colorField:n.colorField,multiple:n.multiple}))],[])}]:s.map((o,n)=>({index:n,resources:o}))},F=e=>e==null,Y=e=>F(e)||e.trim&&e.trim().length===0,f=e=>{let t=0;const r=e.slice();return r.sort((s,o)=>s-o).forEach((s,o)=>{r[o]===o&&(t=o+1)}),t},j=(e,t,r,s=!1)=>{let o;return r.forEach(n=>{const i=[];t.sort((l,d)=>l.$props.start.getTime()-d.$props.start.getTime()).forEach(l=>{if((s||l.$props.isAllDay===n.cSlot.isAllDay)&&l.$props.range.index===n.cSlot.range.index&&l.$props.group.index===n.cSlot.group.index&&g(l.$props.start,l.$props.end,n.cSlot.start,n.cSlot.end)){const u=f(i);l===e&&o===void 0&&(o=u),i.splice(u,0,u)}})}),o},O=(e,t)=>{const r=new Set;return t.forEach(o=>{o._order!==void 0&&o._order!==null&&r.add(o._order)}),f(Array.from(r))},_=(e,t,r=!1)=>{e.forEach(o=>{o.order=null}),t.forEach(o=>{const n=o.cSlot?o.cSlot:o;n.items.splice(0,n.items.length)});const s=[...e].sort((o,n)=>o.start.getTime()-n.start.getTime());t.forEach(o=>{const n=o.cSlot?o.cSlot:o,i=[];s.forEach(c=>{if((r||c.isAllDay===n.isAllDay)&&c.range.index===n.range.index&&(c.range.isAllDay===void 0||n.range.isAllDay===void 0||c.range.isAllDay===n.range.isAllDay)&&c.group.index===n.group.index&&g(c.start,c.end,n.start,n.end)){if(c.order!==null&&c.order!==void 0)i.includes(c.order)||(i.push(c.order),i.sort((d,u)=>d-u));else{const d=f(i);c.order=d,i.push(d),i.sort((u,R)=>u-R)}n.items.push(c)}})})},Q=(e,t,r=!1)=>{e.forEach(s=>s.slots.splice(0,s.slots.length)),e.forEach(s=>{t.forEach(o=>{const n=o.cSlot?o.cSlot:o;(r||s.isAllDay===n.isAllDay)&&s.range.index===n.range.index&&(s.range.isAllDay===void 0||n.range.isAllDay===void 0||s.range.isAllDay===n.range.isAllDay)&&s.group.index===n.group.index&&g(s.start,s.end,n.start,n.end)&&s.slots.push(o)})})},W=function(e){return e.props.items.find(r=>r.order===0)||e.props.items[0]},A=(e,t,r)=>!!(e.uid===t.uid&&(e.occurrenceId===void 0||e.occurrenceId===t.occurrenceId)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(r||e.isAllDay===t.isAllDay)),$=(e,t)=>{const r=e.filter(o=>o.element!==null);return b.orderBy(r,[{field:"group.index",dir:"asc"},{field:"range.index",dir:"asc"},t?{field:""}:{field:"isAllDay",dir:"desc"},{field:"start",dir:"asc"}])},J=(e,t)=>e.start.getTime()===t.start.getTime()&&e.end.getTime()===t.end.getTime()&&e.index===t.index&&e.group.index===t.group.index&&e.range.index===t.range.index&&e.isAllDay===t.isAllDay,p=(e,t,r=!1)=>{const s=e,o=$(t,r);return{currentIndex:o.findIndex(i=>A(i,s,r)),sorted:o}},K=(e,t,r=!1)=>{if(!e||!t)return null;const{currentIndex:s,sorted:o}=p(e,t,r)||{};return o[s]},X=(e,t,r=!1,s=!1)=>{const{currentIndex:o,sorted:n}=p(e,t,r);return n[o+(s?-1:1)]},Z=(e,t)=>(e.order||0)-(t.order||0);exports.COLLECTION_ACTION=D;exports.calculateOrder=j;exports.calculateProportionalOrder=O;exports.compareItems=A;exports.compareSlots=J;exports.defaultModelFields=v;exports.findCurrentItem=K;exports.findFirstItem=W;exports.findMaster=B;exports.findMissing=f;exports.findNextItem=X;exports.first=C;exports.formatEventTime=P;exports.getCurrentItemIndex=p;exports.getField=a;exports.getModelFields=N;exports.getSchedulerResourceColor=T;exports.getSortedSlots=$;exports.intersects=g;exports.isBlank=F;exports.isGroupped=w;exports.isInTimeRange=U;exports.isMaster=E;exports.isNullOrEmptyString=Y;exports.isPresent=G;exports.last=H;exports.mapItemsToSlots=Q;exports.mapSlotsToItems=_;exports.orderSort=Z;exports.setField=q;exports.slotDive=I;exports.toSchedulerGroups=V;exports.toUTCDateTime=z;exports.useSchedulerResourceColor=k;
|