@ibiz-template/vue3-components 0.7.41-alpha.17 → 0.7.41-alpha.18

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 (182) hide show
  1. package/dist/chart-q7pMKjYo.js +1 -0
  2. package/dist/ibiz-markdown-editor-e33m6ees.js +1 -0
  3. package/dist/index-dXwgWAM8.js +11 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/map-chart-user-NYROZ-6g.js +1 -0
  7. package/dist/wang-editor-4OlaBV3P.js +1 -0
  8. package/dist/{xlsx-util-jYyM8alm.js → xlsx-util-Rg-AbK_G.js} +1 -1
  9. package/es/common/control-navigation/provider/calendar-navigation.provider.mjs +3 -1
  10. package/es/common/control-navigation/provider/index.mjs +1 -1
  11. package/es/common/control-navigation/provider/map-navigation.provider.d.ts +8 -2
  12. package/es/common/control-navigation/provider/map-navigation.provider.mjs +20 -1
  13. package/es/common/map-chart-user/map-chart-user.css +1 -1
  14. package/es/common/map-chart-user/map-chart-user.d.ts +11 -1
  15. package/es/common/map-chart-user/map-chart-user.mjs +82 -6
  16. package/es/common/map-chart-user/map-chart-user.util.d.ts +2 -0
  17. package/es/common/map-chart-user/map-chart-user.util.mjs +54 -3
  18. package/es/common/map-chart-user/map-user-manager.d.ts +2 -0
  19. package/es/common/map-chart-user/map-user-manager.mjs +46 -10
  20. package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  21. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +30 -43
  22. package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +6 -2
  23. package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +37 -4
  24. package/es/control/calendar/components/calendar-user/calendar-user.css +1 -1
  25. package/es/control/calendar/components/calendar-user/calendar-user.mjs +1 -0
  26. package/es/control/calendar/components/calendar-week/calendar-week.css +1 -1
  27. package/es/control/calendar/components/calendar-week/calendar-week.mjs +30 -45
  28. package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +6 -2
  29. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +37 -4
  30. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  31. package/es/control/calendar/components/util/index.mjs +1 -1
  32. package/es/control/calendar/components/util/util.d.ts +30 -2
  33. package/es/control/calendar/components/util/util.mjs +32 -2
  34. package/es/control/chart/chart.mjs +1 -0
  35. package/es/control/data-view/data-view.d.ts +1 -1
  36. package/es/control/data-view/index.d.ts +1 -1
  37. package/es/control/drtab/drtab-control.util.mjs +1 -1
  38. package/es/control/drtab/drtab.controller.d.ts +5 -0
  39. package/es/control/drtab/drtab.controller.mjs +19 -0
  40. package/es/control/drtab/flow-drtab.css +1 -1
  41. package/es/control/drtab/flow-drtab.mjs +6 -1
  42. package/es/control/exp-bar/render-util.mjs +1 -12
  43. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +8 -4
  44. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  45. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +2 -1
  46. package/es/control/gantt/gantt.css +1 -1
  47. package/es/control/gantt/gantt.d.ts +4 -2
  48. package/es/control/gantt/gantt.mjs +130 -5
  49. package/es/control/gantt/index.d.ts +4 -2
  50. package/es/control/grid/grid/grid.d.ts +1 -1
  51. package/es/control/grid/grid/index.d.ts +1 -1
  52. package/es/control/grid/grid-column/grid-field-column/attachment-column/attachment-column.mjs +11 -2
  53. package/es/control/grid/grid-column/grid-field-column/attachment-column/file-util.d.ts +1 -1
  54. package/es/control/grid/grid-column/grid-field-column/attachment-column/file-util.mjs +39 -24
  55. package/es/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  56. package/es/control/grid/virtualized-table/index.d.ts +1 -1
  57. package/es/control/grid/virtualized-table/virtualized-table.d.ts +1 -1
  58. package/es/control/kanban/index.d.ts +1 -1
  59. package/es/control/kanban/kanban.d.ts +1 -1
  60. package/es/control/list/index.d.ts +1 -1
  61. package/es/control/list/list.d.ts +1 -1
  62. package/es/control/list/list.mjs +1 -1
  63. package/es/control/map/map.mjs +1 -1
  64. package/es/control/tree/index.d.ts +1 -1
  65. package/es/control/tree/tree.d.ts +5 -5
  66. package/es/control/tree/tree.mjs +5 -13
  67. package/es/control/tree-grid/index.d.ts +7 -1
  68. package/es/control/tree-grid/tree-grid.d.ts +7 -1
  69. package/es/control/tree-grid/tree-grid.mjs +62 -55
  70. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.mjs +3 -1
  71. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.css +1 -1
  72. package/es/control/tree-grid-ex/tree-grid-ex.css +1 -1
  73. package/es/control/tree-grid-ex/tree-grid-ex.mjs +32 -28
  74. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.d.ts +2 -75
  75. package/es/editor/carousel/ibiz-carousel/ibiz-carousel.mjs +24 -12
  76. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +17 -1
  77. package/es/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.mjs +4 -2
  78. package/es/editor/html/wang-editor/wang-editor.mjs +29 -7
  79. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +36 -5
  80. package/es/editor/upload/use/use-iview-upload.d.ts +0 -1
  81. package/es/editor/upload/use/use-iview-upload.mjs +50 -25
  82. package/es/locale/en/index.d.ts +5 -0
  83. package/es/locale/zh-CN/index.d.ts +5 -0
  84. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.d.ts +1 -1
  85. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.d.ts +1 -1
  86. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.d.ts +1 -1
  87. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.d.ts +1 -1
  88. package/es/panel-component/nav-breadcrumb/index.d.ts +1 -0
  89. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.controller.d.ts +8 -1
  90. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.controller.mjs +64 -18
  91. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.css +1 -1
  92. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.d.ts +3 -1
  93. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.mjs +14 -3
  94. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.d.ts +1 -1
  95. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.mjs +5 -6
  96. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.state.d.ts +8 -0
  97. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.state.mjs +6 -0
  98. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.util.d.ts +26 -1
  99. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.util.mjs +50 -6
  100. package/es/panel-component/user-message/async-action/async-data-export/async-data-export.d.ts +1 -0
  101. package/es/panel-component/user-message/async-action/async-data-export/async-data-export.mjs +3 -1
  102. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  103. package/es/view-engine/calendar-exp-view.engine.d.ts +6 -7
  104. package/es/view-engine/calendar-exp-view.engine.mjs +6 -24
  105. package/es/view-engine/edit-view.engine.d.ts +11 -0
  106. package/es/view-engine/edit-view.engine.mjs +12 -0
  107. package/es/view-engine/login-view.engine.d.ts +11 -1
  108. package/es/view-engine/login-view.engine.mjs +9 -5
  109. package/es/view-engine/mpickup-view-engine.d.ts +8 -1
  110. package/es/view-engine/mpickup-view-engine.mjs +14 -8
  111. package/es/view-engine/pickup-view.engine.d.ts +8 -1
  112. package/es/view-engine/pickup-view.engine.mjs +15 -0
  113. package/lib/common/control-navigation/provider/calendar-navigation.provider.cjs +3 -1
  114. package/lib/common/control-navigation/provider/index.cjs +1 -1
  115. package/lib/common/control-navigation/provider/map-navigation.provider.cjs +20 -1
  116. package/lib/common/map-chart-user/map-chart-user.cjs +81 -5
  117. package/lib/common/map-chart-user/map-chart-user.css +1 -1
  118. package/lib/common/map-chart-user/map-chart-user.util.cjs +54 -3
  119. package/lib/common/map-chart-user/map-user-manager.cjs +46 -10
  120. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +29 -42
  121. package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  122. package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +35 -2
  123. package/lib/control/calendar/components/calendar-user/calendar-user.cjs +1 -0
  124. package/lib/control/calendar/components/calendar-user/calendar-user.css +1 -1
  125. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +29 -44
  126. package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -1
  127. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +35 -2
  128. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  129. package/lib/control/calendar/components/util/index.cjs +4 -0
  130. package/lib/control/calendar/components/util/util.cjs +34 -0
  131. package/lib/control/chart/chart.cjs +1 -0
  132. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  133. package/lib/control/drtab/drtab.controller.cjs +19 -0
  134. package/lib/control/drtab/flow-drtab.cjs +5 -0
  135. package/lib/control/drtab/flow-drtab.css +1 -1
  136. package/lib/control/exp-bar/render-util.cjs +1 -12
  137. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +7 -3
  138. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +2 -1
  139. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  140. package/lib/control/gantt/gantt.cjs +129 -4
  141. package/lib/control/gantt/gantt.css +1 -1
  142. package/lib/control/grid/grid-column/grid-field-column/attachment-column/attachment-column.cjs +11 -2
  143. package/lib/control/grid/grid-column/grid-field-column/attachment-column/file-util.cjs +39 -24
  144. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.css +1 -1
  145. package/lib/control/list/list.cjs +1 -1
  146. package/lib/control/map/map.cjs +1 -1
  147. package/lib/control/tree/tree.cjs +5 -13
  148. package/lib/control/tree-grid/tree-grid.cjs +62 -55
  149. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/all-edit.cjs +3 -1
  150. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.css +1 -1
  151. package/lib/control/tree-grid-ex/tree-grid-ex.cjs +32 -28
  152. package/lib/control/tree-grid-ex/tree-grid-ex.css +1 -1
  153. package/lib/editor/carousel/ibiz-carousel/ibiz-carousel.cjs +24 -12
  154. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +17 -1
  155. package/lib/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.cjs +4 -2
  156. package/lib/editor/html/wang-editor/wang-editor.cjs +29 -7
  157. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +36 -5
  158. package/lib/editor/upload/use/use-iview-upload.cjs +50 -25
  159. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.cjs +14 -3
  160. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.controller.cjs +63 -17
  161. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.css +1 -1
  162. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.service.cjs +4 -5
  163. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.state.cjs +6 -0
  164. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.util.cjs +52 -5
  165. package/lib/panel-component/user-message/async-action/async-data-export/async-data-export.cjs +3 -1
  166. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  167. package/lib/view-engine/calendar-exp-view.engine.cjs +6 -24
  168. package/lib/view-engine/edit-view.engine.cjs +12 -0
  169. package/lib/view-engine/login-view.engine.cjs +9 -5
  170. package/lib/view-engine/mpickup-view-engine.cjs +14 -8
  171. package/lib/view-engine/pickup-view.engine.cjs +15 -0
  172. package/package.json +6 -6
  173. package/dist/chart-8QfxarWf.js +0 -1
  174. package/dist/ibiz-markdown-editor-0VHzFa2l.js +0 -1
  175. package/dist/index-t1aZ8OJE.js +0 -11
  176. package/dist/map-chart-user-xOSZGbF2.js +0 -1
  177. package/dist/wang-editor-Y8puaTx2.js +0 -1
  178. package/es/editor/upload/use/use-ibiz-upload.d.ts +0 -95
  179. package/es/editor/upload/use/use-ibiz-upload.mjs +0 -170
  180. package/lib/editor/upload/use/use-ibiz-upload.cjs +0 -175
  181. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.17_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.18_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
  182. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.17_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.18_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
@@ -38,7 +38,30 @@ const defaultOpts = {
38
38
  /** 地图json数据基础路径 */
39
39
  jsonBaseUrl: "".concat(ibiz.env.assetsUrl, "/json/map"),
40
40
  /** 默认打开的区域编码 */
41
- defaultAreaCode: 1e5
41
+ defaultAreaCode: 1e5,
42
+ // 距离底部距离
43
+ bottom: 20,
44
+ // 距离顶部距离
45
+ top: 20
46
+ };
47
+ const getItemStyle = (item) => {
48
+ const itemStyle = [];
49
+ if (item._color) {
50
+ itemStyle.push("color:".concat(item._color));
51
+ }
52
+ if (item._bgcolor) {
53
+ itemStyle.push("background:".concat(item._bgcolor));
54
+ }
55
+ if (item._borderColor) {
56
+ itemStyle.push("border-color:".concat(item._borderColor));
57
+ }
58
+ if (item._borderWidth) {
59
+ itemStyle.push("border-width:".concat(item._borderWidth, "px"));
60
+ }
61
+ if (item._borderWidth && item._borderColor) {
62
+ itemStyle.push("border-style:solid");
63
+ }
64
+ return itemStyle.join(";");
42
65
  };
43
66
  const findData = (id, type, pointData = [], areaData = []) => {
44
67
  if (type === "area") {
@@ -100,7 +123,21 @@ const getPointOption = (pointData, areaData) => {
100
123
  return;
101
124
  }
102
125
  const find = findData(params.data._id, "point", pointData, areaData);
103
- return '<div style="color:'.concat(find._color, ";background: ").concat(find._bgcolor, '" class="').concat(find._className, " ").concat(ns.e("popper"), '">').concat(find == null ? void 0 : find._tooltip, "</div>");
126
+ if (!find) {
127
+ return;
128
+ }
129
+ const { _deData: data } = find;
130
+ let text = data.srfmajortext;
131
+ if (find._value) {
132
+ text = "".concat(data.srfmajortext, ": ").concat(find._value);
133
+ }
134
+ if (find._tooltip) {
135
+ text = find._tooltip;
136
+ }
137
+ const style = getItemStyle(find);
138
+ return '<div style="'.concat(style, '" class="').concat(find._className, " ").concat(ns.e(
139
+ "popper"
140
+ ), '">').concat(text, "</div>");
104
141
  },
105
142
  padding: 0
106
143
  };
@@ -159,7 +196,21 @@ const getAreaOption = (mapName, pointData, areaData, cityInfo = []) => {
159
196
  return;
160
197
  }
161
198
  const find = findData(params.data._id, "area", pointData, areaData);
162
- return '<div style="color:'.concat(find._color, ";background: ").concat(find._bgcolor, '" class="').concat(find._className, " ").concat(ns.e("popper"), '">').concat(find == null ? void 0 : find._tooltip, "</div>");
199
+ if (!find || !find._tooltip && !find._value) {
200
+ return;
201
+ }
202
+ const { _deData: data } = find;
203
+ let text = data.srfmajortext;
204
+ if (find._value) {
205
+ text = "".concat(data.srfmajortext, ": ").concat(find._value);
206
+ }
207
+ if (find._tooltip) {
208
+ text = find._tooltip;
209
+ }
210
+ const style = getItemStyle(find);
211
+ return '<div style="'.concat(style, '" class="').concat(find._className, " ").concat(ns.e(
212
+ "popper"
213
+ ), '">').concat(text, "</div>");
163
214
  },
164
215
  padding: 0
165
216
  };
@@ -3,6 +3,7 @@
3
3
  var echarts = require('echarts');
4
4
  var vue = require('vue');
5
5
  var core = require('@ibiz-template/core');
6
+ var lodashEs = require('lodash-es');
6
7
  var mapChartUser_util = require('./map-chart-user.util.cjs');
7
8
 
8
9
  "use strict";
@@ -10,6 +11,8 @@ function useMapManager(controller, opts, calcEchartsOpts) {
10
11
  const mapInfos = /* @__PURE__ */ new Map();
11
12
  const currentName = vue.ref("");
12
13
  const historyNames = vue.ref([]);
14
+ const areaLevelMap = /* @__PURE__ */ new Map();
15
+ const processing = vue.ref(false);
13
16
  let chart;
14
17
  const chartRef = vue.ref();
15
18
  let resizeObserver;
@@ -19,8 +22,9 @@ function useMapManager(controller, opts, calcEchartsOpts) {
19
22
  noChild: json.features.length === 1
20
23
  };
21
24
  json.features.forEach((item) => {
22
- const { adcode, name } = item.properties;
25
+ const { adcode, name, level } = item.properties;
23
26
  info.cityNames[adcode] = name;
27
+ areaLevelMap.set(adcode, level);
24
28
  });
25
29
  return info;
26
30
  };
@@ -48,15 +52,18 @@ function useMapManager(controller, opts, calcEchartsOpts) {
48
52
  }
49
53
  };
50
54
  const changeMap = async (name, areaCode, isInit = false) => {
51
- if (!isInit) {
52
- controller.onMapChange(areaCode);
53
- }
54
55
  const strName = "".concat(name);
55
56
  if (!mapInfos.has(strName)) {
56
57
  await registerMap(strName);
57
58
  }
58
- controller.state.mapInfo = getCityInfo();
59
+ if (!isInit) {
60
+ controller.onMapChange(areaCode);
61
+ } else {
62
+ const areaLevel = areaLevelMap.get(lodashEs.toNumber(areaCode)) || "";
63
+ controller.state.areaLevel = areaLevel;
64
+ }
59
65
  currentName.value = strName;
66
+ controller.state.mapInfo = getCityInfo();
60
67
  historyNames.value.push(strName);
61
68
  refresh();
62
69
  };
@@ -65,8 +72,9 @@ function useMapManager(controller, opts, calcEchartsOpts) {
65
72
  historyNames.value.pop();
66
73
  const name = historyNames.value.pop();
67
74
  const areaCode = opts.value.strAreaCode ? "".concat(name) : Number(name);
75
+ const areaLevel = areaLevelMap.get(lodashEs.toNumber(areaCode)) || "";
68
76
  controller.state.areaCode = areaCode;
69
- await controller.evt.emit("onBackClick", void 0);
77
+ controller.state.areaLevel = areaLevel;
70
78
  changeMap(name, areaCode);
71
79
  }
72
80
  };
@@ -90,27 +98,53 @@ function useMapManager(controller, opts, calcEchartsOpts) {
90
98
  if (!params.data) {
91
99
  return;
92
100
  }
101
+ processing.value = true;
93
102
  const { pointData, areaData } = controller.state;
94
103
  const data = mapChartUser_util.findData(params.data._id, "point", pointData, areaData);
95
104
  if (data) {
96
105
  controller.onPointClick(data);
97
106
  }
107
+ processing.value = false;
98
108
  return;
99
109
  }
100
110
  if (params.seriesType === "map") {
111
+ processing.value = true;
101
112
  const areaCode = opts.value.strAreaCode ? "".concat(params.name) : Number(params.name);
102
- controller.state.areaCode = areaCode;
103
- const { pointData, areaData, enabledDrillDown } = controller.state;
113
+ const areaLevel = areaLevelMap.get(lodashEs.toNumber(areaCode)) || "";
114
+ const { pointData, areaData, enabledDrillDown, mdctrlActiveMode } = controller.state;
104
115
  if (params.data) {
105
116
  const data = mapChartUser_util.findData(params.data._id, "area", pointData, areaData);
106
117
  if (data) {
107
- controller.onAreaClick(data);
118
+ controller.onAreaClick(data, areaCode, areaLevel);
108
119
  }
109
120
  }
110
- if (params.name !== currentName.value && enabledDrillDown) {
121
+ if (params.name !== currentName.value && enabledDrillDown && mdctrlActiveMode !== 2) {
122
+ if (lodashEs.toNumber(areaCode) > lodashEs.toNumber(controller.state.areaCode)) {
123
+ controller.evt.emit("onDrillDown", { data: { areaCode } });
124
+ }
125
+ controller.state.areaCode = areaCode;
126
+ controller.state.areaLevel = areaLevel || "";
111
127
  changeMap(params.name, areaCode);
112
128
  }
129
+ processing.value = false;
130
+ }
131
+ }
132
+ });
133
+ chart.on("dblclick", (params) => {
134
+ const { enabledDrillDown, mdctrlActiveMode } = controller.state;
135
+ if (params.componentType === "series" && params.seriesType === "map" && mdctrlActiveMode === 2 && enabledDrillDown) {
136
+ processing.value = true;
137
+ const areaCode = opts.value.strAreaCode ? "".concat(params.name) : Number(params.name);
138
+ const areaLevel = areaLevelMap.get(lodashEs.toNumber(areaCode)) || "";
139
+ if (lodashEs.toNumber(areaCode) > lodashEs.toNumber(controller.state.areaCode)) {
140
+ controller.evt.emit("onDrillDown", { data: { areaCode } });
141
+ }
142
+ controller.state.areaCode = areaCode;
143
+ controller.state.areaLevel = areaLevel;
144
+ if (params.name !== currentName.value) {
145
+ changeMap(params.name, areaCode);
113
146
  }
147
+ processing.value = false;
114
148
  }
115
149
  });
116
150
  chart.on("mouseover", function(data) {
@@ -147,6 +181,8 @@ function useMapManager(controller, opts, calcEchartsOpts) {
147
181
  chartRef,
148
182
  historyNames,
149
183
  currentName,
184
+ processing,
185
+ areaLevelMap,
150
186
  changeMap,
151
187
  getCityInfo,
152
188
  goBack,
@@ -35,8 +35,11 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
35
35
  handleDragStart,
36
36
  handleCurTime,
37
37
  initDrawData,
38
- eventContextmenu
39
- } = useCalendarDaily.useCalendarDaily(props, emit);
38
+ eventContextmenu,
39
+ contentMousemove,
40
+ eventMouseenter,
41
+ eventMouseleave
42
+ } = useCalendarDaily.useCalendarDaily(props, emit, ns);
40
43
  vue.watch(() => props.selectedData, () => {
41
44
  if (props.selectedData && props.selectedData.length > 0) {
42
45
  const data = props.selectedData.length > selectedData.value.length ? props.selectedData : selectedData.value;
@@ -60,6 +63,23 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
60
63
  curTimeTimer.value = null;
61
64
  }
62
65
  });
66
+ const renderPopoverContent = (_event) => {
67
+ var _a;
68
+ const _tempEvent = {
69
+ ..._event,
70
+ color: "",
71
+ bkColor: ""
72
+ };
73
+ return vue.createVNode("div", {
74
+ "class": [ns.em("event-popover", "body")]
75
+ }, [vue.createVNode("div", {
76
+ "class": [ns.em("event-popover", "scroll")]
77
+ }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
78
+ data: _tempEvent
79
+ }) : vue.createVNode("div", {
80
+ "class": [ns.em("event-popover", "content")]
81
+ }, ["".concat(_event.text || "", " ").concat(_event.timeRange || "")])])]);
82
+ };
63
83
  const renderEventItem = (location, eventBoxStyle, eventContentStyle, event, index, slotNme, classEName) => {
64
84
  var _a;
65
85
  let title = "".concat(event.text || "");
@@ -68,6 +88,7 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
68
88
  title = core.showTitle(title) || "";
69
89
  if (props.showDetail)
70
90
  title = "";
91
+ const component = renderPopoverContent(event);
71
92
  return vue.createVNode("div", {
72
93
  "key": index,
73
94
  "class": [ns.em(classEName, "event-box")],
@@ -81,6 +102,8 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
81
102
  handleEventDblClick(event, "head");
82
103
  },
83
104
  "onContextmenu": (e) => eventContextmenu(event, e),
105
+ "onMouseenter": (_e) => eventMouseenter(_e, component, location),
106
+ "onMouseleave": eventMouseleave,
84
107
  "style": eventContentStyle,
85
108
  "title": title
86
109
  }, [slots[slotNme] ? (_a = slots[slotNme]) == null ? void 0 : _a.call(slots, {
@@ -98,41 +121,6 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
98
121
  "class": ["fa fa-check", ns.em(classEName, "check")]
99
122
  }, null) : ""])]);
100
123
  };
101
- const renderPopover = (content, event, placement) => {
102
- if (!props.showDetail) {
103
- return content;
104
- }
105
- const _tempEvent = {
106
- ...event,
107
- color: "",
108
- bkColor: ""
109
- };
110
- return vue.createVNode(vue.resolveComponent("el-popover"), {
111
- "show-after": 100,
112
- "offset": 4,
113
- "width": "auto",
114
- "popper-class": [ns.e("event-popover")],
115
- "placement": placement || "right-start"
116
- }, {
117
- reference: () => content,
118
- default: () => {
119
- var _a;
120
- return vue.createVNode("div", {
121
- "class": [ns.em("event-popover", "body")]
122
- }, [vue.createVNode("div", {
123
- "class": [ns.em("event-popover", "close")],
124
- "onClick": (el) => util.handlePopClose(el),
125
- "innerHTML": util.closeIcon
126
- }, null), vue.createVNode("div", {
127
- "class": [ns.em("event-popover", "scroll")]
128
- }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
129
- data: _tempEvent
130
- }) : vue.createVNode("div", {
131
- "class": [ns.em("event-popover", "content")]
132
- }, ["".concat(event.text || "", " ").concat(event.timeRange || "")])])]);
133
- }
134
- });
135
- };
136
124
  const renderHeader = () => {
137
125
  return vue.createVNode("div", {
138
126
  "class": [ns.e("calendar-daily__head")],
@@ -152,8 +140,7 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
152
140
  const eventContentStyle = {
153
141
  background: event.bkColorFade
154
142
  };
155
- const tempContent = renderEventItem("header", eventBoxStyle, eventContentStyle, event, index, "head-event", "allday-info");
156
- return renderPopover(tempContent, event, "bottom");
143
+ return renderEventItem("header", eventBoxStyle, eventContentStyle, event, index, "head-event", "allday-info");
157
144
  }) : vue.createVNode(vue.resolveComponent("iBizNoData"), {
158
145
  "hideNoDataImage": true
159
146
  }, null)])])]), vue.createVNode("div", {
@@ -167,7 +154,8 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
167
154
  };
168
155
  const renderContent = () => {
169
156
  return vue.createVNode("div", {
170
- "class": [ns.e("scroll-area")]
157
+ "class": [ns.e("scroll-area")],
158
+ "onMousemove": contentMousemove
171
159
  }, [vue.createVNode("div", {
172
160
  "class": ns.e("time-pane")
173
161
  }, [vue.createVNode("div", {
@@ -201,8 +189,7 @@ const CalendarDaily = /* @__PURE__ */ vue.defineComponent({
201
189
  background: event.bkColorFade,
202
190
  "border-left": "3px solid ".concat(event.bkColor)
203
191
  };
204
- const tempContent = renderEventItem("content", eventBoxStyle, eventContentStyle, event, index, "", "time-pane");
205
- return renderPopover(tempContent, event);
192
+ return renderEventItem("content", eventBoxStyle, eventContentStyle, event, index, "", "time-pane");
206
193
  })])])]), util.isToday(props == null ? void 0 : props.selectedDay, /* @__PURE__ */ new Date()) ? vue.createVNode("div", {
207
194
  "class": ns.em("time-pane", "current-time"),
208
195
  "style": {
@@ -1 +1 @@
1
- .ibiz-calendar-daily{width:100%;height:100%;flex:1;display:flex;flex-direction:column;overflow:hidden}.ibiz-calendar-daily__calendar-daily__head{width:100%;height:58px;min-height:58px;padding-bottom:0;display:flex;position:relative;z-index:100}.ibiz-calendar-daily__allday-info{min-width:90px;height:100%;padding-left:40px;color:var(--ibiz-color-text-3);overflow:hidden;display:flex;align-items:center}.ibiz-calendar-daily__allday-info--work-items{width:100%;height:100%;padding-top:5px;overflow:hidden}.ibiz-calendar-daily__allday-info--work-items-scroll{height:100%;overflow-y:scroll;overflow-x:hidden}.ibiz-calendar-daily__allday-info--work-items-body{height:auto}.ibiz-calendar-daily__allday-info--work-items-body:has(.ibiz-no-data){height:100%}.ibiz-calendar-daily__allday-info--work-items-body:has(.ibiz-no-data) .ibiz-no-data{min-height:100%;min-width:100%}.ibiz-calendar-daily__allday-info--work-items-body:has(.ibiz-no-data) .ibiz-no-data .el-empty__description{margin:0}.ibiz-calendar-daily__allday-info--event-box{width:100%;height:22px;line-height:22px;padding:0 8px;margin-top:4px}.ibiz-calendar-daily__allday-info--event-box:nth-child(1){margin-top:0}.ibiz-calendar-daily__allday-info--event-content{display:block;width:100%;height:100%;border:none;outline:0;text-align:left;border-radius:4px;background:var(--ibiz-color-tertiary-light-hover);border-radius:4px;position:relative;cursor:pointer}.ibiz-calendar-daily__allday-info--event-content.is-selected-event{padding-right:20px}.ibiz-calendar-daily__allday-info--event-summary{width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-daily__allday-info--event-icon{margin-right:6px}.ibiz-calendar-daily__allday-info--event-name{margin-right:6px}.ibiz-calendar-daily__allday-info--time-range{margin-right:6px}.ibiz-calendar-daily__allday-info--check{color:var(--ibiz-color-primary);position:absolute;right:6px;top:50%;transform:translate(0,-50%)}.ibiz-calendar-daily__allday-resize-line{width:100%;height:3px;background-color:var(--ibiz-color-border)}.ibiz-calendar-daily__resizable-handle{width:100%;height:10px;position:absolute;bottom:-4px;display:flex;align-items:center;cursor:row-resize}.ibiz-calendar-daily__scroll-area{flex:1;overflow-y:scroll;overflow-x:hidden}.ibiz-calendar-daily__time-pane{height:auto;width:calc(100% - 5px);display:flex;flex-basis:0%;flex-grow:1;flex-shrink:1;position:relative}.ibiz-calendar-daily__time-pane--time-labels{width:90px;min-width:90px;padding:27px 0 27px 40px;border-right:1px solid var(--ibiz-color-border);position:sticky;left:0}.ibiz-calendar-daily__time-pane--time-label{margin-top:38px;height:22px;text-align:left}.ibiz-calendar-daily__time-pane--time-label:nth-child(1){height:22px;margin-top:22px}.ibiz-calendar-daily__time-pane--time-columns{position:relative;flex:1;padding-bottom:59px}.ibiz-calendar-daily__time-pane--time-column{height:60px;border-top:1px dashed var(--ibiz-color-border)}.ibiz-calendar-daily__time-pane--time-column:first-child{border-top:none}.ibiz-calendar-daily__time-pane--time-column-last{border-bottom:1px dashed var(--ibiz-color-border)}.ibiz-calendar-daily__time-pane--event-timed-container{position:absolute;top:0;width:100%;height:100%;overflow:hidden}.ibiz-calendar-daily__time-pane--container-scroll{position:relative;top:0;overflow:auto;height:100%;width:auto;overflow-y:hidden;overflow-x:auto}.ibiz-calendar-daily__time-pane--event-box{position:absolute;width:auto;height:auto;padding-left:4px}.ibiz-calendar-daily__time-pane--event-content{position:relative;z-index:3;width:100%;height:100%;min-height:22px;padding:8px;overflow:hidden;line-height:100%;text-align:left;cursor:pointer;border:none;outline:0}.ibiz-calendar-daily__time-pane--event-content.is-selected-event{border:1px solid var(--ibiz-color-primary)}.ibiz-calendar-daily__time-pane--event-summary{width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-daily__time-pane--event-summary>span{margin-right:4px}.ibiz-calendar-daily__time-pane--current-time{width:calc(100% - 36px);margin-left:40px;position:absolute;top:38px;left:-3px;height:2px;background-color:var(--ibiz-color-primary);display:flex;align-items:center}.ibiz-calendar-daily__time-pane--current-time-label{width:48px;min-width:48px;max-width:18px;height:24px;text-align:center;line-height:24px;border:none;border-radius:4px;background:var(--ibiz-color-primary);color:var(--ibiz-color-primary-text)}.ibiz-calendar-daily__event-popover{position:relative;width:auto;height:auto;padding:0}.ibiz-calendar-daily__event-popover.el-popover.el-popper{padding:8px}.ibiz-calendar-daily__event-popover:has(.ibiz-control-calendar-item-default){display:none!important}.ibiz-calendar-daily__event-popover--body{width:auto;height:auto;overflow:hidden}.ibiz-calendar-daily__event-popover--scroll{width:auto;min-width:200px;height:auto;max-height:80%;overflow:auto;pointer-events:none}.ibiz-calendar-daily__event-popover--scroll .ibiz-control-calendar-item:last-child{margin-bottom:0}.ibiz-calendar-daily__event-popover--scroll .ibiz-control-calendar-item.is-active{background-color:transparent;border-color:transparent}.ibiz-calendar-daily__event-popover--close{position:absolute;top:8px;right:8px;display:none;cursor:pointer}.ibiz-calendar-daily__event-popover--close:hover .el-icon{background:var(--ibiz-color-primary);border-radius:50%}.ibiz-calendar-daily__event-popover--close:hover .el-icon svg{fill:var(--ibiz-color-white)}.ibiz-calendar-daily__event-popover .el-icon{display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;font-size:20px}.ibiz-calendar-daily__event-popover .el-icon svg{fill:var(--el-text-color-secondary)}
1
+ .ibiz-calendar-daily{width:100%;height:100%;flex:1;display:flex;flex-direction:column;overflow:hidden}.ibiz-calendar-daily__calendar-daily__head{width:100%;height:58px;min-height:58px;padding-bottom:0;display:flex;position:relative;z-index:100}.ibiz-calendar-daily__allday-info{min-width:90px;height:100%;padding-left:40px;color:var(--ibiz-color-text-3);overflow:hidden;display:flex;align-items:center}.ibiz-calendar-daily__allday-info--work-items{width:100%;height:100%;padding-top:5px;overflow:hidden}.ibiz-calendar-daily__allday-info--work-items-scroll{height:100%;overflow-y:scroll;overflow-x:hidden}.ibiz-calendar-daily__allday-info--work-items-body{height:auto}.ibiz-calendar-daily__allday-info--work-items-body:has(.ibiz-no-data){height:100%}.ibiz-calendar-daily__allday-info--work-items-body:has(.ibiz-no-data) .ibiz-no-data{min-height:100%;min-width:100%}.ibiz-calendar-daily__allday-info--work-items-body:has(.ibiz-no-data) .ibiz-no-data .el-empty__description{margin:0}.ibiz-calendar-daily__allday-info--event-box{width:100%;height:22px;line-height:22px;padding:0 8px;margin-top:4px}.ibiz-calendar-daily__allday-info--event-box:nth-child(1){margin-top:0}.ibiz-calendar-daily__allday-info--event-content{display:block;width:100%;height:100%;border:none;outline:0;text-align:left;border-radius:4px;background:var(--ibiz-color-tertiary-light-hover);position:relative;cursor:pointer}.ibiz-calendar-daily__allday-info--event-content.is-selected-event{padding-right:20px}.ibiz-calendar-daily__allday-info--event-summary{width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-daily__allday-info--event-icon{margin-right:6px}.ibiz-calendar-daily__allday-info--event-name{margin-right:6px}.ibiz-calendar-daily__allday-info--time-range{margin-right:6px}.ibiz-calendar-daily__allday-info--check{color:var(--ibiz-color-primary);position:absolute;right:6px;top:50%;transform:translate(0,-50%)}.ibiz-calendar-daily__allday-resize-line{width:100%;height:3px;background-color:var(--ibiz-color-border)}.ibiz-calendar-daily__resizable-handle{width:100%;height:10px;position:absolute;bottom:-4px;display:flex;align-items:center;cursor:row-resize}.ibiz-calendar-daily__scroll-area{flex:1;overflow-y:scroll;overflow-x:hidden}.ibiz-calendar-daily__time-pane{height:auto;width:calc(100% - 5px);display:flex;flex-basis:0%;flex-grow:1;flex-shrink:1;position:relative}.ibiz-calendar-daily__time-pane--time-labels{width:90px;min-width:90px;padding:27px 0 27px 40px;border-right:1px solid var(--ibiz-color-border);position:sticky;left:0}.ibiz-calendar-daily__time-pane--time-label{margin-top:38px;height:22px;text-align:left}.ibiz-calendar-daily__time-pane--time-label:nth-child(1){height:22px;margin-top:22px}.ibiz-calendar-daily__time-pane--time-columns{position:relative;flex:1;padding-bottom:59px}.ibiz-calendar-daily__time-pane--time-column{height:60px;border-top:1px dashed var(--ibiz-color-border)}.ibiz-calendar-daily__time-pane--time-column:first-child{border-top:none}.ibiz-calendar-daily__time-pane--time-column-last{border-bottom:1px dashed var(--ibiz-color-border)}.ibiz-calendar-daily__time-pane--event-timed-container{position:absolute;top:0;width:100%;height:100%;overflow:hidden}.ibiz-calendar-daily__time-pane--container-scroll{position:relative;top:0;overflow:auto;height:100%;width:auto;overflow-y:hidden;overflow-x:auto}.ibiz-calendar-daily__time-pane--event-box{position:absolute;width:auto;height:auto;padding-left:4px}.ibiz-calendar-daily__time-pane--event-content{position:relative;z-index:3;width:100%;height:100%;min-height:22px;padding:8px;overflow:hidden;line-height:100%;text-align:left;cursor:pointer;border:none;outline:0}.ibiz-calendar-daily__time-pane--event-content.is-selected-event{border:1px solid var(--ibiz-color-primary)}.ibiz-calendar-daily__time-pane--event-summary{width:100%;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-calendar-daily__time-pane--event-summary>span{margin-right:4px}.ibiz-calendar-daily__time-pane--current-time{width:calc(100% - 36px);margin-left:40px;position:absolute;top:38px;left:-3px;height:2px;background-color:var(--ibiz-color-primary);display:flex;align-items:center}.ibiz-calendar-daily__time-pane--current-time-label{width:48px;min-width:48px;max-width:18px;height:24px;text-align:center;line-height:24px;border:none;border-radius:4px;background:var(--ibiz-color-primary);color:var(--ibiz-color-primary-text)}.ibiz-calendar-daily__event-popover{width:auto;height:auto;padding:0}.ibiz-calendar-daily__event-popover.ibiz-popover{position:absolute;z-index:110;padding:var(--ibiz-spacing-tight);background:var(--ibiz-color-bg-1);border:none;box-shadow:var(--ibiz-shadow-elevated)}.ibiz-calendar-daily__event-popover:has(.ibiz-control-calendar-item-default){display:none!important}.ibiz-calendar-daily__event-popover--body{width:auto;height:auto;overflow:hidden}.ibiz-calendar-daily__event-popover--scroll{width:auto;min-width:200px;height:auto;max-height:80%;overflow:auto;pointer-events:none}.ibiz-calendar-daily__event-popover--scroll .ibiz-control-calendar-item:last-child{margin-bottom:0}.ibiz-calendar-daily__event-popover--scroll .ibiz-control-calendar-item.is-active{background-color:transparent;border-color:transparent}
@@ -5,7 +5,7 @@ require('../util/index.cjs');
5
5
  var util = require('../util/util.cjs');
6
6
 
7
7
  "use strict";
8
- const useCalendarDaily = (props, emit) => {
8
+ const useCalendarDaily = (props, emit, _ns) => {
9
9
  const drawData = vue.ref([]);
10
10
  const curTimeTimer = vue.ref();
11
11
  const curTimeTop = vue.ref(0);
@@ -231,6 +231,36 @@ const useCalendarDaily = (props, emit) => {
231
231
  const eventContextmenu = async (item, evt) => {
232
232
  emit("eventContextmenu", { evt, data: [item] });
233
233
  };
234
+ const followElement = util.createFollowElement();
235
+ let overlay = null;
236
+ let eventLocation = "";
237
+ const contentMousemove = (_event) => {
238
+ if (eventLocation === "content" && overlay && followElement)
239
+ util.followMouseMove(_event, followElement);
240
+ };
241
+ const eventMouseenter = (_event, _component, _location) => {
242
+ if (!props.showDetail || overlay) {
243
+ return;
244
+ }
245
+ const isContent = _location === "content";
246
+ eventLocation = _location;
247
+ overlay = util.openPopover(
248
+ _component,
249
+ isContent ? followElement : _event.target,
250
+ {
251
+ placement: isContent ? "right-start" : "bottom",
252
+ modalClass: _ns.e("event-popover")
253
+ }
254
+ );
255
+ };
256
+ const eventMouseleave = (_e) => {
257
+ overlay == null ? void 0 : overlay.dismiss();
258
+ overlay = null;
259
+ eventLocation = "";
260
+ };
261
+ vue.onBeforeUnmount(() => {
262
+ util.removeFollowElement(followElement);
263
+ });
234
264
  return {
235
265
  drawData,
236
266
  curTimeTimer,
@@ -246,7 +276,10 @@ const useCalendarDaily = (props, emit) => {
246
276
  handleEventClick,
247
277
  handleEventDblClick,
248
278
  eventContextmenu,
249
- initDrawData
279
+ initDrawData,
280
+ contentMousemove,
281
+ eventMouseenter,
282
+ eventMouseleave
250
283
  };
251
284
  };
252
285
 
@@ -55,6 +55,7 @@ const CalendarUser = /* @__PURE__ */ vue.defineComponent({
55
55
  return [(_a = slots.event) == null ? void 0 : _a.call(slots, {
56
56
  data: items[0]
57
57
  }), vue.createVNode(vue.resolveComponent("el-popover"), {
58
+ "popper-class": ns.e("custom-user-popover"),
58
59
  "trigger": "click",
59
60
  "ref": (el) => {
60
61
  if (el && items[0].id === popoverValue.value) {
@@ -1 +1 @@
1
- .ibiz-calendar-user{--ibiz-calendar-user-cell-min-height:60px;display:flex;flex-direction:column;width:100%;height:100%;padding:var(--ibiz-spacing-base);overflow:hidden}.ibiz-calendar-user__cell{min-height:var(--ibiz-calendar-user-cell-min-height);border-bottom:1px solid var(--ibiz-color-tertiary);border-left:1px solid var(--ibiz-color-tertiary)}.ibiz-calendar-user__cell:last-child{border-right:1px solid var(--ibiz-color-tertiary)}.ibiz-calendar-user__black{width:100%;height:100%}.ibiz-calendar-user .ibiz-calendar-user-more{flex-shrink:0;padding-left:var(--ibiz-spacing-tight);overflow:hidden;font-size:var(--ibiz-font-size-small);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:var(--ibiz-spacing-extra-tight)}.ibiz-calendar-user .ibiz-calendar-user-more:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-calendar-user .ibiz-calendar-user-header{flex-shrink:0}.ibiz-calendar-user-header__top{border-top:1px solid var(--ibiz-color-tertiary)}.ibiz-calendar-user-header__time-item{display:flex;justify-content:space-between;width:100%}.ibiz-calendar-user-header__week-day{display:flex;flex:1;align-items:center;justify-content:center;width:100%}.ibiz-calendar-user-header__week-item{display:flex;flex:1;flex-direction:column;flex-shrink:0;justify-content:center;overflow:hidden}.ibiz-calendar-user-header__time-text{display:flex;flex:1;align-items:center;justify-content:center}.ibiz-calendar-user .ibiz-calendar-user-content{position:relative;flex:1;width:100%;height:100%;overflow:hidden}.ibiz-calendar-user-content__time-item{display:flex;justify-content:space-between;width:100%}.ibiz-calendar-user-content__time-text{display:flex;flex:1;align-items:center;justify-content:center}.ibiz-calendar-user-content__week-item{display:flex;flex:1;flex-direction:column;flex-shrink:0;justify-content:center;overflow:hidden}.ibiz-calendar-user-content__wrapping{width:100%;height:100%;overflow:auto}.ibiz-calendar-user-content__wrapping::-webkit-scrollbar{display:none}.ibiz-calendar-user-scroll-bar{position:absolute;top:var(--ibiz-calendar-user-scroll-bar-thumb-top);right:0;z-index:10;width:4px;height:100%;border-radius:var(--ibiz-border-radius-extra-small)}.ibiz-calendar-user-scroll-bar__thumb{width:4px;height:var(--ibiz-calendar-user-scroll-bar-thumb-height);cursor:pointer;background-color:#d3d3d3;border-radius:var(--ibiz-border-radius-extra-small)}
1
+ .ibiz-calendar-user{--ibiz-calendar-user-cell-min-height:60px;display:flex;flex-direction:column;width:100%;height:100%;padding:var(--ibiz-spacing-base);overflow:hidden}.ibiz-calendar-user__cell{min-height:var(--ibiz-calendar-user-cell-min-height);padding:0 var(--ibiz-spacing-base);border-bottom:1px solid var(--ibiz-color-tertiary);border-left:1px solid var(--ibiz-color-tertiary)}.ibiz-calendar-user__cell:last-child{border-right:1px solid var(--ibiz-color-tertiary)}.ibiz-calendar-user__cell .ibiz-control-calendar-item{height:auto}.ibiz-calendar-user__cell .ibiz-control-calendar-item.is-active{color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-calendar-user__black{width:100%;height:100%}.ibiz-calendar-user__custom-user-popover .ibiz-control-calendar-item{height:auto}.ibiz-calendar-user__custom-user-popover .ibiz-control-calendar-item.is-active{color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-calendar-user .ibiz-calendar-user-more{flex-shrink:0;padding-left:var(--ibiz-spacing-tight);overflow:hidden;font-size:var(--ibiz-font-size-small);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:var(--ibiz-spacing-extra-tight)}.ibiz-calendar-user .ibiz-calendar-user-more:hover{background-color:var(--ibiz-control-calendar-hover-bg-color)}.ibiz-calendar-user .ibiz-calendar-user-header{flex-shrink:0}.ibiz-calendar-user-header__top{border-top:1px solid var(--ibiz-color-tertiary)}.ibiz-calendar-user-header__time-item{display:flex;justify-content:space-between;width:100%}.ibiz-calendar-user-header__week-day{display:flex;flex:1;align-items:center;justify-content:center;width:100%}.ibiz-calendar-user-header__week-item{display:flex;flex:1;flex-direction:column;flex-shrink:0;justify-content:center;overflow:hidden}.ibiz-calendar-user-header__time-text{display:flex;flex:1;align-items:center;justify-content:center}.ibiz-calendar-user .ibiz-calendar-user-content{position:relative;flex:1;width:100%;height:100%;overflow:hidden}.ibiz-calendar-user-content__time-item{display:flex;justify-content:space-between;width:100%}.ibiz-calendar-user-content__time-text{display:flex;flex:1;align-items:center;justify-content:center}.ibiz-calendar-user-content__week-item{display:flex;flex:1;flex-direction:column;flex-shrink:0;justify-content:center;overflow:hidden}.ibiz-calendar-user-content__wrapping{width:100%;height:100%;overflow:auto}.ibiz-calendar-user-content__wrapping::-webkit-scrollbar{display:none}.ibiz-calendar-user-scroll-bar{position:absolute;top:var(--ibiz-calendar-user-scroll-bar-thumb-top);right:0;z-index:10;width:4px;height:100%;border-radius:var(--ibiz-border-radius-extra-small)}.ibiz-calendar-user-scroll-bar__thumb{width:4px;height:var(--ibiz-calendar-user-scroll-bar-thumb-height);cursor:pointer;background-color:#d3d3d3;border-radius:var(--ibiz-border-radius-extra-small)}
@@ -6,9 +6,7 @@ var core = require('@ibiz-template/core');
6
6
  require('../interface/index.cjs');
7
7
  var useCalendarWeek = require('./use-calendar-week.cjs');
8
8
  require('./calendar-week.css');
9
- require('../util/index.cjs');
10
9
  var calendarWeek = require('../interface/calendar-week.cjs');
11
- var util = require('../util/util.cjs');
12
10
 
13
11
  "use strict";
14
12
  const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
@@ -46,8 +44,11 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
46
44
  onScrollbarMouseDown,
47
45
  onHeaderEventScroll,
48
46
  initHeaderEventScroll,
49
- eventContextmenu
50
- } = useCalendarWeek.useCalendarWeek(props, emit);
47
+ eventContextmenu,
48
+ contentMousemove,
49
+ eventMouseenter,
50
+ eventMouseleave
51
+ } = useCalendarWeek.useCalendarWeek(props, emit, ns);
51
52
  vue.watch(() => props.selectedData, () => {
52
53
  if (props.selectedData && props.selectedData.length > 0) {
53
54
  const data = props.selectedData.length > selectedData.value.length ? props.selectedData : selectedData.value;
@@ -93,6 +94,23 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
93
94
  "onMousedown": onScrollbarMouseDown
94
95
  }, null)]);
95
96
  };
97
+ const renderPopoverContent = (_event) => {
98
+ var _a;
99
+ const _tempEvent = {
100
+ ..._event,
101
+ color: "",
102
+ bkColor: ""
103
+ };
104
+ return vue.createVNode("div", {
105
+ "class": [ns.em("event-popover", "body")]
106
+ }, [vue.createVNode("div", {
107
+ "class": [ns.em("event-popover", "scroll")]
108
+ }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
109
+ data: _tempEvent
110
+ }) : vue.createVNode("div", {
111
+ "class": [ns.em("event-popover", "content")]
112
+ }, ["".concat(_event.text || "", " ").concat(_event.timeRange || "")])])]);
113
+ };
96
114
  const renderEventItem = (location, eventBoxStyle, eventContentStyle, event, index, slotNme, classEName) => {
97
115
  var _a;
98
116
  let title = "".concat(event.text || "");
@@ -101,6 +119,7 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
101
119
  title = core.showTitle(title) || "";
102
120
  if (props.showDetail)
103
121
  title = "";
122
+ const component = renderPopoverContent(event);
104
123
  return vue.createVNode("div", {
105
124
  "key": index,
106
125
  "class": [ns.em(classEName, "event-box")],
@@ -114,6 +133,8 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
114
133
  handleEventDblClick(event, "head");
115
134
  },
116
135
  "onContextmenu": (e) => eventContextmenu(event, e),
136
+ "onMouseenter": (_e) => eventMouseenter(_e, component, location),
137
+ "onMouseleave": eventMouseleave,
117
138
  "style": eventContentStyle,
118
139
  "title": title
119
140
  }, [slots[slotNme] ? (_a = slots[slotNme]) == null ? void 0 : _a.call(slots, {
@@ -131,41 +152,6 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
131
152
  "class": ["fa fa-check", ns.em(classEName, "check")]
132
153
  }, null) : ""])]);
133
154
  };
134
- const renderPopover = (content, event, placement) => {
135
- if (!props.showDetail) {
136
- return content;
137
- }
138
- const _tempEvent = {
139
- ...event,
140
- color: "",
141
- bkColor: ""
142
- };
143
- return vue.createVNode(vue.resolveComponent("el-popover"), {
144
- "show-after": 100,
145
- "offset": 4,
146
- "width": "auto",
147
- "popper-class": [ns.e("event-popover")],
148
- "placement": placement || "right-start"
149
- }, {
150
- reference: () => content,
151
- default: () => {
152
- var _a;
153
- return vue.createVNode("div", {
154
- "class": [ns.em("event-popover", "body")]
155
- }, [vue.createVNode("div", {
156
- "class": [ns.em("event-popover", "close")],
157
- "onClick": (el) => util.handlePopClose(el),
158
- "innerHTML": util.closeIcon
159
- }, null), vue.createVNode("div", {
160
- "class": [ns.em("event-popover", "scroll")]
161
- }, [(slots == null ? void 0 : slots.event) ? (_a = slots.event) == null ? void 0 : _a.call(slots, {
162
- data: _tempEvent
163
- }) : vue.createVNode("div", {
164
- "class": [ns.em("event-popover", "content")]
165
- }, ["".concat(event.text || "", " ").concat(event.timeRange || "")])])]);
166
- }
167
- });
168
- };
169
155
  const renderHeader = () => {
170
156
  return vue.createVNode("div", {
171
157
  "class": [ns.e("header")],
@@ -207,8 +193,7 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
207
193
  };
208
194
  if (!event.isShow)
209
195
  return "";
210
- const tempContent = renderEventItem("header", eventBoxStyle, eventContentStyle, event, index, "head-event", "header");
211
- return renderPopover(tempContent, event, "bottom");
196
+ return renderEventItem("header", eventBoxStyle, eventContentStyle, event, index, "head-event", "header");
212
197
  })]))]), isScroll.value && renderScrollbar()])]), vue.createVNode("div", {
213
198
  "class": ns.em("header", "resizable-handle"),
214
199
  "draggable": "true",
@@ -221,7 +206,8 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
221
206
  };
222
207
  const renderContent = () => {
223
208
  return vue.createVNode("div", {
224
- "class": [ns.e("scroll-area")]
209
+ "class": [ns.e("scroll-area")],
210
+ "onMousemove": contentMousemove
225
211
  }, [vue.createVNode("div", {
226
212
  "class": ns.e("time-pane")
227
213
  }, [vue.createVNode("div", {
@@ -256,8 +242,7 @@ const CalendarWeek = /* @__PURE__ */ vue.defineComponent({
256
242
  background: event.bkColorFade,
257
243
  "border-left": "3px solid ".concat(event.bkColor)
258
244
  };
259
- const tempContent = renderEventItem("content", eventBoxStyle, eventContentStyle, event, index, "", "time-pane");
260
- return renderPopover(tempContent, event);
245
+ return renderEventItem("content", eventBoxStyle, eventContentStyle, event, index, "", "time-pane");
261
246
  })])])]))])]);
262
247
  };
263
248
  return {
@@ -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: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
+ .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;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{width:auto;height:auto;padding:0}.ibiz-calendar-week__event-popover.ibiz-popover{position:absolute;z-index:110;padding:var(--ibiz-spacing-tight);background:var(--ibiz-color-bg-1);border:none;box-shadow:var(--ibiz-shadow-elevated)}.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-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)}
@@ -5,7 +5,7 @@ require('../util/index.cjs');
5
5
  var util = require('../util/util.cjs');
6
6
 
7
7
  "use strict";
8
- const useCalendarWeek = (props, emit) => {
8
+ const useCalendarWeek = (props, emit, _ns) => {
9
9
  const drawData = vue.ref([]);
10
10
  const curTimeTimer = vue.ref();
11
11
  const curTimeTop = vue.ref(1);
@@ -524,6 +524,36 @@ const useCalendarWeek = (props, emit) => {
524
524
  deep: true
525
525
  }
526
526
  );
527
+ const followElement = util.createFollowElement();
528
+ let overlay = null;
529
+ let eventLocation = "";
530
+ const contentMousemove = (_event) => {
531
+ if (eventLocation === "content" && overlay && followElement)
532
+ util.followMouseMove(_event, followElement);
533
+ };
534
+ const eventMouseenter = (_event, _component, _location) => {
535
+ if (!props.showDetail || overlay) {
536
+ return;
537
+ }
538
+ const isContent = _location === "content";
539
+ eventLocation = _location;
540
+ overlay = util.openPopover(
541
+ _component,
542
+ isContent ? followElement : _event.target,
543
+ {
544
+ placement: isContent ? "right-start" : "bottom",
545
+ modalClass: _ns.e("event-popover")
546
+ }
547
+ );
548
+ };
549
+ const eventMouseleave = (_e) => {
550
+ overlay == null ? void 0 : overlay.dismiss();
551
+ overlay = null;
552
+ eventLocation = "";
553
+ };
554
+ vue.onBeforeUnmount(() => {
555
+ util.removeFollowElement(followElement);
556
+ });
527
557
  return {
528
558
  drawData,
529
559
  curTimeTimer,
@@ -553,7 +583,10 @@ const useCalendarWeek = (props, emit) => {
553
583
  onScrollbarMouseDown,
554
584
  onHeaderEventScroll,
555
585
  initHeaderEventScroll,
556
- eventContextmenu
586
+ eventContextmenu,
587
+ contentMousemove,
588
+ eventMouseenter,
589
+ eventMouseleave
557
590
  };
558
591
  };
559
592