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

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 (114) hide show
  1. package/dist/ibiz-markdown-editor-0VHzFa2l.js +1 -0
  2. package/dist/index-LzKAcXeH.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-TYKjfyR5.js → wang-editor-Iw-hqw1q.js} +1 -1
  6. package/dist/{xlsx-util-Q9msA8ef.js → xlsx-util-FnTIZeKq.js} +1 -1
  7. package/es/control/calendar/components/calendar-user/calendar-user.css +1 -1
  8. package/es/control/calendar/components/calendar-user/calendar-user.mjs +76 -2
  9. package/es/control/data-view/data-view.d.ts +1 -1
  10. package/es/control/data-view/index.d.ts +1 -1
  11. package/es/control/form/form/index.mjs +2 -0
  12. package/es/control/form/form-detail/form-iframe/form-iframe.css +1 -0
  13. package/es/control/form/form-detail/form-iframe/form-iframe.d.ts +29 -0
  14. package/es/control/form/form-detail/form-iframe/form-iframe.mjs +53 -0
  15. package/es/control/form/form-detail/form-iframe/form-iframe.provider.d.ts +13 -0
  16. package/es/control/form/form-detail/form-iframe/form-iframe.provider.mjs +21 -0
  17. package/es/control/form/form-detail/form-iframe/index.d.ts +25 -0
  18. package/es/control/form/form-detail/form-iframe/index.mjs +12 -0
  19. package/es/control/form/form-detail/form-item/form-item.css +1 -1
  20. package/es/control/form/form-detail/form-item/form-item.mjs +6 -4
  21. package/es/control/form/form-detail/index.d.ts +1 -0
  22. package/es/control/form/form-detail/index.mjs +1 -0
  23. package/es/control/form/index.mjs +1 -0
  24. package/es/control/gantt/gantt.d.ts +1 -1
  25. package/es/control/gantt/index.d.ts +1 -1
  26. package/es/control/grid/grid/grid.d.ts +1 -1
  27. package/es/control/grid/grid/index.d.ts +1 -1
  28. package/es/control/grid/grid/index.mjs +2 -0
  29. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +4 -4
  30. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +5 -8
  31. package/es/control/grid/virtualized-table/index.d.ts +136 -0
  32. package/es/control/grid/virtualized-table/index.mjs +18 -0
  33. package/es/control/grid/virtualized-table/virtualized-table.css +1 -0
  34. package/es/control/grid/virtualized-table/virtualized-table.d.ts +200 -0
  35. package/es/control/grid/virtualized-table/virtualized-table.mjs +325 -0
  36. package/es/control/grid/virtualized-table/virtualized-table.provider.d.ts +10 -0
  37. package/es/control/grid/virtualized-table/virtualized-table.provider.mjs +14 -0
  38. package/es/control/grid/virtualized-table/virtualized-table.util.d.ts +95 -0
  39. package/es/control/grid/virtualized-table/virtualized-table.util.mjs +191 -0
  40. package/es/control/index.mjs +1 -0
  41. package/es/control/kanban/index.d.ts +44 -1
  42. package/es/control/kanban/kanban.d.ts +56 -1
  43. package/es/control/kanban/kanban.mjs +36 -2
  44. package/es/control/list/index.d.ts +1 -1
  45. package/es/control/list/list.d.ts +1 -1
  46. package/es/control/list/list.mjs +1 -1
  47. package/es/control/search-bar/search-bar.mjs +3 -0
  48. package/es/control/tree/index.d.ts +1 -1
  49. package/es/control/tree/tree.d.ts +1 -1
  50. package/es/control/tree-grid/index.d.ts +1 -1
  51. package/es/control/tree-grid/tree-grid.d.ts +1 -1
  52. package/es/editor/array/ibiz-array/ibiz-array.css +1 -1
  53. package/es/editor/array/ibiz-array/ibiz-array.mjs +4 -1
  54. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -1
  55. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer.d.ts +1 -1
  56. package/es/editor/data-picker/ibiz-transfer-picker/ibiz-transfer-picker.d.ts +3 -2
  57. package/es/editor/date-range-select/date-range-select-picker/date-range-select.d.ts +5 -5
  58. package/es/editor/date-range-select/date-range-select.controller.mjs +9 -0
  59. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +1 -0
  60. package/es/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.d.ts +4 -3
  61. package/es/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.css +1 -1
  62. package/es/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.d.ts +10 -7
  63. package/es/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.mjs +5 -5
  64. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +1 -1
  65. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +3 -3
  66. package/es/editor/span/span/span.d.ts +1 -1
  67. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.css +1 -1
  68. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.d.ts +3 -77
  69. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.mjs +167 -108
  70. package/es/editor/text-box/input/input.d.ts +4 -4
  71. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +1 -1
  72. package/es/index.mjs +1 -0
  73. package/es/panel-component/panel-button/panel-button.controller.mjs +2 -1
  74. package/es/panel-component/panel-button/panel-button.mjs +1 -1
  75. package/es/util/app-util/app-util.d.ts +54 -2
  76. package/es/util/app-util/app-util.mjs +48 -1
  77. package/lib/control/calendar/components/calendar-user/calendar-user.cjs +76 -2
  78. package/lib/control/calendar/components/calendar-user/calendar-user.css +1 -1
  79. package/lib/control/form/form/index.cjs +2 -0
  80. package/lib/control/form/form-detail/form-iframe/form-iframe.cjs +58 -0
  81. package/lib/control/form/form-detail/form-iframe/form-iframe.css +1 -0
  82. package/lib/control/form/form-detail/form-iframe/form-iframe.provider.cjs +23 -0
  83. package/lib/control/form/form-detail/form-iframe/index.cjs +17 -0
  84. package/lib/control/form/form-detail/form-item/form-item.cjs +5 -3
  85. package/lib/control/form/form-detail/form-item/form-item.css +1 -1
  86. package/lib/control/form/form-detail/index.cjs +2 -0
  87. package/lib/control/form/index.cjs +6 -4
  88. package/lib/control/grid/grid/index.cjs +2 -0
  89. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +3 -6
  90. package/lib/control/grid/virtualized-table/index.cjs +23 -0
  91. package/lib/control/grid/virtualized-table/virtualized-table.cjs +327 -0
  92. package/lib/control/grid/virtualized-table/virtualized-table.css +1 -0
  93. package/lib/control/grid/virtualized-table/virtualized-table.provider.cjs +16 -0
  94. package/lib/control/grid/virtualized-table/virtualized-table.util.cjs +193 -0
  95. package/lib/control/index.cjs +82 -80
  96. package/lib/control/kanban/kanban.cjs +34 -0
  97. package/lib/control/list/list.cjs +1 -1
  98. package/lib/control/search-bar/search-bar.cjs +3 -0
  99. package/lib/editor/array/ibiz-array/ibiz-array.cjs +4 -1
  100. package/lib/editor/array/ibiz-array/ibiz-array.css +1 -1
  101. package/lib/editor/date-range-select/date-range-select.controller.cjs +9 -0
  102. package/lib/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.cjs +5 -5
  103. package/lib/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.css +1 -1
  104. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +1 -1
  105. package/lib/editor/text-box/ibiz-input-ip/ibiz-input-ip.cjs +166 -107
  106. package/lib/editor/text-box/ibiz-input-ip/ibiz-input-ip.css +1 -1
  107. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +1 -1
  108. package/lib/index.cjs +112 -110
  109. package/lib/panel-component/panel-button/panel-button.cjs +1 -1
  110. package/lib/panel-component/panel-button/panel-button.controller.cjs +2 -1
  111. package/lib/util/app-util/app-util.cjs +47 -0
  112. package/package.json +4 -4
  113. package/dist/ibiz-markdown-editor-KyK5mBTS.js +0 -1
  114. package/dist/index-pyv7Wdpx.js +0 -4
@@ -1,8 +1,14 @@
1
1
  import { Router } from 'vue-router';
2
- import { IAppUtil, IAuthResult, IAiChatParam } from '@ibiz-template/runtime';
2
+ import { IAppUtil, IAuthResult, IAiChatParam, IApiViewController } from '@ibiz-template/runtime';
3
3
  import { IChatMessage } from '@ibiz-template/core';
4
4
  export declare class AppUtil implements IAppUtil {
5
- protected router: Router;
5
+ router: Router;
6
+ /**
7
+ * @description 视图缓存中心
8
+ * @type {Map<string, IApiViewController>}
9
+ * @memberof AppUtil
10
+ */
11
+ viewCacheCenter: Map<string, IApiViewController>;
6
12
  /**
7
13
  * Creates an instance of AppUtil.
8
14
  * @author tony001
@@ -109,4 +115,50 @@ export declare class AppUtil implements IAppUtil {
109
115
  * @memberof AppUtil
110
116
  */
111
117
  openAiChat(chartParams: IAiChatParam): Promise<IChatMessage[]>;
118
+ /**
119
+ * @description 当前路由转换成路由路径对象
120
+ * @param {boolean} [isRouteModal]
121
+ * @returns {*} {{
122
+ * appContext?: IParams;
123
+ * pathNodes: {
124
+ * viewName: string;
125
+ * context?: IParams;
126
+ * params?: IParams;
127
+ * srfnav?: string;
128
+ * }[];
129
+ * }}
130
+ * @memberof AppUtil
131
+ */
132
+ route2routeObject(isRouteModal?: boolean): {
133
+ appContext?: IParams;
134
+ pathNodes: {
135
+ viewName: string;
136
+ context?: IParams;
137
+ params?: IParams;
138
+ srfnav?: string;
139
+ }[];
140
+ };
141
+ /**
142
+ * @description 路由路径对象转化为路由路径
143
+ * @param {{
144
+ * appContext?: IParams;
145
+ * pathNodes: {
146
+ * viewName: string;
147
+ * context?: IParams;
148
+ * params?: IParams;
149
+ * srfnav?: string;
150
+ * }[];
151
+ * }} routePath
152
+ * @returns {*} {string}
153
+ * @memberof AppUtil
154
+ */
155
+ routeObject2String(routePath: {
156
+ appContext?: IParams;
157
+ pathNodes: {
158
+ viewName: string;
159
+ context?: IParams;
160
+ params?: IParams;
161
+ srfnav?: string;
162
+ }[];
163
+ }): string;
112
164
  }
@@ -1,10 +1,16 @@
1
1
  import { getDeACMode, calcDeCodeNameById, ConfigService, UIActionUtil, SysUIActionTag } from '@ibiz-template/runtime';
2
2
  import { createUUID } from 'qx-util';
3
3
  import { IBizContext } from '@ibiz-template/core';
4
- import { route2routePath, useUIStore } from '@ibiz-template/vue3-util';
4
+ import { route2routePath, useUIStore, routePath2string } from '@ibiz-template/vue3-util';
5
5
  import { calcAiToolbarItemsByAc } from '../ai-util/ai-util.mjs';
6
6
 
7
7
  "use strict";
8
+ var __defProp = Object.defineProperty;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __publicField = (obj, key, value) => {
11
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
12
+ return value;
13
+ };
8
14
  class AppUtil {
9
15
  /**
10
16
  * Creates an instance of AppUtil.
@@ -14,6 +20,12 @@ class AppUtil {
14
20
  */
15
21
  constructor(router) {
16
22
  this.router = router;
23
+ /**
24
+ * @description 视图缓存中心
25
+ * @type {Map<string, IApiViewController>}
26
+ * @memberof AppUtil
27
+ */
28
+ __publicField(this, "viewCacheCenter", /* @__PURE__ */ new Map());
17
29
  }
18
30
  /**
19
31
  * @description 路由是否初始化构建完成
@@ -441,6 +453,41 @@ class AppUtil {
441
453
  });
442
454
  });
443
455
  }
456
+ /**
457
+ * @description 当前路由转换成路由路径对象
458
+ * @param {boolean} [isRouteModal]
459
+ * @returns {*} {{
460
+ * appContext?: IParams;
461
+ * pathNodes: {
462
+ * viewName: string;
463
+ * context?: IParams;
464
+ * params?: IParams;
465
+ * srfnav?: string;
466
+ * }[];
467
+ * }}
468
+ * @memberof AppUtil
469
+ */
470
+ route2routeObject(isRouteModal) {
471
+ const routePath = route2routePath(this.router.currentRoute.value);
472
+ return routePath;
473
+ }
474
+ /**
475
+ * @description 路由路径对象转化为路由路径
476
+ * @param {{
477
+ * appContext?: IParams;
478
+ * pathNodes: {
479
+ * viewName: string;
480
+ * context?: IParams;
481
+ * params?: IParams;
482
+ * srfnav?: string;
483
+ * }[];
484
+ * }} routePath
485
+ * @returns {*} {string}
486
+ * @memberof AppUtil
487
+ */
488
+ routeObject2String(routePath) {
489
+ return routePath2string(routePath);
490
+ }
444
491
  }
445
492
 
446
493
  export { AppUtil };
@@ -22,6 +22,14 @@ const CalendarUser = /* @__PURE__ */ vue.defineComponent({
22
22
  timeList.value = useCalendarUser.getDayTime();
23
23
  const popoverValue = vue.ref("");
24
24
  const curPopover = vue.ref();
25
+ const scrollContainerRef = vue.ref();
26
+ const scrollTop = vue.ref(0);
27
+ const thumbHeight = vue.ref(0);
28
+ const enableScroll = vue.ref(false);
29
+ const orginY = vue.ref(0);
30
+ const realHeight = vue.ref(1);
31
+ const visibleHeight = vue.ref(1);
32
+ const isScroll = vue.ref(false);
25
33
  vue.watch(() => props.selectedDay, () => {
26
34
  if (props.selectedDay) {
27
35
  weekday.value = useCalendarUser.calcCurWeek(new Date(props.selectedDay));
@@ -104,9 +112,62 @@ const CalendarUser = /* @__PURE__ */ vue.defineComponent({
104
112
  }, [renderEvent(item)]);
105
113
  })])]);
106
114
  };
115
+ const onMouseMove = (event) => {
116
+ if (enableScroll.value) {
117
+ const y = event.clientY - orginY.value;
118
+ scrollTop.value += y;
119
+ orginY.value = event.clientY;
120
+ if (scrollContainerRef.value) {
121
+ scrollContainerRef.value.scrollTop = realHeight.value * (scrollTop.value / visibleHeight.value);
122
+ }
123
+ }
124
+ event.preventDefault();
125
+ event.stopPropagation();
126
+ };
127
+ const onMouseUp = (event) => {
128
+ enableScroll.value = false;
129
+ event.preventDefault();
130
+ event.stopPropagation();
131
+ document.removeEventListener("mousemove", onMouseMove);
132
+ document.removeEventListener("mouseup", onMouseUp);
133
+ };
134
+ const onMouseDown = (event) => {
135
+ orginY.value = event.clientY;
136
+ enableScroll.value = true;
137
+ event.preventDefault();
138
+ event.stopPropagation();
139
+ document.addEventListener("mousemove", onMouseMove);
140
+ document.addEventListener("mouseup", onMouseUp);
141
+ };
142
+ const renderScrollbar = () => {
143
+ return vue.createVNode("div", {
144
+ "class": ns.b("scroll-bar")
145
+ }, [vue.createVNode("div", {
146
+ "class": ns.be("scroll-bar", "thumb"),
147
+ "onMousedown": onMouseDown
148
+ }, null)]);
149
+ };
150
+ const onScroll = (event) => {
151
+ var _a, _b, _c;
152
+ const realTop = ((_a = event.target) == null ? void 0 : _a.scrollTop) || 0;
153
+ realHeight.value = (_b = event.target) == null ? void 0 : _b.scrollHeight;
154
+ visibleHeight.value = (_c = event.target) == null ? void 0 : _c.clientHeight;
155
+ const realRatio = realTop / realHeight.value;
156
+ scrollTop.value = realRatio * visibleHeight.value;
157
+ };
107
158
  const renderWeekContent = () => {
108
159
  return vue.createVNode("div", {
109
- "class": ns.b("content")
160
+ "class": ns.b("content"),
161
+ "style": {
162
+ ["--".concat(ns.namespace, "-calendar-user-scroll-bar-thumb-height")]: "".concat(thumbHeight.value, "px"),
163
+ ["--".concat(ns.namespace, "-calendar-user-scroll-bar-thumb-top")]: "".concat(scrollTop.value, "px")
164
+ }
165
+ }, [vue.createVNode("div", {
166
+ "class": ns.be("content", "wrapping"),
167
+ "ref": (el) => {
168
+ scrollContainerRef.value = el;
169
+ },
170
+ "onScroll": onScroll
110
171
  }, [timeList.value.map((item) => {
111
172
  return vue.createVNode("div", {
112
173
  "class": ns.be("content", "time-item")
@@ -117,8 +178,21 @@ const CalendarUser = /* @__PURE__ */ vue.defineComponent({
117
178
  "class": [ns.be("content", "week-item"), ns.e("cell")]
118
179
  }, [renderEvent(day, item)]);
119
180
  })]);
120
- })]);
181
+ })]), isScroll.value && renderScrollbar()]);
121
182
  };
183
+ vue.watch(() => scrollContainerRef.value, () => {
184
+ if (scrollContainerRef.value) {
185
+ realHeight.value = scrollContainerRef.value.scrollHeight;
186
+ visibleHeight.value = scrollContainerRef.value.clientHeight;
187
+ if (realHeight.value > visibleHeight.value) {
188
+ isScroll.value = true;
189
+ }
190
+ thumbHeight.value = visibleHeight.value * (visibleHeight.value / realHeight.value);
191
+ }
192
+ }, {
193
+ immediate: true,
194
+ deep: true
195
+ });
122
196
  return {
123
197
  ns,
124
198
  renderWeekHeader,
@@ -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;padding-right:4px}.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{flex:1;width:100%;height:100%;overflow:auto}.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}
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)}
@@ -15,6 +15,7 @@ var index$6 = require('../form-detail/form-rawitem/index.cjs');
15
15
  var index$7 = require('../form-detail/form-tab-panel/index.cjs');
16
16
  var index$8 = require('../form-detail/form-tab-page/index.cjs');
17
17
  var index$9 = require('../form-detail/form-button-list/index.cjs');
18
+ var index$a = require('../form-detail/form-iframe/index.cjs');
18
19
 
19
20
  "use strict";
20
21
  const IBizFormControl = vue3Util.withInstall(form.FormControl, function(v) {
@@ -29,6 +30,7 @@ const IBizFormControl = vue3Util.withInstall(form.FormControl, function(v) {
29
30
  v.use(index$7.IBizFormTabPanel);
30
31
  v.use(index$8.IBizFormTabPage);
31
32
  v.use(index$9.IBizFormButtonList);
33
+ v.use(index$a.IBizFormIFrame);
32
34
  });
33
35
 
34
36
  exports.IBizFormControl = IBizFormControl;
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue = require('vue');
6
+ var vue3Util = require('@ibiz-template/vue3-util');
7
+ var runtime = require('@ibiz-template/runtime');
8
+ require('./form-iframe.css');
9
+
10
+ "use strict";
11
+ const FormIFrame = /* @__PURE__ */ vue.defineComponent({
12
+ name: "IBizFormIFrame",
13
+ props: {
14
+ modelData: {
15
+ type: Object,
16
+ required: true
17
+ },
18
+ controller: {
19
+ type: runtime.FormIFrameController,
20
+ required: true
21
+ }
22
+ },
23
+ setup(props) {
24
+ const c = props.controller;
25
+ const ns = vue3Util.useNamespace("form-iframe");
26
+ vue3Util.useController(c);
27
+ const loading = vue.ref(true);
28
+ const url = vue.computed(() => {
29
+ return c.calcIFrameUrl();
30
+ });
31
+ const onLoad = () => {
32
+ loading.value = false;
33
+ };
34
+ return {
35
+ ns,
36
+ url,
37
+ loading,
38
+ onLoad
39
+ };
40
+ },
41
+ render() {
42
+ if (!this.controller.state.visible || !this.url) {
43
+ return null;
44
+ }
45
+ return vue.withDirectives(vue.createVNode("div", {
46
+ "class": this.ns.b()
47
+ }, [vue.createVNode("iframe", {
48
+ "class": this.ns.e("iframe"),
49
+ "src": this.url,
50
+ "frameborder": "0",
51
+ "onLoad": () => this.onLoad(),
52
+ "onError": () => this.onLoad()
53
+ }, null)]), [[vue.resolveDirective("loading"), this.loading]]);
54
+ }
55
+ });
56
+
57
+ exports.FormIFrame = FormIFrame;
58
+ exports.default = FormIFrame;
@@ -0,0 +1 @@
1
+ .ibiz-form-iframe{width:100%;height:100%}.ibiz-form-iframe__iframe{width:100%;height:100%}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var runtime = require('@ibiz-template/runtime');
4
+
5
+ "use strict";
6
+ var __defProp = Object.defineProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __publicField = (obj, key, value) => {
9
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
10
+ return value;
11
+ };
12
+ class FormIFrameProvider {
13
+ constructor() {
14
+ __publicField(this, "component", "IBizFormIFrame");
15
+ }
16
+ async createController(detailModel, form, parent) {
17
+ const c = new runtime.FormIFrameController(detailModel, form, parent);
18
+ await c.init();
19
+ return c;
20
+ }
21
+ }
22
+
23
+ exports.FormIFrameProvider = FormIFrameProvider;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue3Util = require('@ibiz-template/vue3-util');
6
+ var runtime = require('@ibiz-template/runtime');
7
+ var formIframe = require('./form-iframe.cjs');
8
+ var formIframe_provider = require('./form-iframe.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizFormIFrame = vue3Util.withInstall(formIframe.FormIFrame, function(v) {
12
+ v.component(formIframe.FormIFrame.name, formIframe.FormIFrame);
13
+ runtime.registerFormDetailProvider("IFRAME", () => new formIframe_provider.FormIFrameProvider());
14
+ });
15
+
16
+ exports.IBizFormIFrame = IBizFormIFrame;
17
+ exports.default = IBizFormIFrame;
@@ -68,13 +68,15 @@ const FormItem = /* @__PURE__ */ vue.defineComponent({
68
68
  const {
69
69
  editorItems = []
70
70
  } = this.c.model.editor || {};
71
- editor = editorItems.map((item) => {
71
+ editor = editorItems.map((item, index) => {
72
72
  const controller = this.c.form.details[item.id];
73
- return vue.createVNode(compositeFormItem.CompositeFormItem, {
73
+ return [vue.createVNode(compositeFormItem.CompositeFormItem, {
74
74
  "modelData": controller.model,
75
75
  "controller": controller,
76
76
  "attrs": this.attrs
77
- }, null);
77
+ }, null), editorItems.length - 1 > index && vue.createVNode("span", {
78
+ "class": this.ns.e("composite-separator")
79
+ }, [vue.createTextVNode("-")])];
78
80
  });
79
81
  } else {
80
82
  const editMode = (_d = (_c = (_b = this.c.editor) == null ? void 0 : _b.model) == null ? void 0 : _c.editorParams) == null ? void 0 : _d.editMode;
@@ -1 +1 @@
1
- .ibiz-form-item{border-color:var(--ibiz-color-border);--ibiz-form-item-label-color:var(--ibiz-color-text-1);--ibiz-form-item-text-color:var(--ibiz-color-text-2);--ibiz-form-item-hover-color:var(--ibiz-color-text-0);--ibiz-form-item-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-form-item-readonly-color:var(--ibiz-color-disabled-text);--ibiz-form-item-border-color:transparent;--ibiz-form-item-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-placeholder-color:var(--ibiz-color-text-3);--ibiz-form-item-disabled-color:var(--ibiz-color-disabled-text);--ibiz-form-item-disabled-bg-color:var(--ibiz-color-disabled-fill);--ibiz-form-item-disabled-border-color:var(--ibiz-color-disabled-border);--ibiz-form-item-active-bg:var(--ibiz-color-fill-2);--ibiz-form-item-active-border:var(--ibiz-active-bg);--ibiz-form-item-focus-bg:var(--ibiz-color-fill-0);--ibiz-form-item-focus-border:var(--ibiz-color-focus-border);--ibiz-form-item-line-height:var(--ibiz-editor-default-line-height);--ibiz-form-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-form-item-hover-edit-padding:var(--ibiz-spacing-none) 11px}.ibiz-form-item.is-compositeItem{--ibiz-form-item-compositeItem-gap:var(--ibiz-spacing-tight)}.ibiz-form-item.is-compositeItem .ibiz-form-item-container__editor{display:flex;gap:var(--ibiz-form-item-compositeItem-gap)}
1
+ .ibiz-form-item{border-color:var(--ibiz-color-border);--ibiz-form-item-label-color:var(--ibiz-color-text-1);--ibiz-form-item-text-color:var(--ibiz-color-text-2);--ibiz-form-item-hover-color:var(--ibiz-color-text-0);--ibiz-form-item-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-form-item-readonly-color:var(--ibiz-color-disabled-text);--ibiz-form-item-border-color:transparent;--ibiz-form-item-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-placeholder-color:var(--ibiz-color-text-3);--ibiz-form-item-disabled-color:var(--ibiz-color-disabled-text);--ibiz-form-item-disabled-bg-color:var(--ibiz-color-disabled-fill);--ibiz-form-item-disabled-border-color:var(--ibiz-color-disabled-border);--ibiz-form-item-active-bg:var(--ibiz-color-fill-2);--ibiz-form-item-active-border:var(--ibiz-active-bg);--ibiz-form-item-focus-bg:var(--ibiz-color-fill-0);--ibiz-form-item-focus-border:var(--ibiz-color-focus-border);--ibiz-form-item-line-height:var(--ibiz-editor-default-line-height);--ibiz-form-item-font-weight:var(--ibiz-font-weight-regular);--ibiz-form-item-hover-edit-padding:var(--ibiz-spacing-none) 11px}.ibiz-form-item.is-compositeItem{--ibiz-form-item-compositeItem-gap:var(--ibiz-spacing-tight)}.ibiz-form-item.is-compositeItem .ibiz-form-item__composite-separator{line-height:var(--ibiz-form-item-container-line-height)}.ibiz-form-item.is-compositeItem .ibiz-form-item-container__editor{display:flex;gap:var(--ibiz-form-item-compositeItem-gap)}
@@ -10,6 +10,7 @@ var index$6 = require('./form-rawitem/index.cjs');
10
10
  var index$7 = require('./form-tab-panel/index.cjs');
11
11
  var index$8 = require('./form-tab-page/index.cjs');
12
12
  var index$9 = require('./form-button-list/index.cjs');
13
+ var index$a = require('./form-iframe/index.cjs');
13
14
  var formItemContainer = require('./form-item/form-item-container/form-item-container.cjs');
14
15
  var formPage_item = require('./form-page/form-page-item/form-page.item.cjs');
15
16
 
@@ -25,5 +26,6 @@ exports.IBizFormRawItem = index$6.IBizFormRawItem;
25
26
  exports.IBizFormTabPanel = index$7.IBizFormTabPanel;
26
27
  exports.IBizFormTabPage = index$8.IBizFormTabPage;
27
28
  exports.IBizFormButtonList = index$9.IBizFormButtonList;
29
+ exports.IBizFormIFrame = index$a.IBizFormIFrame;
28
30
  exports.IBizFormItemContainer = formItemContainer.IBizFormItemContainer;
29
31
  exports.IBizFormPageItem = formPage_item.IBizFormPageItem;
@@ -2,8 +2,8 @@
2
2
 
3
3
  var index = require('./search-form/index.cjs');
4
4
  require('./form-detail/index.cjs');
5
- var index$b = require('./edit-form/index.cjs');
6
- var index$c = require('./form/index.cjs');
5
+ var index$c = require('./edit-form/index.cjs');
6
+ var index$d = require('./form/index.cjs');
7
7
  var index$1 = require('./form-detail/form-group-panel/index.cjs');
8
8
  var formItemContainer = require('./form-detail/form-item/form-item-container/form-item-container.cjs');
9
9
  var index$2 = require('./form-detail/form-item/index.cjs');
@@ -16,12 +16,13 @@ var index$7 = require('./form-detail/form-rawitem/index.cjs');
16
16
  var index$8 = require('./form-detail/form-tab-panel/index.cjs');
17
17
  var index$9 = require('./form-detail/form-tab-page/index.cjs');
18
18
  var index$a = require('./form-detail/form-button-list/index.cjs');
19
+ var index$b = require('./form-detail/form-iframe/index.cjs');
19
20
 
20
21
  "use strict";
21
22
 
22
23
  exports.IBizSearchFormControl = index.IBizSearchFormControl;
23
- exports.IBizEditFormControl = index$b.IBizEditFormControl;
24
- exports.IBizFormControl = index$c.IBizFormControl;
24
+ exports.IBizEditFormControl = index$c.IBizEditFormControl;
25
+ exports.IBizFormControl = index$d.IBizFormControl;
25
26
  exports.IBizFormGroupPanel = index$1.IBizFormGroupPanel;
26
27
  exports.IBizFormItemContainer = formItemContainer.IBizFormItemContainer;
27
28
  exports.IBizFormItem = index$2.IBizFormItem;
@@ -34,3 +35,4 @@ exports.IBizFormRawItem = index$7.IBizFormRawItem;
34
35
  exports.IBizFormTabPanel = index$8.IBizFormTabPanel;
35
36
  exports.IBizFormTabPage = index$9.IBizFormTabPage;
36
37
  exports.IBizFormButtonList = index$a.IBizFormButtonList;
38
+ exports.IBizFormIFrame = index$b.IBizFormIFrame;
@@ -6,6 +6,7 @@ var runtime = require('@ibiz-template/runtime');
6
6
  var vue3Util = require('@ibiz-template/vue3-util');
7
7
  require('../grid-column/index.cjs');
8
8
  var rowEditPopover = require('../row-edit-popover/row-edit-popover.cjs');
9
+ var index$6 = require('../virtualized-table/index.cjs');
9
10
  var grid = require('./grid.cjs');
10
11
  var grid_provider = require('./grid.provider.cjs');
11
12
  var gridControl_util = require('./grid-control.util.cjs');
@@ -26,6 +27,7 @@ const IBizGridControl = vue3Util.withInstall(grid.GridControl, (v) => {
26
27
  v.use(index$3.IBizGridFieldEditColumn);
27
28
  v.use(index$4.IBizGridGroupColumn);
28
29
  v.use(index$5.IBizDynamicGridFieldEditColumn);
30
+ v.use(index$6.IBizVirtualizedTableControl);
29
31
  runtime.registerControlProvider(runtime.ControlType.GRID, () => new grid_provider.GridProvider());
30
32
  });
31
33
 
@@ -39,12 +39,9 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
39
39
  props.controller.openLinkView(props.row, event);
40
40
  }
41
41
  };
42
- const CustomHtml = vue.ref("");
43
- vue.watch(() => props.row, async () => {
44
- CustomHtml.value = await props.controller.getCustomHtml(props.row);
45
- }, {
46
- deep: true,
47
- immediate: true
42
+ const CustomHtml = vue3Util.computedAsync(async () => {
43
+ const html = await props.controller.getCustomHtml(props.row);
44
+ return html;
48
45
  });
49
46
  const fieldValue = vue.computed(() => props.row.data[props.controller.fieldName]);
50
47
  const formatValue = vue.computed(() => props.controller.formatValue(fieldValue.value));
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var vue3Util = require('@ibiz-template/vue3-util');
6
+ var runtime = require('@ibiz-template/runtime');
7
+ var virtualizedTable = require('./virtualized-table.cjs');
8
+ var virtualizedTable_provider = require('./virtualized-table.provider.cjs');
9
+
10
+ "use strict";
11
+ const IBizVirtualizedTableControl = vue3Util.withInstall(
12
+ virtualizedTable.VirtualizedTableControl,
13
+ (v) => {
14
+ v.component(virtualizedTable.VirtualizedTableControl.name, virtualizedTable.VirtualizedTableControl);
15
+ runtime.registerControlProvider(
16
+ "GRID_VIRTUALIZED_TABLE",
17
+ () => new virtualizedTable_provider.VirtualizedTableProvider()
18
+ );
19
+ }
20
+ );
21
+
22
+ exports.IBizVirtualizedTableControl = IBizVirtualizedTableControl;
23
+ exports.default = IBizVirtualizedTableControl;