@ibiz-template/vue3-components 0.7.26-alpha.3 → 0.7.27

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 (240) hide show
  1. package/dist/{index-8tGeBxpc.js → index-0TO7mjm5.js} +1 -1
  2. package/dist/index-Dq21zXhV.js +4 -0
  3. package/dist/{index-CDgQJyai.js → index-g6o3vQXo.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-8_6qMs6z.js → xlsx-util-qdXxbg2A.js} +1 -1
  7. package/es/common/action-toolbar/action-toolbar.mjs +1 -1
  8. package/es/common/custom-theme/custom-theme.mjs +1 -1
  9. package/es/common/data-import2/data-import2.mjs +4 -1
  10. package/es/common/emoji-select/components/categories/categories.css +1 -0
  11. package/es/common/emoji-select/components/categories/categories.d.ts +30 -0
  12. package/es/common/emoji-select/components/categories/categories.mjs +48 -0
  13. package/es/common/emoji-select/components/categories/index.d.ts +1 -0
  14. package/es/common/emoji-select/components/categories/index.mjs +3 -0
  15. package/es/common/emoji-select/components/category-label/category-label.css +1 -0
  16. package/es/common/emoji-select/components/category-label/category-label.d.ts +18 -0
  17. package/es/common/emoji-select/components/category-label/category-label.mjs +28 -0
  18. package/es/common/emoji-select/components/category-label/index.d.ts +1 -0
  19. package/es/common/emoji-select/components/category-label/index.mjs +3 -0
  20. package/es/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  21. package/es/common/emoji-select/components/emoji-item/emoji-item.d.ts +44 -0
  22. package/es/common/emoji-select/components/emoji-item/emoji-item.mjs +56 -0
  23. package/es/common/emoji-select/components/emoji-item/index.d.ts +1 -0
  24. package/es/common/emoji-select/components/emoji-item/index.mjs +3 -0
  25. package/es/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  26. package/es/common/emoji-select/components/emoji-list/emoji-list.d.ts +92 -0
  27. package/es/common/emoji-select/components/emoji-list/emoji-list.mjs +165 -0
  28. package/es/common/emoji-select/components/emoji-list/index.d.ts +1 -0
  29. package/es/common/emoji-select/components/emoji-list/index.mjs +3 -0
  30. package/es/common/emoji-select/components/index.d.ts +5 -0
  31. package/es/common/emoji-select/components/index.mjs +12 -0
  32. package/es/common/emoji-select/components/input-search/index.d.ts +1 -0
  33. package/es/common/emoji-select/components/input-search/index.mjs +3 -0
  34. package/es/common/emoji-select/components/input-search/input-search.css +1 -0
  35. package/es/common/emoji-select/components/input-search/input-search.d.ts +9 -0
  36. package/es/common/emoji-select/components/input-search/input-search.mjs +49 -0
  37. package/es/common/emoji-select/emoji-select.css +1 -0
  38. package/es/common/emoji-select/emoji-select.d.ts +142 -0
  39. package/es/common/emoji-select/emoji-select.mjs +234 -0
  40. package/es/common/emoji-select/icons/categories.d.ts +2 -0
  41. package/es/common/emoji-select/icons/categories.mjs +64 -0
  42. package/es/common/emoji-select/icons/emoji.d.ts +2 -0
  43. package/es/common/emoji-select/icons/emoji.mjs +1444 -0
  44. package/es/common/emoji-select/icons/index.d.ts +3 -0
  45. package/es/common/emoji-select/icons/index.mjs +5 -0
  46. package/es/common/emoji-select/icons/search.d.ts +1 -0
  47. package/es/common/emoji-select/icons/search.mjs +16 -0
  48. package/es/common/emoji-select/interface/category.d.ts +44 -0
  49. package/es/common/emoji-select/interface/category.mjs +22 -0
  50. package/es/common/emoji-select/interface/emoji.d.ts +37 -0
  51. package/es/common/emoji-select/interface/emoji.mjs +19 -0
  52. package/es/common/emoji-select/interface/index.d.ts +3 -0
  53. package/es/common/emoji-select/interface/index.mjs +5 -0
  54. package/es/common/emoji-select/interface/map-emojis.d.ts +17 -0
  55. package/es/common/emoji-select/interface/map-emojis.mjs +1 -0
  56. package/es/common/index.mjs +2 -0
  57. package/es/common/view-message/view-message.d.ts +1 -0
  58. package/es/control/calendar/calendar.css +1 -1
  59. package/es/control/calendar/calendar.d.ts +3 -2
  60. package/es/control/calendar/calendar.mjs +203 -86
  61. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +1 -1
  62. package/es/control/calendar/components/calendar-daily/index.d.ts +1 -1
  63. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +1 -1
  64. package/es/control/calendar/components/calendar-week/calendar-week.mjs +15 -12
  65. package/es/control/calendar/components/calendar-week/index.d.ts +1 -1
  66. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +1 -0
  67. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +4 -114
  68. package/es/control/calendar/components/interface/calendar-daily.mjs +0 -3
  69. package/es/control/calendar/components/interface/calendar-week.mjs +3 -2
  70. package/es/control/calendar/components/interface/custom-calendar.mjs +8 -3
  71. package/es/control/calendar/components/interface/index.d.ts +0 -1
  72. package/es/control/calendar/components/interface/index.mjs +0 -1
  73. package/es/control/calendar/index.d.ts +2 -1
  74. package/es/control/context-menu/context-menu.mjs +2 -2
  75. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +36 -2
  76. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +18 -8
  77. package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +10 -32
  78. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +93 -56
  79. package/es/control/drtab/drtab-control.util.mjs +7 -11
  80. package/es/control/form/form-detail/form-button/form-button.mjs +1 -1
  81. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  82. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.d.ts +28 -0
  83. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.mjs +52 -7
  84. package/es/control/form/form-detail/form-item/form-item.mjs +4 -0
  85. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +25 -0
  86. package/es/control/grid/grid/grid-control.util.d.ts +8 -0
  87. package/es/control/grid/grid/grid-control.util.mjs +166 -12
  88. package/es/control/grid/grid/grid.css +1 -1
  89. package/es/control/grid/grid/grid.d.ts +8 -0
  90. package/es/control/grid/grid/grid.mjs +12 -2
  91. package/es/control/grid/grid/index.d.ts +8 -0
  92. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  93. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +21 -1
  94. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  95. package/es/control/search-bar/search-bar.mjs +2 -2
  96. package/es/control/toolbar/export-excel/export-excel.mjs +2 -2
  97. package/es/control/toolbar/short-cut-button/short-cut-button.mjs +4 -1
  98. package/es/control/toolbar/toolbar.mjs +2 -2
  99. package/es/control/tree/index.d.ts +9 -0
  100. package/es/control/tree/tree.css +1 -1
  101. package/es/control/tree/tree.d.ts +9 -0
  102. package/es/control/tree/tree.mjs +5 -1
  103. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  104. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +2 -2
  105. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  106. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +4 -0
  107. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.mjs +48 -3
  108. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +2 -2
  109. package/es/editor/data-picker/picker-editor.controller.d.ts +2 -2
  110. package/es/editor/dropdown-list/dropdown-list-editor.controller.d.ts +6 -0
  111. package/es/editor/dropdown-list/dropdown-list-editor.controller.mjs +10 -1
  112. package/es/editor/dropdown-list/dropdown-list-editor.provider.d.ts +1 -0
  113. package/es/editor/dropdown-list/dropdown-list-editor.provider.mjs +10 -1
  114. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
  115. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +17 -4
  116. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  117. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +74 -0
  118. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +144 -0
  119. package/es/editor/dropdown-list/index.d.ts +1 -0
  120. package/es/editor/dropdown-list/index.mjs +1 -0
  121. package/es/editor/index.mjs +6 -0
  122. package/es/editor/span/span/span.mjs +3 -1
  123. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +12 -10
  124. package/es/editor/text-box/input/input.d.ts +1 -1
  125. package/es/editor/text-box/input/input.mjs +3 -0
  126. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +1 -1
  127. package/es/locale/en/index.d.ts +17 -0
  128. package/es/locale/en/index.mjs +17 -0
  129. package/es/locale/zh-CN/index.d.ts +17 -0
  130. package/es/locale/zh-CN/index.mjs +17 -0
  131. package/es/panel-component/nav-tabs/nav-tabs.controller.d.ts +7 -0
  132. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +20 -0
  133. package/es/panel-component/panel-button/panel-button.mjs +1 -1
  134. package/es/view-engine/edit-view.engine.mjs +3 -2
  135. package/es/view-engine/opt-view.engine.mjs +2 -1
  136. package/es/view-engine/pickup-tree-view.engine.mjs +1 -0
  137. package/es/web-app/attach-environment-config.mjs +2 -1
  138. package/lib/common/action-toolbar/action-toolbar.cjs +1 -1
  139. package/lib/common/custom-theme/custom-theme.cjs +1 -1
  140. package/lib/common/data-import2/data-import2.cjs +4 -1
  141. package/lib/common/emoji-select/components/categories/categories.cjs +50 -0
  142. package/lib/common/emoji-select/components/categories/categories.css +1 -0
  143. package/lib/common/emoji-select/components/categories/index.cjs +7 -0
  144. package/lib/common/emoji-select/components/category-label/category-label.cjs +30 -0
  145. package/lib/common/emoji-select/components/category-label/category-label.css +1 -0
  146. package/lib/common/emoji-select/components/category-label/index.cjs +7 -0
  147. package/lib/common/emoji-select/components/emoji-item/emoji-item.cjs +58 -0
  148. package/lib/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  149. package/lib/common/emoji-select/components/emoji-item/index.cjs +7 -0
  150. package/lib/common/emoji-select/components/emoji-list/emoji-list.cjs +167 -0
  151. package/lib/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  152. package/lib/common/emoji-select/components/emoji-list/index.cjs +7 -0
  153. package/lib/common/emoji-select/components/index.cjs +20 -0
  154. package/lib/common/emoji-select/components/input-search/index.cjs +7 -0
  155. package/lib/common/emoji-select/components/input-search/input-search.cjs +51 -0
  156. package/lib/common/emoji-select/components/input-search/input-search.css +1 -0
  157. package/lib/common/emoji-select/emoji-select.cjs +236 -0
  158. package/lib/common/emoji-select/emoji-select.css +1 -0
  159. package/lib/common/emoji-select/icons/categories.cjs +66 -0
  160. package/lib/common/emoji-select/icons/emoji.cjs +1446 -0
  161. package/lib/common/emoji-select/icons/index.cjs +11 -0
  162. package/lib/common/emoji-select/icons/search.cjs +18 -0
  163. package/lib/common/emoji-select/interface/category.cjs +24 -0
  164. package/lib/common/emoji-select/interface/emoji.cjs +21 -0
  165. package/lib/common/emoji-select/interface/index.cjs +10 -0
  166. package/lib/common/emoji-select/interface/map-emojis.cjs +3 -0
  167. package/lib/common/index.cjs +2 -0
  168. package/lib/control/calendar/calendar.cjs +203 -86
  169. package/lib/control/calendar/calendar.css +1 -1
  170. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +15 -12
  171. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +1 -0
  172. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +7 -117
  173. package/lib/control/calendar/components/interface/calendar-daily.cjs +0 -3
  174. package/lib/control/calendar/components/interface/calendar-week.cjs +3 -2
  175. package/lib/control/calendar/components/interface/custom-calendar.cjs +8 -3
  176. package/lib/control/calendar/components/interface/index.cjs +0 -3
  177. package/lib/control/context-menu/context-menu.cjs +2 -2
  178. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +18 -8
  179. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +93 -56
  180. package/lib/control/drtab/drtab-control.util.cjs +7 -11
  181. package/lib/control/form/form-detail/form-button/form-button.cjs +1 -1
  182. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.cjs +51 -6
  183. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  184. package/lib/control/form/form-detail/form-item/form-item.cjs +4 -0
  185. package/lib/control/grid/grid/grid-control.util.cjs +166 -12
  186. package/lib/control/grid/grid/grid.cjs +12 -2
  187. package/lib/control/grid/grid/grid.css +1 -1
  188. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +21 -1
  189. package/lib/control/search-bar/search-bar.cjs +2 -2
  190. package/lib/control/toolbar/export-excel/export-excel.cjs +2 -2
  191. package/lib/control/toolbar/short-cut-button/short-cut-button.cjs +4 -1
  192. package/lib/control/toolbar/toolbar.cjs +2 -2
  193. package/lib/control/tree/tree.cjs +5 -1
  194. package/lib/control/tree/tree.css +1 -1
  195. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  196. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +2 -2
  197. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.cjs +48 -3
  198. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  199. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +2 -2
  200. package/lib/editor/dropdown-list/dropdown-list-editor.controller.cjs +10 -1
  201. package/lib/editor/dropdown-list/dropdown-list-editor.provider.cjs +10 -1
  202. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +17 -4
  203. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +146 -0
  204. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  205. package/lib/editor/dropdown-list/index.cjs +2 -0
  206. package/lib/editor/index.cjs +6 -0
  207. package/lib/editor/span/span/span.cjs +2 -0
  208. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +12 -10
  209. package/lib/editor/text-box/input/input.cjs +3 -0
  210. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +1 -1
  211. package/lib/locale/en/index.cjs +17 -0
  212. package/lib/locale/zh-CN/index.cjs +17 -0
  213. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +20 -0
  214. package/lib/panel-component/panel-button/panel-button.cjs +1 -1
  215. package/lib/view-engine/edit-view.engine.cjs +3 -2
  216. package/lib/view-engine/opt-view.engine.cjs +2 -1
  217. package/lib/view-engine/pickup-tree-view.engine.cjs +1 -0
  218. package/lib/web-app/attach-environment-config.cjs +2 -1
  219. package/package.json +8 -8
  220. package/dist/index-oBteffLj.js +0 -4
  221. package/es/_virtual/localeData.mjs +0 -3
  222. package/es/control/calendar/components/calendar-month/calendar-month.css +0 -1
  223. package/es/control/calendar/components/calendar-month/calendar-month.d.ts +0 -18
  224. package/es/control/calendar/components/calendar-month/calendar-month.mjs +0 -242
  225. package/es/control/calendar/components/calendar-month/index.d.ts +0 -18
  226. package/es/control/calendar/components/calendar-month/index.mjs +0 -9
  227. package/es/control/calendar/components/calendar-month/use-calendar-month.d.ts +0 -3
  228. package/es/control/calendar/components/calendar-month/use-calendar-month.mjs +0 -384
  229. package/es/control/calendar/components/interface/calendar-month.d.ts +0 -20
  230. package/es/control/calendar/components/interface/calendar-month.mjs +0 -43
  231. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.mjs +0 -13
  232. package/lib/_virtual/localeData.cjs +0 -5
  233. package/lib/control/calendar/components/calendar-month/calendar-month.cjs +0 -244
  234. package/lib/control/calendar/components/calendar-month/calendar-month.css +0 -1
  235. package/lib/control/calendar/components/calendar-month/index.cjs +0 -14
  236. package/lib/control/calendar/components/calendar-month/use-calendar-month.cjs +0 -386
  237. package/lib/control/calendar/components/interface/calendar-month.cjs +0 -46
  238. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs +0 -17
  239. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.25_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.27_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
  240. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.25_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.27_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
@@ -30,7 +30,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
30
30
  const clickCollapse = (type) => {
31
31
  showTypeDir.value = type === "left";
32
32
  };
33
- const getPortletByCodeName = (codeName) => {
33
+ const getPortletModelByCodeName = (codeName) => {
34
34
  const app = ibiz.hub.getApp(ibiz.env.appId);
35
35
  if (app.model.appPortlets) {
36
36
  const appPortlet = app.model.appPortlets.find((portlet) => {
@@ -42,15 +42,25 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
42
42
  }
43
43
  }
44
44
  };
45
- const convertData = (models) => {
45
+ const getPortletModel = async (data) => {
46
+ if (data.dynamodelFlag) {
47
+ if (data.portletModel) {
48
+ return data.portletModel;
49
+ }
50
+ const dynaPortlet = await props.dashboard.loadDynaPortletById(data.portletId);
51
+ return dynaPortlet;
52
+ }
53
+ return getPortletModelByCodeName(data.portletCodeName);
54
+ };
55
+ const convertData = async (models) => {
46
56
  const tempModelDatas = [];
47
57
  if (models.length > 0) {
48
- models.forEach((item) => {
49
- const temModelData = getPortletByCodeName(item.portletCodeName);
58
+ for (let i = 0; i < models.length; i++) {
59
+ const temModelData = await getPortletModel(models[i]);
50
60
  if (temModelData) {
51
61
  tempModelDatas.push(temModelData);
52
62
  }
53
- });
63
+ }
54
64
  }
55
65
  return tempModelDatas;
56
66
  };
@@ -60,7 +70,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
60
70
  };
61
71
  const onSaved = async (args) => {
62
72
  isShowDesign.value = false;
63
- const tempModelDatas = convertData(args.model);
73
+ const tempModelDatas = await convertData(args.model);
64
74
  await handleCustomModelChange({
65
75
  model: tempModelDatas,
66
76
  config: args.config
@@ -82,7 +92,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
82
92
  });
83
93
  onMounted(async () => {
84
94
  const response = await customC.loadCustomModelData();
85
- const tempModelDatas = convertData(response.model);
95
+ const tempModelDatas = await convertData(response.model);
86
96
  emit("changed", {
87
97
  model: tempModelDatas
88
98
  });
@@ -122,7 +132,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
122
132
  "class": this.ns.b("build-btn")
123
133
  }, [this.showTypeDir ? createVNode("div", null, [createVNode(resolveComponent("el-button"), {
124
134
  "class": this.ns.b("deisgn-btn"),
125
- "title": ibiz.i18n.t("control.dashboard.customDashboardContainer.portalCustomPrompt"),
135
+ "title": ibiz.env.enableTitle ? ibiz.i18n.t("control.dashboard.customDashboardContainer.portalCustomPrompt") : void 0,
126
136
  "onClick": this.openDesign
127
137
  }, {
128
138
  default: () => [createVNode("ion-icon", {
@@ -4,6 +4,7 @@ import { PropType, Ref } from 'vue';
4
4
  import './dashboard-design.scss';
5
5
  interface IPortletList {
6
6
  type: string;
7
+ portletId?: string;
7
8
  portletCodeName: string;
8
9
  portletName: string;
9
10
  portletImage?: ISysImage;
@@ -11,6 +12,12 @@ interface IPortletList {
11
12
  groupName: string;
12
13
  appCodeName: string;
13
14
  appName: string;
15
+ dynamodelFlag?: number;
16
+ }
17
+ interface IList {
18
+ type: string;
19
+ name: string;
20
+ children: IData[];
14
21
  }
15
22
  export declare const DashboardDesign: import("vue").DefineComponent<{
16
23
  dashboard: {
@@ -28,37 +35,8 @@ export declare const DashboardDesign: import("vue").DefineComponent<{
28
35
  }, {
29
36
  ns: import("@ibiz-template/core").Namespace;
30
37
  customC: CustomDashboardController;
31
- portlets: Ref<{
32
- type: string;
33
- portletCodeName: string;
34
- portletName: string;
35
- portletImage?: {
36
- codeName?: string | undefined;
37
- cssClass?: string | undefined;
38
- cssClassX?: string | undefined;
39
- glyph?: string | undefined;
40
- height?: number | undefined;
41
- imagePath?: string | undefined;
42
- imagePathX?: string | undefined;
43
- rawContent?: string | undefined;
44
- width?: number | undefined;
45
- appId: string;
46
- id?: string | undefined;
47
- name?: string | undefined;
48
- userParam?: Record<string, string> | undefined;
49
- modelId?: string | undefined;
50
- modelType?: string | undefined;
51
- } | undefined;
52
- groupCodeName: string;
53
- groupName: string;
54
- appCodeName: string;
55
- appName: string;
56
- }[]>;
57
- list: Ref<{
58
- type: string;
59
- name: string;
60
- children: IData[];
61
- }[]>;
38
+ portlets: Ref<IPortletList[]>;
39
+ list: Ref<IList[]>;
62
40
  groups: Ref<IData[]>;
63
41
  filterVal: Ref<string>;
64
42
  defaultOpens: import("vue").ComputedRef<string[]>;
@@ -76,9 +54,9 @@ export declare const DashboardDesign: import("vue").DefineComponent<{
76
54
  portletControllers: Ref<{
77
55
  [key: string]: IPortletController;
78
56
  }>;
79
- getPortletByCodeName: (codeName: string) => IDBPortletPart | undefined;
80
57
  maskSize: import("vue").ComputedRef<string>;
81
58
  designPanel: Ref<Element | null>;
59
+ getPortletModelByCodeName: (tag: string) => IDBPortletPart | undefined;
82
60
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reset" | "saved")[], "reset" | "saved", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
83
61
  dashboard: {
84
62
  type: PropType<DashboardController>;
@@ -29,10 +29,20 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
29
29
  emit
30
30
  }) {
31
31
  const ns = useNamespace("dashboard-design");
32
+ const c = props.dashboard;
32
33
  const customC = props.customDashboard;
33
- const filterData = (list2) => {
34
+ const portlets = ref([]);
35
+ const list = ref([]);
36
+ const groups = ref([]);
37
+ const filterVal = ref("");
38
+ const layoutModel = ref(clone(customC.customModelData));
39
+ const layoutConfig = ref(clone(customC.portletConfig));
40
+ const providers = ref({});
41
+ const portletControllers = ref({});
42
+ const designPanel = ref(null);
43
+ const filterData = (list1) => {
34
44
  const items = [];
35
- list2.forEach((data) => {
45
+ list1.forEach((data) => {
36
46
  var _a;
37
47
  if (Object.is(data.type, "app")) {
38
48
  items.push(data);
@@ -96,10 +106,26 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
96
106
  });
97
107
  return items;
98
108
  };
99
- const prepareData = () => {
100
- const list2 = [];
109
+ const prepareData = async () => {
110
+ const list3 = [];
101
111
  const app = ibiz.hub.getApp(ibiz.env.appId);
102
- if (app.model.appPortletCats && app.model.appPortlets) {
112
+ if (c.enableDynamic) {
113
+ const dynamicPortlets = await c.loadAllDynaPortlet();
114
+ dynamicPortlets == null ? void 0 : dynamicPortlets.forEach((portlet) => {
115
+ const temp = {
116
+ type: "app",
117
+ dynamodelFlag: 1,
118
+ portletId: portlet.psappportletid,
119
+ portletCodeName: portlet.codename,
120
+ portletName: portlet.psappportletname,
121
+ groupCodeName: "Ungroup",
122
+ groupName: "\u672A\u5206\u7C7B",
123
+ appCodeName: app.model.pkgcodeName,
124
+ appName: app.model.name
125
+ };
126
+ list3.push(temp);
127
+ });
128
+ } else if (app.model.appPortletCats && app.model.appPortlets) {
103
129
  const isDEView = customC.model.appDataEntityId;
104
130
  const categoryTag = props.dashboard.controlParams.categorytag;
105
131
  app.model.appPortlets.forEach((portlet) => {
@@ -129,28 +155,14 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
129
155
  appCodeName: portlet.appDataEntityId || app.model.pkgcodeName,
130
156
  appName: app.model.name
131
157
  };
132
- list2.push(temp);
158
+ list3.push(temp);
133
159
  });
134
160
  }
135
- const datas = filterData(list2);
136
- const result2 = prepareList(datas);
137
- const groups2 = prepareGroup(datas);
138
- return {
139
- portlets: datas,
140
- list: result2.reverse(),
141
- groups: groups2
142
- };
161
+ const datas = filterData(list3);
162
+ portlets.value = datas;
163
+ list.value = prepareList(datas).reverse();
164
+ groups.value = prepareGroup(datas);
143
165
  };
144
- const result = prepareData();
145
- const portlets = ref(result.portlets);
146
- const list = ref(result.list);
147
- const groups = ref(result.groups);
148
- const filterVal = ref("");
149
- const layoutModel = ref(clone(customC.customModelData));
150
- const layoutConfig = ref(clone(customC.portletConfig));
151
- const providers = ref({});
152
- const portletControllers = ref({});
153
- const designPanel = ref(null);
154
166
  const defaultOpens = computed(() => {
155
167
  let tempOpens = [];
156
168
  if (filterVal.value) {
@@ -186,41 +198,59 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
186
198
  }
187
199
  });
188
200
  };
189
- const getPortletByCodeName = (codeName) => {
201
+ const getPortletModelByCodeName = (tag) => {
190
202
  const app = ibiz.hub.getApp(ibiz.env.appId);
191
203
  if (app.model.appPortlets) {
192
204
  const appPortlet = app.model.appPortlets.find((portlet) => {
193
205
  var _a;
194
- return ((_a = portlet.control) == null ? void 0 : _a.codeName) === codeName;
206
+ return ((_a = portlet.control) == null ? void 0 : _a.codeName) === tag;
195
207
  });
196
208
  if (appPortlet) {
197
209
  return appPortlet.control;
198
210
  }
199
211
  }
200
212
  };
201
- const convertData = (models) => {
213
+ const getPortletModel = async (data) => {
214
+ if (data.dynamodelFlag) {
215
+ if (data.portletModel) {
216
+ return data.portletModel;
217
+ }
218
+ const dynaPortlet = await c.loadDynaPortletById(data.portletId);
219
+ return dynaPortlet;
220
+ }
221
+ return getPortletModelByCodeName(data.portletCodeName);
222
+ };
223
+ const convertData = async (models) => {
202
224
  const tempModelDatas = [];
203
225
  if (models.length > 0) {
204
- models.forEach((item) => {
205
- const temModelData = getPortletByCodeName(item.portletCodeName);
226
+ for (let i = 0; i < models.length; i++) {
227
+ const temModelData = await getPortletModel(models[i]);
206
228
  if (temModelData) {
207
229
  tempModelDatas.push(temModelData);
208
230
  }
209
- });
231
+ }
210
232
  }
211
233
  return tempModelDatas;
212
234
  };
213
- const preparePortlet = async () => {
214
- const tempModelDatas = convertData(layoutModel.value);
235
+ const preparePortlet = async (data) => {
236
+ const tempModelDatas = await convertData(data);
215
237
  await initPortlets(tempModelDatas);
216
238
  await initPortletsConfig();
239
+ return tempModelDatas;
217
240
  };
218
241
  watch(() => props.isShowDesign, async (newVal) => {
219
242
  if (newVal) {
243
+ await prepareData();
220
244
  const res = await customC.loadCustomModelData();
221
- layoutModel.value = clone(res.model);
245
+ const model = clone(res.model);
246
+ const tempModelDatas = await preparePortlet(model);
247
+ layoutModel.value = model;
248
+ layoutModel.value.forEach((item, index) => {
249
+ if (item.dynamodelFlag) {
250
+ item.portletModel = tempModelDatas[index];
251
+ }
252
+ });
222
253
  layoutConfig.value = clone(res.config);
223
- await preparePortlet();
224
254
  }
225
255
  }, {
226
256
  immediate: true
@@ -246,7 +276,7 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
246
276
  const index = layoutModel.value.indexOf(child);
247
277
  if (index !== -1) {
248
278
  layoutModel.value.splice(index, 1);
249
- const temModelData = getPortletByCodeName(child.portletCodeName);
279
+ const temModelData = await getPortletModel(child);
250
280
  if (temModelData) {
251
281
  const controller = portletControllers.value[temModelData.id];
252
282
  await controller.destroyed();
@@ -255,6 +285,7 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
255
285
  };
256
286
  const lastScrollHeight = ref(0);
257
287
  const addLayoutItem = async (child) => {
288
+ const tempModelDatas = await preparePortlet([child]);
258
289
  const element = designPanel.value;
259
290
  if (element) {
260
291
  lastScrollHeight.value = element.scrollHeight + 3 * customC.layoutRowH;
@@ -265,15 +296,20 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
265
296
  maxY = obj.y;
266
297
  }
267
298
  }
268
- layoutModel.value.push({
299
+ const tempItemModel = {
269
300
  w: 4,
270
301
  h: 3,
271
302
  x: 0,
272
303
  y: maxY + 3,
273
304
  i: child.portletCodeName,
274
305
  ...child
275
- });
276
- await preparePortlet();
306
+ };
307
+ if (child.dynamodelFlag) {
308
+ Object.assign(tempItemModel, {
309
+ portletModel: tempModelDatas[0]
310
+ });
311
+ }
312
+ layoutModel.value.push(tempItemModel);
277
313
  if (element) {
278
314
  const intervalId = setInterval(() => {
279
315
  if (element.scrollHeight >= lastScrollHeight.value) {
@@ -319,9 +355,9 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
319
355
  isDisabled,
320
356
  providers,
321
357
  portletControllers,
322
- getPortletByCodeName,
323
358
  maskSize,
324
- designPanel
359
+ designPanel,
360
+ getPortletModelByCodeName
325
361
  };
326
362
  },
327
363
  render() {
@@ -390,23 +426,24 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
390
426
  });
391
427
  };
392
428
  const renderPortlet = (item) => {
393
- const portletModel = this.getPortletByCodeName(item.portletCodeName);
394
- if (portletModel) {
395
- const provider = this.providers[portletModel.id];
396
- const controller = this.portletControllers[portletModel.id];
397
- const commonProps = {
398
- modelData: portletModel,
399
- controller
400
- };
401
- if (!provider) {
402
- return createVNode("div", null, [portletModel.portletType, ibiz.i18n.t("app.noSupport")]);
403
- }
404
- const providerComp = resolveComponent(provider.component);
405
- return h(providerComp, {
406
- ...commonProps,
407
- key: portletModel.id
408
- });
429
+ const portletModel = item.dynamodelFlag ? item.portletModel : this.getPortletModelByCodeName(item.portletCodeName);
430
+ if (!portletModel) {
431
+ return null;
432
+ }
433
+ const provider = this.providers[portletModel.id];
434
+ const controller = this.portletControllers[portletModel.id];
435
+ const commonProps = {
436
+ modelData: portletModel,
437
+ controller
438
+ };
439
+ if (!provider) {
440
+ return createVNode("div", null, [portletModel.portletType, ibiz.i18n.t("app.noSupport")]);
409
441
  }
442
+ const providerComp = resolveComponent(provider.component);
443
+ return h(providerComp, {
444
+ ...commonProps,
445
+ key: portletModel.id
446
+ });
410
447
  };
411
448
  return createVNode("div", {
412
449
  "class": this.ns.b()
@@ -1,5 +1,5 @@
1
1
  import { ref, watch, watchEffect, onUnmounted } from 'vue';
2
- import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.25_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';
2
+ import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.27_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
3
 
4
4
  "use strict";
5
5
  function useAppDRTab(c, controlRef, counterData) {
@@ -34,9 +34,10 @@ function useAppDRTab(c, controlRef, counterData) {
34
34
  const totalDom = controlRef.value.$el;
35
35
  const totalWidth = totalDom.offsetWidth;
36
36
  let accumulatedWidth = 0;
37
- let splitIndex = -1;
37
+ visibleItems.value = [];
38
+ moreItems.value = [];
38
39
  drTabPages.forEach((tab, index) => {
39
- if (splitIndex === -1) {
40
+ if (!tab.hidden) {
40
41
  const caption = tab.caption || "";
41
42
  const counterNum = tab.counterId ? counterData[tab.counterId] : void 0;
42
43
  const fontSize = "var(--".concat(defaultNamespace, "-font-size-regular)");
@@ -64,17 +65,12 @@ function useAppDRTab(c, controlRef, counterData) {
64
65
  moreStyle
65
66
  );
66
67
  if (accumulatedWidth + moreWidth > totalWidth) {
67
- splitIndex = index;
68
+ moreItems.value.push(tab);
69
+ } else {
70
+ visibleItems.value.push(tab);
68
71
  }
69
72
  }
70
73
  });
71
- if (splitIndex !== -1) {
72
- visibleItems.value = drTabPages.slice(0, splitIndex);
73
- moreItems.value = drTabPages.slice(splitIndex);
74
- } else {
75
- visibleItems.value = drTabPages;
76
- moreItems.value = [];
77
- }
78
74
  }
79
75
  const calcDrTabWidth = () => {
80
76
  if (window.ResizeObserver) {
@@ -44,7 +44,7 @@ const FormButton = /* @__PURE__ */ defineComponent({
44
44
  "onClick": this.controller.onClick.bind(this.controller),
45
45
  "loading": this.controller.state.loading,
46
46
  "disabled": this.controller.state.disabled,
47
- "title": this.modelData.tooltip
47
+ "title": ibiz.env.enableTitle ? this.modelData.tooltip : void 0
48
48
  }, {
49
49
  default: () => [createVNode("div", {
50
50
  "class": this.ns.b("content")
@@ -1 +1 @@
1
- .ibiz-form-item-container{--ibiz-form-item-container-label-width:130px;--ibiz-form-item-container-line-height:var(--ibiz-height-control-default);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-label-left-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight) calc(var(--ibiz-spacing-base-tight) / 2) 0;--ibiz-form-item-container-label-right-padding:calc(var(--ibiz-spacing-base-tight) / 2) 0 calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-form-item-container-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-container-label-color:var(--ibiz-color-text-1);--ibiz-form-item-container-error-font-size:var(--ibiz-font-size-small);--ibiz-form-item-container-error-color:var(--ibiz-color-danger);width:100%;height:100%;padding:var(--ibiz-form-item-container-padding)}.ibiz-form-item-container__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:var(--ibiz-form-item-container-font-size);color:var(--ibiz-form-item-container-label-color)}.ibiz-form-item-container--left,.ibiz-form-item-container--right{display:flex;min-height:var(--ibiz-form-item-container-line-height)}.ibiz-form-item-container--left .ibiz-form-item-container__label,.ibiz-form-item-container--right .ibiz-form-item-container__label{width:var(--ibiz-form-item-container-label-width)}.ibiz-form-item-container--bottom,.ibiz-form-item-container--top{display:flex;flex-flow:column nowrap}.ibiz-form-item-container--top .ibiz-form-item-container__label{margin-bottom:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--bottom .ibiz-form-item-container__label{margin-top:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--left .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-left-padding);text-align:right}.ibiz-form-item-container--right .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-right-padding);text-align:left}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{display:inline-block;margin-right:4px;font-family:SimSun;line-height:1;color:var(--ibiz-form-item-container-require-mark-color);content:"*"}.ibiz-form-item-container__content{display:flex;flex-flow:column nowrap;position:relative;flex-grow:1}.ibiz-form-item-container__content--label-left,.ibiz-form-item-container__content--label-none,.ibiz-form-item-container__content--label-right{height:100%}.ibiz-form-item-container__editor{position:relative;flex-grow:1;height:100%}.ibiz-form-item-container__error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:100%;width:100%;font-size:var(--ibiz-form-item-container-error-font-size);line-height:calc(var(--ibiz-form-item-container-error-font-size) + 2px);color:var(--ibiz-form-item-container-error-color);word-wrap:break-word}.ibiz-form-item-container.is-error .el-input__wrapper{box-shadow:0 0 0 1px var(--ibiz-form-item-container-error-color) inset}
1
+ .ibiz-form-item-container{--ibiz-form-item-container-label-width:130px;--ibiz-form-item-container-line-height:var(--ibiz-height-control-default);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-label-left-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight) calc(var(--ibiz-spacing-base-tight) / 2) 0;--ibiz-form-item-container-label-right-padding:calc(var(--ibiz-spacing-base-tight) / 2) 0 calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-form-item-container-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-container-label-color:var(--ibiz-color-text-1);--ibiz-form-item-container-error-font-size:var(--ibiz-font-size-small);--ibiz-form-item-container-error-color:var(--ibiz-color-danger);width:100%;height:100%;padding:var(--ibiz-form-item-container-padding)}.ibiz-form-item-container__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:var(--ibiz-form-item-container-font-size);color:var(--ibiz-form-item-container-label-color)}.ibiz-form-item-container__label--tooltip{--ibiz-form-item-container-label-width:130px;--ibiz-form-item-container-line-height:var(--ibiz-height-control-default);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-label-left-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight) calc(var(--ibiz-spacing-base-tight) / 2) 0;--ibiz-form-item-container-label-right-padding:calc(var(--ibiz-spacing-base-tight) / 2) 0 calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-form-item-container-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-font-size:var(--ibiz-font-size-regular);--ibiz-form-item-container-label-color:var(--ibiz-color-text-1);--ibiz-form-item-container-error-font-size:var(--ibiz-font-size-small);--ibiz-form-item-container-error-color:var(--ibiz-color-danger);max-width:150px;font-size:var(--ibiz-form-item-container-font-size);line-height:var(--ibiz-form-item-container-line-height)}.ibiz-form-item-container__label--tooltip:has(ion-icon){padding-right:var(--ibiz-spacing-base-tight)}.ibiz-form-item-container__label--tooltip a{padding:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-link)}.ibiz-form-item-container__label--tooltip ion-icon{position:absolute;top:var(--ibiz-spacing-base-tight);right:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-width-icon-large)}.ibiz-form-item-container--left,.ibiz-form-item-container--right{display:flex;min-height:var(--ibiz-form-item-container-line-height)}.ibiz-form-item-container--left .ibiz-form-item-container__label,.ibiz-form-item-container--right .ibiz-form-item-container__label{width:var(--ibiz-form-item-container-label-width)}.ibiz-form-item-container--bottom,.ibiz-form-item-container--top{display:flex;flex-flow:column nowrap}.ibiz-form-item-container--top .ibiz-form-item-container__label{margin-bottom:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--bottom .ibiz-form-item-container__label{margin-top:var(--ibiz-spacing-extra-tight)}.ibiz-form-item-container--left .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-left-padding);text-align:right}.ibiz-form-item-container--right .ibiz-form-item-container__label{padding:var(--ibiz-form-item-container-label-right-padding);text-align:left}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{display:inline-block;margin-right:4px;font-family:SimSun;line-height:1;color:var(--ibiz-form-item-container-require-mark-color);content:"*"}.ibiz-form-item-container__content{display:flex;flex-flow:column nowrap;position:relative;flex-grow:1}.ibiz-form-item-container__content--label-left,.ibiz-form-item-container__content--label-none,.ibiz-form-item-container__content--label-right{height:100%}.ibiz-form-item-container__editor{position:relative;flex-grow:1;height:100%}.ibiz-form-item-container__error{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:100%;width:100%;font-size:var(--ibiz-form-item-container-error-font-size);line-height:calc(var(--ibiz-form-item-container-error-font-size) + 2px);color:var(--ibiz-form-item-container-error-color);word-wrap:break-word}.ibiz-form-item-container.is-error .el-input__wrapper{box-shadow:0 0 0 1px var(--ibiz-form-item-container-error-color) inset}
@@ -34,9 +34,23 @@ export declare const IBizFormItemContainer: import("vue").DefineComponent<{
34
34
  type: NumberConstructor;
35
35
  default: number;
36
36
  };
37
+ enableInputTip: {
38
+ type: BooleanConstructor;
39
+ };
40
+ inputTip: {
41
+ type: StringConstructor;
42
+ };
43
+ inputTipUrl: {
44
+ type: StringConstructor;
45
+ };
46
+ inputTipClosable: {
47
+ type: BooleanConstructor;
48
+ };
37
49
  }, {
38
50
  ns: import("@ibiz-template/core").Namespace;
39
51
  cssVars: import("vue").ComputedRef<Record<string, string>>;
52
+ tooltip: import("vue").Ref<any>;
53
+ renderLabel: () => JSX.Element;
40
54
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
41
55
  required: {
42
56
  type: BooleanConstructor;
@@ -72,6 +86,20 @@ export declare const IBizFormItemContainer: import("vue").DefineComponent<{
72
86
  type: NumberConstructor;
73
87
  default: number;
74
88
  };
89
+ enableInputTip: {
90
+ type: BooleanConstructor;
91
+ };
92
+ inputTip: {
93
+ type: StringConstructor;
94
+ };
95
+ inputTipUrl: {
96
+ type: StringConstructor;
97
+ };
98
+ inputTipClosable: {
99
+ type: BooleanConstructor;
100
+ };
75
101
  }>>, {
76
102
  labelWidth: number;
103
+ enableInputTip: boolean;
104
+ inputTipClosable: boolean;
77
105
  }, {}>;
@@ -1,4 +1,4 @@
1
- import { computed, createVNode, defineComponent } from 'vue';
1
+ import { ref, computed, resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './form-item-container.css';
4
4
 
@@ -26,10 +26,23 @@ const IBizFormItemContainer = /* @__PURE__ */ defineComponent({
26
26
  labelWidth: {
27
27
  type: Number,
28
28
  default: 130
29
+ },
30
+ enableInputTip: {
31
+ type: Boolean
32
+ },
33
+ inputTip: {
34
+ type: String
35
+ },
36
+ inputTipUrl: {
37
+ type: String
38
+ },
39
+ inputTipClosable: {
40
+ type: Boolean
29
41
  }
30
42
  },
31
43
  setup(props) {
32
44
  const ns = useNamespace("form-item-container");
45
+ const tooltip = ref();
33
46
  const cssVars = computed(() => {
34
47
  if (props.labelWidth !== 130) {
35
48
  return ns.cssVarBlock({
@@ -38,17 +51,49 @@ const IBizFormItemContainer = /* @__PURE__ */ defineComponent({
38
51
  }
39
52
  return {};
40
53
  });
54
+ const hiddenTooltip = () => {
55
+ if (tooltip.value) {
56
+ tooltip.value.hide();
57
+ }
58
+ };
59
+ const renderLabel = () => {
60
+ const classList = [ns.e("label"), ...props.labelClass || []];
61
+ if (props.enableInputTip) {
62
+ return createVNode(resolveComponent("el-tooltip"), {
63
+ "ref": "tooltip"
64
+ }, {
65
+ default: () => {
66
+ return createVNode("div", {
67
+ "class": classList
68
+ }, [props.label]);
69
+ },
70
+ content: () => {
71
+ return createVNode("div", {
72
+ "class": ns.em("label", "tooltip")
73
+ }, [props.inputTip || props.label, props.inputTipUrl && createVNode("a", {
74
+ "href": props.inputTipUrl,
75
+ "target": "_blank"
76
+ }, [ibiz.i18n.t("component.formItemContainer.more")]), props.inputTipClosable && createVNode("ion-icon", {
77
+ "name": "close-outline",
78
+ "onClick": hiddenTooltip
79
+ }, null)]);
80
+ }
81
+ });
82
+ }
83
+ return createVNode("div", {
84
+ "class": classList,
85
+ "title": props.label
86
+ }, [props.label]);
87
+ };
41
88
  return {
42
89
  ns,
43
- cssVars
90
+ cssVars,
91
+ tooltip,
92
+ renderLabel
44
93
  };
45
94
  },
46
95
  render() {
47
96
  var _a, _b;
48
- const label = createVNode("div", {
49
- "class": [this.ns.e("label"), ...this.labelClass || []],
50
- "title": this.label
51
- }, [this.label]);
52
97
  const content = createVNode("div", {
53
98
  "class": [this.ns.e("content"), this.ns.em("content", "label-".concat(this.labelPos.toLowerCase()))]
54
99
  }, [createVNode("div", {
@@ -60,7 +105,7 @@ const IBizFormItemContainer = /* @__PURE__ */ defineComponent({
60
105
  return createVNode("div", {
61
106
  "class": [this.ns.b(), this.ns.m(this.labelPos.toLowerCase()), this.ns.is("required", this.required), this.ns.is("error", !!this.error)],
62
107
  "style": this.cssVars
63
- }, [this.labelPos === "LEFT" || this.labelPos === "TOP" ? label : null, content, this.labelPos === "RIGHT" || this.labelPos === "BOTTOM" ? label : null]);
108
+ }, [this.labelPos === "LEFT" || this.labelPos === "TOP" ? this.renderLabel() : null, content, this.labelPos === "RIGHT" || this.labelPos === "BOTTOM" ? this.renderLabel() : null]);
64
109
  }
65
110
  });
66
111
 
@@ -77,6 +77,10 @@ const FormItem = /* @__PURE__ */ defineComponent({
77
77
  "labelClass": this.controller.labelClass,
78
78
  "label-pos": this.c.model.labelPos,
79
79
  "label-width": this.c.model.labelWidth,
80
+ "enableInputTip": this.modelData.enableInputTip,
81
+ "inputTip": this.modelData.inputTip,
82
+ "inputTipUrl": this.modelData.inputTipUrl,
83
+ "inputTipClosable": this.modelData.inputTipClosable,
80
84
  "onClick": (event) => this.c.onClick(event)
81
85
  }, _isSlot(editor) ? editor : {
82
86
  default: () => [editor]