@progress/kendo-vue-scheduler 10.2.0-develop.10 → 10.2.0-develop.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Scheduler.d.ts +157 -56
- package/Scheduler.js +1 -1
- package/Scheduler.mjs +242 -214
- package/components/EventOverviewPopover.d.ts +62 -0
- package/components/EventOverviewPopover.js +8 -0
- package/components/EventOverviewPopover.mjs +191 -0
- package/components/MoreEventsPopover.d.ts +3 -1
- package/components/MoreEventsPopover.js +1 -1
- package/components/MoreEventsPopover.mjs +31 -27
- package/components/SchedulerActionButtons.js +1 -1
- package/components/SchedulerActionButtons.mjs +1 -0
- package/components/SchedulerForm.d.ts +412 -2
- package/components/SchedulerForm.js +1 -1
- package/components/SchedulerForm.mjs +162 -60
- package/components/SchedulerQuickCreateForm.d.ts +118 -0
- package/components/SchedulerQuickCreateForm.js +8 -0
- package/components/SchedulerQuickCreateForm.mjs +249 -0
- package/constants/main.d.ts +2 -0
- package/constants/main.js +1 -1
- package/constants/main.mjs +10 -9
- package/dist/cdn/js/kendo-vue-scheduler.js +1 -1
- package/editors/KeepResetCustomEventsDialog.d.ts +31 -0
- package/editors/KeepResetCustomEventsDialog.js +8 -0
- package/editors/KeepResetCustomEventsDialog.mjs +72 -0
- package/editors/SchedulerFormEditor.d.ts +151 -52
- package/editors/SchedulerFormEditor.js +1 -1
- package/editors/SchedulerFormEditor.mjs +192 -139
- package/editors/SchedulerRecurrenceDialog.d.ts +2 -2
- package/editors/SchedulerRecurrenceDialog.js +1 -1
- package/editors/SchedulerRecurrenceDialog.mjs +126 -131
- package/editors/ZonedSplitDateTime.d.ts +32 -3
- package/editors/ZonedSplitDateTime.js +1 -1
- package/editors/ZonedSplitDateTime.mjs +112 -47
- package/hooks/useCloseOnAnchorScrollOut.d.ts +10 -0
- package/hooks/useCloseOnAnchorScrollOut.js +8 -0
- package/hooks/useCloseOnAnchorScrollOut.mjs +43 -0
- package/hooks/useCustomEventsConfirmation.d.ts +20 -0
- package/hooks/useCustomEventsConfirmation.js +8 -0
- package/hooks/useCustomEventsConfirmation.mjs +48 -0
- package/hooks/useDeferredClick.d.ts +12 -0
- package/hooks/useDeferredClick.js +8 -0
- package/hooks/useDeferredClick.mjs +22 -0
- package/hooks/useExclusivePopover.d.ts +26 -0
- package/hooks/useExclusivePopover.js +8 -0
- package/hooks/useExclusivePopover.mjs +30 -0
- package/hooks/useRecurrenceSummary.d.ts +3 -0
- package/hooks/useRecurrenceSummary.js +1 -1
- package/hooks/useRecurrenceSummary.mjs +68 -41
- package/index.d.mts +4 -2
- package/index.d.ts +4 -2
- package/index.js +1 -1
- package/index.mjs +83 -78
- package/items/SchedulerEditItem.d.ts +116 -12
- package/items/SchedulerEditItem.js +1 -1
- package/items/SchedulerEditItem.mjs +212 -131
- package/items/SchedulerItem.d.ts +2 -1
- package/items/SchedulerItem.js +1 -1
- package/items/SchedulerItem.mjs +28 -23
- package/items/SchedulerProportionalViewItem.d.ts +1 -0
- package/items/SchedulerProportionalViewItem.js +1 -1
- package/items/SchedulerProportionalViewItem.mjs +83 -68
- package/items/SchedulerViewItem.d.ts +1 -0
- package/items/SchedulerViewItem.js +1 -1
- package/items/SchedulerViewItem.mjs +84 -75
- package/items/hooks/use-drag-item.js +1 -1
- package/items/hooks/use-drag-item.mjs +49 -48
- package/items/hooks/use-form-item.d.ts +1 -1
- package/items/hooks/use-remove-item.d.ts +1 -1
- package/items/hooks/use-resize-item.js +1 -1
- package/items/hooks/use-resize-item.mjs +74 -65
- package/messages/main.d.ts +42 -0
- package/messages/main.js +1 -1
- package/messages/main.mjs +303 -275
- package/models/InternalDataAction.d.ts +13 -0
- package/models/SchedulerView.d.ts +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +13 -12
- package/recurrence/RecurrenceEditor.js +1 -1
- package/recurrence/RecurrenceEditor.mjs +42 -42
- package/recurrence/common.d.ts +10 -0
- package/recurrence/common.js +1 -1
- package/recurrence/common.mjs +39 -35
- package/services/itemsService.d.ts +5 -2
- package/services/itemsService.js +1 -1
- package/services/itemsService.mjs +46 -33
- package/services/occurrenceService.js +1 -1
- package/services/occurrenceService.mjs +18 -18
- package/slots/SchedulerEditSlot.d.ts +70 -8
- package/slots/SchedulerEditSlot.js +1 -1
- package/slots/SchedulerEditSlot.mjs +222 -141
- package/slots/SchedulerSlot.js +1 -1
- package/slots/SchedulerSlot.mjs +20 -16
- package/slots/SchedulerViewSlot.d.ts +3 -0
- package/slots/SchedulerViewSlot.js +1 -1
- package/slots/SchedulerViewSlot.mjs +21 -15
- package/tasks/SchedulerEditTask.d.ts +13 -2
- package/tasks/SchedulerEditTask.js +1 -1
- package/tasks/SchedulerEditTask.mjs +45 -30
- package/utils/main.d.ts +27 -0
- package/utils/main.js +1 -1
- package/utils/main.mjs +172 -136
- package/views/agenda/AgendaView.d.ts +6 -2
- package/views/agenda/AgendaView.js +1 -1
- package/views/agenda/AgendaView.mjs +31 -29
- package/views/agenda/AgendaViewBody.d.ts +3 -3
- package/views/agenda/AgendaViewBody.js +1 -1
- package/views/agenda/AgendaViewBody.mjs +31 -29
- package/views/common/SchedulerDrag.d.ts +4 -2
- package/views/common/SchedulerDrag.js +1 -1
- package/views/common/SchedulerDrag.mjs +8 -7
- package/views/common/SchedulerResize.d.ts +4 -2
- package/views/common/SchedulerResize.js +1 -1
- package/views/common/SchedulerResize.mjs +14 -12
- package/views/common/VerticalResourceIterator.d.ts +3 -3
- package/views/common/VerticalResourceIterator.js +1 -1
- package/views/common/VerticalResourceIterator.mjs +34 -33
- package/views/day/DayView.d.ts +2 -0
- package/views/day/DayView.js +1 -1
- package/views/day/DayView.mjs +9 -7
- package/views/day/DayViewAllDaySlots.d.ts +7 -5
- package/views/day/DayViewAllDaySlots.js +1 -1
- package/views/day/DayViewAllDaySlots.mjs +24 -21
- package/views/day/DayViewMiddleRow.d.ts +7 -5
- package/views/day/DayViewMiddleRow.js +1 -1
- package/views/day/DayViewMiddleRow.mjs +18 -13
- package/views/day/DayViewVerticalRow.d.ts +7 -5
- package/views/day/DayViewVerticalRow.js +1 -1
- package/views/day/DayViewVerticalRow.mjs +23 -17
- package/views/day/DayViewVerticalSlotsRow.d.ts +7 -5
- package/views/day/DayViewVerticalSlotsRow.js +1 -1
- package/views/day/DayViewVerticalSlotsRow.mjs +34 -29
- package/views/day/MultiDayView.d.ts +13 -7
- package/views/day/MultiDayView.js +1 -1
- package/views/day/MultiDayView.mjs +108 -95
- package/views/month/MonthView.d.ts +15 -4
- package/views/month/MonthView.js +1 -1
- package/views/month/MonthView.mjs +105 -68
- package/views/month/MonthViewBody.d.ts +3 -3
- package/views/month/MonthViewBody.js +1 -1
- package/views/month/MonthViewBody.mjs +18 -16
- package/views/time/MultiDayTimelineView.d.ts +6 -4
- package/views/time/MultiDayTimelineView.js +1 -1
- package/views/time/MultiDayTimelineView.mjs +64 -63
- package/views/time/TimelineView.d.ts +2 -0
- package/views/time/TimelineView.js +1 -1
- package/views/time/TimelineView.mjs +5 -3
- package/views/time/TimelineViewBody.d.ts +7 -5
- package/views/time/TimelineViewBody.js +1 -1
- package/views/time/TimelineViewBody.mjs +29 -27
- package/views/week/WeekView.d.ts +2 -0
- package/views/week/WeekView.js +1 -1
- package/views/week/WeekView.mjs +11 -10
- package/views/week/WorkWeekView.d.ts +2 -0
- package/views/week/WorkWeekView.js +1 -1
- package/views/week/WorkWeekView.mjs +17 -16
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",...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;
|
|
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"),o=require("@progress/kendo-vue-intl"),a=require("../components/SchedulerOccurrenceDialog.js"),h=require("../components/SchedulerRemoveDialog.js"),d=require("../components/SchedulerForm.js"),u=require("../hooks/useEditable.js"),p=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},ksEventOverview:{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=u.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(){var e;return{"k-event":!this.$props.resizeHint,"k-event-all-day":!this.$props.resizeHint&&((e=this.$props.range)==null?void 0:e.isAllDay)===!0,"k-selected":this.$props.dragHint||this.$props.selected&&this.currentEditable.select&&!this.$props.dragItem,"k-readonly":!this.$props.resizeHint&&!!this.$props.readonly,"k-event-drag-hint":!!this.$props.dragItem&&!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=o.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(d.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(a.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(h.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,n;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&&!((n=this.ksEventOverview)!=null&&n.call(this))&&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=p;
|
package/items/SchedulerItem.mjs
CHANGED
|
@@ -5,15 +5,15 @@
|
|
|
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 { COLLECTION_ACTION as
|
|
10
|
-
import { getDefaultSlots as
|
|
11
|
-
import { provideIntlService as
|
|
8
|
+
import { defineComponent as o, h as a, createVNode as t } from "vue";
|
|
9
|
+
import { COLLECTION_ACTION as n, formatEventTime as h } from "../utils/main.mjs";
|
|
10
|
+
import { getDefaultSlots as d, getTemplate as u, Draggable as l } from "@progress/kendo-vue-common";
|
|
11
|
+
import { provideIntlService as p } from "@progress/kendo-vue-intl";
|
|
12
12
|
import { SchedulerOccurrenceDialog as m } from "../components/SchedulerOccurrenceDialog.mjs";
|
|
13
|
-
import { SchedulerRemoveDialog as
|
|
14
|
-
import { SchedulerForm as
|
|
15
|
-
import { useEditable as
|
|
16
|
-
const
|
|
13
|
+
import { SchedulerRemoveDialog as c } from "../components/SchedulerRemoveDialog.mjs";
|
|
14
|
+
import { SchedulerForm as g } from "../components/SchedulerForm.mjs";
|
|
15
|
+
import { useEditable as $ } from "../hooks/useEditable.mjs";
|
|
16
|
+
const C = /* @__PURE__ */ o({
|
|
17
17
|
name: "KendoSchedulerItem",
|
|
18
18
|
inheritAttrs: !1,
|
|
19
19
|
emits: {
|
|
@@ -120,6 +120,9 @@ const y = /* @__PURE__ */ n({
|
|
|
120
120
|
ksMobile: {
|
|
121
121
|
default: null
|
|
122
122
|
},
|
|
123
|
+
ksEventOverview: {
|
|
124
|
+
default: null
|
|
125
|
+
},
|
|
123
126
|
ksCancel: {
|
|
124
127
|
default: null
|
|
125
128
|
},
|
|
@@ -150,7 +153,7 @@ const y = /* @__PURE__ */ n({
|
|
|
150
153
|
},
|
|
151
154
|
computed: {
|
|
152
155
|
currentEditable() {
|
|
153
|
-
const e =
|
|
156
|
+
const e = $(this.$props.editable);
|
|
154
157
|
return this.$props.readonly ? {
|
|
155
158
|
add: !1,
|
|
156
159
|
edit: !1,
|
|
@@ -170,11 +173,13 @@ const y = /* @__PURE__ */ n({
|
|
|
170
173
|
return this.$props.tabIndex !== void 0 ? this.$props.tabIndex === null ? void 0 : this.$props.tabIndex : this.$props.selected ? 0 : -1;
|
|
171
174
|
},
|
|
172
175
|
itemClassName() {
|
|
176
|
+
var e;
|
|
173
177
|
return {
|
|
174
178
|
"k-event": !this.$props.resizeHint,
|
|
175
|
-
"k-
|
|
179
|
+
"k-event-all-day": !this.$props.resizeHint && ((e = this.$props.range) == null ? void 0 : e.isAllDay) === !0,
|
|
180
|
+
"k-selected": this.$props.dragHint || this.$props.selected && this.currentEditable.select && !this.$props.dragItem,
|
|
176
181
|
"k-readonly": !this.$props.resizeHint && !!this.$props.readonly,
|
|
177
|
-
"k-event-drag-hint": this.$props.dragHint,
|
|
182
|
+
"k-event-drag-hint": !!this.$props.dragItem && !this.$props.dragHint,
|
|
178
183
|
"k-scheduler-marquee": this.$props.resizeHint,
|
|
179
184
|
"k-marquee": this.$props.resizeHint,
|
|
180
185
|
"k-first": this.$props.resizeHint && !this.$props.tail,
|
|
@@ -183,7 +188,7 @@ const y = /* @__PURE__ */ n({
|
|
|
183
188
|
};
|
|
184
189
|
},
|
|
185
190
|
eventLabel() {
|
|
186
|
-
return `${
|
|
191
|
+
return `${h(this.intl, this.$props.zonedStart, this.$props.zonedEnd, this.$props.isAllDay)}, ${this.$props.title}`;
|
|
187
192
|
},
|
|
188
193
|
resizeHandleStyle() {
|
|
189
194
|
var e;
|
|
@@ -207,7 +212,7 @@ const y = /* @__PURE__ */ n({
|
|
|
207
212
|
},
|
|
208
213
|
created() {
|
|
209
214
|
this.setItems({
|
|
210
|
-
type:
|
|
215
|
+
type: n.add,
|
|
211
216
|
item: this
|
|
212
217
|
});
|
|
213
218
|
},
|
|
@@ -216,15 +221,15 @@ const y = /* @__PURE__ */ n({
|
|
|
216
221
|
},
|
|
217
222
|
unmounted() {
|
|
218
223
|
this.setItems({
|
|
219
|
-
type:
|
|
224
|
+
type: n.remove,
|
|
220
225
|
item: this
|
|
221
226
|
});
|
|
222
227
|
},
|
|
223
228
|
render() {
|
|
224
|
-
const e =
|
|
225
|
-
this.intl =
|
|
226
|
-
const s =
|
|
227
|
-
h:
|
|
229
|
+
const e = d(this);
|
|
230
|
+
this.intl = p(this);
|
|
231
|
+
const s = u.call(this, {
|
|
232
|
+
h: a,
|
|
228
233
|
template: this.bv.viewProps.resizeHint,
|
|
229
234
|
additionalProps: {
|
|
230
235
|
dataItem: this.dataItem,
|
|
@@ -263,7 +268,7 @@ const y = /* @__PURE__ */ n({
|
|
|
263
268
|
onKeyup: this.handleKeyUp,
|
|
264
269
|
"data-group-index": this.$props.group.index,
|
|
265
270
|
"data-range-index": this.$props.range.index
|
|
266
|
-
}, [this.formItem && !this.showOccurrenceDialog && this.currentEditable.edit && t(
|
|
271
|
+
}, [this.formItem && !this.showOccurrenceDialog && this.currentEditable.edit && t(g, {
|
|
267
272
|
dataItem: this.formItem,
|
|
268
273
|
onSubmit: this.handleFormSubmit,
|
|
269
274
|
onClose: this.handleFormClose,
|
|
@@ -275,7 +280,7 @@ const y = /* @__PURE__ */ n({
|
|
|
275
280
|
onClose: this.ksCancel,
|
|
276
281
|
onOccurrenceclick: this.ksOccurrenceClick,
|
|
277
282
|
onSeriesclick: this.ksSeriesClick
|
|
278
|
-
}, null), this.showRemoveDialog && this.removeItem && this.currentEditable.remove && t(
|
|
283
|
+
}, null), this.showRemoveDialog && this.removeItem && this.currentEditable.remove && t(c, {
|
|
279
284
|
dataItem: this.removeItem,
|
|
280
285
|
isSeries: (i = this.ksIsSeries) == null ? void 0 : i.call(this),
|
|
281
286
|
onClose: this.ksRemoveDialogCancel,
|
|
@@ -371,7 +376,7 @@ const y = /* @__PURE__ */ n({
|
|
|
371
376
|
});
|
|
372
377
|
},
|
|
373
378
|
handleClick(e) {
|
|
374
|
-
var i;
|
|
379
|
+
var i, r;
|
|
375
380
|
const s = {
|
|
376
381
|
event: e,
|
|
377
382
|
target: {
|
|
@@ -381,7 +386,7 @@ const y = /* @__PURE__ */ n({
|
|
|
381
386
|
element: this.element
|
|
382
387
|
}
|
|
383
388
|
};
|
|
384
|
-
this.$emit("click", s), this.itemClick(s), (i = this.ksMobile) != null && i.call(this) && this.$props.selected && this.handleDoubleClick(e);
|
|
389
|
+
this.$emit("click", s), this.itemClick(s), (i = this.ksMobile) != null && i.call(this) && this.$props.selected && !((r = this.ksEventOverview) != null && r.call(this)) && this.handleDoubleClick(e);
|
|
385
390
|
},
|
|
386
391
|
handleMouseUp(e) {
|
|
387
392
|
this.$emit("mouseup", {
|
|
@@ -606,5 +611,5 @@ const y = /* @__PURE__ */ n({
|
|
|
606
611
|
}
|
|
607
612
|
});
|
|
608
613
|
export {
|
|
609
|
-
|
|
614
|
+
C as SchedulerItem
|
|
610
615
|
};
|
|
@@ -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 i=require("vue"),E=require("./SchedulerItem.js"),p=require("../utils/main.js"),D=require("../views/common/utils.js"),S=require("../constants/main.js"),O=require("@progress/kendo-vue-intl"),y=require("./SchedulerItemContent.js"),c=require("@progress/kendo-vue-common"),h=require("@progress/kendo-svg-icons"),M=1,k=12,N=i.defineComponent({name:"KendoSchedulerProportionalViewItem",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,item:[String,Function,Object],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,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,itemRef:Object,onKeydown:Function,onKeyup:Function,onFocus:Function,onMouseup:Function,onMousedown:Function,onClick:Function,onDoubleclick:Function,onRemoveclick:Function,onPress:Function,onDrag:Function,onRelease:Function,onResizepress:Function,onResizeenddrag:Function,onResizestartdrag:Function,onResizerelease:Function},inject:{kendoIntlService:{default:null},ks:{default:null},bv:{default:null}},computed:{itemTime(){return this.$props.isAllDay?this.intl.toString(this.$props.zonedStart,"t"):this.intl.format("{0:t} - {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},itemTitle(){return`(${this.itemTime}): ${this.$props.title}`},formattedTime(){return this.intl.format("{0:t} – {1:t}",this.$props.zonedStart,this.$props.zonedEnd)}},data(){return{timeout:void 0,display:!0,visible:!1,maxSiblingsPerSlot:0}},mounted(){if(this.element=this.getElement(),!this.ks.scheduler||!this.ks.scheduler.$el)return;c.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.position()})},updated(){const e=this;this.$nextTick(function(){e.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||this.observer)&&c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},unmounted(){this.observer&&this.observer.disconnect()},render(){const e=c.getDefaultSlots(this);this.intl=O.provideIntlService(this);let s;const n=i.createVNode(E.SchedulerItem,{ignoreIsAllDay:this.ignoreIsAllDay,item:this.item,uid:this.uid,start:this.start,end:this.end,originalStart:this.originalStart,startTimezone:this.startTimezone,endTimezone:this.endTimezone,isAllDay:this.isAllDay,title:this.title,description:this.description,occurrenceId:this.occurrenceId,recurrenceExceptions:this.recurrenceExceptions,recurrenceRule:this.recurrenceRule,recurrenceId:this.recurrenceId,dataItem:this.dataItem,head:this.head,tail:this.tail,order:this.order,zonedStart:this.zonedStart,zonedEnd:this.zonedEnd,slots:this.slots,group:this.group,range:this.range,isException:this.isException,isRecurring:this.isRecurring,id:this.id,tabIndex:this.tabIndex,className:this.className,itemStyle:{visibility:this.visible?void 0:"hidden",display:this.display?void 0:"none",...this.$props.itemStyle},editable:this.editable,readonly:this.readonly,selected:this.selected,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,itemTitle:this.itemTitle,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,formItem:this.formItem,dragItem:this.dragItem,resizeItem:this.resizeItem,removeItem:this.removeItem,maxSiblingsPerSlot:this.maxSiblingsPerSlot,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onFocus:this.handleFocus,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onRemoveclick:this.handleRemoveClick,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,onResizepress:this.handleResizePress,onResizeenddrag:this.handleResizeEndDrag,onResizestartdrag:this.handleResizeStartDrag,onResizerelease:this.handleResizeRelease},{default:()=>[!this.$props.resizeHint&&i.createVNode(i.Fragment,null,[this.$props.tail&&!this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?h.chevronRightIcon:h.chevronLeftIcon},null)]),i.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:"chevron-up",icon:h.chevronUpIcon},null)]),i.createVNode(y.SchedulerItemContent,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&i.createVNode(y.SchedulerItemContent,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&i.createVNode("span",{class:"k-event-recurrence-icon"},[i.createVNode(c.Icon,{name:"arrow-rotate-cw",icon:h.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&i.createVNode("span",{class:"k-event-recurrence-icon"},[i.createVNode(c.Icon,{name:"arrows-no-repeat",icon:h.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:"chevron-down",icon:h.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&i.createVNode("span",{class:"k-event-recurrence-icon"},[i.createVNode(c.Icon,{name:this.$props.isRecurring?"arrow-rotate-cw":"arrows-no-repeat",icon:this.$props.isRecurring?h.arrowRotateCwIcon:h.arrowsNoRepeatIcon},null)]),this.$props.head&&!this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?h.chevronLeftIcon:h.chevronRightIcon},null)])])]});return s=c.getTemplate.call(this,{h:i.h,template:this.$props.item,defaultRendering:n,defaultSlots:e,additionalListeners:{doubleclick:this.handleDoubleClick,removeclick:this.handleRemoveClick,press:this.handlePress,drag:this.handleDrag,release:this.handleRelease,resizepress:this.handleResizePress,resizeenddrag:this.handleResizeEndDrag,resizestartdrag:this.handleResizeStartDrag,resizerelease:this.handleResizeRelease}}),s},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleKeyUp(e){this.$emit("keyup",e)},handlePress(e){this.$emit("press",e)},handleDrag(e){this.$emit("drag",e)},handleRelease(e){this.$emit("release",e)},handleResizePress(e){this.$emit("resizepress",e)},handleResizeStartDrag(e){this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){this.$emit("resizeenddrag",e)},handleResizeRelease(e){this.$emit("resizerelease",e)},calculateMostSiblings(e,s){let n=0;return s.forEach(l=>{l._order!==void 0&&l._order!==null&&n<l._order&&(n=l._order)}),n+1},getSiblings(e,s,n){const[l,r]=s,u=new Date(Math.min(r.cSlot.end.getTime()-n,Math.max(this.$props.start.getTime(),l.cSlot.start.getTime()))),R=new Date(Math.max(u.getTime()+n,Math.min(this.$props.end.getTime(),r.cSlot.end.getTime())));return e.filter(a=>{const m=Math.max(Math.min(r.cSlot.end.getTime()-n,a.$props.start.getTime()),l.cSlot.start.getTime()),v=Math.min(Math.max(m+n,a.$props.end.getTime()),r.cSlot.end.getTime());return a.$props.id!==this.$props.id&&a.$props.group.index===this.$props.group.index&&a.$props.range.index===this.$props.range.index&&(this.$props.ignoreIsAllDay||a.$props.isAllDay===this.$props.isAllDay)&&p.intersects(new Date(m),new Date(v),u,R)&&p.intersects(l.cSlot.start,r.cSlot.end,a.$props.start,a.$props.end)})},inSlot(e,s){return e.group.index===s.group.index&&e.range.index===s.range.index&&(e.range.isAllDay===void 0||s.range.isAllDay===void 0||e.range.isAllDay===s.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===s.isAllDay)},position(){var b,T;if(!this.element)return;const e=(this.bv.slots||[]).filter(t=>t&&this.inSlot(t.cSlot,this.$props)).sort((t,f)=>t.cSlot.start.getTime()-f.cSlot.start.getTime()),s=e.filter(t=>p.intersects(t.cSlot.start,t.cSlot.end,this.$props.start,this.$props.end));if(!this.element||!s.length)return;const n=p.first(e),l=p.last(e),r=p.first(s),u=p.last(s);if(!r||!u||!n||!l)return;if(!p.intersects(r.cSlot.start,u.cSlot.end,this.$props.start,this.$props.end)){this.display=!1;return}const R=[],a=D.getRect(r.$el),m=(this.$props.vertical?a.height:a.width)/(r.cSlot.end.getTime()-r.cSlot.start.getTime()),v=(this.$props.vertical?k:8)/m,I=(Math.min(this.$props.start.getTime(),u.cSlot.end.getTime()-v)-r.cSlot.start.getTime())*m,w=Math.floor(Math.min(this.$props.end.getTime(),u.cSlot.end.getTime())-Math.max(this.$props.start.getTime(),r.cSlot.start.getTime()))*m;(this.bv.items||[]).forEach(t=>{t&&(t.$props.dragHint||t.$props.resizeHint||R.push(t))});const $=this.getSiblings(R,[n,l],v),g=this.$props.resizeHint||this.$props.dragHint?0:p.calculateProportionalOrder(this,$);let d=1;this.$props.resizeHint||this.$props.dragHint||(d=this.calculateMostSiblings(this,$),$.forEach(t=>{t._maxSiblingsPerSlot&&d<t._maxSiblingsPerSlot&&(d=t._maxSiblingsPerSlot)}),$.forEach(t=>{t._maxSiblingsPerSlot!==void 0&&t._maxSiblingsPerSlot!==null&&t._maxSiblingsPerSlot<d&&(t._maxSiblingsPerSlot=d)}));let z=0;const o=a;$.forEach(t=>{let f=0;t._order!==void 0&&t._order!==null&&t._order<g&&(f=D.getRect(t.getElement()).top+D.getRect(t.getElement()).height-o.top-S.BORDER_WIDTH*g+M),f>z&&(z=f)});const x=20;o.width=this.$props.vertical?o.width/d-S.BORDER_WIDTH-x/d:w-S.BORDER_WIDTH,this.$props.vertical?o.height=w-S.BORDER_WIDTH:(this.$props.resizeHint||this.$props.dragHint)&&d<=1||(o.height=(T=(b=this.$props.itemStyle)==null?void 0:b.height)!=null?T:k),o.left=this.$props.vertical?o.left+g+S.BORDER_WIDTH*g*o.width:o.left+(I<0?0:I),o.top=this.$props.vertical?o.top+(I<0?0:I):o.top+z+S.BORDER_WIDTH*g,this.maxSiblingsPerSlot=d,this._order=g,D.setRect(this.element,o),this.visible=!0,this.display=!0},handleResize(){this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.position()})}}});exports.SchedulerProportionalViewItem=N;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),E=require("./SchedulerItem.js"),p=require("../utils/main.js"),D=require("../views/common/utils.js"),S=require("../constants/main.js"),O=require("@progress/kendo-vue-intl"),T=require("./SchedulerItemContent.js"),c=require("@progress/kendo-vue-common"),h=require("@progress/kendo-svg-icons"),A=require("./SchedulerViewItem.js");function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!i.isVNode(e)}const M=1,k=12,V=i.defineComponent({name:"KendoSchedulerProportionalViewItem",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,item:[String,Function,Object],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,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,itemRef:Object,onKeydown:Function,onKeyup:Function,onFocus:Function,onMouseup:Function,onMousedown:Function,onClick:Function,onDoubleclick:Function,onRemoveclick:Function,onPress:Function,onDrag:Function,onRelease:Function,onResizepress:Function,onResizeenddrag:Function,onResizestartdrag:Function,onResizerelease:Function},inject:{kendoIntlService:{default:null},ks:{default:null},bv:{default:null}},computed:{itemTime(){return this.$props.isAllDay?this.intl.toString(this.$props.zonedStart,"t"):this.intl.format("{0:t} - {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},itemTitle(){return`(${this.itemTime}): ${this.$props.title}`},formattedTime(){return this.intl.format("{0:t} – {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},inAllDayArea(){var e;return((e=this.$props.range)==null?void 0:e.isAllDay)===!0}},data(){return{timeout:void 0,display:!0,visible:!1,maxSiblingsPerSlot:0}},mounted(){var s;if(this.inAllDayArea||(this.element=this.getElement(),!((s=this.ks.scheduler)!=null&&s.$el)))return;c.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.position()})},updated(){var s;if(this.inAllDayArea)return;const e=this;this.$nextTick(function(){e.position()}),!(!((s=this.ks.scheduler)!=null&&s.$el)||this.observer)&&c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},unmounted(){this.observer&&this.observer.disconnect()},render(){const e=c.getDefaultSlots(this);if(this.intl=O.provideIntlService(this),this.inAllDayArea)return i.createVNode(A.SchedulerViewItem,this.$props,N(e)?e:{default:()=>[e]});let s;const r=i.createVNode(E.SchedulerItem,{ignoreIsAllDay:this.ignoreIsAllDay,item:this.item,uid:this.uid,start:this.start,end:this.end,originalStart:this.originalStart,startTimezone:this.startTimezone,endTimezone:this.endTimezone,isAllDay:this.isAllDay,title:this.title,description:this.description,occurrenceId:this.occurrenceId,recurrenceExceptions:this.recurrenceExceptions,recurrenceRule:this.recurrenceRule,recurrenceId:this.recurrenceId,dataItem:this.dataItem,head:this.head,tail:this.tail,order:this.order,zonedStart:this.zonedStart,zonedEnd:this.zonedEnd,slots:this.slots,group:this.group,range:this.range,isException:this.isException,isRecurring:this.isRecurring,id:this.id,tabIndex:this.tabIndex,className:this.className,itemStyle:{visibility:this.visible?void 0:"hidden",display:this.display?void 0:"none",...this.$props.itemStyle},editable:this.editable,readonly:this.readonly,selected:this.selected,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,itemTitle:this.itemTitle,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,formItem:this.formItem,dragItem:this.dragItem,resizeItem:this.resizeItem,removeItem:this.removeItem,maxSiblingsPerSlot:this.maxSiblingsPerSlot,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onFocus:this.handleFocus,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onRemoveclick:this.handleRemoveClick,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,onResizepress:this.handleResizePress,onResizeenddrag:this.handleResizeEndDrag,onResizestartdrag:this.handleResizeStartDrag,onResizerelease:this.handleResizeRelease},{default:()=>[!this.$props.resizeHint&&i.createVNode(i.Fragment,null,[this.$props.tail&&!this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?h.chevronRightIcon:h.chevronLeftIcon},null)]),i.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:"chevron-up",icon:h.chevronUpIcon},null)]),i.createVNode(T.SchedulerItemContent,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&i.createVNode(T.SchedulerItemContent,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&i.createVNode("span",{class:"k-event-recurrence-icon"},[i.createVNode(c.Icon,{name:"arrow-rotate-cw",icon:h.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&i.createVNode("span",{class:"k-event-recurrence-icon"},[i.createVNode(c.Icon,{name:"arrows-no-repeat",icon:h.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:"chevron-down",icon:h.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&i.createVNode("span",{class:"k-event-recurrence-icon"},[i.createVNode(c.Icon,{name:this.$props.isRecurring?"arrow-rotate-cw":"arrows-no-repeat",icon:this.$props.isRecurring?h.arrowRotateCwIcon:h.arrowsNoRepeatIcon},null)]),this.$props.head&&!this.$props.vertical&&i.createVNode("span",{class:"k-event-continuation"},[i.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?h.chevronLeftIcon:h.chevronRightIcon},null)])])]});return s=c.getTemplate.call(this,{h:i.h,template:this.$props.item,defaultRendering:r,defaultSlots:e,additionalListeners:{doubleclick:this.handleDoubleClick,removeclick:this.handleRemoveClick,press:this.handlePress,drag:this.handleDrag,release:this.handleRelease,resizepress:this.handleResizePress,resizeenddrag:this.handleResizeEndDrag,resizestartdrag:this.handleResizeStartDrag,resizerelease:this.handleResizeRelease}}),s},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleKeyUp(e){this.$emit("keyup",e)},handlePress(e){this.$emit("press",e)},handleDrag(e){this.$emit("drag",e)},handleRelease(e){this.$emit("release",e)},handleResizePress(e){this.$emit("resizepress",e)},handleResizeStartDrag(e){this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){this.$emit("resizeenddrag",e)},handleResizeRelease(e){this.$emit("resizerelease",e)},calculateMostSiblings(e,s){let r=0;return s.forEach(l=>{l._order!==void 0&&l._order!==null&&r<l._order&&(r=l._order)}),r+1},getSiblings(e,s,r){const[l,n]=s,u=new Date(Math.min(n.cSlot.end.getTime()-r,Math.max(this.$props.start.getTime(),l.cSlot.start.getTime()))),R=new Date(Math.max(u.getTime()+r,Math.min(this.$props.end.getTime(),n.cSlot.end.getTime())));return e.filter(a=>{const m=Math.max(Math.min(n.cSlot.end.getTime()-r,a.$props.start.getTime()),l.cSlot.start.getTime()),v=Math.min(Math.max(m+r,a.$props.end.getTime()),n.cSlot.end.getTime());return a.$props.id!==this.$props.id&&a.$props.group.index===this.$props.group.index&&a.$props.range.index===this.$props.range.index&&(this.$props.ignoreIsAllDay||a.$props.isAllDay===this.$props.isAllDay)&&p.intersects(new Date(m),new Date(v),u,R)&&p.intersects(l.cSlot.start,n.cSlot.end,a.$props.start,a.$props.end)})},inSlot(e,s){return e.group.index===s.group.index&&e.range.index===s.range.index&&(e.range.isAllDay===void 0||s.range.isAllDay===void 0||e.range.isAllDay===s.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===s.isAllDay)},position(){var b,y;if(!this.element)return;const e=(this.bv.slots||[]).filter(t=>t&&this.inSlot(t.cSlot,this.$props)).sort((t,f)=>t.cSlot.start.getTime()-f.cSlot.start.getTime()),s=e.filter(t=>p.intersects(t.cSlot.start,t.cSlot.end,this.$props.start,this.$props.end));if(!this.element||!s.length)return;const r=p.first(e),l=p.last(e),n=p.first(s),u=p.last(s);if(!n||!u||!r||!l)return;if(!p.intersects(n.cSlot.start,u.cSlot.end,this.$props.start,this.$props.end)){this.display=!1;return}const R=[],a=D.getRect(n.$el),m=(this.$props.vertical?a.height:a.width)/(n.cSlot.end.getTime()-n.cSlot.start.getTime()),v=(this.$props.vertical?k:8)/m,I=(Math.min(this.$props.start.getTime(),u.cSlot.end.getTime()-v)-n.cSlot.start.getTime())*m,w=Math.floor(Math.min(this.$props.end.getTime(),u.cSlot.end.getTime())-Math.max(this.$props.start.getTime(),n.cSlot.start.getTime()))*m;(this.bv.items||[]).forEach(t=>{t&&(t.$props.dragHint||t.$props.resizeHint||R.push(t))});const $=this.getSiblings(R,[r,l],v),g=this.$props.resizeHint||this.$props.dragHint?0:p.calculateProportionalOrder(this,$);let d=1;this.$props.resizeHint||this.$props.dragHint||(d=this.calculateMostSiblings(this,$),$.forEach(t=>{t._maxSiblingsPerSlot&&d<t._maxSiblingsPerSlot&&(d=t._maxSiblingsPerSlot)}),$.forEach(t=>{t._maxSiblingsPerSlot!==void 0&&t._maxSiblingsPerSlot!==null&&t._maxSiblingsPerSlot<d&&(t._maxSiblingsPerSlot=d)}));let z=0;const o=a;$.forEach(t=>{let f=0;t._order!==void 0&&t._order!==null&&t._order<g&&(f=D.getRect(t.getElement()).top+D.getRect(t.getElement()).height-o.top-S.BORDER_WIDTH*g+M),f>z&&(z=f)});const x=20;o.width=this.$props.vertical?o.width/d-S.BORDER_WIDTH-x/d:w-S.BORDER_WIDTH,this.$props.vertical?o.height=w-S.BORDER_WIDTH:(this.$props.resizeHint||this.$props.dragHint)&&d<=1||(o.height=(y=(b=this.$props.itemStyle)==null?void 0:b.height)!=null?y:k),o.left=this.$props.vertical?o.left+g+S.BORDER_WIDTH*g*o.width:o.left+(I<0?0:I),o.top=this.$props.vertical?o.top+(I<0?0:I):o.top+z+S.BORDER_WIDTH*g,this.maxSiblingsPerSlot=d,this._order=g,D.setRect(this.element,o),this.visible=!0,this.display=!0},handleResize(){this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.position()})}}});exports.SchedulerProportionalViewItem=V;
|
|
@@ -5,16 +5,20 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as _, createVNode as
|
|
9
|
-
import { SchedulerItem as
|
|
10
|
-
import { intersects as v, first as
|
|
11
|
-
import { getRect as D, setRect as
|
|
8
|
+
import { defineComponent as _, createVNode as s, Fragment as H, h as j, isVNode as B } from "vue";
|
|
9
|
+
import { SchedulerItem as C } from "./SchedulerItem.mjs";
|
|
10
|
+
import { intersects as v, first as I, last as T, calculateProportionalOrder as N } from "../utils/main.mjs";
|
|
11
|
+
import { getRect as D, setRect as K } from "../views/common/utils.mjs";
|
|
12
12
|
import { BORDER_WIDTH as u } from "../constants/main.mjs";
|
|
13
|
-
import { provideIntlService as
|
|
14
|
-
import { SchedulerItemContent as
|
|
15
|
-
import { getDefaultSlots as
|
|
16
|
-
import { chevronRightIcon as E, chevronLeftIcon as
|
|
17
|
-
|
|
13
|
+
import { provideIntlService as U } from "@progress/kendo-vue-intl";
|
|
14
|
+
import { SchedulerItemContent as x } from "./SchedulerItemContent.mjs";
|
|
15
|
+
import { getDefaultSlots as V, Icon as d, getTemplate as G, canUseDOM as k } from "@progress/kendo-vue-common";
|
|
16
|
+
import { chevronRightIcon as E, chevronLeftIcon as A, chevronUpIcon as L, arrowRotateCwIcon as M, arrowsNoRepeatIcon as O, chevronDownIcon as q } from "@progress/kendo-svg-icons";
|
|
17
|
+
import { SchedulerViewItem as W } from "./SchedulerViewItem.mjs";
|
|
18
|
+
function J(e) {
|
|
19
|
+
return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !B(e);
|
|
20
|
+
}
|
|
21
|
+
const Q = 1, F = 12, le = /* @__PURE__ */ _({
|
|
18
22
|
name: "KendoSchedulerProportionalViewItem",
|
|
19
23
|
inheritAttrs: !1,
|
|
20
24
|
props: {
|
|
@@ -104,6 +108,10 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
104
108
|
},
|
|
105
109
|
formattedTime() {
|
|
106
110
|
return this.intl.format("{0:t} – {1:t}", this.$props.zonedStart, this.$props.zonedEnd);
|
|
111
|
+
},
|
|
112
|
+
inAllDayArea() {
|
|
113
|
+
var e;
|
|
114
|
+
return ((e = this.$props.range) == null ? void 0 : e.isAllDay) === !0;
|
|
107
115
|
}
|
|
108
116
|
},
|
|
109
117
|
data() {
|
|
@@ -115,28 +123,35 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
115
123
|
};
|
|
116
124
|
},
|
|
117
125
|
mounted() {
|
|
118
|
-
|
|
126
|
+
var i;
|
|
127
|
+
if (this.inAllDayArea || (this.element = this.getElement(), !((i = this.ks.scheduler) != null && i.$el)))
|
|
119
128
|
return;
|
|
120
|
-
|
|
129
|
+
k && (this.observer = new window.ResizeObserver(this.handleResize), this.observer.observe(this.ks.scheduler.$el));
|
|
121
130
|
const e = this;
|
|
122
131
|
this.$nextTick(function() {
|
|
123
132
|
e.position();
|
|
124
133
|
});
|
|
125
134
|
},
|
|
126
135
|
updated() {
|
|
136
|
+
var i;
|
|
137
|
+
if (this.inAllDayArea)
|
|
138
|
+
return;
|
|
127
139
|
const e = this;
|
|
128
140
|
this.$nextTick(function() {
|
|
129
141
|
e.position();
|
|
130
|
-
}), !(!this.ks.scheduler
|
|
142
|
+
}), !(!((i = this.ks.scheduler) != null && i.$el) || this.observer) && k && window.ResizeObserver && (this.observer = new window.ResizeObserver(this.handleResize), this.observer.observe(this.ks.scheduler.$el));
|
|
131
143
|
},
|
|
132
144
|
unmounted() {
|
|
133
145
|
this.observer && this.observer.disconnect();
|
|
134
146
|
},
|
|
135
147
|
render() {
|
|
136
|
-
const e =
|
|
137
|
-
this.intl =
|
|
138
|
-
|
|
139
|
-
|
|
148
|
+
const e = V(this);
|
|
149
|
+
if (this.intl = U(this), this.inAllDayArea)
|
|
150
|
+
return s(W, this.$props, J(e) ? e : {
|
|
151
|
+
default: () => [e]
|
|
152
|
+
});
|
|
153
|
+
let i;
|
|
154
|
+
const r = s(C, {
|
|
140
155
|
ignoreIsAllDay: this.ignoreIsAllDay,
|
|
141
156
|
item: this.item,
|
|
142
157
|
uid: this.uid,
|
|
@@ -202,57 +217,57 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
202
217
|
onResizestartdrag: this.handleResizeStartDrag,
|
|
203
218
|
onResizerelease: this.handleResizeRelease
|
|
204
219
|
}, {
|
|
205
|
-
default: () => [!this.$props.resizeHint &&
|
|
220
|
+
default: () => [!this.$props.resizeHint && s(H, null, [this.$props.tail && !this.$props.vertical && s("span", {
|
|
206
221
|
class: "k-event-continuation"
|
|
207
|
-
}, [
|
|
222
|
+
}, [s(d, {
|
|
208
223
|
name: this.ks.isRtl ? "chevron-right" : "chevron-left",
|
|
209
|
-
icon: this.ks.isRtl ? E :
|
|
210
|
-
}, null)]),
|
|
224
|
+
icon: this.ks.isRtl ? E : A
|
|
225
|
+
}, null)]), s("div", {
|
|
211
226
|
title: this.itemTitle
|
|
212
|
-
}, [this.$props.tail && this.$props.vertical &&
|
|
227
|
+
}, [this.$props.tail && this.$props.vertical && s("span", {
|
|
213
228
|
class: "k-event-continuation"
|
|
214
|
-
}, [
|
|
229
|
+
}, [s(d, {
|
|
215
230
|
name: "chevron-up",
|
|
216
|
-
icon:
|
|
217
|
-
}, null)]),
|
|
231
|
+
icon: L
|
|
232
|
+
}, null)]), s(x, {
|
|
218
233
|
class: "k-event-title"
|
|
219
234
|
}, {
|
|
220
235
|
default: () => [this.$props.title]
|
|
221
|
-
}), !this.$props.isAllDay &&
|
|
236
|
+
}), !this.$props.isAllDay && s(x, {
|
|
222
237
|
class: "k-event-time"
|
|
223
238
|
}, {
|
|
224
|
-
default: () => [this.$props.isRecurring && !this.$props.isException &&
|
|
239
|
+
default: () => [this.$props.isRecurring && !this.$props.isException && s("span", {
|
|
225
240
|
class: "k-event-recurrence-icon"
|
|
226
|
-
}, [
|
|
241
|
+
}, [s(d, {
|
|
227
242
|
name: "arrow-rotate-cw",
|
|
228
|
-
icon:
|
|
229
|
-
}, null)]), !this.$props.isRecurring && this.$props.isException &&
|
|
243
|
+
icon: M
|
|
244
|
+
}, null)]), !this.$props.isRecurring && this.$props.isException && s("span", {
|
|
230
245
|
class: "k-event-recurrence-icon"
|
|
231
|
-
}, [
|
|
246
|
+
}, [s(d, {
|
|
232
247
|
name: "arrows-no-repeat",
|
|
233
|
-
icon:
|
|
248
|
+
icon: O
|
|
234
249
|
}, null)]), this.formattedTime]
|
|
235
|
-
}), this.$props.head && this.$props.vertical &&
|
|
250
|
+
}), this.$props.head && this.$props.vertical && s("span", {
|
|
236
251
|
class: "k-event-continuation"
|
|
237
|
-
}, [
|
|
252
|
+
}, [s(d, {
|
|
238
253
|
name: "chevron-down",
|
|
239
|
-
icon:
|
|
240
|
-
}, null)])]), (this.$props.isRecurring && !this.$props.isException || !this.$props.isRecurring && this.$props.isException) &&
|
|
254
|
+
icon: q
|
|
255
|
+
}, null)])]), (this.$props.isRecurring && !this.$props.isException || !this.$props.isRecurring && this.$props.isException) && s("span", {
|
|
241
256
|
class: "k-event-recurrence-icon"
|
|
242
|
-
}, [
|
|
257
|
+
}, [s(d, {
|
|
243
258
|
name: this.$props.isRecurring ? "arrow-rotate-cw" : "arrows-no-repeat",
|
|
244
|
-
icon: this.$props.isRecurring ?
|
|
245
|
-
}, null)]), this.$props.head && !this.$props.vertical &&
|
|
259
|
+
icon: this.$props.isRecurring ? M : O
|
|
260
|
+
}, null)]), this.$props.head && !this.$props.vertical && s("span", {
|
|
246
261
|
class: "k-event-continuation"
|
|
247
|
-
}, [
|
|
262
|
+
}, [s(d, {
|
|
248
263
|
name: this.ks.isRtl ? "chevron-left" : "chevron-right",
|
|
249
|
-
icon: this.ks.isRtl ?
|
|
264
|
+
icon: this.ks.isRtl ? A : E
|
|
250
265
|
}, null)])])]
|
|
251
266
|
});
|
|
252
|
-
return
|
|
253
|
-
h:
|
|
267
|
+
return i = G.call(this, {
|
|
268
|
+
h: j,
|
|
254
269
|
template: this.$props.item,
|
|
255
|
-
defaultRendering:
|
|
270
|
+
defaultRendering: r,
|
|
256
271
|
defaultSlots: e,
|
|
257
272
|
additionalListeners: {
|
|
258
273
|
doubleclick: this.handleDoubleClick,
|
|
@@ -265,7 +280,7 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
265
280
|
resizestartdrag: this.handleResizeStartDrag,
|
|
266
281
|
resizerelease: this.handleResizeRelease
|
|
267
282
|
}
|
|
268
|
-
}),
|
|
283
|
+
}), i;
|
|
269
284
|
},
|
|
270
285
|
methods: {
|
|
271
286
|
getElement() {
|
|
@@ -316,41 +331,41 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
316
331
|
handleResizeRelease(e) {
|
|
317
332
|
this.$emit("resizerelease", e);
|
|
318
333
|
},
|
|
319
|
-
calculateMostSiblings(e,
|
|
320
|
-
let
|
|
321
|
-
return
|
|
322
|
-
a._order !== void 0 && a._order !== null &&
|
|
323
|
-
}),
|
|
334
|
+
calculateMostSiblings(e, i) {
|
|
335
|
+
let r = 0;
|
|
336
|
+
return i.forEach((a) => {
|
|
337
|
+
a._order !== void 0 && a._order !== null && r < a._order && (r = a._order);
|
|
338
|
+
}), r + 1;
|
|
324
339
|
},
|
|
325
|
-
getSiblings(e,
|
|
326
|
-
const [a,
|
|
340
|
+
getSiblings(e, i, r) {
|
|
341
|
+
const [a, n] = i, c = new Date(Math.min(n.cSlot.end.getTime() - r, Math.max(this.$props.start.getTime(), a.cSlot.start.getTime()))), S = new Date(Math.max(c.getTime() + r, Math.min(this.$props.end.getTime(), n.cSlot.end.getTime())));
|
|
327
342
|
return e.filter((l) => {
|
|
328
|
-
const p = Math.max(Math.min(
|
|
329
|
-
return l.$props.id !== this.$props.id && l.$props.group.index === this.$props.group.index && l.$props.range.index === this.$props.range.index && (this.$props.ignoreIsAllDay || l.$props.isAllDay === this.$props.isAllDay) && v(new Date(p), new Date(
|
|
343
|
+
const p = Math.max(Math.min(n.cSlot.end.getTime() - r, l.$props.start.getTime()), a.cSlot.start.getTime()), $ = Math.min(Math.max(p + r, l.$props.end.getTime()), n.cSlot.end.getTime());
|
|
344
|
+
return l.$props.id !== this.$props.id && l.$props.group.index === this.$props.group.index && l.$props.range.index === this.$props.range.index && (this.$props.ignoreIsAllDay || l.$props.isAllDay === this.$props.isAllDay) && v(new Date(p), new Date($), c, S) && v(a.cSlot.start, n.cSlot.end, l.$props.start, l.$props.end);
|
|
330
345
|
});
|
|
331
346
|
},
|
|
332
|
-
inSlot(e,
|
|
333
|
-
return e.group.index ===
|
|
347
|
+
inSlot(e, i) {
|
|
348
|
+
return e.group.index === i.group.index && e.range.index === i.range.index && (e.range.isAllDay === void 0 || i.range.isAllDay === void 0 || e.range.isAllDay === i.range.isAllDay) && (this.$props.ignoreIsAllDay || e.isAllDay === i.isAllDay);
|
|
334
349
|
},
|
|
335
350
|
position() {
|
|
336
|
-
var
|
|
351
|
+
var y, w;
|
|
337
352
|
if (!this.element)
|
|
338
353
|
return;
|
|
339
|
-
const e = (this.bv.slots || []).filter((t) => t && this.inSlot(t.cSlot, this.$props)).sort((t,
|
|
340
|
-
if (!this.element || !
|
|
354
|
+
const e = (this.bv.slots || []).filter((t) => t && this.inSlot(t.cSlot, this.$props)).sort((t, f) => t.cSlot.start.getTime() - f.cSlot.start.getTime()), i = e.filter((t) => v(t.cSlot.start, t.cSlot.end, this.$props.start, this.$props.end));
|
|
355
|
+
if (!this.element || !i.length)
|
|
341
356
|
return;
|
|
342
|
-
const
|
|
343
|
-
if (!
|
|
357
|
+
const r = I(e), a = T(e), n = I(i), c = T(i);
|
|
358
|
+
if (!n || !c || !r || !a)
|
|
344
359
|
return;
|
|
345
|
-
if (!v(
|
|
360
|
+
if (!v(n.cSlot.start, c.cSlot.end, this.$props.start, this.$props.end)) {
|
|
346
361
|
this.display = !1;
|
|
347
362
|
return;
|
|
348
363
|
}
|
|
349
|
-
const
|
|
364
|
+
const S = [], l = D(n.$el), p = (this.$props.vertical ? l.height : l.width) / (n.cSlot.end.getTime() - n.cSlot.start.getTime()), $ = (this.$props.vertical ? F : 8) / p, R = (Math.min(this.$props.start.getTime(), c.cSlot.end.getTime() - $) - n.cSlot.start.getTime()) * p, b = Math.floor(Math.min(this.$props.end.getTime(), c.cSlot.end.getTime()) - Math.max(this.$props.start.getTime(), n.cSlot.start.getTime())) * p;
|
|
350
365
|
(this.bv.items || []).forEach((t) => {
|
|
351
|
-
t && (t.$props.dragHint || t.$props.resizeHint ||
|
|
366
|
+
t && (t.$props.dragHint || t.$props.resizeHint || S.push(t));
|
|
352
367
|
});
|
|
353
|
-
const g = this.getSiblings(
|
|
368
|
+
const g = this.getSiblings(S, [r, a], $), m = this.$props.resizeHint || this.$props.dragHint ? 0 : N(this, g);
|
|
354
369
|
let h = 1;
|
|
355
370
|
this.$props.resizeHint || this.$props.dragHint || (h = this.calculateMostSiblings(this, g), g.forEach((t) => {
|
|
356
371
|
t._maxSiblingsPerSlot && h < t._maxSiblingsPerSlot && (h = t._maxSiblingsPerSlot);
|
|
@@ -360,11 +375,11 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
360
375
|
let z = 0;
|
|
361
376
|
const o = l;
|
|
362
377
|
g.forEach((t) => {
|
|
363
|
-
let
|
|
364
|
-
t._order !== void 0 && t._order !== null && t._order < m && (
|
|
378
|
+
let f = 0;
|
|
379
|
+
t._order !== void 0 && t._order !== null && t._order < m && (f = D(t.getElement()).top + D(t.getElement()).height - o.top - u * m + Q), f > z && (z = f);
|
|
365
380
|
});
|
|
366
381
|
const P = 20;
|
|
367
|
-
o.width = this.$props.vertical ? o.width / h - u - P / h : b - u, this.$props.vertical ? o.height = b - u : (this.$props.resizeHint || this.$props.dragHint) && h <= 1 || (o.height = (
|
|
382
|
+
o.width = this.$props.vertical ? o.width / h - u - P / h : b - u, this.$props.vertical ? o.height = b - u : (this.$props.resizeHint || this.$props.dragHint) && h <= 1 || (o.height = (w = (y = this.$props.itemStyle) == null ? void 0 : y.height) != null ? w : F), o.left = this.$props.vertical ? o.left + m + u * m * o.width : o.left + (R < 0 ? 0 : R), o.top = this.$props.vertical ? o.top + (R < 0 ? 0 : R) : o.top + z + u * m, this.maxSiblingsPerSlot = h, this._order = m, K(this.element, o), this.visible = !0, this.display = !0;
|
|
368
383
|
},
|
|
369
384
|
handleResize() {
|
|
370
385
|
this.timeout !== void 0 && window.cancelAnimationFrame(this.timeout), this.timeout = window.requestAnimationFrame(() => {
|
|
@@ -374,5 +389,5 @@ const q = 1, A = 12, se = /* @__PURE__ */ _({
|
|
|
374
389
|
}
|
|
375
390
|
});
|
|
376
391
|
export {
|
|
377
|
-
|
|
392
|
+
le as SchedulerProportionalViewItem
|
|
378
393
|
};
|
|
@@ -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 s=require("vue"),H=require("./SchedulerItem.js"),S=require("../utils/main.js"),g=require("../views/common/utils.js"),u=require("../constants/main.js"),O=require("@progress/kendo-vue-intl"),y=require("./SchedulerItemContent.js"),c=require("@progress/kendo-vue-common"),d=require("@progress/kendo-svg-icons"),w=1,k=25,T=s.defineComponent({name:"KendoSchedulerViewItem",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,item:[String,Function,Object],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,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,itemRef:Object,onKeydown:Function,onKeyup:Function,onFocus:Function,onMouseup:Function,onMousedown:Function,onClick:Function,onDoubleclick:Function,onRemoveclick:Function,onPress:Function,onDrag:Function,onRelease:Function,onResizepress:Function,onResizeenddrag:Function,onResizestartdrag:Function,onResizerelease:Function},inject:{kendoIntlService:{default:null},ks:{default:null},bv:{default:null}},computed:{itemTime(){return this.$props.isAllDay?this.intl.toString(this.$props.zonedStart,"t"):this.intl.format("{0:t} - {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},itemTitle(){return`(${this.itemTime}): ${this.$props.title}`},formattedTime(){return this.intl.format("{0:t} – {1:t}",this.$props.zonedStart,this.$props.zonedEnd)}},data(){return{timeout:void 0,currentItem:null,viewItem:null,display:!0,visible:!1,maxSiblingsPerSlot:0}},mounted(){if(this.element=this.getElement(),!this.ks.scheduler||!this.ks.scheduler.$el)return;c.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.align(),e.position()})},updated(){const e=this;this.$nextTick(function(){e.align(),e.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||this.observer)&&c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},unmounted(){this.observer&&this.observer.disconnect()},render(){const e=c.getDefaultSlots(this);this.intl=O.provideIntlService(this);let t;const o=s.createVNode(H.SchedulerItem,{ignoreIsAllDay:this.ignoreIsAllDay,item:this.item,uid:this.uid,start:this.start,end:this.end,originalStart:this.originalStart,startTimezone:this.startTimezone,endTimezone:this.endTimezone,isAllDay:this.isAllDay,title:this.title,description:this.description,occurrenceId:this.occurrenceId,recurrenceExceptions:this.recurrenceExceptions,recurrenceRule:this.recurrenceRule,recurrenceId:this.recurrenceId,dataItem:this.dataItem,head:this.head,tail:this.tail,order:this.order,zonedStart:this.zonedStart,zonedEnd:this.zonedEnd,slots:this.slots,group:this.group,range:this.range,isException:this.isException,isRecurring:this.isRecurring,id:this.id,tabIndex:this.tabIndex,className:this.className,itemStyle:{visibility:this.visible?void 0:"hidden",display:this.display?void 0:"none",...this.$props.itemStyle},editable:this.editable,readonly:this.readonly,selected:this.selected,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,itemTitle:this.itemTitle,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,formItem:this.formItem,dragItem:this.dragItem,resizeItem:this.resizeItem,removeItem:this.removeItem,maxSiblingsPerSlot:this.maxSiblingsPerSlot,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onFocus:this.handleFocus,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onRemoveclick:this.handleRemoveClick,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,onResizepress:this.handleResizePress,onResizeenddrag:this.handleResizeEndDrag,onResizestartdrag:this.handleResizeStartDrag,onResizerelease:this.handleResizeRelease},{default:()=>[!this.$props.resizeHint&&s.createVNode(s.Fragment,null,[this.$props.tail&&!this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),s.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),s.createVNode(y.SchedulerItemContent,{class:"k-event-title"},{default:()=>[this.$props.title]}),!this.$props.isAllDay&&s.createVNode(y.SchedulerItemContent,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&s.createVNode("span",{class:"k-event-recurrence-icon"},[s.createVNode(c.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&s.createVNode("span",{class:"k-event-recurrence-icon"},[s.createVNode(c.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&s.createVNode("span",{class:"k-event-recurrence-icon"},[s.createVNode(c.Icon,{name:this.$props.isRecurring?"arrow-rotate-cw":"arrows-no-repeat",icon:this.$props.isRecurring?d.arrowRotateCwIcon:d.arrowsNoRepeatIcon},null)]),this.$props.head&&!this.$props.vertical&&s.createVNode("span",{class:"k-event-continuation"},[s.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return t=c.getTemplate.call(this,{h:s.h,template:this.$props.item,defaultRendering:o,defaultSlots:e,additionalListeners:{doubleclick:this.handleDoubleClick,removeclick:this.handleRemoveClick,press:this.handlePress,drag:this.handleDrag,release:this.handleRelease,resizepress:this.handleResizePress,resizeenddrag:this.handleResizeEndDrag,resizestartdrag:this.handleResizeStartDrag,resizerelease:this.handleResizeRelease}}),t},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleBlur(e){this.$emit("blur",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleMouseOver(e){this.$emit("mouseover",e)},handleMouseOut(e){this.$emit("mouseout",e)},handleMouseEnter(e){this.$emit("mouseenter",e)},handleMouseLeave(e){this.$emit("mouseleave",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleKeyPress(e){this.$emit("keypress",e)},handleKeyUp(e){this.$emit("keyup",e)},handlePress(e){this.$emit("press",e)},handleDrag(e){this.$emit("drag",e)},handleRelease(e){this.$emit("release",e)},handleResizePress(e){this.$emit("resizepress",e)},handleResizeStartDrag(e){this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){this.$emit("resizeenddrag",e)},handleResizeRelease(e){this.$emit("resizerelease",e)},calculateMostSiblings(e,t){let o=1;return e.forEach(l=>{const i=t.filter(r=>this.inSlot(l.cSlot,r.$props));i.length>o&&(o=i.length)}),o},getSiblingsInAllSlots(e,t){return e.map(l=>t.filter(i=>this.inSlot(l.cSlot,i.$props)))},inSlot(e,t){return S.intersects(e.start,e.end,t.start,t.end)&&e.group.index===t.group.index&&e.range.index===t.range.index&&(e.range.isAllDay===void 0||t.range.isAllDay===void 0||e.range.isAllDay===t.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===t.isAllDay)},align(){if(!this.element)return;const e=(this.bv.slots||[]).filter(i=>i&&this.inSlot(i.cSlot,this.$props));if(e.length===0){this.display=!1;return}const t=S.first(e.sort(function(i,r){return i.cSlot.start&&r.cSlot.start?i.cSlot.start.getTime()-r.cSlot.start.getTime():!0}));if(!t)return;const o=g.getRect(t.$el),l=t.$el;if(l&&!this.$props.vertical){const i=l.querySelector(".k-nav-day");let r=0;if(i)r=i.offsetTop+parseFloat(window.getComputedStyle(i).lineHeight||"0");else if(l.firstElementChild){const $=window.getComputedStyle(l),p=parseFloat($.paddingTop||"0"),n=parseFloat($.lineHeight||"0");n>0&&(r=p+n)}o.top+=r,(this.$props.dragHint||this.$props.resizeHint)&&(o.height-=r)}g.setRect(this.element,o)},position(){var z,D;if(!this.element)return;const e=(this.bv.slots||[]).filter(a=>a&&this.inSlot(a.cSlot,this.$props)),t=[],o=[],l=[];(this.bv.items||[]).forEach(a=>{a&&(a.$props.dragHint?o.push(a):a.$props.resizeHint?l.push(a):t.push(a))});const i=this.$props.dragHint||this.$props.resizeHint?S.calculateOrder(this,this.$props.dragHint?o:l,e,this.$props.ignoreIsAllDay):this.$props.order||0;let r=this.$props.dragHint||this.$props.resizeHint?this.calculateMostSiblings(e,this.$props.dragHint?o:l):this.calculateMostSiblings(e,t);const $=this.getSiblingsInAllSlots(e,t);let p=0;const n=g.getRect(this.element),m=(z=this.$props.itemStyle)==null?void 0:z.height,R=typeof m=="number"?m:parseFloat(m),I=!this.$props.vertical&&(m==null||!Number.isNaN(R));if($.forEach(a=>{let v=0;a.sort(function(h,f){return h.$props.order-f.$props.order}).forEach(h=>{if(S.intersects(h.$props.start,h.$props.end,this.$props.start,this.$props.end)&&!(this.$props.dragHint||this.$props.resizeHint)&&h.$props.maxSiblingsPerSlot&&h.$props.maxSiblingsPerSlot>r&&h.getElement()!==this.element&&(r=h.$props.maxSiblingsPerSlot),!I){const f=g.getRect(h.getElement());h.$props.order!==null&&h.$props.order<i&&(v=(f.top||n.top)+f.height-n.top-u.BORDER_WIDTH*i+w)}}),v>p&&(p=v)}),I&&(p=i*((Number.isNaN(R)?k:R)+w)),e.length===0){this.display=!1;return}const b=20,E=((D=this.$props.itemStyle)==null?void 0:D.height)||k;n.width=this.$props.vertical?n.width/r-u.BORDER_WIDTH-b/r:n.width*e.length-u.BORDER_WIDTH-b,this.$props.vertical?n.height=n.height*e.length-u.BORDER_WIDTH:(this.$props.resizeHint||this.$props.dragHint)&&r<=1||(n.height=E),n.left=this.$props.vertical?n.left+i*n.width+u.BORDER_WIDTH*i:n.left,n.top=this.$props.vertical?n.top:n.top+p+u.BORDER_WIDTH*i,this.maxSiblingsPerSlot=r,this._order=i,g.setRect(this.element,n),this.visible=!0,this.display=!0},handleResize(){this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.align(),this.position()})}}});exports.SchedulerViewItem=T;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),N=require("./SchedulerItem.js"),$=require("../utils/main.js"),f=require("../views/common/utils.js"),g=require("../constants/main.js"),H=require("@progress/kendo-vue-intl"),z=require("./SchedulerItemContent.js"),c=require("@progress/kendo-vue-common"),d=require("@progress/kendo-svg-icons"),I=1,w=25,O=t.defineComponent({name:"KendoSchedulerViewItem",inheritAttrs:!1,props:{ignoreIsAllDay:Boolean,item:[String,Function,Object],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,showOccurrenceDialog:{type:Boolean,default:void 0},showRemoveDialog:{type:Boolean,default:void 0},formItem:Object,dragItem:Object,resizeItem:Object,removeItem:Object,itemRef:Object,onKeydown:Function,onKeyup:Function,onFocus:Function,onMouseup:Function,onMousedown:Function,onClick:Function,onDoubleclick:Function,onRemoveclick:Function,onPress:Function,onDrag:Function,onRelease:Function,onResizepress:Function,onResizeenddrag:Function,onResizestartdrag:Function,onResizerelease:Function},inject:{kendoIntlService:{default:null},ks:{default:null},bv:{default:null}},computed:{itemTime(){return this.$props.isAllDay?this.intl.toString(this.$props.zonedStart,"t"):this.intl.format("{0:t} - {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},itemTitle(){return`(${this.itemTime}): ${this.$props.title}`},formattedTime(){return this.intl.format("{0:t} – {1:t}",this.$props.zonedStart,this.$props.zonedEnd)},inAllDayArea(){var e;return((e=this.$props.range)==null?void 0:e.isAllDay)===!0}},data(){return{timeout:void 0,currentItem:null,viewItem:null,display:!0,visible:!1,maxSiblingsPerSlot:0}},mounted(){if(this.element=this.getElement(),!this.ks.scheduler||!this.ks.scheduler.$el)return;c.canUseDOM&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el));const e=this;this.$nextTick(function(){e.align(),e.position()})},updated(){const e=this;this.$nextTick(function(){e.align(),e.position()}),!(!this.ks.scheduler||!this.ks.scheduler.$el||this.observer)&&c.canUseDOM&&window.ResizeObserver&&(this.observer=new window.ResizeObserver(this.handleResize),this.observer.observe(this.ks.scheduler.$el))},unmounted(){this.observer&&this.observer.disconnect()},render(){const e=c.getDefaultSlots(this);this.intl=H.provideIntlService(this);const i=this.inAllDayArea;let o;const l=t.createVNode(N.SchedulerItem,{ignoreIsAllDay:this.ignoreIsAllDay,item:this.item,uid:this.uid,start:this.start,end:this.end,originalStart:this.originalStart,startTimezone:this.startTimezone,endTimezone:this.endTimezone,isAllDay:this.isAllDay,title:this.title,description:this.description,occurrenceId:this.occurrenceId,recurrenceExceptions:this.recurrenceExceptions,recurrenceRule:this.recurrenceRule,recurrenceId:this.recurrenceId,dataItem:this.dataItem,head:this.head,tail:this.tail,order:this.order,zonedStart:this.zonedStart,zonedEnd:this.zonedEnd,slots:this.slots,group:this.group,range:this.range,isException:this.isException,isRecurring:this.isRecurring,id:this.id,tabIndex:this.tabIndex,className:this.className,itemStyle:{visibility:this.visible?void 0:"hidden",display:this.display?void 0:"none",...this.$props.itemStyle},editable:this.editable,readonly:this.readonly,selected:this.selected,vertical:this.vertical,dragHint:this.dragHint,resizeHint:this.resizeHint,format:this.format,itemTitle:this.itemTitle,showOccurrenceDialog:this.showOccurrenceDialog,showRemoveDialog:this.showRemoveDialog,formItem:this.formItem,dragItem:this.dragItem,resizeItem:this.resizeItem,removeItem:this.removeItem,maxSiblingsPerSlot:this.maxSiblingsPerSlot,onKeydown:this.handleKeyDown,onKeyup:this.handleKeyUp,onFocus:this.handleFocus,onMouseup:this.handleMouseUp,onMousedown:this.handleMouseDown,onClick:this.handleClick,onDoubleclick:this.handleDoubleClick,onRemoveclick:this.handleRemoveClick,onPress:this.handlePress,onDrag:this.handleDrag,onRelease:this.handleRelease,onResizepress:this.handleResizePress,onResizeenddrag:this.handleResizeEndDrag,onResizestartdrag:this.handleResizeStartDrag,onResizerelease:this.handleResizeRelease},{default:()=>[!this.$props.resizeHint&&t.createVNode(t.Fragment,null,[this.$props.tail&&!this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-right":"chevron-left",icon:this.ks.isRtl?d.chevronRightIcon:d.chevronLeftIcon},null)]),t.createVNode("div",{title:this.itemTitle},[this.$props.tail&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(c.Icon,{name:"chevron-up",icon:d.chevronUpIcon},null)]),i&&!this.$props.isAllDay&&!this.$props.tail&&t.createVNode("span",{class:"k-event-all-day-time"},[this.intl.toString(this.$props.zonedStart,"t")]),t.createVNode(z.SchedulerItemContent,{class:"k-event-title"},{default:()=>[this.$props.title]}),i&&!this.$props.isAllDay&&!this.$props.head&&t.createVNode("span",{class:"k-event-all-day-time"},[this.intl.toString(this.$props.zonedEnd,"t")]),!i&&!this.$props.isAllDay&&t.createVNode(z.SchedulerItemContent,{class:"k-event-time"},{default:()=>[this.$props.isRecurring&&!this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(c.Icon,{name:"arrow-rotate-cw",icon:d.arrowRotateCwIcon},null)]),!this.$props.isRecurring&&this.$props.isException&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(c.Icon,{name:"arrows-no-repeat",icon:d.arrowsNoRepeatIcon},null)]),this.formattedTime]}),this.$props.head&&this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(c.Icon,{name:"chevron-down",icon:d.chevronDownIcon},null)])]),(this.$props.isRecurring&&!this.$props.isException||!this.$props.isRecurring&&this.$props.isException)&&t.createVNode("span",{class:"k-event-recurrence-icon"},[t.createVNode(c.Icon,{name:this.$props.isRecurring?"arrow-rotate-cw":"arrows-no-repeat",icon:this.$props.isRecurring?d.arrowRotateCwIcon:d.arrowsNoRepeatIcon},null)]),this.$props.head&&!this.$props.vertical&&t.createVNode("span",{class:"k-event-continuation"},[t.createVNode(c.Icon,{name:this.ks.isRtl?"chevron-left":"chevron-right",icon:this.ks.isRtl?d.chevronLeftIcon:d.chevronRightIcon},null)])])]});return o=c.getTemplate.call(this,{h:t.h,template:this.$props.item,defaultRendering:l,defaultSlots:e,additionalListeners:{doubleclick:this.handleDoubleClick,removeclick:this.handleRemoveClick,press:this.handlePress,drag:this.handleDrag,release:this.handleRelease,resizepress:this.handleResizePress,resizeenddrag:this.handleResizeEndDrag,resizestartdrag:this.handleResizeStartDrag,resizerelease:this.handleResizeRelease}}),o},methods:{getElement(){return this.$el.nodeType===8?this.$el.parentElement:this.$el.nodeType===3?this.$el.nextElementSibling:this.$el},handleFocus(e){this.$emit("focus",e)},handleBlur(e){this.$emit("blur",e)},handleMouseDown(e){this.$emit("mousedown",e)},handleClick(e){this.$emit("click",e)},handleMouseUp(e){this.$emit("mouseup",e)},handleMouseOver(e){this.$emit("mouseover",e)},handleMouseOut(e){this.$emit("mouseout",e)},handleMouseEnter(e){this.$emit("mouseenter",e)},handleMouseLeave(e){this.$emit("mouseleave",e)},handleDoubleClick(e){this.$emit("doubleclick",e)},handleRemoveClick(e){this.$emit("removeclick",e)},handleKeyDown(e){this.$emit("keydown",e)},handleKeyPress(e){this.$emit("keypress",e)},handleKeyUp(e){this.$emit("keyup",e)},handlePress(e){this.$emit("press",e)},handleDrag(e){this.$emit("drag",e)},handleRelease(e){this.$emit("release",e)},handleResizePress(e){this.$emit("resizepress",e)},handleResizeStartDrag(e){this.$emit("resizestartdrag",e)},handleResizeEndDrag(e){this.$emit("resizeenddrag",e)},handleResizeRelease(e){this.$emit("resizerelease",e)},calculateMostSiblings(e,i){let o=1;return e.forEach(l=>{const r=i.filter(s=>this.inSlot(l.cSlot,s.$props));r.length>o&&(o=r.length)}),o},getSiblingsInAllSlots(e,i){return e.map(l=>i.filter(r=>this.inSlot(l.cSlot,r.$props)))},inSlot(e,i){return $.intersects(e.start,e.end,i.start,i.end)&&e.group.index===i.group.index&&e.range.index===i.range.index&&(e.range.isAllDay===void 0||i.range.isAllDay===void 0||e.range.isAllDay===i.range.isAllDay)&&(this.$props.ignoreIsAllDay||e.isAllDay===i.isAllDay)},align(){if(!this.element)return;const e=(this.bv.slots||[]).filter(s=>s&&this.inSlot(s.cSlot,this.$props));if(e.length===0){this.display=!1;return}const i=e.sort(function(s,p){return s.cSlot.start&&p.cSlot.start?s.cSlot.start.getTime()-p.cSlot.start.getTime():!0}),o=this.inAllDayArea&&this.ks.isRtl?$.last(i):$.first(i);if(!o)return;const l=f.getRect(o.$el),r=o.$el;if(r&&!this.$props.vertical){const s=r.querySelector(".k-nav-day");let p=0;if(s)p=s.offsetTop+parseFloat(window.getComputedStyle(s).lineHeight||"0");else if(r.firstElementChild){const m=window.getComputedStyle(r),n=parseFloat(m.paddingTop||"0"),u=parseFloat(m.lineHeight||"0");u>0&&(p=n+u)}l.top+=p,(this.$props.dragHint||this.$props.resizeHint)&&(l.height-=p)}f.setRect(this.element,l)},position(){var D,y;if(!this.element)return;const e=(this.bv.slots||[]).filter(a=>a&&this.inSlot(a.cSlot,this.$props)),i=[],o=[],l=[];(this.bv.items||[]).forEach(a=>{a&&(a.$props.dragHint?o.push(a):a.$props.resizeHint?l.push(a):i.push(a))});const r=this.$props.dragHint||this.$props.resizeHint?$.calculateOrder(this,this.$props.dragHint?o:l,e,this.$props.ignoreIsAllDay):this.$props.order||0;let s=this.$props.dragHint||this.$props.resizeHint?this.calculateMostSiblings(e,this.$props.dragHint?o:l):this.calculateMostSiblings(e,i);const p=this.getSiblingsInAllSlots(e,i);let m=0;const n=f.getRect(this.element),u=(D=this.$props.itemStyle)==null?void 0:D.height,R=typeof u=="number"?u:parseFloat(u),b=!this.$props.vertical&&(u==null||!Number.isNaN(R));if(p.forEach(a=>{let v=0;a.sort(function(h,S){return h.$props.order-S.$props.order}).forEach(h=>{if($.intersects(h.$props.start,h.$props.end,this.$props.start,this.$props.end)&&!(this.$props.dragHint||this.$props.resizeHint)&&h.$props.maxSiblingsPerSlot&&h.$props.maxSiblingsPerSlot>s&&h.getElement()!==this.element&&(s=h.$props.maxSiblingsPerSlot),!b){const S=f.getRect(h.getElement());h.$props.order!==null&&h.$props.order<r&&(v=(S.top||n.top)+S.height-n.top-g.BORDER_WIDTH*r+I)}}),v>m&&(m=v)}),b&&(m=r*((Number.isNaN(R)?w:R)+I)),e.length===0){this.display=!1;return}const k=20,E=((y=this.$props.itemStyle)==null?void 0:y.height)||w,A=this.inAllDayArea?I:0;n.width=this.$props.vertical?n.width/s-g.BORDER_WIDTH-k/s:n.width*e.length-g.BORDER_WIDTH-A,this.$props.vertical?n.height=n.height*e.length-g.BORDER_WIDTH:(this.$props.resizeHint||this.$props.dragHint)&&s<=1||(n.height=E),n.left=this.$props.vertical?n.left+r*n.width+g.BORDER_WIDTH*r:n.left,n.top=this.$props.vertical?n.top:n.top+m+g.BORDER_WIDTH*r,this.maxSiblingsPerSlot=s,this._order=r,f.setRect(this.element,n),this.visible=!0,this.display=!0},handleResize(){this.timeout!==void 0&&window.cancelAnimationFrame(this.timeout),this.timeout=window.requestAnimationFrame(()=>{this.align(),this.position()})}}});exports.SchedulerViewItem=O;
|