@ibiz-template/vue3-components 0.7.41-alpha.5 → 0.7.41-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/dist/ibiz-markdown-editor-V31Pwvs_.js +1 -0
  2. package/dist/index-cbi1NJAY.js +4 -0
  3. package/dist/index.min.css +1 -1
  4. package/dist/index.system.min.js +1 -1
  5. package/dist/wang-editor-ELTZ-byh.js +1 -0
  6. package/dist/{xlsx-util-GVd_ca5q.js → xlsx-util--EbSIMDJ.js} +1 -1
  7. package/es/common/data-import2/data-import2.mjs +3 -2
  8. package/es/common/editor-empty-text/editor-empty-text.css +1 -0
  9. package/es/common/editor-empty-text/editor-empty-text.d.ts +25 -0
  10. package/es/common/editor-empty-text/editor-empty-text.mjs +31 -0
  11. package/es/common/index.mjs +2 -0
  12. package/es/control/drtab/drtab-control.util.mjs +1 -1
  13. package/es/control/tree/el-tree-util.d.ts +11 -0
  14. package/es/control/tree/el-tree-util.mjs +35 -1
  15. package/es/control/tree/index.d.ts +1 -0
  16. package/es/control/tree/tree.css +1 -1
  17. package/es/control/tree/tree.d.ts +2 -2
  18. package/es/control/tree/tree.mjs +61 -5
  19. package/es/control/wizard-panel/wizard-panel.css +1 -1
  20. package/es/control/wizard-panel/wizard-panel.mjs +24 -8
  21. package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.mjs +4 -1
  22. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +4 -1
  23. package/es/editor/code/monaco-editor/monaco-editor.mjs +2 -8
  24. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +4 -1
  25. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +4 -1
  26. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +4 -1
  27. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +5 -2
  28. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +4 -1
  29. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +4 -1
  30. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +4 -1
  31. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +4 -1
  32. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +4 -1
  33. package/es/editor/html/wang-editor/wang-editor.mjs +5 -10
  34. package/es/editor/map-picker/ibiz-map-picker/ibiz-map-picker.mjs +4 -1
  35. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +2 -2
  36. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.mjs +4 -1
  37. package/es/editor/span/span/span.mjs +4 -1
  38. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +4 -1
  39. package/es/editor/text-box/input/input.mjs +6 -9
  40. package/es/editor/upload/use/use-iview-upload.mjs +3 -4
  41. package/es/locale/en/index.d.ts +1 -0
  42. package/es/locale/zh-CN/index.d.ts +1 -0
  43. package/es/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -1
  44. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.d.ts +1 -0
  45. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +25 -4
  46. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -0
  47. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.d.ts +2030 -0
  48. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.mjs +223 -0
  49. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.d.ts +166 -0
  50. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.mjs +339 -0
  51. package/es/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -1
  52. package/es/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -1
  53. package/es/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -1
  54. package/es/util/app-util/app-util.mjs +2 -8
  55. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  56. package/es/util/notification-util/upload-manager/upload-manager.mjs +1 -5
  57. package/es/web-app/util/unauthorized-handler/unauthorized-handler.mjs +1 -1
  58. package/lib/common/data-import2/data-import2.cjs +2 -1
  59. package/lib/common/editor-empty-text/editor-empty-text.cjs +33 -0
  60. package/lib/common/editor-empty-text/editor-empty-text.css +1 -0
  61. package/lib/common/index.cjs +2 -0
  62. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  63. package/lib/control/tree/el-tree-util.cjs +35 -0
  64. package/lib/control/tree/tree.cjs +59 -3
  65. package/lib/control/tree/tree.css +1 -1
  66. package/lib/control/wizard-panel/wizard-panel.cjs +23 -7
  67. package/lib/control/wizard-panel/wizard-panel.css +1 -1
  68. package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.cjs +4 -1
  69. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +4 -1
  70. package/lib/editor/code/monaco-editor/monaco-editor.cjs +1 -7
  71. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +4 -1
  72. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +4 -1
  73. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +4 -1
  74. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +4 -1
  75. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +4 -1
  76. package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +4 -1
  77. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +4 -1
  78. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +4 -1
  79. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +4 -1
  80. package/lib/editor/html/wang-editor/wang-editor.cjs +4 -9
  81. package/lib/editor/map-picker/ibiz-map-picker/ibiz-map-picker.cjs +4 -1
  82. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +2 -2
  83. package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.cjs +4 -1
  84. package/lib/editor/span/span/span.cjs +4 -1
  85. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +4 -1
  86. package/lib/editor/text-box/input/input.cjs +5 -8
  87. package/lib/editor/upload/use/use-iview-upload.cjs +2 -3
  88. package/lib/panel-component/app-extend-menu/bottom-side-menu/bottom-side-menu.css +1 -1
  89. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +24 -3
  90. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.cjs +225 -0
  91. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -0
  92. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.cjs +344 -0
  93. package/lib/panel-component/app-extend-menu/left-side-menu/left-side-menu.css +1 -1
  94. package/lib/panel-component/app-extend-menu/right-side-menu/right-side-menu.css +1 -1
  95. package/lib/panel-component/app-extend-menu/top-side-menu/top-side-menu.css +1 -1
  96. package/lib/util/app-util/app-util.cjs +1 -7
  97. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  98. package/lib/util/notification-util/upload-manager/upload-manager.cjs +1 -5
  99. package/lib/web-app/util/unauthorized-handler/unauthorized-handler.cjs +1 -1
  100. package/package.json +5 -5
  101. package/dist/ibiz-markdown-editor--ivCvp3a.js +0 -1
  102. package/dist/index-u5jvzY6s.js +0 -4
  103. package/dist/wang-editor--AXyy3P_.js +0 -1
  104. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.2_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.7_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
  105. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.2_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.7_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
@@ -0,0 +1,339 @@
1
+ import { ref, h, onMounted, onUnmounted } from 'vue';
2
+
3
+ "use strict";
4
+ function useCascaderPopover(props, ns, menuAlign, renderCascaderContent) {
5
+ let hoverCount = 0;
6
+ let closeTimer = null;
7
+ const overlayInstances = /* @__PURE__ */ new Map();
8
+ const activeMenuIdStack = ref([]);
9
+ const rotatedArrowElements = /* @__PURE__ */ new Map();
10
+ const getOverlayNum = () => {
11
+ return overlayInstances.size;
12
+ };
13
+ const getPopoverPlacement = (level) => {
14
+ switch (props.position) {
15
+ case "TOP":
16
+ return level > 0 ? "right-start" : "bottom-start";
17
+ case "BOTTOM":
18
+ return level > 0 ? "right-end" : "top-start";
19
+ case "RIGHT":
20
+ return "left-start";
21
+ case "LEFT":
22
+ return "right-start";
23
+ default:
24
+ return void 0;
25
+ }
26
+ };
27
+ const clearCloseTimer = () => {
28
+ if (closeTimer) {
29
+ clearTimeout(closeTimer);
30
+ closeTimer = null;
31
+ }
32
+ };
33
+ const resetArrowRotation = (ns2, key) => {
34
+ const arrow = rotatedArrowElements.get(key);
35
+ if (!arrow)
36
+ return;
37
+ arrow.classList.remove(ns2.is("rotate-arrow", true));
38
+ rotatedArrowElements.delete(key);
39
+ };
40
+ const rotateArrowIcon = (el, ns2, key) => {
41
+ if (el) {
42
+ el.classList.add(ns2.is("rotate-arrow", true));
43
+ rotatedArrowElements.set(key, el);
44
+ }
45
+ };
46
+ const closePopoverAtLevel = (key) => {
47
+ const overlay = overlayInstances.get(key);
48
+ if (overlay) {
49
+ overlay.dismiss();
50
+ overlayInstances.delete(key);
51
+ resetArrowRotation(ns, key);
52
+ }
53
+ };
54
+ const closeSubsequentPopovers = (currentLevel) => {
55
+ let level = currentLevel;
56
+ while (overlayInstances.get(level + 1)) {
57
+ level++;
58
+ }
59
+ for (let i = level; i >= currentLevel; i--) {
60
+ closePopoverAtLevel(i);
61
+ }
62
+ };
63
+ const closeAllPopovers = () => {
64
+ for (const key of overlayInstances.keys()) {
65
+ closePopoverAtLevel(key);
66
+ }
67
+ overlayInstances.clear();
68
+ activeMenuIdStack.value = [];
69
+ hoverCount = 0;
70
+ };
71
+ const scheduleDelayedClose = () => {
72
+ clearCloseTimer();
73
+ closeTimer = setTimeout(() => {
74
+ if (hoverCount <= 0) {
75
+ closeAllPopovers();
76
+ }
77
+ }, 300);
78
+ };
79
+ const clearAllCascader = () => {
80
+ closeAllPopovers();
81
+ clearCloseTimer();
82
+ };
83
+ const handleMenuItemMouseEnter = (_menu, event) => {
84
+ if (activeMenuIdStack.value.includes(_menu.id))
85
+ return;
86
+ activeMenuIdStack.value.push(_menu.id);
87
+ closeSubsequentPopovers(_menu.level);
88
+ if (_menu.children) {
89
+ openCascaderPopover(_menu, event);
90
+ }
91
+ clearCloseTimer();
92
+ };
93
+ const handleMenuItemMouseLeave = (_menu) => {
94
+ const index = activeMenuIdStack.value.indexOf(_menu.id);
95
+ if (index !== -1) {
96
+ activeMenuIdStack.value.splice(index, 1);
97
+ }
98
+ scheduleDelayedClose();
99
+ };
100
+ const onPopoverMouseEnter = () => {
101
+ hoverCount++;
102
+ clearCloseTimer();
103
+ };
104
+ const onPopoverMouseLeave = (_menu, _event) => {
105
+ hoverCount = Math.max(0, hoverCount - 1);
106
+ scheduleDelayedClose();
107
+ };
108
+ const openCascaderPopover = (menu, evt, opts) => {
109
+ var _a;
110
+ const overlay = ibiz.overlay.createPopover(
111
+ () => h(renderCascaderContent(menu), {
112
+ onMouseenter: onPopoverMouseEnter,
113
+ onMouseleave: onPopoverMouseLeave
114
+ }),
115
+ void 0,
116
+ {
117
+ width: "auto",
118
+ height: "auto",
119
+ noArrow: true,
120
+ placement: getPopoverPlacement(menu.level),
121
+ offsetOpts: 10,
122
+ ...opts,
123
+ modalClass: "".concat(ns.b("cascader-popover"), " ").concat(ns.is(
124
+ menuAlign.value,
125
+ true
126
+ ), " ").concat((opts == null ? void 0 : opts.modalClass) || "")
127
+ }
128
+ );
129
+ overlayInstances.set(menu.level, overlay);
130
+ overlay == null ? void 0 : overlay.present(evt.currentTarget);
131
+ rotateArrowIcon(
132
+ (_a = evt.currentTarget) == null ? void 0 : _a.parentElement,
133
+ ns,
134
+ menu.level
135
+ );
136
+ };
137
+ return {
138
+ getOverlayNum,
139
+ openCascaderPopover,
140
+ clearAllCascader,
141
+ handleMenuItemMouseEnter,
142
+ handleMenuItemMouseLeave
143
+ };
144
+ }
145
+ function useBorderLayout(menuRef, ns, position, menuAlign, getOverlayNum, renderBorderContent) {
146
+ let overlay;
147
+ const getElementAbsolutePosition = (element) => {
148
+ let x = 0;
149
+ let y = 0;
150
+ let current = element;
151
+ while (current) {
152
+ x += current.offsetLeft;
153
+ y += current.offsetTop;
154
+ current = current.offsetParent;
155
+ }
156
+ return {
157
+ x,
158
+ y,
159
+ width: element.offsetWidth,
160
+ height: element.offsetHeight
161
+ };
162
+ };
163
+ const resolvePopoverPlacement = () => {
164
+ switch (position) {
165
+ case "TOP":
166
+ return "bottom";
167
+ case "BOTTOM":
168
+ return "top";
169
+ case "RIGHT":
170
+ return "left";
171
+ case "LEFT":
172
+ return "right";
173
+ default:
174
+ return void 0;
175
+ }
176
+ };
177
+ let popoverEl;
178
+ const closeBorderPopover = () => {
179
+ overlay == null ? void 0 : overlay.dismiss();
180
+ overlay = null;
181
+ document.removeEventListener("mousemove", handleMouseTrackOut);
182
+ popoverEl = void 0;
183
+ };
184
+ const handleMouseTrackOut = (e) => {
185
+ if (!popoverEl) {
186
+ popoverEl = document.querySelector(
187
+ ".".concat(ns.b("border-popover"))
188
+ );
189
+ }
190
+ const pos = getElementAbsolutePosition(popoverEl);
191
+ const isInside = e.pageX >= pos.x && e.pageX <= pos.x + pos.width && e.pageY >= pos.y && e.pageY <= pos.y + pos.height;
192
+ if (!isInside && getOverlayNum() <= 0) {
193
+ closeBorderPopover();
194
+ }
195
+ };
196
+ const handlePlaceholderMouseEnter = async (evt) => {
197
+ var _a;
198
+ if (overlay)
199
+ return;
200
+ overlay = ibiz.overlay.createPopover(
201
+ () => h(renderBorderContent()),
202
+ void 0,
203
+ {
204
+ width: "auto",
205
+ height: "auto",
206
+ noArrow: true,
207
+ placement: resolvePopoverPlacement(),
208
+ offsetOpts: -1,
209
+ modalClass: "".concat(ns.b("border-popover"), " ").concat(ns.is(menuAlign.value, true))
210
+ }
211
+ );
212
+ const triggerEl = (_a = evt.currentTarget) == null ? void 0 : _a.querySelector(
213
+ ".".concat(ns.be("placehold", "line"))
214
+ );
215
+ await (overlay == null ? void 0 : overlay.present(triggerEl));
216
+ setTimeout(() => {
217
+ document.addEventListener("mousemove", handleMouseTrackOut);
218
+ }, 200);
219
+ };
220
+ let placeholderEl = null;
221
+ let resizeObserver = null;
222
+ let frameLoopId = null;
223
+ const minWidth = 20;
224
+ const minHeight = 20;
225
+ const computeTop = (top, height) => {
226
+ return position === "BOTTOM" ? top + height - minHeight : top;
227
+ };
228
+ const computeLeft = (left, width) => {
229
+ return position === "RIGHT" ? left + width - minWidth : left;
230
+ };
231
+ const computeWidth = (width) => {
232
+ return ["RIGHT", "LEFT"].includes(position) ? minWidth : width;
233
+ };
234
+ const computeHeight = (height) => {
235
+ return ["TOP", "BOTTOM"].includes(position) ? minHeight : height;
236
+ };
237
+ function createFixedPlaceholder(el) {
238
+ const container = document.createElement("div");
239
+ container.classList.add(ns.b("placehold"));
240
+ container.classList.add(ns.is(position.toLowerCase(), !!position));
241
+ const line = document.createElement("div");
242
+ line.classList.add(ns.be("placehold", "line"));
243
+ const arrow = document.createElement("div");
244
+ arrow.classList.add(ns.be("placehold", "arrow"));
245
+ container.appendChild(line);
246
+ container.appendChild(arrow);
247
+ document.body.appendChild(container);
248
+ placeholderEl = container;
249
+ placeholderEl.addEventListener("mouseenter", handlePlaceholderMouseEnter);
250
+ arrow.innerHTML = '\n <svg xmlns="http://www.w3.org/2000/svg"\n viewBox="0 0 1024 1024"\n width="1em"\n height="1em"\n fill="currentColor">\n <path fill="currentColor"\n d="M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z">\n </path>\n </svg>\n ';
251
+ updatePlaceholderPosition(el);
252
+ }
253
+ function updatePlaceholderPosition(el) {
254
+ if (!placeholderEl)
255
+ return;
256
+ const rect = el.getBoundingClientRect();
257
+ placeholderEl.style.top = "".concat(computeTop(rect.top, rect.height), "px");
258
+ placeholderEl.style.left = "".concat(computeLeft(rect.left, rect.width), "px");
259
+ placeholderEl.style.width = "".concat(computeWidth(rect.width), "px");
260
+ placeholderEl.style.height = "".concat(computeHeight(rect.height), "px");
261
+ }
262
+ function startTracking() {
263
+ const el = menuRef.value;
264
+ if (!el)
265
+ return;
266
+ createFixedPlaceholder(el);
267
+ resizeObserver = new ResizeObserver(() => updatePlaceholderPosition(el));
268
+ resizeObserver.observe(el);
269
+ const updateLoop = () => {
270
+ updatePlaceholderPosition(el);
271
+ frameLoopId = requestAnimationFrame(updateLoop);
272
+ };
273
+ frameLoopId = requestAnimationFrame(updateLoop);
274
+ }
275
+ function stopTrackingAndDestroy() {
276
+ if (resizeObserver) {
277
+ const el = menuRef.value;
278
+ if (el)
279
+ resizeObserver.unobserve(el);
280
+ resizeObserver.disconnect();
281
+ resizeObserver = null;
282
+ }
283
+ if (frameLoopId !== null) {
284
+ cancelAnimationFrame(frameLoopId);
285
+ frameLoopId = null;
286
+ }
287
+ if (placeholderEl && placeholderEl.parentNode) {
288
+ placeholderEl.removeEventListener(
289
+ "mouseenter",
290
+ handlePlaceholderMouseEnter
291
+ );
292
+ placeholderEl.parentNode.removeChild(placeholderEl);
293
+ placeholderEl = null;
294
+ }
295
+ }
296
+ onMounted(startTracking);
297
+ onUnmounted(stopTrackingAndDestroy);
298
+ return { closeBorderPopover };
299
+ }
300
+ function getMenus(items, _parentItem, level = 0) {
301
+ return items.map((item) => {
302
+ var _a;
303
+ const data = {
304
+ ...item,
305
+ value: item.id,
306
+ label: item.caption,
307
+ parentId: _parentItem == null ? void 0 : _parentItem.id,
308
+ level
309
+ };
310
+ if ((_a = item.appMenuItems) == null ? void 0 : _a.length) {
311
+ data.children = getMenus(item.appMenuItems, item, level + 1);
312
+ }
313
+ return data;
314
+ });
315
+ }
316
+ function findMenuItem(_id, items) {
317
+ let temp;
318
+ if (items) {
319
+ items.some((item) => {
320
+ if (!item.id)
321
+ return true;
322
+ if (item.id === _id) {
323
+ temp = item;
324
+ return true;
325
+ }
326
+ if (item.appMenuItems && item.appMenuItems.length > 0) {
327
+ temp = findMenuItem(_id, item.appMenuItems);
328
+ if (!temp) {
329
+ return false;
330
+ }
331
+ return true;
332
+ }
333
+ return false;
334
+ });
335
+ }
336
+ return temp;
337
+ }
338
+
339
+ export { findMenuItem, getMenus, useBorderLayout, useCascaderPopover };
@@ -1 +1 @@
1
- .ibiz-left-side-menu{width:100%;height:100%}
1
+ .ibiz-left-side-menu{width:100%;height:100%}.ibiz-col--self-align>.ibiz-left-side-menu{width:100%;height:100%}
@@ -1 +1 @@
1
- .ibiz-right-side-menu{width:100%;height:100%}
1
+ .ibiz-right-side-menu{width:100%;height:100%}.ibiz-col--self-align>.ibiz-right-side-menu{width:100%;height:100%}
@@ -1 +1 @@
1
- .ibiz-top-side-menu{width:100%;height:100%}
1
+ .ibiz-top-side-menu{width:100%;height:100%}.ibiz-col--self-align>.ibiz-top-side-menu{width:100%;height:100%}
@@ -1,6 +1,6 @@
1
1
  import { getDeACMode, calcDeCodeNameById, ConfigService, UIActionUtil, SysUIActionTag } from '@ibiz-template/runtime';
2
2
  import { createUUID } from 'qx-util';
3
- import { CoreConst, getAppCookie, IBizContext } from '@ibiz-template/core';
3
+ import { IBizContext } from '@ibiz-template/core';
4
4
  import { route2routePath, useUIStore } from '@ibiz-template/vue3-util';
5
5
  import { calcAiToolbarItemsByAc } from '../ai-util/ai-util.mjs';
6
6
 
@@ -381,13 +381,7 @@ class AppUtil {
381
381
  (options == null ? void 0 : options.params) || params,
382
382
  {}
383
383
  );
384
- const headers = {};
385
- const token = getAppCookie(CoreConst.TOKEN);
386
- if (token) {
387
- Object.assign(headers, {
388
- ["".concat(ibiz.env.tokenHeader, "Authorization")]: "".concat(ibiz.env.tokenPrefix, "Bearer ").concat(token)
389
- });
390
- }
384
+ const headers = ibiz.util.file.getUploadHeaders();
391
385
  const formData = new FormData();
392
386
  formData.append("file", file);
393
387
  const res = await ibiz.net.axios({
@@ -1,6 +1,6 @@
1
1
  import { createApp } from 'vue';
2
2
  import ElementPlus from 'element-plus';
3
- import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.2_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';
3
+ import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.7_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';
4
4
  import { IBizFullscreenToolbar } from '../../common/fullscreen-toolbar/fullscreen-toolbar.mjs';
5
5
 
6
6
  "use strict";
@@ -1,6 +1,5 @@
1
1
  import { ref, computed, watch, onMounted, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
- import { CoreConst, getAppCookie } from '@ibiz-template/core';
4
3
  import { getFileSvgByType } from './file-type.mjs';
5
4
  import './upload-manager.css';
6
5
 
@@ -55,10 +54,7 @@ const IBizUploadManager = /* @__PURE__ */ defineComponent({
55
54
  const uploadFile = async (item) => {
56
55
  const data = new FormData();
57
56
  data.append("file", item.file);
58
- const headers = {
59
- ["".concat(ibiz.env.tokenHeader, "Authorization")]: "".concat(ibiz.env.tokenPrefix, "Bearer ").concat(getAppCookie(CoreConst.TOKEN)),
60
- ...props.params.headers
61
- };
57
+ const headers = ibiz.util.file.getUploadHeaders();
62
58
  const res = await ibiz.net.axios({
63
59
  url: props.params.uploadUrl,
64
60
  method: "post",
@@ -108,7 +108,7 @@ class UnauthorizedHandler {
108
108
  if (error instanceof HttpError) {
109
109
  if (error.status === 401) {
110
110
  const search = qs.parse(window.location.search.replace("?", ""));
111
- if (search.isAnonymous) {
111
+ if (search.isAnonymous || ibiz.env.enableAnonymous) {
112
112
  ibiz.auth.anonymousLogin().then((bol) => {
113
113
  if (bol) {
114
114
  window.location.reload();
@@ -236,8 +236,9 @@ const DataImport2 = /* @__PURE__ */ vue.defineComponent({
236
236
  }
237
237
  columnMappingListQuery();
238
238
  });
239
+ const uploadHeaders = ibiz.util.file.getUploadHeaders();
239
240
  const headers = vue.ref({
240
- ["".concat(ibiz.env.tokenHeader, "Authorization")]: "".concat(ibiz.env.tokenPrefix, "Bearer ").concat(core.getAppCookie(core.CoreConst.TOKEN))
241
+ ...uploadHeaders
241
242
  });
242
243
  const UploadUrl = vue.computed(() => {
243
244
  let uploadFileUrl;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./editor-empty-text.css');
6
+
7
+ "use strict";
8
+ const IBizEditorEmptyText = /* @__PURE__ */ vue.defineComponent({
9
+ name: "IBizEditorEmptyText",
10
+ props: {
11
+ showPlaceholder: {
12
+ type: Boolean,
13
+ default: false
14
+ },
15
+ placeHolder: {
16
+ type: String,
17
+ default: ""
18
+ }
19
+ },
20
+ setup() {
21
+ const ns = vue3Util.useNamespace("editor-empty-text");
22
+ return {
23
+ ns
24
+ };
25
+ },
26
+ render() {
27
+ return vue.createVNode("span", {
28
+ "class": [this.ns.b(), this.ns.is("placeholder", this.showPlaceholder)]
29
+ }, [this.showPlaceholder && this.placeHolder ? this.placeHolder : ibiz.config.common.emptyText]);
30
+ }
31
+ });
32
+
33
+ exports.IBizEditorEmptyText = IBizEditorEmptyText;
@@ -0,0 +1 @@
1
+ .ibiz-editor-empty-text.is-placeholder{color:var(--ibiz-color-text-3);white-space:nowrap}
@@ -36,10 +36,12 @@ var controlNavigation = require('./control-navigation/control-navigation.cjs');
36
36
  var ganttSetting = require('./gantt-setting/gantt-setting.cjs');
37
37
  var navSplit = require('./nav-split/nav-split.cjs');
38
38
  var cropping = require('./cropping/cropping.cjs');
39
+ var editorEmptyText = require('./editor-empty-text/editor-empty-text.cjs');
39
40
 
40
41
  "use strict";
41
42
  const IBizCommonComponents = {
42
43
  install: (v) => {
44
+ v.component(editorEmptyText.IBizEditorEmptyText.name, editorEmptyText.IBizEditorEmptyText);
43
45
  v.component(cropping.IBizCropping.name, cropping.IBizCropping);
44
46
  v.component(vue3Util.IBizControlBase.name, vue3Util.IBizControlBase);
45
47
  v.component(quickEdit.IBizQuickEdit.name, quickEdit.IBizQuickEdit);
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var vue = require('vue');
4
- var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.2_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');
4
+ var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.7_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');
5
5
 
6
6
  "use strict";
7
7
  function useAppDRTab(c, controlRef, counterData) {
@@ -172,6 +172,40 @@ function getNewNodeControlPanel(control) {
172
172
  }
173
173
  }
174
174
  }
175
+ function useLoadMoreUtil(treeRef, c) {
176
+ const toLoadMoreNode = (parentId) => {
177
+ const _loadMoreNodeData = {
178
+ _id: "".concat(parentId, "_load_more"),
179
+ _text: ibiz.i18n.t("control.common.loadMore"),
180
+ _leaf: true,
181
+ _disableSelect: true,
182
+ _load_more: true
183
+ };
184
+ return _loadMoreNodeData;
185
+ };
186
+ const addLoadMoreNode = (parentId, parentNode) => {
187
+ if (!treeRef.value || !parentId || !parentNode) {
188
+ return;
189
+ }
190
+ const _loadMoreNodeData = toLoadMoreNode(parentId);
191
+ if (treeRef.value.getNode(_loadMoreNodeData)) {
192
+ treeRef.value.remove(_loadMoreNodeData);
193
+ }
194
+ const infoItems = c.getLoadMoreInfoItems(parentId);
195
+ if (infoItems) {
196
+ const result = infoItems.some((infoItem) => {
197
+ return infoItem.curPage < infoItem.totalPage - 1;
198
+ });
199
+ if (result) {
200
+ treeRef.value.append(_loadMoreNodeData, parentNode);
201
+ }
202
+ }
203
+ };
204
+ return {
205
+ toLoadMoreNode,
206
+ addLoadMoreNode
207
+ };
208
+ }
175
209
 
176
210
  exports.findChildItems = findChildItems;
177
211
  exports.findNodeData = findNodeData;
@@ -180,3 +214,4 @@ exports.getNewNodeControlPanel = getNewNodeControlPanel;
180
214
  exports.getNodeControlPanel = getNodeControlPanel;
181
215
  exports.useAppTreeBase = useAppTreeBase;
182
216
  exports.useElTreeUtil = useElTreeUtil;
217
+ exports.useLoadMoreUtil = useLoadMoreUtil;
@@ -307,6 +307,9 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
307
307
  updateUI,
308
308
  triggerNodeExpand
309
309
  } = elTreeUtil.useElTreeUtil(treeRef, c);
310
+ const {
311
+ addLoadMoreNode
312
+ } = elTreeUtil.useLoadMoreUtil(treeRef, c);
310
313
  const toElNodes = (nodes) => {
311
314
  return nodes.map((node) => ({
312
315
  _id: node._id,
@@ -325,6 +328,9 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
325
328
  const elNodes = toElNodes(children);
326
329
  treeRef.value.updateKeyChildren(parentNode._id, elNodes);
327
330
  updateUI();
331
+ vue.nextTick(() => {
332
+ addLoadMoreNode(parentNode._id, parentNode);
333
+ });
328
334
  }
329
335
  });
330
336
  c.evt.on("onAfterNodeDrop", (event) => {
@@ -388,6 +394,10 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
388
394
  ibiz.log.debug("\u7ED9\u6811\u8FD4\u56DE\u503C", nodes);
389
395
  callback(toElNodes(nodes));
390
396
  updateUI();
397
+ vue.nextTick(() => {
398
+ var _a, _b, _c;
399
+ addLoadMoreNode(item.level === 0 ? (_b = (_a = c.state.rootNodes) == null ? void 0 : _a[0]) == null ? void 0 : _b._id : (_c = item.data) == null ? void 0 : _c._id, item);
400
+ });
391
401
  };
392
402
  let selectionWait = false;
393
403
  c.evt.on("onLoadSuccess", () => {
@@ -635,12 +645,20 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
635
645
  debounceSearch();
636
646
  };
637
647
  const allowDrop = (draggingNode, dropNode, type) => {
648
+ var _a;
649
+ if ((_a = dropNode.data) == null ? void 0 : _a._load_more) {
650
+ return false;
651
+ }
638
652
  const draggingNodeData = elTreeUtil.findNodeData(draggingNode.data._uuid, c);
639
653
  const dropNodeData = elTreeUtil.findNodeData(dropNode.data._uuid, c);
640
654
  const result = c.calcAllowDrop(draggingNodeData, dropNodeData, type);
641
655
  return result;
642
656
  };
643
657
  const allowDrag = (draggingNode) => {
658
+ var _a;
659
+ if ((_a = draggingNode.data) == null ? void 0 : _a._load_more) {
660
+ return false;
661
+ }
644
662
  const nodeData = elTreeUtil.findNodeData(draggingNode.data._uuid, c);
645
663
  return c.calcAllowDrag(nodeData);
646
664
  };
@@ -726,6 +744,28 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
726
744
  }
727
745
  }, null)]);
728
746
  };
747
+ const handleLoadMore = async (e, item) => {
748
+ var _a, _b;
749
+ e.stopPropagation();
750
+ if (!item) {
751
+ return;
752
+ }
753
+ if (item.level === 0) {
754
+ await c.loadNodes(void 0, true);
755
+ return;
756
+ }
757
+ const nodeData = elTreeUtil.findNodeData((_a = item.data) == null ? void 0 : _a._uuid, c);
758
+ if (!nodeData) {
759
+ return;
760
+ }
761
+ await c.loadNodes(nodeData, true);
762
+ const elNodes = toElNodes(nodeData._children || []);
763
+ (_b = treeRef.value) == null ? void 0 : _b.updateKeyChildren(nodeData._id, elNodes);
764
+ updateUI();
765
+ vue.nextTick(() => {
766
+ addLoadMoreNode(nodeData._id, nodeData);
767
+ });
768
+ };
729
769
  return {
730
770
  c,
731
771
  ns,
@@ -754,7 +794,8 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
754
794
  handleDrop,
755
795
  onNodeTextEditBlur,
756
796
  renderNewNode,
757
- handleEditKeyDown
797
+ handleEditKeyDown,
798
+ handleLoadMore
758
799
  };
759
800
  },
760
801
  render() {
@@ -796,7 +837,13 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
796
837
  label: "_text",
797
838
  children: "_children",
798
839
  isLeaf: "_leaf",
799
- disabled: "_disableSelect"
840
+ disabled: "_disableSelect",
841
+ class: (data) => {
842
+ if (data == null ? void 0 : data._load_more) {
843
+ return this.ns.is("load-more", true);
844
+ }
845
+ return "";
846
+ }
800
847
  },
801
848
  "lazy": true,
802
849
  "load": this.loadData,
@@ -813,9 +860,18 @@ const TreeControl = /* @__PURE__ */ vue.defineComponent({
813
860
  "onNodeDrop": this.handleDrop
814
861
  }, this.$attrs), {
815
862
  default: ({
816
- data
863
+ data,
864
+ node
817
865
  }) => {
818
866
  var _a, _b;
867
+ if (data._load_more) {
868
+ return vue.createVNode("div", {
869
+ "class": this.ns.b("node"),
870
+ "onClick": (e) => {
871
+ this.handleLoadMore(e, node == null ? void 0 : node.parent);
872
+ }
873
+ }, [data._text]);
874
+ }
819
875
  if (this.newNodeKey === data._id)
820
876
  return this.renderNewNode();
821
877
  const nodeData = this.findNodeData(data._uuid, this.c);