@ibiz-template/vue3-components 0.7.38-alpha.21 → 0.7.38-alpha.31

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 (180) hide show
  1. package/dist/ibiz-markdown-editor-BZ8j-yda.js +1 -0
  2. package/dist/{index-CiEIUSX9.js → index-CnCC-cC2.js} +1 -1
  3. package/dist/index-Q4QqDXYJ.js +4 -0
  4. package/dist/{index-HW5stxcy.js → index-X3QXftIl.js} +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/wang-editor-Btv6GIhJ.js +1 -0
  8. package/dist/{xlsx-util-BlkeQIMu.js → xlsx-util-DbA3TyD9.js} +1 -1
  9. package/es/common/action-toolbar/action-toolbar.css +1 -1
  10. package/es/common/anchor-container/anchor-bar-list/anchor-bar-list.css +1 -1
  11. package/es/common/custom-filter-condition/custom-filter-condition.d.ts +2 -0
  12. package/es/common/data-import2/data-import2.mjs +1 -1
  13. package/es/common/gantt-setting/gantt-setting.css +1 -1
  14. package/es/common/gantt-setting/gantt-setting.d.ts +10 -0
  15. package/es/common/gantt-setting/gantt-setting.mjs +23 -3
  16. package/es/common/grid-setting/grid-setting.d.ts +1 -0
  17. package/es/common/grid-setting/grid-setting.mjs +1 -1
  18. package/es/common/view-message/view-message.d.ts +2 -0
  19. package/es/control/app-menu/app-menu.css +1 -1
  20. package/es/control/app-menu/app-menu.mjs +8 -6
  21. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +1 -0
  22. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +51 -0
  23. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +10 -3
  24. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +2 -1
  25. package/es/control/dashboard/dashboard.mjs +13 -1
  26. package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.css +1 -1
  27. package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.mjs +7 -3
  28. package/es/control/drbar/drbar.controller.mjs +1 -1
  29. package/es/control/drtab/drtab-control.util.mjs +1 -1
  30. package/es/control/drtab/drtab.controller.d.ts +19 -7
  31. package/es/control/drtab/drtab.controller.mjs +36 -9
  32. package/es/control/form/form-detail/form-group-panel/form-group-panel.mjs +1 -1
  33. package/es/control/form/form-detail/form-item/form-item.d.ts +1 -0
  34. package/es/control/form/form-detail/form-item/form-item.mjs +21 -2
  35. package/es/control/form/form-detail/form-item/index.d.ts +1 -0
  36. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +100 -0
  37. package/es/control/form/search-form/index.d.ts +9 -0
  38. package/es/control/form/search-form/search-form.d.ts +9 -0
  39. package/es/control/form/search-form/search-form.mjs +4 -0
  40. package/es/control/gantt/gantt.css +1 -1
  41. package/es/control/gantt/gantt.d.ts +1 -0
  42. package/es/control/gantt/gantt.mjs +79 -30
  43. package/es/control/gantt/index.d.ts +1 -0
  44. package/es/control/grid/grid/grid-control.util.d.ts +2 -0
  45. package/es/control/grid/grid/grid-control.util.mjs +38 -2
  46. package/es/control/grid/grid/grid.mjs +11 -2
  47. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  48. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +21 -1
  49. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  50. package/es/control/tab-exp-panel/tab-exp-panel.css +1 -1
  51. package/es/control/tree/tree.css +1 -1
  52. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.mjs +17 -1
  53. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  54. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  55. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +8 -2
  56. package/es/editor/html/wang-editor/wang-editor.mjs +1 -1
  57. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +1 -1
  58. package/es/editor/span/span/span.mjs +7 -1
  59. package/es/editor/span/span-editor.controller.d.ts +7 -0
  60. package/es/editor/span/span-editor.controller.mjs +10 -0
  61. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  62. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +24 -6
  63. package/es/editor/text-box/input/input.css +1 -1
  64. package/es/editor/text-box/input/input.mjs +32 -5
  65. package/es/editor/text-box/text-box-editor.controller.d.ts +7 -0
  66. package/es/editor/text-box/text-box-editor.controller.mjs +10 -0
  67. package/es/editor/upload/use/use-iview-upload.mjs +1 -1
  68. package/es/locale/en/index.d.ts +16 -0
  69. package/es/locale/en/index.mjs +10 -2
  70. package/es/locale/zh-CN/index.d.ts +16 -0
  71. package/es/locale/zh-CN/index.mjs +10 -2
  72. package/es/panel-component/auth-sso/auth-sso.css +1 -0
  73. package/es/panel-component/auth-sso/auth-sso.d.ts +26 -0
  74. package/es/panel-component/auth-sso/auth-sso.mjs +100 -0
  75. package/es/panel-component/auth-sso/auth-sso.provider.d.ts +6 -0
  76. package/es/panel-component/auth-sso/auth-sso.provider.mjs +21 -0
  77. package/es/panel-component/auth-sso/index.d.ts +23 -0
  78. package/es/panel-component/auth-sso/index.mjs +12 -0
  79. package/es/panel-component/coop-pos/coop-pos.controller.d.ts +46 -1
  80. package/es/panel-component/coop-pos/coop-pos.controller.mjs +92 -1
  81. package/es/panel-component/coop-pos/coop-pos.css +1 -1
  82. package/es/panel-component/coop-pos/coop-pos.d.ts +4 -1
  83. package/es/panel-component/coop-pos/coop-pos.mjs +23 -3
  84. package/es/panel-component/coop-pos/index.d.ts +3 -0
  85. package/es/panel-component/index.mjs +2 -0
  86. package/es/panel-component/nav-tabs/nav-tabs.controller.d.ts +1 -1
  87. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +3 -3
  88. package/es/panel-component/panel-button-list/panel-button-list.controller.mjs +2 -1
  89. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +1 -1
  90. package/es/util/app-popover/app-popover-component.mjs +1 -1
  91. package/es/util/fullscreen/fullscreen-util.mjs +2 -2
  92. package/es/util/notification-util/upload-manager/upload-manager.mjs +1 -1
  93. package/es/view/login-view/login-view.mjs +18 -0
  94. package/es/view-engine/edit-view.engine.mjs +14 -0
  95. package/es/view-engine/login-view.engine.mjs +1 -0
  96. package/es/view-engine/opt-view.engine.d.ts +1 -0
  97. package/es/view-engine/opt-view.engine.mjs +41 -1
  98. package/es/view-engine/tab-search-view.engine.d.ts +9 -1
  99. package/es/view-engine/tab-search-view.engine.mjs +52 -2
  100. package/es/web-app/attach-environment-config.mjs +5 -1
  101. package/es/web-app/guard/auth-guard/auth-guard.d.ts +21 -14
  102. package/es/web-app/guard/auth-guard/auth-guard.mjs +26 -19
  103. package/es/web-app/guard/auth-guard/dyna-auth-guard.d.ts +1 -1
  104. package/es/web-app/guard/auth-guard/dyna-auth-guard.mjs +2 -1
  105. package/es/web-app/main.mjs +3 -1
  106. package/es/web-app/router/index.d.ts +3 -2
  107. package/es/web-app/router/index.mjs +15 -4
  108. package/lib/common/action-toolbar/action-toolbar.css +1 -1
  109. package/lib/common/anchor-container/anchor-bar-list/anchor-bar-list.css +1 -1
  110. package/lib/common/data-import2/data-import2.cjs +1 -1
  111. package/lib/common/gantt-setting/gantt-setting.cjs +23 -3
  112. package/lib/common/gantt-setting/gantt-setting.css +1 -1
  113. package/lib/common/grid-setting/grid-setting.cjs +1 -1
  114. package/lib/control/app-menu/app-menu.cjs +8 -6
  115. package/lib/control/app-menu/app-menu.css +1 -1
  116. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +1 -0
  117. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +10 -3
  118. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +2 -1
  119. package/lib/control/dashboard/dashboard.cjs +13 -1
  120. package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.cjs +7 -3
  121. package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.css +1 -1
  122. package/lib/control/drbar/drbar.controller.cjs +1 -1
  123. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  124. package/lib/control/drtab/drtab.controller.cjs +36 -9
  125. package/lib/control/form/form-detail/form-group-panel/form-group-panel.cjs +1 -1
  126. package/lib/control/form/form-detail/form-item/form-item.cjs +20 -1
  127. package/lib/control/form/search-form/search-form.cjs +4 -0
  128. package/lib/control/gantt/gantt.cjs +78 -29
  129. package/lib/control/gantt/gantt.css +1 -1
  130. package/lib/control/grid/grid/grid-control.util.cjs +37 -1
  131. package/lib/control/grid/grid/grid.cjs +11 -2
  132. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +21 -1
  133. package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -1
  134. package/lib/control/tree/tree.css +1 -1
  135. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.cjs +17 -1
  136. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  137. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +8 -2
  138. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  139. package/lib/editor/html/wang-editor/wang-editor.cjs +1 -1
  140. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +1 -1
  141. package/lib/editor/span/span/span.cjs +7 -1
  142. package/lib/editor/span/span-editor.controller.cjs +10 -0
  143. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +24 -6
  144. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  145. package/lib/editor/text-box/input/input.cjs +32 -5
  146. package/lib/editor/text-box/input/input.css +1 -1
  147. package/lib/editor/text-box/text-box-editor.controller.cjs +10 -0
  148. package/lib/editor/upload/use/use-iview-upload.cjs +1 -1
  149. package/lib/locale/en/index.cjs +10 -2
  150. package/lib/locale/zh-CN/index.cjs +10 -2
  151. package/lib/panel-component/auth-sso/auth-sso.cjs +102 -0
  152. package/lib/panel-component/auth-sso/auth-sso.css +1 -0
  153. package/lib/panel-component/auth-sso/auth-sso.provider.cjs +23 -0
  154. package/lib/panel-component/auth-sso/index.cjs +17 -0
  155. package/lib/panel-component/coop-pos/coop-pos.cjs +22 -2
  156. package/lib/panel-component/coop-pos/coop-pos.controller.cjs +91 -0
  157. package/lib/panel-component/coop-pos/coop-pos.css +1 -1
  158. package/lib/panel-component/index.cjs +38 -36
  159. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +3 -3
  160. package/lib/panel-component/panel-button-list/panel-button-list.controller.cjs +2 -1
  161. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +1 -1
  162. package/lib/util/app-popover/app-popover-component.cjs +1 -1
  163. package/lib/util/fullscreen/fullscreen-util.cjs +2 -2
  164. package/lib/util/notification-util/upload-manager/upload-manager.cjs +1 -1
  165. package/lib/view/login-view/login-view.cjs +18 -0
  166. package/lib/view-engine/edit-view.engine.cjs +14 -0
  167. package/lib/view-engine/login-view.engine.cjs +1 -0
  168. package/lib/view-engine/opt-view.engine.cjs +40 -0
  169. package/lib/view-engine/tab-search-view.engine.cjs +52 -2
  170. package/lib/web-app/attach-environment-config.cjs +5 -1
  171. package/lib/web-app/guard/auth-guard/auth-guard.cjs +26 -19
  172. package/lib/web-app/guard/auth-guard/dyna-auth-guard.cjs +2 -1
  173. package/lib/web-app/main.cjs +3 -1
  174. package/lib/web-app/router/index.cjs +15 -4
  175. package/package.json +10 -10
  176. package/dist/ibiz-markdown-editor-B4c6yGAW.js +0 -1
  177. package/dist/index-3cxXHoLs.js +0 -4
  178. package/dist/wang-editor-BUIAd4uJ.js +0 -1
  179. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.38-alpha.32_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  180. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.38-alpha.32_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -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.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_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.38-alpha.32_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_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) {
@@ -21,6 +21,18 @@ class DRTabController extends runtime.ControlController {
21
21
  * @type {AppCounter}
22
22
  */
23
23
  __publicField(this, "counter");
24
+ /**
25
+ * @description 启用缓存
26
+ * @type {boolean}
27
+ * @memberof DRTabController
28
+ */
29
+ __publicField(this, "srfCachePos", false);
30
+ /**
31
+ * @description 缓存标记
32
+ * @type {string}
33
+ * @memberof DRTabController
34
+ */
35
+ __publicField(this, "srfCacheKeyTempl", "");
24
36
  /**
25
37
  * Router 对象
26
38
  *
@@ -59,6 +71,19 @@ class DRTabController extends runtime.ControlController {
59
71
  get routeDepth() {
60
72
  return this.view.modal.routeDepth;
61
73
  }
74
+ /**
75
+ * @description 选中缓存标识
76
+ * @readonly
77
+ * @type {string}
78
+ * @memberof DRTabController
79
+ */
80
+ get storageTag() {
81
+ if (this.srfCacheKeyTempl) {
82
+ return this.srfCacheKeyTempl;
83
+ }
84
+ const userId = this.context.srfuserid;
85
+ return "".concat(userId, "_").concat(this.view.model.codeName, "_").concat(this.model.codeName);
86
+ }
62
87
  /**
63
88
  * 设置 Router 对象
64
89
  *
@@ -99,18 +124,13 @@ class DRTabController extends runtime.ControlController {
99
124
  async onCreated() {
100
125
  await super.onCreated();
101
126
  await this.initCounter();
102
- }
103
- /**
104
- * 部件参数解析
105
- *
106
- * @protected
107
- * @memberof ControlController
108
- */
109
- handleControlParams() {
110
- super.handleControlParams();
127
+ this.srfCacheKeyTempl = this.controlParams.srfcachekeytempl || "";
111
128
  if (this.controlParams.showmore) {
112
129
  this.state.showMore = this.controlParams.showmore === "true";
113
130
  }
131
+ if (this.controlParams.srfcachepos) {
132
+ this.srfCachePos = this.controlParams.srfcachepos.toLowerCase() === "true";
133
+ }
114
134
  }
115
135
  /**
116
136
  * 通过计数器数据,计算项状态
@@ -318,6 +338,10 @@ class DRTabController extends runtime.ControlController {
318
338
  this.state.activeName = this.view.state.srfnav;
319
339
  } else {
320
340
  this.state.activeName = drTabPages[0].tag;
341
+ if (this.srfCachePos && localStorage.getItem(this.storageTag)) {
342
+ const activeName = localStorage.getItem(this.storageTag);
343
+ this.state.activeName = activeName;
344
+ }
321
345
  }
322
346
  const isRoutePushed = !!this.routeDepth && runtime.hasSubRoute(this.routeDepth);
323
347
  this.handleTabChange(isRoutePushed);
@@ -335,6 +359,9 @@ class DRTabController extends runtime.ControlController {
335
359
  const drBarItem = (_a = this.model.dedrtabPages) == null ? void 0 : _a.find(
336
360
  (item) => item.id === activeName
337
361
  );
362
+ if (this.srfCachePos && activeName) {
363
+ localStorage.setItem("".concat(this.storageTag), activeName);
364
+ }
338
365
  if (drBarItem) {
339
366
  this.setVisible("navPos");
340
367
  this.openNavPosView(drBarItem, isRoutePushed);
@@ -130,7 +130,7 @@ const FormGroupPanel = /* @__PURE__ */ vue.defineComponent({
130
130
  }, [!state.isShowMore ? ibiz.i18n.t("control.form.formGroupPanel.showMore") : ibiz.i18n.t("app.retract")])]);
131
131
  }
132
132
  return vue.createVNode("div", {
133
- "id": this.modelData.id,
133
+ "id": "".concat(this.controller.form.view.model.codeName, "_").concat(this.controller.form.model.codeName, "_").concat(this.modelData.codeName),
134
134
  "class": classArr,
135
135
  "onClick": (event) => this.controller.onClick(event)
136
136
  }, [header, vue.createVNode("div", {
@@ -28,14 +28,32 @@ const FormItem = /* @__PURE__ */ vue.defineComponent({
28
28
  }
29
29
  },
30
30
  setup(props) {
31
+ var _a, _b, _c, _d;
31
32
  const ns = vue3Util.useNamespace("form-item");
32
33
  const c = props.controller;
33
34
  const onValueChange = (val, name) => {
34
35
  props.controller.setDataValue(val, name);
35
36
  };
37
+ const extraParams = vue.ref({});
38
+ let emptyHiddenUnit = ibiz.config.form.emptyHiddenUnit;
39
+ const emptyhiddenunit = (_b = (_a = props.controller.form) == null ? void 0 : _a.controlParams) == null ? void 0 : _b.emptyhiddenunit;
40
+ if (emptyhiddenunit) {
41
+ emptyHiddenUnit = Object.is(emptyhiddenunit, "true");
42
+ }
43
+ const editorParams = ((_d = (_c = props.controller.editor) == null ? void 0 : _c.model) == null ? void 0 : _d.editorParams) || {};
44
+ const {
45
+ EMPTYHIDDENUNIT
46
+ } = editorParams;
47
+ if (EMPTYHIDDENUNIT) {
48
+ emptyHiddenUnit = Object.is(EMPTYHIDDENUNIT, "true");
49
+ }
50
+ Object.assign(extraParams.value, {
51
+ emptyHiddenUnit
52
+ });
36
53
  return {
37
54
  ns,
38
55
  c,
56
+ extraParams,
39
57
  onValueChange
40
58
  };
41
59
  },
@@ -54,6 +72,7 @@ const FormItem = /* @__PURE__ */ vue.defineComponent({
54
72
  disabled: this.controller.state.disabled,
55
73
  readonly: this.controller.state.readonly,
56
74
  onChange: this.onValueChange,
75
+ extraParams: this.extraParams,
57
76
  controlParams: editMode ? {
58
77
  ...this.controller.form.controlParams,
59
78
  editmode: editMode
@@ -79,7 +98,7 @@ const FormItem = /* @__PURE__ */ vue.defineComponent({
79
98
  }
80
99
  }
81
100
  return vue.createVNode(vue.resolveComponent("iBizFormItemContainer"), {
82
- "id": this.c.model.id,
101
+ "id": "".concat(this.controller.form.view.model.codeName, "_").concat(this.controller.form.model.codeName, "_").concat(this.modelData.codeName),
83
102
  "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass],
84
103
  "style": this.modelData.cssStyle,
85
104
  "required": this.c.state.required,
@@ -24,6 +24,10 @@ const SearchFormControl = /* @__PURE__ */ vue.defineComponent({
24
24
  provider: {
25
25
  type: Object
26
26
  },
27
+ isSimple: {
28
+ type: Boolean,
29
+ required: false
30
+ },
27
31
  loadDefault: {
28
32
  type: Boolean,
29
33
  default: true
@@ -46,6 +46,7 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
46
46
  const ganttRef = vue.ref();
47
47
  const isInited = vue.ref(false);
48
48
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
49
+ let overlay = null;
49
50
  const sliderMove = vue.ref(false);
50
51
  const iBizRawItem = vue.resolveComponent("IBizRawItem");
51
52
  const iBizIcon = vue.resolveComponent("IBizIcon");
@@ -206,11 +207,16 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
206
207
  c.modifyNodeTime(nodeData, newValue);
207
208
  };
208
209
  const onSettingClick = async () => {
210
+ let limitsize = 0;
211
+ if (c.controlParams.limitsize) {
212
+ limitsize = Number(c.controlParams.limitsize);
213
+ }
209
214
  const res = await ibiz.overlay.modal((modal) => {
210
215
  const comp = vue.resolveComponent("IBizGanttSetting");
211
216
  const options = {
212
217
  modal,
213
- columnStates: c.state.columnStates
218
+ columnStates: c.state.columnStates,
219
+ limitsize
214
220
  };
215
221
  if (c.state.mustShowColumns) {
216
222
  options.mustShowColumns = c.state.mustShowColumns;
@@ -330,10 +336,19 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
330
336
  align
331
337
  } = model;
332
338
  const columnC = c.columns[codeName];
339
+ const columnState = c.state.columnStates.find((item) => {
340
+ return item.key === codeName;
341
+ });
342
+ let tempWidth = 30;
343
+ if (columnState && columnState.columnWidth) {
344
+ tempWidth = columnState.columnWidth > 30 ? columnState.columnWidth : 30;
345
+ } else if (width && width > 30) {
346
+ tempWidth = width;
347
+ }
333
348
  return vue.createVNode(vue.resolveComponent("x-gantt-column"), {
334
349
  "label": caption,
335
350
  "prop": codeName,
336
- "width": width && width > 30 ? width : 30,
351
+ "width": tempWidth,
337
352
  "center": (align == null ? void 0 : align.toLowerCase()) === "center"
338
353
  }, {
339
354
  title: () => {
@@ -358,12 +373,12 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
358
373
  });
359
374
  };
360
375
  const renderNodePanel = (modelData, item) => {
361
- return vue.createVNode(vue.resolveComponent("iBizControlShell"), {
362
- "data": item,
363
- "modelData": modelData,
364
- "context": c.context,
365
- "params": c.params
366
- }, null);
376
+ return vue.h(vue3Util.IBizControlShell, {
377
+ data: item,
378
+ modelData,
379
+ context: c.context,
380
+ params: c.params
381
+ });
367
382
  };
368
383
  const renderNodeInfo = (item) => {
369
384
  return vue.createVNode("div", {
@@ -379,6 +394,29 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
379
394
  "class": "caption"
380
395
  }, [item._text])])]);
381
396
  };
397
+ const openPopover = (row, evt) => {
398
+ if (overlay) {
399
+ return;
400
+ }
401
+ const panel = findNodeLayoutPanel(row._nodeId);
402
+ const component = panel ? renderNodePanel(panel, row._deData) : renderNodeInfo(row);
403
+ overlay = ibiz.overlay.createPopover((modal) => {
404
+ return vue.h(component, {
405
+ modal
406
+ });
407
+ }, void 0, {
408
+ width: "auto",
409
+ height: "auto",
410
+ noArrow: true,
411
+ placement: "bottom",
412
+ modalClass: ns.e("slider-popover")
413
+ });
414
+ overlay == null ? void 0 : overlay.present(evt.target.children[0]);
415
+ };
416
+ const closePopover = () => {
417
+ overlay == null ? void 0 : overlay.dismiss();
418
+ overlay = null;
419
+ };
382
420
  const renderSlider = () => {
383
421
  return vue.createVNode(vue.resolveComponent("x-gantt-slider"), {
384
422
  "allow-link": false,
@@ -387,32 +425,30 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
387
425
  "resize-right": c.state.sliderDraggable
388
426
  }, {
389
427
  content: ({
390
- row
428
+ row,
429
+ left
391
430
  }) => {
392
431
  const {
393
432
  sysCss
394
433
  } = c.getNodeModel(row._nodeId);
395
434
  const sysCssName = (sysCss == null ? void 0 : sysCss.cssName) || "";
396
- return vue.createVNode(vue.resolveComponent("el-popover"), {
397
- "placement": "bottom",
398
- "width": "auto",
399
- "popper-style": {
400
- "min-width": "300px"
401
- }
402
- }, {
403
- reference: () => {
404
- return vue.createVNode("div", {
405
- "class": [ns.e("slider"), sysCssName],
406
- "onClick": (evt) => onNodeClick(row, evt),
407
- "onDblclick": () => onNodeDbClick(row),
408
- "onContextmenu": (evt) => onNodeContextmenu(row, evt)
409
- }, null);
435
+ const marginLeft = left < 0 ? "".concat(-left, "px") : "";
436
+ const caption = row == null ? void 0 : row._text;
437
+ return vue.createVNode("div", {
438
+ "class": [ns.e("slider"), sysCssName],
439
+ "onClick": (evt) => onNodeClick(row, evt),
440
+ "onDblclick": () => onNodeDbClick(row),
441
+ "onContextmenu": (evt) => onNodeContextmenu(row, evt),
442
+ "onMouseenter": (evt) => openPopover(row, evt),
443
+ "onMouseleave": closePopover
444
+ }, [vue.createVNode("div", {
445
+ "class": ns.em("slider", "caption"),
446
+ "style": {
447
+ marginLeft
410
448
  },
411
- default: () => {
412
- const panel = findNodeLayoutPanel(row._nodeId);
413
- return panel ? renderNodePanel(panel, row._deData) : renderNodeInfo(row);
414
- }
415
- });
449
+ "title": caption,
450
+ "innerHTML": caption
451
+ }, null)]);
416
452
  }
417
453
  });
418
454
  };
@@ -445,6 +481,17 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
445
481
  "d": "M11.405 13.975l3.398-5.889L11.405 2.2H4.607L1.208 8.087l3.399 5.889h6.798zm1.023-12.4l3.43 5.938c.205.356.205.793 0 1.149l-3.43 5.938a1.147 1.147 0 0 1-.993.574H4.577c-.41 0-.789-.218-.994-.573L.153 8.66a1.153 1.153 0 0 1 0-1.147l3.43-5.94c.205-.356.584-.575.994-.575h6.858c.409 0 .788.22.993.576zM8.006 9.879c.988 0 1.792-.804 1.792-1.792s-.804-1.792-1.792-1.792-1.792.804-1.792 1.792.804 1.792 1.792 1.792zm0-4.784a2.993 2.993 0 1 1-.002 5.985 2.993 2.993 0 0 1 .002-5.985z"
446
482
  }, null)])])]);
447
483
  };
484
+ const onHeaderDragend = (index, width) => {
485
+ const columnState = c.state.columnStates.filter((item) => {
486
+ var _a2;
487
+ const columnModel = (_a2 = c.columns[item.key]) == null ? void 0 : _a2.model;
488
+ return !item.hidden && columnModel;
489
+ });
490
+ if (columnState && columnState[index]) {
491
+ columnState[index].columnWidth = width;
492
+ c.saveColumnState();
493
+ }
494
+ };
448
495
  return {
449
496
  c,
450
497
  ns,
@@ -466,7 +513,8 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
466
513
  renderNoData,
467
514
  allowDrop,
468
515
  allowDrag,
469
- handleDrop
516
+ handleDrop,
517
+ onHeaderDragend
470
518
  };
471
519
  },
472
520
  render() {
@@ -504,6 +552,7 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
504
552
  "onRowClick": this.onNodeClick,
505
553
  "onRowDblClick": this.onNodeDbClick,
506
554
  "onRowChecked": this.onCheck,
555
+ "onHeaderDragend": this.onHeaderDragend,
507
556
  "onMoveSlider": this.onSliderMove,
508
557
  "primaryColor": this.ganttStyle.primaryColor,
509
558
  "headerStyle": {
@@ -1 +1 @@
1
- .ibiz-control-gantt{width:100%;height:100%}.ibiz-control-gantt .xg-root{--gantt-bg:var(--ibiz-color-bg-1);--gantt-bg-hover:var(--ibiz-color-disabled-border);--gantt-bg-active:var(--ibiz-color-disabled-border);--gantt-bg-checkmark:transparent;--gantt-bg-toolbar-item-hover:var(--ibiz-color-primary-light-default);--gantt-shadow:var(--ibiz-color-shadow);--gantt-shadow-toolbar-item:var(--ibiz-color-shadow);--gantt-border:var(--ibiz-color-tertiary-light-active);--gantt-border-hover:var(--ibiz-color-tertiary-light-active);--gantt-border-dashed:var(--ibiz-color-disabled-border);--gantt-border-toolbar-item:var(--ibiz-color-border);--gantt-border-separate-line:var(--ibiz-color-border);--gantt-text-0:var(--ibiz-color-text-0);--gantt-text-3:var(--ibiz-color-text-3);--gantt-white:var(--ibiz-color-white);--gantt-black:var(--ibiz-color-black);--gantt-warning:var(--ibiz-color-warning)}.ibiz-control-gantt .xg-root .xg-table-body .xg-table-row{cursor:pointer}.ibiz-control-gantt .xg-root .xg-table-body .xg-table-row .xg-table-cell:not(:first-child)>div{padding:var(--ibiz-spacing-none)}.ibiz-control-gantt .xg-root .xg-table-cell>div{width:100%}.ibiz-control-gantt .xg-root .xg-table-cell>div .cell{height:100%}.ibiz-control-gantt--empty .xg-table-body{height:calc(100% - 86px)!important}.ibiz-control-gantt__slider{height:100%;padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base-tight);cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:var(--ibiz-border-radius-small)}.ibiz-control-gantt__slider--container-title .icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-gantt__slider--container-title .number{display:flex;align-items:center}.ibiz-control-gantt__slider--container-title .caption{margin:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-header-6);font-weight:var(--ibiz-font-weight-regular)}.ibiz-control-gantt__slider--container-content{display:flex;justify-content:space-between}.ibiz-control-gantt__slider--container-content .caption{margin:var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-disabled-text)}.ibiz-control-gantt__slider--container-content .detail{display:flex;flex-direction:column;flex-grow:1;align-items:center}.ibiz-control-gantt__setting{display:flex;align-items:center}.ibiz-control-gantt__setting--icon{cursor:pointer;fill:var(--ibiz-color-primary)}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column--ellipsis .ibiz-tree-grid-ex-field-column-text-container{min-width:0}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column-toolbar-container{flex-shrink:0}.ibiz-control-gantt .ibiz-tree-grid-ex-edit-column__editor{min-height:32px}.xg-view-toolbar-switch-action{--gantt-text-switch-item:var(--ibiz-color-text-3);--gantt-bg-hover-switch-item:var(--ibiz-color-bg-0)}
1
+ .ibiz-control-gantt{width:100%;height:100%}.ibiz-control-gantt .xg-root{--gantt-bg:var(--ibiz-color-bg-1);--gantt-bg-hover:var(--ibiz-color-disabled-border);--gantt-bg-active:var(--ibiz-color-disabled-border);--gantt-bg-checkmark:transparent;--gantt-bg-toolbar-item-hover:var(--ibiz-color-primary-light-default);--gantt-shadow:var(--ibiz-color-shadow);--gantt-shadow-toolbar-item:var(--ibiz-color-shadow);--gantt-border:var(--ibiz-color-tertiary-light-active);--gantt-border-hover:var(--ibiz-color-tertiary-light-active);--gantt-border-dashed:var(--ibiz-color-disabled-border);--gantt-border-toolbar-item:var(--ibiz-color-border);--gantt-border-separate-line:var(--ibiz-color-border);--gantt-text-0:var(--ibiz-color-text-0);--gantt-text-3:var(--ibiz-color-text-3);--gantt-white:var(--ibiz-color-white);--gantt-black:var(--ibiz-color-black);--gantt-warning:var(--ibiz-color-warning)}.ibiz-control-gantt .xg-root .xg-table-body .xg-table-row{cursor:pointer}.ibiz-control-gantt .xg-root .xg-table-body .xg-table-row .xg-table-cell:not(:first-child)>div{padding:var(--ibiz-spacing-none)}.ibiz-control-gantt .xg-root .xg-table-cell>div{width:100%}.ibiz-control-gantt .xg-root .xg-table-cell>div .cell{height:100%}.ibiz-control-gantt .xg-root .xg-row.xg-gantt-row{overflow:visible}.ibiz-control-gantt .xg-root .xg-row.xg-gantt-row .xg-slider.xg-slider-drag.xg-slider-level0{overflow:visible}.ibiz-control-gantt .xg-root .xg-row.xg-gantt-row .xg-slider .xg-slider-block{overflow:visible}.ibiz-control-gantt .xg-root .xg-row.xg-gantt-row .xg-slider.is-no-width{display:none}.ibiz-control-gantt .xg-root .ibiz-control-gantt__slider--caption{position:sticky;left:8px}.ibiz-control-gantt .xg-root .is-exceeds-range .ibiz-control-gantt__slider::after{position:absolute;right:0;z-index:99;display:block;width:16px;height:100%;content:"";background-color:var(--ibiz-color-primary)}.ibiz-control-gantt--empty .xg-table-body{height:calc(100% - 86px)!important}.ibiz-control-gantt__slider{display:flex;align-items:center;height:100%;padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base-tight);cursor:pointer;background-color:var(--ibiz-color-primary);border-radius:var(--ibiz-border-radius-small)}.ibiz-control-gantt__slider--container-title .icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-gantt__slider--container-title .number{display:flex;align-items:center}.ibiz-control-gantt__slider--container-title .caption{margin:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-header-6);font-weight:var(--ibiz-font-weight-regular)}.ibiz-control-gantt__slider--container-content{display:flex;justify-content:space-between}.ibiz-control-gantt__slider--container-content .caption{margin:var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-disabled-text)}.ibiz-control-gantt__slider--container-content .detail{display:flex;flex-direction:column;flex-grow:1;align-items:center}.ibiz-control-gantt__slider--caption{overflow:hidden;color:var(--ibiz-color-primary-text);text-overflow:ellipsis;white-space:nowrap}.ibiz-control-gantt__setting{display:flex;align-items:center}.ibiz-control-gantt__setting--icon{cursor:pointer;fill:var(--ibiz-color-primary)}.ibiz-control-gantt__slider-popover{z-index:300!important;width:auto;min-width:300px;padding:12px;border:none;box-shadow:var(--ibiz-shadow-elevated)}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column--ellipsis .ibiz-tree-grid-ex-field-column-text-container{min-width:0}.ibiz-control-gantt .ibiz-tree-grid-ex-field-column-toolbar-container{flex-shrink:0}.ibiz-control-gantt .ibiz-tree-grid-ex-edit-column__editor{min-height:32px}.xg-view-toolbar-switch-action{--gantt-text-switch-item:var(--ibiz-color-text-3);--gantt-bg-hover-switch-item:var(--ibiz-color-bg-0)}
@@ -30,6 +30,19 @@ function useITableEvent(c) {
30
30
  const tableRef = vue.ref();
31
31
  let forbidChange = false;
32
32
  let isGridUISort = false;
33
+ let isCtrlDown = false;
34
+ let cleanKeyDown = core.NOOP;
35
+ let cleanKeyUp = core.NOOP;
36
+ cleanKeyDown = core.listenJSEvent(window, "keydown", (e) => {
37
+ if (e.code === "ControlLeft") {
38
+ isCtrlDown = true;
39
+ }
40
+ });
41
+ cleanKeyUp = core.listenJSEvent(window, "keyup", (e) => {
42
+ if (e.code === "ControlLeft") {
43
+ isCtrlDown = false;
44
+ }
45
+ });
33
46
  c.evt.on("onToggleRowExpansion", (event) => {
34
47
  const { row, expand } = event;
35
48
  if (tableRef.value) {
@@ -49,6 +62,17 @@ function useITableEvent(c) {
49
62
  if (data.srfuf === runtime.Srfuf.CREATE) {
50
63
  return;
51
64
  }
65
+ if (isCtrlDown) {
66
+ const selection = [...c.state.selectedData];
67
+ const index = selection.findIndex((x) => x.srfkey === data.srfkey);
68
+ if (index !== -1) {
69
+ selection.splice(index, 1);
70
+ c.setSelection(selection);
71
+ } else {
72
+ c.setSelection([...selection, data]);
73
+ }
74
+ return;
75
+ }
52
76
  const target = _event.target;
53
77
  const { classList } = target.parentElement || {};
54
78
  if (classList && classList.contains("el-table-column--selection")) {
@@ -202,7 +226,9 @@ function useITableEvent(c) {
202
226
  onSelectionChange,
203
227
  onSortChange,
204
228
  handleRowClassName,
205
- handleHeaderCellClassName
229
+ handleHeaderCellClassName,
230
+ cleanKeyDown,
231
+ cleanKeyUp
206
232
  };
207
233
  }
208
234
  function useAppGridPagination(c) {
@@ -385,7 +411,13 @@ function useAppGridBase(c, props) {
385
411
  const headerDragend = (newWidth, oldWidth, column) => {
386
412
  const { property } = column;
387
413
  const columnC = c.columns[property];
414
+ const columnState = c.state.columnStates.find((item) => {
415
+ return item.key === property;
416
+ });
388
417
  if (columnC.isAdaptiveColumn) {
418
+ if (columnState) {
419
+ columnState.adaptive = false;
420
+ }
389
421
  columnC.isAdaptiveColumn = false;
390
422
  columnC.model.width = newWidth;
391
423
  const index = renderColumns.value.findIndex((renderColumn) => {
@@ -394,6 +426,10 @@ function useAppGridBase(c, props) {
394
426
  });
395
427
  c.hasAdaptiveColumn = index !== -1;
396
428
  }
429
+ if (columnState) {
430
+ columnState.columnWidth = newWidth;
431
+ c.saveColumnStates();
432
+ }
397
433
  };
398
434
  return {
399
435
  tableData,
@@ -37,11 +37,12 @@ function renderColumn(c, model, renderColumns, index) {
37
37
  const columnState = c.state.columnStates.find((item) => item.key === columnName);
38
38
  const widthFlexGrow = columnC.isAdaptiveColumn || !c.hasAdaptiveColumn && index === renderColumns.length - 1;
39
39
  const widthName = widthFlexGrow ? "min-width" : "width";
40
+ const tempWidth = (columnState == null ? void 0 : columnState.columnWidth) || width;
40
41
  return vue.createVNode(vue.resolveComponent("el-table-column"), vue.mergeProps({
41
42
  "label": model.caption,
42
43
  "prop": columnName
43
44
  }, {
44
- [widthName]: width
45
+ [widthName]: tempWidth
45
46
  }, {
46
47
  "fixed": columnState.fixed,
47
48
  "sortable": model.enableSort ? "custom" : false,
@@ -165,7 +166,9 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
165
166
  onSelectionChange,
166
167
  onSortChange,
167
168
  handleRowClassName,
168
- handleHeaderCellClassName
169
+ handleHeaderCellClassName,
170
+ cleanKeyDown = core.NOOP,
171
+ cleanKeyUp = core.NOOP
169
172
  } = gridControl_util.useITableEvent(c);
170
173
  const {
171
174
  onPageChange,
@@ -280,6 +283,12 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
280
283
  if (cleanup !== core.NOOP) {
281
284
  cleanup();
282
285
  }
286
+ if (cleanKeyDown !== core.NOOP) {
287
+ cleanKeyDown();
288
+ }
289
+ if (cleanKeyUp !== core.NOOP) {
290
+ cleanKeyUp();
291
+ }
283
292
  });
284
293
  const isLodeMoreDisabled = vue.computed(() => {
285
294
  if (c.model.pagingMode !== 2) {
@@ -24,6 +24,13 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
24
24
  },
25
25
  setup(props) {
26
26
  const ns = vue3Util.useNamespace("grid-field-column");
27
+ let emptyHiddenUnit = ibiz.config.grid.emptyHiddenUnit;
28
+ const {
29
+ emptyhiddenunit
30
+ } = props.controller.grid.controlParams;
31
+ if (emptyhiddenunit) {
32
+ emptyHiddenUnit = Object.is(emptyhiddenunit, "true");
33
+ }
27
34
  const zIndex = props.controller.grid.state.zIndex;
28
35
  const onCellClick = (event) => {
29
36
  if (props.controller.hasAction) {
@@ -66,6 +73,18 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
66
73
  }
67
74
  return "";
68
75
  });
76
+ const hiddenEmpty = vue.computed(() => {
77
+ if (fieldValue.value) {
78
+ if (emptyHiddenUnit) {
79
+ if (formatValue.value) {
80
+ return true;
81
+ }
82
+ return false;
83
+ }
84
+ return true;
85
+ }
86
+ return false;
87
+ });
69
88
  const codeListValue = vue.computed(() => runtime.ValueExUtil.toText(props.controller.model, fieldValue.value));
70
89
  const codeListText = vue.ref("");
71
90
  const onInfoTextChange = (text) => {
@@ -123,6 +142,7 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
123
142
  tooltip,
124
143
  zIndex,
125
144
  codeListItems,
145
+ hiddenEmpty,
126
146
  findLayoutPanel,
127
147
  renderPanelItemLayout
128
148
  };
@@ -167,7 +187,7 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
167
187
  "class": this.ns.e("text"),
168
188
  "title": core.showTitle(this.tooltip),
169
189
  "onClick": this.onTextClick
170
- }, [this.formatValue, this.fieldValue != null && c.model.unitName, this.percent && "(".concat(this.percent, ")")]);
190
+ }, [this.formatValue, this.hiddenEmpty && c.model.unitName, this.percent && "(".concat(this.percent, ")")]);
171
191
  }
172
192
  return vue.createVNode("div", {
173
193
  "class": [this.ns.b(), c.clickable(this.row) && this.ns.m("clickable"), this.ns.m(this.controller.grid.overflowMode), (_a = this.controller.model.cellSysCss) == null ? void 0 : _a.cssName, this.ns.is("has-action", !!c.model.deuiactionGroup)],
@@ -1 +1 @@
1
- .ibiz-control-tabexppanel .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-2)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-color-text-0)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs.el-tabs--bottom,.ibiz-control-tabexppanel .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel .el-tabs__item{padding:var(--ibiz-spacing-base)}
1
+ .ibiz-control-tabexppanel{--ibiz-control-tabexppanel-color:var(--ibiz-color-text-2);--ibiz-control-tabexppanel-hover-color:var(--ibiz-color-text-0);--ibiz-control-tabexppanel-active-color:var(--ibiz-color-primary);--ibiz-control-tabexppanel-bar-color:var(--ibiz-color-primary)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-tabexppanel-bar-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-tabexppanel-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-tabexppanel-hover-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-tabexppanel-active-color)}.ibiz-control-tabexppanel .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-top:last-child{padding-right:var(--ibiz-spacing-none)}.ibiz-control-tabexppanel .el-tabs.el-tabs--bottom,.ibiz-control-tabexppanel .el-tabs.el-tabs--top{padding-left:var(--ibiz-spacing-base)}.ibiz-control-tabexppanel .el-tabs__item{padding:var(--ibiz-spacing-base)}
@@ -1 +1 @@
1
- .ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text-0);--ibiz-control-treeview-bg-color:transparent;--ibiz-control-treeview-disabled-color:var(--ibiz-color-disabled-text);--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) 0;--ibiz-control-treeview-row-hover-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-row-select-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-select-bg-color:var(--ibiz-color-primary-light-default);--ibiz-control-treeview-font-size:var(--ibiz-font-size-regular);--ibiz-control-treeview-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-node-height:26px;--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2);--ibiz-control-treeview-quick-search-padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight);--ibiz-control-treeview-tree-padding:0 var(--ibiz-spacing-base);position:relative;height:100%;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview__nav-icon{right:10px;top:14px;cursor:pointer;position:absolute;color:var(--ibiz-color-primary)}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-control-treeview-disabled-color);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:var(--ibiz-control-treeview-context-menu-width);text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu{--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2)}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-control-treeview-context-menu-padding);background-color:var(--ibiz-control-treeview-context-menu-bg-color);border-radius:var(--ibiz-control-treeview-context-menu-border-radius);--mx-menu-text:var(--ibiz-control-treeview-context-menu-text-color)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{height:var(--ibiz-control-treeview-context-menu-item-height);padding:var(--ibiz-control-treeview-context-menu-item-padding)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item:hover{color:var(--ibiz-control-treeview-context-menu-text-color);background-color:var(--ibiz-control-treeview-context-menu-hover-color)}.ibiz-control-treeview-quick-search{padding:var(--ibiz-control-treeview-quick-search-padding)}.ibiz-control-treeview-tree.el-tree{--el-tree-text-color:var(--ibiz-control-treeview-text-color);--el-tree-node-content-height:var(--ibiz-control-treeview-node-height);padding:var(--ibiz-control-treeview-tree-padding);background-color:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-tree.el-tree .el-tree-node__content:hover{color:var(--ibiz-control-treeview-row-hover-color);background-color:var(--ibiz-control-treeview-row-hover-bg-color)}.ibiz-control-treeview-tree.el-tree.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:var(--ibiz-control-treeview-row-select-color);background-color:var(--ibiz-control-treeview-row-select-bg-color)}
1
+ .ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text-0);--ibiz-control-treeview-bg-color:transparent;--ibiz-control-treeview-disabled-color:var(--ibiz-color-disabled-text);--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) 0;--ibiz-control-treeview-row-hover-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-row-select-color:var(--ibiz-color-text-0);--ibiz-control-treeview-row-select-bg-color:var(--ibiz-color-primary-light-default);--ibiz-control-treeview-font-size:var(--ibiz-font-size-regular);--ibiz-control-treeview-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-treeview-node-icon-height:var(--ibiz-width-icon-medium);--ibiz-control-treeview-node-icon-width:var(--ibiz-width-icon-medium);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-node-height:26px;--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2);--ibiz-control-treeview-quick-search-padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight);--ibiz-control-treeview-tree-padding:0 var(--ibiz-spacing-base);position:relative;height:100%;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview__nav-icon{position:absolute;top:14px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-control-treeview-disabled-color);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:var(--ibiz-control-treeview-context-menu-width);text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu{--ibiz-control-treeview-context-menu-width:30px;--ibiz-control-treeview-context-menu-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-loose);--ibiz-control-treeview-context-menu-item-height:40px;--ibiz-control-treeview-context-menu-border-radius:var(--ibiz-spacing-none);--ibiz-control-treeview-context-menu-bg-color:var(--ibiz-color-bg-3);--ibiz-control-treeview-context-menu-hover-color:var(--ibiz-color-fill-0);--ibiz-control-treeview-context-menu-text-color:var(--ibiz-color-text-2)}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-control-treeview-context-menu-padding);background-color:var(--ibiz-control-treeview-context-menu-bg-color);border-radius:var(--ibiz-control-treeview-context-menu-border-radius);--mx-menu-text:var(--ibiz-control-treeview-context-menu-text-color)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{height:var(--ibiz-control-treeview-context-menu-item-height);padding:var(--ibiz-control-treeview-context-menu-item-padding)}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item:hover{color:var(--ibiz-control-treeview-context-menu-text-color);background-color:var(--ibiz-control-treeview-context-menu-hover-color)}.ibiz-control-treeview-quick-search{padding:var(--ibiz-control-treeview-quick-search-padding)}.ibiz-control-treeview-tree.el-tree{--el-tree-text-color:var(--ibiz-control-treeview-text-color);--el-tree-node-content-height:var(--ibiz-control-treeview-node-height);padding:var(--ibiz-control-treeview-tree-padding);background-color:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-tree.el-tree .el-tree-node__content:hover{color:var(--ibiz-control-treeview-row-hover-color);background-color:var(--ibiz-control-treeview-row-hover-bg-color)}.ibiz-control-treeview-tree.el-tree.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:var(--ibiz-control-treeview-row-select-color);background-color:var(--ibiz-control-treeview-row-select-bg-color)}
@@ -24,6 +24,13 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
24
24
  },
25
25
  setup(props) {
26
26
  const ns = vue3Util.useNamespace("tree-grid-ex-field-column");
27
+ let emptyHiddenUnit = ibiz.config.grid.emptyHiddenUnit;
28
+ const {
29
+ emptyhiddenunit
30
+ } = props.controller.treeGrid.controlParams;
31
+ if (emptyhiddenunit) {
32
+ emptyHiddenUnit = Object.is(emptyhiddenunit, "true");
33
+ }
27
34
  const fieldValue = vue.computed(() => {
28
35
  if (props.row.data._nodeType !== "DE" && props.controller.isFirstShowColumn) {
29
36
  return props.row.data._text;
@@ -38,6 +45,7 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
38
45
  codeListText.value = text;
39
46
  };
40
47
  const showText = vue.computed(() => {
48
+ var _a, _b;
41
49
  const nodeColumnC = nodeColumn.value;
42
50
  if (nodeColumnC) {
43
51
  if (nodeColumnC.nodeEditItem) {
@@ -46,7 +54,15 @@ const TreeGridExFieldColumn = /* @__PURE__ */ vue.defineComponent({
46
54
  if (nodeColumnC.codeList) {
47
55
  return codeListText.value;
48
56
  }
49
- return nodeColumnC.formatValue(fieldValue.value) + (nodeColumnC.unitName || "");
57
+ let text = nodeColumnC.formatValue(fieldValue.value);
58
+ if (emptyHiddenUnit) {
59
+ if (text) {
60
+ text += nodeColumnC.unitName || ((_a = nodeColumnC.nodeColumn) == null ? void 0 : _a.unitName) || "";
61
+ }
62
+ } else {
63
+ text += nodeColumnC.unitName || ((_b = nodeColumnC.nodeColumn) == null ? void 0 : _b.unitName) || "";
64
+ }
65
+ return text;
50
66
  }
51
67
  return fieldValue.value;
52
68
  });
@@ -1 +1 @@
1
- .ibiz-picker-embed-view--disabled{cursor:not-allowed}.ibiz-picker-embed-view--disabled *{pointer-events:none;cursor:not-allowed}.ibiz-picker-embed-view--disabled .el-tree-node__expand-icon{pointer-events:all;cursor:pointer}.ibiz-picker-embed-view--show-value{height:calc(100% - var(--ibiz-form-item-line-height))}.ibiz-picker-embed-view .ibiz-picker-embed-view-view{height:100%}.ibiz-picker-embed-view .ibiz-picker-embed-view-value{height:var(--ibiz-form-item-line-height);line-height:var(--ibiz-form-item-line-height)}
1
+ .ibiz-picker-embed-view{width:100%;height:100%}.ibiz-picker-embed-view--disabled{cursor:not-allowed}.ibiz-picker-embed-view--disabled *{pointer-events:none;cursor:not-allowed}.ibiz-picker-embed-view--disabled .el-tree-node__expand-icon{pointer-events:all;cursor:pointer}.ibiz-picker-embed-view--show-value .ibiz-picker-embed-view-view{height:calc(100% - var(--ibiz-form-item-line-height))!important}.ibiz-picker-embed-view .ibiz-picker-embed-view-view{height:100%}.ibiz-picker-embed-view .ibiz-picker-embed-view-value{height:var(--ibiz-form-item-line-height)}
@@ -49,7 +49,12 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
49
49
  const list = [];
50
50
  nodes.forEach((codeItem) => {
51
51
  var _a;
52
- codeListItems.value.push(codeItem);
52
+ const index = codeListItems.value.findIndex((_item) => {
53
+ return _item.value === codeItem.value;
54
+ });
55
+ if (index === -1) {
56
+ codeListItems.value.push(codeItem);
57
+ }
53
58
  const tempObj = {
54
59
  label: codeItem.text,
55
60
  value: (_a = codeItem.value) == null ? void 0 : _a.toString(),
@@ -301,7 +306,8 @@ const IBizDropdown = /* @__PURE__ */ vue.defineComponent({
301
306
  "class": [ns.b("select-option-text"), codeListItem == null ? void 0 : codeListItem.textCls],
302
307
  "style": (codeListItem == null ? void 0 : codeListItem.color) || (codeListItem == null ? void 0 : codeListItem.bkcolor) ? ns.cssVarBlock({
303
308
  "select-option-item-color": "".concat(codeListItem.color || ""),
304
- "select-option-item-bkcolor": "".concat(codeListItem.bkcolor || "")
309
+ "select-option-item-bkcolor": "".concat(codeListItem.bkcolor || ""),
310
+ "select-option-item-padding": "0 var(".concat(ns.cssVarName("spacing-base"), ")")
305
311
  }) : ""
306
312
  }, [(codeListItem == null ? void 0 : codeListItem.sysImage) && vue.createVNode(vue.resolveComponent("iBizIcon"), {
307
313
  "icon": codeListItem == null ? void 0 : codeListItem.sysImage