@ibiz-template/vue3-components 0.7.41-alpha.13 → 0.7.41-alpha.15

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.
Files changed (139) hide show
  1. package/dist/index-1hn7qv2s.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/map-chart-3dojS1dZ.js +1 -0
  5. package/dist/{wang-editor-Iw-hqw1q.js → wang-editor-yDknWojV.js} +1 -1
  6. package/dist/{xlsx-util-FnTIZeKq.js → xlsx-util-8l4wyK1s.js} +1 -1
  7. package/es/common/carousel/carousel.css +1 -1
  8. package/es/common/map-chart/map-chart.mjs +6 -14
  9. package/es/control/calendar/calendar-util.d.ts +12 -0
  10. package/es/control/calendar/calendar-util.mjs +30 -1
  11. package/es/control/calendar/calendar.css +1 -1
  12. package/es/control/calendar/calendar.d.ts +2 -0
  13. package/es/control/calendar/calendar.mjs +110 -26
  14. package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  15. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +2 -0
  16. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +66 -16
  17. package/es/control/calendar/components/calendar-daily/index.d.ts +2 -0
  18. package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +3 -1
  19. package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +99 -44
  20. package/es/control/calendar/components/calendar-week/calendar-week.css +1 -1
  21. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +6 -0
  22. package/es/control/calendar/components/calendar-week/calendar-week.mjs +74 -38
  23. package/es/control/calendar/components/calendar-week/index.d.ts +6 -0
  24. package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +12 -1
  25. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +313 -155
  26. package/es/control/calendar/components/constant/event.d.ts +1 -0
  27. package/es/control/calendar/components/constant/event.mjs +2 -1
  28. package/es/control/calendar/components/constant/index.mjs +1 -1
  29. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  30. package/es/control/calendar/components/custom-calendar/custom-calendar.d.ts +2 -0
  31. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +8 -10
  32. package/es/control/calendar/components/custom-calendar/index.d.ts +2 -0
  33. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +4 -0
  34. package/es/control/calendar/components/interface/calendar-daily.d.ts +1 -0
  35. package/es/control/calendar/components/interface/calendar-daily.mjs +6 -1
  36. package/es/control/calendar/components/interface/calendar-week.d.ts +1 -0
  37. package/es/control/calendar/components/interface/calendar-week.mjs +2 -1
  38. package/es/control/calendar/components/interface/common.d.ts +20 -18
  39. package/es/control/calendar/components/interface/custom-calendar.d.ts +1 -0
  40. package/es/control/calendar/components/interface/custom-calendar.mjs +3 -2
  41. package/es/control/calendar/components/util/index.mjs +1 -1
  42. package/es/control/calendar/components/util/util.d.ts +20 -1
  43. package/es/control/calendar/components/util/util.mjs +10 -2
  44. package/es/control/calendar/index.d.ts +2 -0
  45. package/es/control/drbar/drbar.controller.d.ts +6 -0
  46. package/es/control/drbar/drbar.controller.mjs +8 -0
  47. package/es/control/drbar/drbar.mjs +6 -0
  48. package/es/control/drtab/drtab-control.util.mjs +1 -1
  49. package/es/control/drtab/drtab.controller.d.ts +6 -0
  50. package/es/control/drtab/drtab.controller.mjs +9 -0
  51. package/es/control/drtab/drtab.mjs +13 -0
  52. package/es/control/drtab/flow-drtab.css +1 -1
  53. package/es/control/drtab/flow-drtab.mjs +3 -1
  54. package/es/control/gantt/gantt.mjs +4 -1
  55. package/es/control/grid/virtualized-table/virtualized-table.css +1 -1
  56. package/es/control/grid/virtualized-table/virtualized-table.mjs +4 -3
  57. package/es/control/grid/virtualized-table/virtualized-table.util.mjs +4 -4
  58. package/es/control/kanban/kanban.css +1 -1
  59. package/es/control/kanban/kanban.mjs +6 -9
  60. package/es/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  61. package/es/control/kanban/{lane-kanban/lane-kanban.d.ts → swimlane-kanban/swimlane-kanban.d.ts} +3 -2
  62. package/es/control/kanban/{lane-kanban/lane-kanban.mjs → swimlane-kanban/swimlane-kanban.mjs} +22 -29
  63. package/es/control/map/map.mjs +1 -1
  64. package/es/control/medit-view-panel/index.d.ts +2 -0
  65. package/es/control/medit-view-panel/medit-view-panel.d.ts +2 -0
  66. package/es/control/medit-view-panel/medit-view-panel.mjs +19 -6
  67. package/es/control/search-bar/search-bar.mjs +1 -1
  68. package/es/control/tab-exp-panel/index.d.ts +1 -0
  69. package/es/control/tab-exp-panel/tab-exp-panel.css +1 -1
  70. package/es/control/tab-exp-panel/tab-exp-panel.d.ts +2 -1
  71. package/es/control/tab-exp-panel/tab-exp-panel.mjs +21 -2
  72. package/es/control/tree/tree.mjs +4 -1
  73. package/es/editor/span/span/span.mjs +2 -1
  74. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  75. package/es/view-engine/custom-view.engine.d.ts +1 -1
  76. package/es/view-engine/custom-view.engine.mjs +5 -5
  77. package/es/view-engine/de-index-view-engine.mjs +1 -1
  78. package/es/view-engine/edit-view.engine.mjs +1 -1
  79. package/es/view-engine/index.mjs +4 -0
  80. package/es/view-engine/md-custom-view.engine.d.ts +1 -1
  81. package/es/view-engine/md-custom-view.engine.mjs +5 -5
  82. package/es/view-engine/opt-view.engine.mjs +1 -1
  83. package/lib/common/carousel/carousel.css +1 -1
  84. package/lib/common/map-chart/map-chart.cjs +5 -13
  85. package/lib/control/calendar/calendar-util.cjs +30 -0
  86. package/lib/control/calendar/calendar.cjs +108 -24
  87. package/lib/control/calendar/calendar.css +1 -1
  88. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +64 -14
  89. package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  90. package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +98 -43
  91. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +73 -37
  92. package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -1
  93. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +311 -153
  94. package/lib/control/calendar/components/constant/event.cjs +2 -0
  95. package/lib/control/calendar/components/constant/index.cjs +1 -0
  96. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +8 -10
  97. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  98. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +4 -0
  99. package/lib/control/calendar/components/interface/calendar-daily.cjs +6 -1
  100. package/lib/control/calendar/components/interface/calendar-week.cjs +2 -1
  101. package/lib/control/calendar/components/interface/custom-calendar.cjs +2 -1
  102. package/lib/control/calendar/components/util/index.cjs +2 -0
  103. package/lib/control/calendar/components/util/util.cjs +11 -1
  104. package/lib/control/drbar/drbar.cjs +6 -0
  105. package/lib/control/drbar/drbar.controller.cjs +8 -0
  106. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  107. package/lib/control/drtab/drtab.cjs +13 -0
  108. package/lib/control/drtab/drtab.controller.cjs +9 -0
  109. package/lib/control/drtab/flow-drtab.cjs +3 -1
  110. package/lib/control/drtab/flow-drtab.css +1 -1
  111. package/lib/control/gantt/gantt.cjs +4 -1
  112. package/lib/control/grid/virtualized-table/virtualized-table.cjs +3 -2
  113. package/lib/control/grid/virtualized-table/virtualized-table.css +1 -1
  114. package/lib/control/grid/virtualized-table/virtualized-table.util.cjs +4 -4
  115. package/lib/control/kanban/kanban.cjs +6 -9
  116. package/lib/control/kanban/kanban.css +1 -1
  117. package/lib/control/kanban/{lane-kanban/lane-kanban.cjs → swimlane-kanban/swimlane-kanban.cjs} +22 -29
  118. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  119. package/lib/control/map/map.cjs +1 -1
  120. package/lib/control/medit-view-panel/medit-view-panel.cjs +19 -6
  121. package/lib/control/search-bar/search-bar.cjs +1 -1
  122. package/lib/control/tab-exp-panel/tab-exp-panel.cjs +20 -1
  123. package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -1
  124. package/lib/control/tree/tree.cjs +4 -1
  125. package/lib/editor/span/span/span.cjs +2 -1
  126. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  127. package/lib/view-engine/custom-view.engine.cjs +5 -5
  128. package/lib/view-engine/de-index-view-engine.cjs +1 -1
  129. package/lib/view-engine/edit-view.engine.cjs +1 -1
  130. package/lib/view-engine/index.cjs +4 -0
  131. package/lib/view-engine/md-custom-view.engine.cjs +5 -5
  132. package/lib/view-engine/opt-view.engine.cjs +1 -1
  133. package/package.json +5 -5
  134. package/dist/index-LzKAcXeH.js +0 -4
  135. package/dist/map-chart-HL7emT5a.js +0 -1
  136. package/es/control/kanban/lane-kanban/lane-kanban.css +0 -1
  137. package/lib/control/kanban/lane-kanban/lane-kanban.css +0 -1
  138. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  139. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.12_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.14_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -1,6 +1,6 @@
1
1
  import { ref, computed } from 'vue';
2
2
  import '../util/index.mjs';
3
- import { isToday, handleTimeRange, handleBkColor, fade, handleEVentClick } from '../util/util.mjs';
3
+ import { checkDateRangeIncludes, handleTimeRange, isToday, handleBkColor, fade, handleEmit } from '../util/util.mjs';
4
4
 
5
5
  "use strict";
6
6
  const useCalendarDaily = (props, emit) => {
@@ -24,7 +24,8 @@ const useCalendarDaily = (props, emit) => {
24
24
  };
25
25
  const handleDrag = (event) => {
26
26
  const heightChange = event.clientY - initialMouseY + initialHeight;
27
- resizableHand.value.style.height = "".concat(heightChange, "px");
27
+ if (heightChange < 320)
28
+ resizableHand.value.style.height = "".concat(heightChange, "px");
28
29
  };
29
30
  const events = computed(() => {
30
31
  return computeUIEvents(
@@ -34,14 +35,17 @@ const useCalendarDaily = (props, emit) => {
34
35
  calendarDaily.value
35
36
  );
36
37
  });
37
- const computeUIEvents = (events2, curDate, legends2, calendarDaily2) => {
38
+ const computeUIEvents = (_events, curDate, _legends, _calendarDaily) => {
38
39
  const tempEvents = [];
39
40
  const tempColors = /* @__PURE__ */ new Map();
40
41
  let contentWidth = 0;
41
- if (calendarDaily2) {
42
- contentWidth = parseInt(window.getComputedStyle(calendarDaily2).width, 10);
42
+ if (_calendarDaily) {
43
+ contentWidth = parseInt(
44
+ window.getComputedStyle(_calendarDaily).width,
45
+ 10
46
+ );
43
47
  }
44
- events2.sort((a, b) => {
48
+ _events.sort((a, b) => {
45
49
  const beginTimeDifference = new Date(a.beginTime).getTime() - new Date(b.beginTime).getTime();
46
50
  let type;
47
51
  if (beginTimeDifference === 0) {
@@ -51,18 +55,33 @@ const useCalendarDaily = (props, emit) => {
51
55
  }
52
56
  return type;
53
57
  });
54
- const tempArray = events2.filter((event) => {
55
- return event && event.beginTime && event.endTime && isToday(curDate, event.beginTime) && isToday(curDate, event.endTime);
58
+ const tempArray = [];
59
+ _events.forEach((event) => {
60
+ const targetLegend = _legends.find(
61
+ (legendItem) => Object.is(legendItem.id, event.itemType)
62
+ );
63
+ if (!targetLegend || !targetLegend.isShow)
64
+ return;
65
+ if (event && event.beginTime && checkDateRangeIncludes(event.beginTime, event.endTime, curDate)) {
66
+ const item = { ...event, targetLegend };
67
+ const targetEvent = selectedData.value.find(
68
+ (tempItem) => tempItem.id === event.id
69
+ );
70
+ if (targetEvent) {
71
+ Object.assign(item, { isSelectedEvent: true });
72
+ } else {
73
+ Object.assign(item, { isSelectedEvent: false });
74
+ }
75
+ if (!event.endTime && event.beginTime) {
76
+ Object.assign(item, { endTime: event.beginTime });
77
+ }
78
+ tempArray.push(item);
79
+ }
56
80
  });
57
81
  tempArray.forEach((event, index) => {
82
+ const { targetLegend } = event;
58
83
  const tempItem = {};
59
84
  Object.assign(tempItem, event);
60
- const targetLegend = legends2.find(
61
- (legendItem) => Object.is(legendItem.id, event.itemType)
62
- );
63
- const targetEvent = selectedData.value.find(
64
- (item) => item.id === event.id
65
- );
66
85
  Object.assign(tempItem, { zIndex: index + 1 });
67
86
  const length = tempArray.length;
68
87
  const itemWidth = (contentWidth - 90) / length;
@@ -74,25 +93,40 @@ const useCalendarDaily = (props, emit) => {
74
93
  styleLeft = "".concat(index * 100, "px");
75
94
  }
76
95
  Object.assign(tempItem, { width, styleLeft });
77
- if (event.beginTime && event.endTime) {
78
- const height = handleEventHeight(
79
- event.beginTime,
80
- event.endTime,
81
- curDate
82
- );
83
- const timeRange = handleTimeRange(
84
- event.beginTime,
85
- event.endTime,
86
- "HH:mm"
87
- );
88
- Object.assign(tempItem, { height, timeRange });
89
- }
90
- if (event.beginTime) {
91
- const { styleTop } = handleTopOrCurVal(new Date(event.beginTime));
92
- Object.assign(tempItem, { styleTop });
96
+ let height = "auto";
97
+ let styleTop = 60;
98
+ const timeRange = handleTimeRange(
99
+ event.beginTime,
100
+ event.endTime,
101
+ "YYYY-MM-DD HH:mm:ss"
102
+ );
103
+ if (isToday(event.beginTime, event.endTime)) {
104
+ height = getEventHeight(event.beginTime, event.endTime);
105
+ const tempVal = handleTopOrCurVal(new Date(event.beginTime));
106
+ styleTop = tempVal.styleTop;
107
+ } else if (isToday(event.beginTime, curDate) && !isToday(event.endTime, curDate)) {
108
+ const endDate = new Date(curDate);
109
+ endDate.setHours(23, 59, 59, 0);
110
+ height = getEventHeight(event.beginTime, endDate);
111
+ const tempVal = handleTopOrCurVal(new Date(event.beginTime));
112
+ styleTop = tempVal.styleTop;
113
+ } else if (isToday(event.endTime, curDate) && !isToday(event.beginTime, curDate)) {
114
+ const beginDate = new Date(curDate);
115
+ beginDate.setHours(0, 0, 0, 0);
116
+ height = getEventHeight(beginDate, event.endTime);
117
+ const tempVal = handleTopOrCurVal(new Date(beginDate));
118
+ styleTop = tempVal.styleTop;
119
+ } else {
120
+ const date = new Date(curDate);
121
+ const beginDate = new Date(date.setHours(0, 0, 0, 0));
122
+ const endDate = new Date(date.setHours(23, 59, 59, 59));
123
+ height = getEventHeight(beginDate, endDate);
124
+ const tempVal = handleTopOrCurVal(new Date(beginDate));
125
+ styleTop = tempVal.styleTop;
93
126
  }
127
+ Object.assign(tempItem, { height, styleTop, timeRange });
94
128
  if (!(event == null ? void 0 : event.bkColor)) {
95
- const bkColor = targetLegend ? targetLegend.bkcolor : handleBkColor(tempColors, event.itemType);
129
+ const bkColor = targetLegend && targetLegend.bkcolor || handleBkColor(tempColors, event.itemType);
96
130
  Object.assign(tempItem, { bkColor });
97
131
  }
98
132
  if (tempItem.bkColor) {
@@ -101,27 +135,26 @@ const useCalendarDaily = (props, emit) => {
101
135
  bkColorFade: tempBkColor
102
136
  });
103
137
  }
138
+ if (!(event == null ? void 0 : event.color)) {
139
+ const tempColor = targetLegend && targetLegend.color;
140
+ Object.assign(tempItem, {
141
+ color: tempColor
142
+ });
143
+ }
104
144
  if ((tempItem == null ? void 0 : tempItem.height) && (tempItem == null ? void 0 : tempItem.height) > 10) {
105
145
  const border = "1px solid #FFF";
106
146
  Object.assign(tempItem, { border });
107
147
  } else {
108
148
  Object.assign(tempItem, { border: "none" });
109
149
  }
110
- if (targetEvent) {
111
- Object.assign(tempItem, { isSelectedEvent: true });
112
- } else {
113
- Object.assign(tempItem, { isSelectedEvent: false });
114
- }
115
- if (targetLegend && targetLegend.isShow || !targetLegend) {
116
- tempEvents.push(tempItem);
117
- }
150
+ tempEvents.push(tempItem);
118
151
  });
119
152
  tempColors.clear();
120
153
  return tempEvents;
121
154
  };
122
- const handleEventHeight = (startTime, endTime, date) => {
155
+ const getEventHeight = (startTime, endTime) => {
123
156
  let height = 1;
124
- if (isToday(startTime, date) && isToday(endTime, date)) {
157
+ if (isToday(startTime, endTime)) {
125
158
  const difference = new Date(endTime).getTime() - new Date(startTime).getTime();
126
159
  height = Math.floor(difference / (1e3 * 60));
127
160
  }
@@ -161,8 +194,25 @@ const useCalendarDaily = (props, emit) => {
161
194
  }
162
195
  return tempDrawData;
163
196
  };
164
- const eventClick = async (item, location) => {
165
- const res = await handleEVentClick(
197
+ const handleEventClick = (item, location) => {
198
+ const res = handleEmit(
199
+ "eventClick",
200
+ item,
201
+ location,
202
+ props.events,
203
+ multiple.value,
204
+ selectedData.value,
205
+ emit
206
+ );
207
+ const { tempSelectedData, isSelectedEvent } = res;
208
+ if (!isSelectedEvent) {
209
+ Object.assign(item, { isSelectedEvent });
210
+ }
211
+ selectedData.value = tempSelectedData;
212
+ };
213
+ const handleEventDblClick = (item, location) => {
214
+ const res = handleEmit(
215
+ "eventDblClick",
166
216
  item,
167
217
  location,
168
218
  props.events,
@@ -176,6 +226,9 @@ const useCalendarDaily = (props, emit) => {
176
226
  }
177
227
  selectedData.value = tempSelectedData;
178
228
  };
229
+ const eventContextmenu = async (item, evt) => {
230
+ emit("eventContextmenu", { evt, data: [item] });
231
+ };
179
232
  return {
180
233
  drawData,
181
234
  curTimeTimer,
@@ -188,7 +241,9 @@ const useCalendarDaily = (props, emit) => {
188
241
  handleCurTime,
189
242
  handleDrag,
190
243
  handleDragStart,
191
- eventClick,
244
+ handleEventClick,
245
+ handleEventDblClick,
246
+ eventContextmenu,
192
247
  initDrawData
193
248
  };
194
249
  };
@@ -1 +1 @@
1
- .ibiz-calendar-week{display:flex;flex:1;flex-direction:column;width:100%;height:100%;overflow:hidden}.ibiz-calendar-week__header{position:relative;z-index:100;display:flex;flex-direction:column;width:calc(100% - 7px);height:150px;min-height:150px}.ibiz-calendar-week__header--date-cell-first{width:90px;max-width:90px;height:100%;border-right:1px solid var(--ibiz-color-border);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--event-cell-first{display:flex;align-items:center;justify-content:center;width:90px;max-width:90px;height:100%;padding-left:40px;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--dates{display:flex;justify-content:space-between;width:100%;height:96px}.ibiz-calendar-week__header--date-cell{display:flex;flex:1;flex-direction:column;align-items:center;border-right:1px solid var(--ibiz-color-border);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--date-week{width:100%;height:26px;margin-top:6px;text-align:center}.ibiz-calendar-week__header--date-day{display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-top:6px;font-weight:600;border:none;border-radius:50%}.ibiz-calendar-week__header--date-day.is-today{color:#fff;background:var(--ibiz-color-primary)}.ibiz-calendar-week__header--events{display:flex;flex:1;justify-content:space-between;width:100%;height:30px;overflow:hidden}.ibiz-calendar-week__header--event-cell{position:relative;top:0;left:0;flex:1;width:100%;height:100%;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--event-box{position:absolute}.ibiz-calendar-week__header--event-content{position:relative;z-index:2;width:100%;height:22px;padding-left:4px;cursor:pointer;background-color:var(--ibiz-color-primary);border:none;border-radius:4px;outline:0}.ibiz-calendar-week__header--event-summary{width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-week__header--resizable-handle{position:absolute;bottom:-6px;display:flex;align-items:center;width:100%;height:10PX;cursor:row-resize}.ibiz-calendar-week__header--resize-line{width:100%;height:1px;background-color:var(--ibiz-color-border)}.ibiz-calendar-week__header--check{position:absolute;top:50%;right:6px;color:var(--ibiz-color-primary);transform:translate(0,-50%)}.ibiz-calendar-week__scroll-area{flex:1;overflow:hidden scroll}.ibiz-calendar-week__time-pane{position:relative;display:flex;flex:1 1 0%;width:calc(100% - 3px);height:auto}.ibiz-calendar-week__time-pane--time-labels{position:sticky;left:0;width:90px;min-width:90px;padding:27px 0 27px 40px;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--time-label{height:22px;margin-top:38px;line-height:22px;text-align:left}.ibiz-calendar-week__time-pane--time-label:nth-child(1){height:22px;margin-top:22px}.ibiz-calendar-week__time-pane--time-columns{position:relative;flex:1;padding-bottom:60px;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--time-column{height:60px;border-top:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--time-column:nth-child(1){border-top:none}.ibiz-calendar-week__time-pane--time-column-last{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--event-timed-container{position:absolute;top:0;width:100%;height:100%;overflow:hidden}.ibiz-calendar-week__time-pane--container-scroll{position:relative;top:0;width:100%;height:100%;overflow:auto;overflow:hidden}.ibiz-calendar-week__time-pane--event-box{position:absolute;width:auto;height:auto;padding:0 2px}.ibiz-calendar-week__time-pane--event-content{position:relative;z-index:3;width:100%;height:100%;padding:8px;overflow:hidden;line-height:100%;text-align:left;cursor:pointer;border:none;outline:0}.ibiz-calendar-week__time-pane--event-content:active{animation:pulse 1s linear}.ibiz-calendar-week__time-pane--event-content.is-selected-event{border:1px solid var(--ibiz-color-primary)}.ibiz-calendar-week__time-pane--event-summary{width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-week__time-pane--event-summary>span{margin-right:4px}.ibiz-calendar-week__event-popover{position:relative;width:auto;height:auto;padding:0}.ibiz-calendar-week__event-popover.el-popover.el-popper{padding:24px 12px 8px}.ibiz-calendar-week__event-popover--body{width:auto;height:auto;overflow:hidden}.ibiz-calendar-week__event-popover--scroll{width:auto;min-width:450px;height:auto;min-height:200px;overflow:auto}.ibiz-calendar-week__event-popover--close{position:absolute;top:8px;right:8px;cursor:pointer}.ibiz-calendar-week__event-popover--close:hover .el-icon{background:var(--ibiz-color-primary);border-radius:50%}.ibiz-calendar-week__event-popover--close:hover .el-icon svg{fill:#fff}.ibiz-calendar-week__event-popover .el-icon{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;font-size:20px}.ibiz-calendar-week__event-popover .el-icon svg{fill:var(--el-text-color-secondary)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}@keyframes move{0%{transform:scale(1)}50%{transform:scale(1.03)}100%{transform:scale(1)}}
1
+ .ibiz-calendar-week{display:flex;flex:1;flex-direction:column;width:100%;height:100%;overflow:hidden}.ibiz-calendar-week__header{position:relative;z-index:100;display:flex;flex-direction:column;width:100%;height:150px;min-height:150px}.ibiz-calendar-week__header--date-cell-first{width:90px;max-width:90px;height:100%;border-right:1px solid var(--ibiz-color-border);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--event-cell-first{display:flex;align-items:center;justify-content:center;width:90px;max-width:90px;height:100%;padding-left:40px;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--dates{display:flex;justify-content:space-between;width:calc(100% - 7px);height:96px}.ibiz-calendar-week__header--date-cell{display:flex;flex:1;flex-direction:column;align-items:center;border-right:1px solid var(--ibiz-color-border);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--date-week{width:100%;height:26px;margin-top:6px;text-align:center}.ibiz-calendar-week__header--date-day{display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-top:6px;font-weight:600;border:none;border-radius:50%}.ibiz-calendar-week__header--date-day.is-today{color:var(--ibiz-color-primary-text);background:var(--ibiz-color-primary)}.ibiz-calendar-week__header--events{display:flex;flex:1;width:100%;height:30px;overflow:hidden;position:relative}.ibiz-calendar-week__header--event-container{width:calc(100% - 97px);height:100%;overflow-y:auto;overflow-x:hidden}.ibiz-calendar-week__header--event-container::-webkit-scrollbar{display:none}.ibiz-calendar-week__header--container-scroll{display:flex;height:auto}.ibiz-calendar-week__header--event-cell{position:relative;top:0;left:0;flex:1;width:100%;height:auto}.ibiz-calendar-week__header--event-cell::after{content:"";display:block;position:absolute;top:0;right:0;width:1px;height:var(--ibiz-calendar-week-header-event-scroll-real-height);border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__header--event-box{position:absolute;display:flex;min-width:32px}.ibiz-calendar-week__header--event-box:has(.ibiz-calendar-week__header--check){min-width:50px}.ibiz-calendar-week__header--event-content{position:relative;z-index:2;width:100%;height:100%;min-height:22px;padding-left:4px;cursor:pointer;background-color:var(--ibiz-color-primary);border:none;outline:0}.ibiz-calendar-week__header--event-content.is-selected-event{padding-right:20px}.ibiz-calendar-week__header--event-summary{width:100%;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-week__header--resizable-handle{position:absolute;bottom:-6px;display:flex;align-items:center;width:calc(100% - 7px);height:10px;cursor:row-resize}.ibiz-calendar-week__header--resize-line{width:100%;height:1px;background-color:var(--ibiz-color-border)}.ibiz-calendar-week__header--check{position:absolute;top:50%;right:6px;color:var(--ibiz-color-primary);transform:translate(0,-50%)}.ibiz-calendar-week__scroll-area{flex:1;overflow:hidden scroll}.ibiz-calendar-week__time-pane{position:relative;display:flex;flex:1 1 0%;width:calc(100% - 3px);height:auto}.ibiz-calendar-week__time-pane--time-labels{position:sticky;left:0;width:90px;min-width:90px;padding:27px 0 27px 40px;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--time-label{height:22px;margin-top:38px;line-height:22px;text-align:left}.ibiz-calendar-week__time-pane--time-label:nth-child(1){height:22px;margin-top:22px}.ibiz-calendar-week__time-pane--time-columns{position:relative;flex:1;padding-bottom:60px;border-right:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--time-column{height:60px;border-top:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--time-column:nth-child(1){border-top:none}.ibiz-calendar-week__time-pane--time-column-last{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-calendar-week__time-pane--event-timed-container{position:absolute;top:0;width:100%;height:100%;overflow:hidden}.ibiz-calendar-week__time-pane--container-scroll{position:relative;top:0;width:100%;height:100%;overflow:auto;overflow:hidden}.ibiz-calendar-week__time-pane--event-box{position:absolute;width:auto;height:auto;padding:0 2px}.ibiz-calendar-week__time-pane--event-content{position:relative;z-index:3;width:100%;height:100%;padding:8px;overflow:hidden;line-height:100%;text-align:left;cursor:pointer;border:none;outline:0}.ibiz-calendar-week__time-pane--event-content.is-selected-event{border:1px solid var(--ibiz-color-primary)}.ibiz-calendar-week__time-pane--event-summary{width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-week__time-pane--event-summary>span{margin-right:4px}.ibiz-calendar-week__event-popover{position:relative;width:auto;height:auto;padding:0}.ibiz-calendar-week__event-popover.el-popover.el-popper{padding:8px}.ibiz-calendar-week__event-popover:has(.ibiz-control-calendar-item-default){display:none!important}.ibiz-calendar-week__event-popover--body{width:auto;height:auto;overflow:hidden}.ibiz-calendar-week__event-popover--scroll{width:auto;min-width:200px;height:auto;max-height:80%;overflow:auto;pointer-events:none}.ibiz-calendar-week__event-popover--scroll .ibiz-control-calendar-item:last-child{margin-bottom:0}.ibiz-calendar-week__event-popover--scroll .ibiz-control-calendar-item.is-active{background-color:transparent;border-color:transparent}.ibiz-calendar-week__event-popover--close{position:absolute;top:8px;right:8px;display:none;cursor:pointer}.ibiz-calendar-week__event-popover--close:hover .el-icon{background:var(--ibiz-color-primary);border-radius:50%}.ibiz-calendar-week__event-popover--close:hover .el-icon svg{fill:var(--ibiz-color-white)}.ibiz-calendar-week__event-popover .el-icon{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;font-size:20px}.ibiz-calendar-week__event-popover .el-icon svg{fill:var(--el-text-color-secondary)}.ibiz-calendar-week-scroll-bar{position:absolute;top:var(--ibiz-calendar-week-header-event-scroll-bar-thumb-top);right:0;z-index:10;width:4px;height:100%;border-radius:var(--ibiz-border-radius-extra-small)}.ibiz-calendar-week-scroll-bar__thumb{width:4px;height:var(--ibiz-calendar-week-header-event-scroll-bar-thumb-height);cursor:pointer;background-color:var(--ibiz-color-fill-2);border-radius:var(--ibiz-border-radius-extra-small)}
@@ -1,17 +1,23 @@
1
1
  import './calendar-week.scss';
2
2
  export declare const CalendarWeek: import("vue").DefineComponent<import("@ibiz-template/core").IApiParams, {
3
3
  ns: import("@ibiz-template/core").Namespace;
4
+ thumbHeight: import("vue").Ref<number>;
4
5
  calendarWeek: import("vue").Ref<any>;
6
+ scrollTop: import("vue").Ref<number>;
7
+ realHeight: import("vue").Ref<number>;
8
+ headerEventRef: import("vue").Ref<any>;
5
9
  renderHeader: () => JSX.Element;
6
10
  renderContent: () => JSX.Element;
7
11
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
12
  pick: (value: import("dayjs").Dayjs) => boolean;
9
13
  eventClick: (value: import("@ibiz-template/core").IApiParams) => import("@ibiz-template/core").IApiParams;
10
14
  eventDblClick: (value: import("@ibiz-template/core").IApiParams) => import("@ibiz-template/core").IApiParams;
15
+ eventContextmenu: (_value: import("@ibiz-template/core").IApiParams) => import("@ibiz-template/core").IApiParams;
11
16
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<import("@ibiz-template/core").IApiParams>> & {
12
17
  onPick?: ((value: import("dayjs").Dayjs) => any) | undefined;
13
18
  onEventClick?: ((value: import("@ibiz-template/core").IApiParams) => any) | undefined;
14
19
  onEventDblClick?: ((value: import("@ibiz-template/core").IApiParams) => any) | undefined;
20
+ onEventContextmenu?: ((_value: import("@ibiz-template/core").IApiParams) => any) | undefined;
15
21
  }, {
16
22
  [x: string]: any;
17
23
  [x: symbol]: any;
@@ -1,4 +1,4 @@
1
- import { ref, watch, onMounted, onUnmounted, createVNode, resolveComponent, defineComponent } from 'vue';
1
+ import { watch, onMounted, onUnmounted, createVNode, resolveComponent, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { showTitle } from '@ibiz-template/core';
4
4
  import '../interface/index.mjs';
@@ -28,15 +28,24 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
28
28
  selectedData,
29
29
  legends,
30
30
  rowsHeader,
31
- eventClick,
31
+ headerEventRef,
32
+ thumbHeight,
33
+ scrollTop,
34
+ realHeight,
35
+ isScroll,
36
+ handleEventClick,
37
+ handleEventDblClick,
32
38
  handleDrag,
33
39
  handleDragStart,
40
+ handleDragEnd,
34
41
  handleCurTime,
35
42
  initDrawData,
36
- handleUIEvents
43
+ handleUIEvents,
44
+ onScrollbarMouseDown,
45
+ onHeaderEventScroll,
46
+ initHeaderEventScroll,
47
+ eventContextmenu
37
48
  } = useCalendarWeek(props, emit);
38
- const hoverItem = ref("");
39
- const visible = ref(false);
40
49
  watch(() => props.selectedData, () => {
41
50
  if (props.selectedData && props.selectedData.length > 0) {
42
51
  const data = props.selectedData.length > selectedData.value.length ? props.selectedData : selectedData.value;
@@ -57,6 +66,7 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
57
66
  });
58
67
  watch(() => props.events, () => {
59
68
  handleUIEvents();
69
+ initHeaderEventScroll();
60
70
  }, {
61
71
  immediate: true,
62
72
  deep: true
@@ -73,60 +83,67 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
73
83
  curTimeTimer.value = null;
74
84
  }
75
85
  });
76
- const onMouseenter = (event) => {
77
- hoverItem.value = String(event.id);
78
- visible.value = true;
79
- };
80
- const onClickCalendarItem = () => {
81
- visible.value = false;
82
- };
83
- const onMouseleavee = () => {
84
- hoverItem.value = "";
85
- visible.value = false;
86
+ const renderScrollbar = () => {
87
+ return createVNode("div", {
88
+ "class": ns.b("scroll-bar")
89
+ }, [createVNode("div", {
90
+ "class": ns.be("scroll-bar", "thumb"),
91
+ "onMousedown": onScrollbarMouseDown
92
+ }, null)]);
86
93
  };
87
94
  const renderEventItem = (location, eventBoxStyle, eventContentStyle, event, index, slotNme, classEName) => {
88
95
  var _a;
96
+ let title = "".concat(event.text || "");
97
+ if (location === "header" && event.timeRange)
98
+ title = "".concat(title, " ").concat(event.timeRange || "");
99
+ title = showTitle(title) || "";
100
+ if (props.showDetail)
101
+ title = "";
89
102
  return createVNode("div", {
90
103
  "key": index,
91
104
  "class": [ns.em(classEName, "event-box")],
92
- "style": eventBoxStyle,
93
- "onMouseenter": () => onMouseenter(event),
94
- "onMouseleave": onMouseleavee,
95
- "onClick": onClickCalendarItem
105
+ "style": eventBoxStyle
96
106
  }, [createVNode("button", {
97
- "class": [ns.em(classEName, "event-content"), event.isSelectedEvent ? "is-selected-event" : "", event.classname],
107
+ "class": [ns.em(classEName, "event-content"), ns.is("selected-event", !!event.isSelectedEvent), event.classname],
98
108
  "onClick": () => {
99
- eventClick(event, "head");
109
+ handleEventClick(event, "head");
110
+ },
111
+ "onDblclick": () => {
112
+ handleEventDblClick(event, "head");
100
113
  },
101
- "style": eventContentStyle
114
+ "onContextmenu": (e) => eventContextmenu(event, e),
115
+ "style": eventContentStyle,
116
+ "title": title
102
117
  }, [slots[slotNme] ? (_a = slots[slotNme]) == null ? void 0 : _a.call(slots, {
103
118
  data: event
104
119
  }) : createVNode("div", {
105
- "class": [ns.em(classEName, "event-summary"), event.classname],
106
- "title": showTitle(location === "header" ? "".concat(event.text || "", " ").concat(event.timeRange || "") : "")
120
+ "class": [ns.em(classEName, "event-summary"), event.classname]
107
121
  }, [event.icon && createVNode("span", {
108
122
  "class": [event.icon, ns.em(classEName, "event-icon")],
109
123
  "style": {
110
124
  color: event.bkColor
111
125
  }
112
126
  }, null), event.text && createVNode("span", {
113
- "class": [ns.em(classEName, "event-name")],
114
- "title": event.text
127
+ "class": [ns.em(classEName, "event-name")]
115
128
  }, [event.text])]), location === "header" && event.isSelectedEvent ? createVNode("span", {
116
129
  "class": ["fa fa-check", ns.em(classEName, "check")]
117
130
  }, null) : ""])]);
118
131
  };
119
- const renderPopover = (content, event) => {
132
+ const renderPopover = (content, event, placement) => {
120
133
  if (!props.showDetail) {
121
134
  return content;
122
135
  }
136
+ const _tempEvent = {
137
+ ...event,
138
+ color: "",
139
+ bkColor: ""
140
+ };
123
141
  return createVNode(resolveComponent("el-popover"), {
124
- "visible": visible.value && event.id === hoverItem.value,
125
142
  "show-after": 100,
126
143
  "offset": 4,
127
144
  "width": "auto",
128
145
  "popper-class": [ns.e("event-popover")],
129
- "placement": "right-start"
146
+ "placement": placement || "right-start"
130
147
  }, {
131
148
  reference: () => content,
132
149
  default: () => {
@@ -140,7 +157,7 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
140
157
  }, null), createVNode("div", {
141
158
  "class": [ns.em("event-popover", "scroll")]
142
159
  }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
143
- data: event
160
+ data: _tempEvent
144
161
  }) : createVNode("div", {
145
162
  "class": [ns.em("event-popover", "content")]
146
163
  }, ["".concat(event.text || "", " ").concat(event.timeRange || "")])])]);
@@ -167,7 +184,15 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
167
184
  "class": [ns.em("header", "events")]
168
185
  }, [createVNode("div", {
169
186
  "class": [ns.em("header", "event-cell-first")]
170
- }, [ibiz.i18n.t("control.calendar.calendardaily.tip")]), rowsHeader.value.map((item) => createVNode("div", {
187
+ }, [ibiz.i18n.t("control.calendar.calendardaily.tip")]), createVNode("div", {
188
+ "class": ns.em("header", "event-container"),
189
+ "ref": (el) => {
190
+ headerEventRef.value = el;
191
+ },
192
+ "onScroll": onHeaderEventScroll
193
+ }, [createVNode("div", {
194
+ "class": ns.em("header", "container-scroll")
195
+ }, [rowsHeader.value.map((item) => createVNode("div", {
171
196
  "class": [ns.em("header", "event-cell")]
172
197
  }, [item.map((event, index) => {
173
198
  const eventBoxStyle = {
@@ -176,15 +201,18 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
176
201
  width: "".concat(event == null ? void 0 : event.width)
177
202
  };
178
203
  const eventContentStyle = {
179
- color: event.color,
180
204
  background: event.bkColorFade
181
205
  };
182
- return event.isShow ? renderEventItem("header", eventBoxStyle, eventContentStyle, event, index, "head-event", "header") : "";
183
- })]))]), createVNode("div", {
206
+ if (!event.isShow)
207
+ return "";
208
+ const tempContent = renderEventItem("header", eventBoxStyle, eventContentStyle, event, index, "head-event", "header");
209
+ return renderPopover(tempContent, event, "bottom");
210
+ })]))]), isScroll.value && renderScrollbar()])]), createVNode("div", {
184
211
  "class": ns.em("header", "resizable-handle"),
185
212
  "draggable": "true",
186
213
  "onDrag": (event) => handleDrag(event),
187
- "onDragstart": (event) => handleDragStart(event)
214
+ "onDragstart": (event) => handleDragStart(event),
215
+ "onDragend": () => handleDragEnd()
188
216
  }, [createVNode("div", {
189
217
  "class": ns.em("header", "resize-line")
190
218
  }, null)])]);
@@ -224,8 +252,7 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
224
252
  }
225
253
  const eventContentStyle = {
226
254
  background: event.bkColorFade,
227
- "border-left": "3px solid ".concat(event.bkColor),
228
- color: event.color
255
+ "border-left": "3px solid ".concat(event.bkColor)
229
256
  };
230
257
  const tempContent = renderEventItem("content", eventBoxStyle, eventContentStyle, event, index, "", "time-pane");
231
258
  return renderPopover(tempContent, event);
@@ -233,7 +260,11 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
233
260
  };
234
261
  return {
235
262
  ns,
263
+ thumbHeight,
236
264
  calendarWeek,
265
+ scrollTop,
266
+ realHeight,
267
+ headerEventRef,
237
268
  renderHeader,
238
269
  renderContent
239
270
  };
@@ -243,7 +274,12 @@ const CalendarWeek = /* @__PURE__ */ defineComponent({
243
274
  "ref": (el) => {
244
275
  this.calendarWeek = el;
245
276
  },
246
- "class": this.ns.b()
277
+ "class": this.ns.b(),
278
+ "style": {
279
+ ["".concat(this.ns.cssVarBlockName("header-event-scroll-bar-thumb-height"))]: "".concat(this.thumbHeight, "px"),
280
+ ["".concat(this.ns.cssVarBlockName("header-event-scroll-bar-thumb-top"))]: "".concat(this.scrollTop, "px"),
281
+ ["".concat(this.ns.cssVarBlockName("header-event-scroll-real-height"))]: "".concat(this.realHeight, "px")
282
+ }
247
283
  }, [this.renderHeader(), this.renderContent()]);
248
284
  }
249
285
  });
@@ -1,16 +1,22 @@
1
1
  export declare const IBizCalendarWeek: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<import("@ibiz-template/core").IApiParams, {
2
2
  ns: import("@ibiz-template/core").Namespace;
3
+ thumbHeight: import("vue").Ref<number>;
3
4
  calendarWeek: import("vue").Ref<any>;
5
+ scrollTop: import("vue").Ref<number>;
6
+ realHeight: import("vue").Ref<number>;
7
+ headerEventRef: import("vue").Ref<any>;
4
8
  renderHeader: () => JSX.Element;
5
9
  renderContent: () => JSX.Element;
6
10
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
11
  pick: (value: import("dayjs").Dayjs) => boolean;
8
12
  eventClick: (value: import("@ibiz-template/core").IApiParams) => import("@ibiz-template/core").IApiParams;
9
13
  eventDblClick: (value: import("@ibiz-template/core").IApiParams) => import("@ibiz-template/core").IApiParams;
14
+ eventContextmenu: (_value: import("@ibiz-template/core").IApiParams) => import("@ibiz-template/core").IApiParams;
10
15
  }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<import("@ibiz-template/core").IApiParams>> & {
11
16
  onPick?: ((value: import("dayjs").Dayjs) => any) | undefined;
12
17
  onEventClick?: ((value: import("@ibiz-template/core").IApiParams) => any) | undefined;
13
18
  onEventDblClick?: ((value: import("@ibiz-template/core").IApiParams) => any) | undefined;
19
+ onEventContextmenu?: ((_value: import("@ibiz-template/core").IApiParams) => any) | undefined;
14
20
  }, {
15
21
  [x: string]: any;
16
22
  [x: symbol]: any;
@@ -150,10 +150,21 @@ export declare const useCalendarWeek: (props: CalendarWeekProps, emit: SetupCont
150
150
  legends: import("vue").Ref<any>;
151
151
  rowsHeader: import("vue").Ref<import("@ibiz-template/core").IApiData[]>;
152
152
  popVisible: import("vue").Ref<boolean>;
153
+ headerEventRef: import("vue").Ref<any>;
154
+ thumbHeight: import("vue").Ref<number>;
155
+ realHeight: import("vue").Ref<number>;
156
+ scrollTop: import("vue").Ref<number>;
157
+ isScroll: import("vue").Ref<boolean>;
153
158
  handleCurTime: () => void;
154
159
  handleDrag: (event: DragEvent) => void;
155
160
  handleDragStart: (event: DragEvent) => void;
156
- eventClick: (item: IUIEvent, location: string) => Promise<void>;
161
+ handleDragEnd: () => void;
162
+ handleEventClick: (item: IUIEvent, location: string) => void;
163
+ handleEventDblClick: (item: IUIEvent, location: string) => void;
157
164
  initDrawData: () => string[];
158
165
  handleUIEvents: () => void;
166
+ onScrollbarMouseDown: (event: MouseEvent) => void;
167
+ onHeaderEventScroll: (event: Event) => void;
168
+ initHeaderEventScroll: () => void;
169
+ eventContextmenu: (item: IUIEvent, evt: MouseEvent) => Promise<void>;
159
170
  };