@ibiz-template/vue3-components 0.7.5 → 0.7.7-dev.0

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 (91) hide show
  1. package/dist/index-FAFZUJRc.js +4 -0
  2. package/dist/index-Rqr5SnvQ.js +1 -0
  3. package/dist/index-x-jLCilD.js +1 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-iqcGVBHE.js → xlsx-util-2bS-pf2I.js} +1 -1
  7. package/es/common/action-toolbar/action-toolbar.d.ts +1 -0
  8. package/es/common/action-toolbar/action-toolbar.mjs +10 -2
  9. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +25 -3
  10. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +19 -5
  11. package/es/control/dashboard/dashboard-design/dashboard-design.css +1 -1
  12. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +18 -4
  13. package/es/control/dashboard/dashboard.d.ts +0 -1
  14. package/es/control/dashboard/dashboard.mjs +3 -11
  15. package/es/control/dashboard/index.d.ts +0 -1
  16. package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +3 -6
  17. package/es/control/drbar/drbar.controller.mjs +2 -1
  18. package/es/control/drtab/drtab.controller.mjs +2 -1
  19. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +4 -0
  20. package/es/control/grid/grid/grid.css +1 -1
  21. package/es/control/grid/grid/grid.d.ts +1 -0
  22. package/es/control/grid/grid/grid.mjs +33 -2
  23. package/es/control/grid/grid/index.d.ts +1 -0
  24. package/es/control/kanban/kanban.css +1 -1
  25. package/es/control/kanban/kanban.mjs +2 -1
  26. package/es/control/toolbar/toolbar.mjs +13 -7
  27. package/es/control/wizard-panel/wizard-panel.mjs +8 -9
  28. package/es/editor/code/monaco-editor/monaco-editor.css +1 -1
  29. package/es/editor/code/monaco-editor/monaco-editor.d.ts +7 -0
  30. package/es/editor/code/monaco-editor/monaco-editor.mjs +179 -16
  31. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +16 -8
  32. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +1 -0
  33. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +10 -3
  34. package/es/editor/text-box/input/input.d.ts +1 -0
  35. package/es/editor/text-box/input/input.mjs +9 -2
  36. package/es/ibiz-vue3.mjs +2 -0
  37. package/es/index.mjs +1 -0
  38. package/es/locale/en/index.d.ts +9 -1
  39. package/es/locale/en/index.mjs +10 -2
  40. package/es/locale/zh-CN/index.d.ts +9 -1
  41. package/es/locale/zh-CN/index.mjs +10 -2
  42. package/es/panel-component/panel-button/panel-button.controller.mjs +2 -0
  43. package/es/panel-component/panel-static-carousel/panel-static-carousel.mjs +13 -5
  44. package/es/util/open-view-util/open-view-util.mjs +2 -3
  45. package/es/view/403-view/403-view.css +1 -0
  46. package/es/view/403-view/403-view.d.ts +6 -0
  47. package/es/view/403-view/403-view.mjs +45 -0
  48. package/es/view/404-view/404-view.mjs +2 -2
  49. package/es/view/index.d.ts +1 -0
  50. package/es/view/index.mjs +1 -0
  51. package/es/view-engine/wizard-view-engine.mjs +2 -2
  52. package/es/web-app/components/modal-router-shell/modal-router-shell.mjs +5 -2
  53. package/es/web-app/util/unauthorized-handler/unauthorized-handler.d.ts +1 -1
  54. package/es/web-app/util/unauthorized-handler/unauthorized-handler.mjs +3 -12
  55. package/lib/common/action-toolbar/action-toolbar.cjs +10 -2
  56. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +19 -5
  57. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +18 -4
  58. package/lib/control/dashboard/dashboard-design/dashboard-design.css +1 -1
  59. package/lib/control/dashboard/dashboard.cjs +2 -10
  60. package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +3 -6
  61. package/lib/control/drbar/drbar.controller.cjs +2 -1
  62. package/lib/control/drtab/drtab.controller.cjs +2 -1
  63. package/lib/control/grid/grid/grid.cjs +33 -2
  64. package/lib/control/grid/grid/grid.css +1 -1
  65. package/lib/control/kanban/kanban.cjs +2 -1
  66. package/lib/control/kanban/kanban.css +1 -1
  67. package/lib/control/toolbar/toolbar.cjs +13 -7
  68. package/lib/control/wizard-panel/wizard-panel.cjs +8 -9
  69. package/lib/editor/code/monaco-editor/monaco-editor.cjs +178 -15
  70. package/lib/editor/code/monaco-editor/monaco-editor.css +1 -1
  71. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +16 -8
  72. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +10 -3
  73. package/lib/editor/text-box/input/input.cjs +9 -2
  74. package/lib/ibiz-vue3.cjs +2 -0
  75. package/lib/index.cjs +2 -0
  76. package/lib/locale/en/index.cjs +10 -2
  77. package/lib/locale/zh-CN/index.cjs +10 -2
  78. package/lib/panel-component/panel-button/panel-button.controller.cjs +2 -0
  79. package/lib/panel-component/panel-static-carousel/panel-static-carousel.cjs +13 -5
  80. package/lib/util/open-view-util/open-view-util.cjs +2 -3
  81. package/lib/view/403-view/403-view.cjs +47 -0
  82. package/lib/view/403-view/403-view.css +1 -0
  83. package/lib/view/404-view/404-view.cjs +2 -2
  84. package/lib/view/index.cjs +2 -0
  85. package/lib/view-engine/wizard-view-engine.cjs +2 -2
  86. package/lib/web-app/components/modal-router-shell/modal-router-shell.cjs +4 -1
  87. package/lib/web-app/util/unauthorized-handler/unauthorized-handler.cjs +3 -12
  88. package/package.json +7 -7
  89. package/dist/index-13Oh42A8.js +0 -1
  90. package/dist/index-QdhEqiEH.js +0 -4
  91. package/dist/index-ZIuDbCjc.js +0 -1
@@ -39,6 +39,7 @@ export declare const IBizActionToolbar: import("vue").DefineComponent<{
39
39
  };
40
40
  }, {
41
41
  ns: import("@ibiz-template/core").Namespace;
42
+ dropdownRef: Ref<any>;
42
43
  popoverIndex: number;
43
44
  expandDetails: Ref<IAppDEUIActionGroupDetail[]>;
44
45
  groupDetails: Ref<IAppDEUIActionGroupDetail[]>;
@@ -37,6 +37,8 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
37
37
  emit
38
38
  }) {
39
39
  const ns = useNamespace("action-toolbar");
40
+ const dropdownRef = ref();
41
+ const popoverVisible = ref(false);
40
42
  props.actionDetails.forEach((detail) => {
41
43
  if (detail.capLanguageRes && detail.capLanguageRes.lanResTag) {
42
44
  detail.caption = ibiz.i18n.t(detail.capLanguageRes.lanResTag, detail.caption);
@@ -47,6 +49,11 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
47
49
  });
48
50
  const handleClick = async (detail, e) => {
49
51
  e.stopPropagation();
52
+ if (props.mode === "buttons") {
53
+ popoverVisible.value = false;
54
+ } else if (dropdownRef.value) {
55
+ dropdownRef.value.handleClose();
56
+ }
50
57
  emit("action-click", detail, e);
51
58
  };
52
59
  const expandDetails = ref([]);
@@ -61,7 +68,6 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
61
68
  });
62
69
  }
63
70
  const groupButtonRef = ref();
64
- const popoverVisible = ref(false);
65
71
  const calcActionItemClass = (item) => {
66
72
  const {
67
73
  actionLevel
@@ -71,6 +77,7 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
71
77
  const popoverIndex = props.zIndex;
72
78
  return {
73
79
  ns,
80
+ dropdownRef,
74
81
  popoverIndex,
75
82
  expandDetails,
76
83
  groupDetails,
@@ -142,6 +149,7 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
142
149
  })]]);
143
150
  }
144
151
  return createVNode(resolveComponent("el-dropdown"), {
152
+ "ref": "dropdownRef",
145
153
  "onCommand": (command) => this.handleClick(command, new MouseEvent("click")),
146
154
  "class": [this.ns.b(), this.ns.m("dropdown")]
147
155
  }, {
@@ -149,7 +157,7 @@ const IBizActionToolbar = /* @__PURE__ */ defineComponent({
149
157
  "class": this.ns.e("caption")
150
158
  }, [this.caption, createVNode("ion-icon", {
151
159
  "class": this.ns.e("caption-icon"),
152
- "name": "ibiz-arrow-down"
160
+ "name": "ellipsis-vertical-outline"
153
161
  }, null)]),
154
162
  dropdown: () => createVNode(resolveComponent("el-dropdown-menu"), null, {
155
163
  default: () => [details.length > 0 && details.map((detail) => {
@@ -17,6 +17,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
17
17
  customModelData: IData[];
18
18
  layoutColNum: number;
19
19
  layoutRowH: number;
20
+ portletConfig: IData;
20
21
  model: {
21
22
  appDynaDashboardUtilId?: string | undefined;
22
23
  enableCustomized?: boolean | undefined;
@@ -2023,13 +2024,34 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
2023
2024
  modelId?: string | undefined;
2024
2025
  modelType?: string | undefined;
2025
2026
  } | undefined;
2026
- } | null;
2027
+ };
2027
2028
  config: {
2028
2029
  save: (data: IData) => Promise<boolean>;
2029
2030
  load: () => Promise<IData>;
2031
+ } | undefined;
2032
+ util: {
2033
+ load: (tag: string, context: IContext, params: IParams) => Promise<IData>;
2034
+ save: (tag: string, context: IContext, params: IParams, data: IData) => Promise<IData>;
2035
+ } | undefined;
2036
+ context: {
2037
+ [x: string]: any;
2038
+ [x: symbol]: any;
2039
+ srfsessionid: string;
2040
+ srfappid: string;
2041
+ srfsimple?: boolean | undefined;
2042
+ srfpaginationviewid?: string | undefined;
2043
+ };
2044
+ params: {
2045
+ [x: string]: any;
2046
+ [x: symbol]: any;
2047
+ reset: (params?: IParams | undefined, parent?: IParams | undefined) => void;
2048
+ destroy: () => void;
2030
2049
  };
2031
- loadCustomModelData: () => Promise<IData[]>;
2032
- saveCustomModelData: (model: IData[]) => Promise<IData[]>;
2050
+ type: "data" | "public" | "personal";
2051
+ ownerType: string;
2052
+ ownerId: string;
2053
+ loadCustomModelData: () => Promise<IData>;
2054
+ saveCustomModelData: (model: IData[], config?: IData | undefined) => Promise<IData>;
2033
2055
  };
2034
2056
  isShowDesign: import("vue").Ref<boolean>;
2035
2057
  isInited: import("vue").Ref<boolean>;
@@ -20,7 +20,7 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
20
20
  emit
21
21
  }) {
22
22
  const ns = useNamespace("custom-dashboard-container");
23
- const customC = reactive(new CustomDashboardController(props.modelData));
23
+ const customC = reactive(new CustomDashboardController(props.modelData, props.dashboard));
24
24
  const isInited = ref(false);
25
25
  const isShowDesign = ref(false);
26
26
  const showTypeDir = ref(false);
@@ -64,13 +64,27 @@ const CustomDashboardContainer = /* @__PURE__ */ defineComponent({
64
64
  const isShowDefault = computed(() => {
65
65
  return customC.customModelData.length === 0;
66
66
  });
67
+ const handleCustomModelChange = async (args) => {
68
+ await props.dashboard.initPortlets(args.model);
69
+ await props.dashboard.initPortletsConfig(args.config);
70
+ };
67
71
  onMounted(async () => {
68
- const model = await customC.loadCustomModelData();
69
- const tempModelDatas = convertData(model);
70
- emit("changed", {
71
- model: tempModelDatas
72
+ const response = await customC.loadCustomModelData();
73
+ const tempModelDatas = convertData(response.model);
74
+ await handleCustomModelChange({
75
+ model: tempModelDatas,
76
+ config: response.config
72
77
  });
73
78
  isInited.value = true;
79
+ props.dashboard.evt.on("onConfigChange", async (eventArgs) => {
80
+ const {
81
+ name,
82
+ config
83
+ } = eventArgs;
84
+ customC.saveCustomModelData(customC.customModelData, {
85
+ [name]: config
86
+ });
87
+ });
74
88
  });
75
89
  return {
76
90
  ns,
@@ -1 +1 @@
1
- .ibiz-dashboard-design{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-header{height:48px;padding:var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-header .ibiz-dashboard-design-header-utils{display:flex;align-items:center;justify-content:flex-start}.ibiz-dashboard-design-header-utils__col-num{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design-header-utils__row-h{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content{width:100%;height:calc(100% - 48px);display:flex;align-items:flex-start;justify-content:flex-start}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree{min-width:300px;height:100%;overflow-y:scroll}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-filter{width:100%;height:32px;padding:0 var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content{height:calc(100% - 32px);overflow:auto}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu{height:100%;border:none}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item{display:flex;flex-flow:flex nowrap;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item>span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon:hover{color:var(--ibiz-color-primary)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-scroll-box{flex-grow:1;height:100%;overflow-y:scroll;background:#efefef}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel{position:relative}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout-mask{position:absolute;inset:0;height:100%;min-height:1248px;background:linear-gradient(to bottom,var(--ibiz-color-primary) 10px,transparent 10px),linear-gradient(to right,var(--ibiz-color-primary) 10px,transparent 10px)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .el-card__body{display:flex;flex-flow:column nowrap;height:100%;background-color:var(--ibiz-color-white)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header{display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
1
+ .ibiz-dashboard-design{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-header{height:48px;padding:var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-header .ibiz-dashboard-design-header-utils{display:flex;align-items:center;justify-content:flex-start}.ibiz-dashboard-design-header-utils__col-num{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design-header-utils__row-h{margin-right:var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content{width:100%;height:calc(100% - 48px);display:flex;align-items:flex-start;justify-content:flex-start}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree{min-width:300px;height:100%;overflow-y:scroll}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-filter{width:100%;height:32px;padding:0 var(--ibiz-spacing-tight)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content{height:calc(100% - 32px);overflow:auto}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu{height:100%;border:none}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item{display:flex;flex-flow:flex nowrap;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item>span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-tree .ibiz-dashboard-design-tree-content>.el-menu .el-menu-item ion-icon:hover{color:var(--ibiz-color-primary)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-scroll-box{flex-grow:1;height:100%;overflow-y:scroll;background:#efefef}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel{position:relative}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout-mask{position:absolute;inset:0;height:100%;min-height:1248px;background:linear-gradient(to bottom,var(--ibiz-color-primary) 10px,transparent 10px),linear-gradient(to right,var(--ibiz-color-primary) 10px,transparent 10px)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item{width:100%;height:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .el-card__body{display:flex;flex-flow:column nowrap;height:100%;background-color:var(--ibiz-color-white)}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header{display:flex;align-items:center;justify-content:space-between}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-header ion-icon{cursor:pointer}.ibiz-dashboard-design .ibiz-dashboard-design-content .ibiz-dashboard-design-panel .ibiz-dashboard-design-grid-layout .ibiz-dashboard-design-grid-layout-item .ibiz-dashboard-design-grid-layout-item-content{display:flex;align-items:center;justify-content:center;width:100%;height:100%;pointer-events:none}
@@ -134,6 +134,7 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
134
134
  const groups = ref(result.groups);
135
135
  const filterVal = ref("");
136
136
  const layoutModel = ref(clone(customC.customModelData));
137
+ const layoutConfig = ref(clone(customC.portletConfig));
137
138
  const providers = ref({});
138
139
  const portletControllers = ref({});
139
140
  const designPanel = ref(null);
@@ -164,6 +165,17 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
164
165
  }
165
166
  }));
166
167
  };
168
+ const initPortletsConfig = async () => {
169
+ const config = layoutConfig.value || {};
170
+ Object.keys(config).forEach((key) => {
171
+ const portlet = portletControllers.value[key];
172
+ if (portlet) {
173
+ portlet.config = config[key];
174
+ portlet.state.title = portlet.config.srftitle;
175
+ Object.assign(portlet.params, portlet.config);
176
+ }
177
+ });
178
+ };
167
179
  const getPortletByCodeName = (codeName) => {
168
180
  const app = ibiz.hub.getApp(ibiz.env.appId);
169
181
  if (app.model.appPortlets) {
@@ -191,11 +203,13 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
191
203
  const preparePortlet = async () => {
192
204
  const tempModelDatas = convertData(layoutModel.value);
193
205
  await initPortlets(tempModelDatas);
206
+ await initPortletsConfig();
194
207
  };
195
208
  watch(() => props.isShowDesign, async (newVal) => {
196
209
  if (newVal) {
197
- const tempData = await customC.loadCustomModelData();
198
- layoutModel.value = clone(tempData);
210
+ const res = await customC.loadCustomModelData();
211
+ layoutModel.value = clone(res.model);
212
+ layoutConfig.value = clone(res.config);
199
213
  await preparePortlet();
200
214
  }
201
215
  }, {
@@ -209,9 +223,9 @@ const DashboardDesign = /* @__PURE__ */ defineComponent({
209
223
  layoutModel.value = [];
210
224
  };
211
225
  const onSave = async () => {
212
- const model = await customC.saveCustomModelData(layoutModel.value);
226
+ const res = await customC.saveCustomModelData(layoutModel.value);
213
227
  emit("saved", {
214
- model
228
+ model: res.model
215
229
  });
216
230
  };
217
231
  const removeItem = async (child) => {
@@ -22,7 +22,6 @@ export declare const DashboardControl: import("vue").DefineComponent<{
22
22
  c: DashboardController;
23
23
  ns: import("@ibiz-template/core").Namespace;
24
24
  customModelDatas: import("vue").Ref<never[]>;
25
- handleCustomModelChange: (args: IData) => Promise<void>;
26
25
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
26
  modelData: {
28
27
  type: PropType<IDashboard>;
@@ -1,4 +1,4 @@
1
- import { isVNode, createVNode, resolveComponent, h, getCurrentInstance, ref, reactive, defineComponent } from 'vue';
1
+ import { isVNode, createVNode, resolveComponent, h, ref, reactive, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './dashboard.css';
4
4
  import { DashboardController } from '@ibiz-template/runtime';
@@ -56,7 +56,6 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
56
56
  },
57
57
  setup() {
58
58
  const c = useControlController((...args) => new DashboardController(...args));
59
- const vue = getCurrentInstance().proxy;
60
59
  const customModelDatas = ref([]);
61
60
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
62
61
  c.evt.on("onCreated", () => {
@@ -64,16 +63,10 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
64
63
  portlet.state = reactive(portlet.state);
65
64
  });
66
65
  });
67
- const handleCustomModelChange = async (args) => {
68
- customModelDatas.value = args.model;
69
- await c.initPortlets(customModelDatas.value);
70
- vue.$forceUpdate();
71
- };
72
66
  return {
73
67
  c,
74
68
  ns,
75
- customModelDatas,
76
- handleCustomModelChange
69
+ customModelDatas
77
70
  };
78
71
  },
79
72
  render() {
@@ -119,8 +112,7 @@ const DashboardControl = /* @__PURE__ */ defineComponent({
119
112
  }, {
120
113
  default: () => [state.isCreated && (model.enableCustomized ? createVNode(resolveComponent("iBizCustomDashboardContainer"), {
121
114
  "modelData": this.modelData,
122
- "dashboard": this.c,
123
- "onChanged": this.handleCustomModelChange
115
+ "dashboard": this.c
124
116
  }, _isSlot(_slot2 = renderCustomSlots()) ? _slot2 : {
125
117
  default: () => [_slot2]
126
118
  }) : renderDefaultContent())]
@@ -19,7 +19,6 @@ export declare const IBizDashboardControl: import("@ibiz-template/vue3-util").Ty
19
19
  c: import("@ibiz-template/runtime").DashboardController;
20
20
  ns: import("@ibiz-template/core").Namespace;
21
21
  customModelDatas: import("vue").Ref<never[]>;
22
- handleCustomModelChange: (args: IData) => Promise<void>;
23
22
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
24
23
  modelData: {
25
24
  type: import("vue").PropType<import("@ibiz/model-core").IDashboard>;
@@ -34,10 +34,6 @@ const PortletLayout = /* @__PURE__ */ defineComponent({
34
34
  model,
35
35
  state
36
36
  } = this.controller;
37
- let title = model.title;
38
- if (model.titleLanguageRes) {
39
- title = ibiz.i18n.t(model.titleLanguageRes.lanResTag, model.title);
40
- }
41
37
  return createVNode("div", {
42
38
  "class": [this.ns.b(), this.ns.is("no-header", !this.isShowHeader)]
43
39
  }, [this.isShowHeader && createVNode("div", {
@@ -52,13 +48,14 @@ const PortletLayout = /* @__PURE__ */ defineComponent({
52
48
  "icon": model.sysImage
53
49
  }, null), createVNode("span", {
54
50
  "class": this.ns.e("caption-text"),
55
- "title": title
56
- }, [title])])]), createVNode("div", {
51
+ "title": state.title
52
+ }, [state.title])])]), createVNode("div", {
57
53
  "class": this.ns.be("header", "right")
58
54
  }, [model.uiactionGroup && createVNode(resolveComponent("iBizActionToolbar"), {
59
55
  "class": this.ns.e("toolbar"),
60
56
  "action-details": model.uiactionGroup.uiactionGroupDetails,
61
57
  "actions-state": state.actionGroupState,
58
+ "mode": model.actionGroupExtractMode === "ITEMS" ? "dropdown" : "buttons",
62
59
  "onActionClick": this.onActionClick
63
60
  }, null)])]), createVNode("div", {
64
61
  "key": "content",
@@ -438,7 +438,8 @@ class DRBarController extends ControlController {
438
438
  if (appCounterRef) {
439
439
  this.counter = await CounterService.getCounterByRef(
440
440
  appCounterRef,
441
- this.context
441
+ this.context,
442
+ { ...this.params }
442
443
  );
443
444
  }
444
445
  }
@@ -305,7 +305,8 @@ class DRTabController extends ControlController {
305
305
  if (appCounterRef) {
306
306
  this.counter = await CounterService.getCounterByRef(
307
307
  appCounterRef,
308
- this.context
308
+ this.context,
309
+ { ...this.params }
309
310
  );
310
311
  }
311
312
  }
@@ -72,6 +72,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
72
72
  };
73
73
  dismiss: (data?: import("@ibiz-template/runtime").IModalData | undefined) => Promise<boolean>;
74
74
  };
75
+ error: IData;
75
76
  slotProps: {
76
77
  [key: string]: IData;
77
78
  };
@@ -3099,6 +3100,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
3099
3100
  readonly id: string;
3100
3101
  state: {
3101
3102
  activated: boolean;
3103
+ hasError: boolean;
3102
3104
  caption: string;
3103
3105
  isLoading: boolean;
3104
3106
  noLoadDefault: boolean;
@@ -7244,6 +7246,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
7244
7246
  };
7245
7247
  dismiss: (data?: import("@ibiz-template/runtime").IModalData | undefined) => Promise<boolean>;
7246
7248
  };
7249
+ error: IData;
7247
7250
  slotProps: {
7248
7251
  [key: string]: IData;
7249
7252
  };
@@ -7274,6 +7277,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
7274
7277
  readonly id: string;
7275
7278
  state: {
7276
7279
  activated: boolean;
7280
+ hasError: boolean;
7277
7281
  caption: string;
7278
7282
  isLoading: boolean;
7279
7283
  noLoadDefault: boolean;
@@ -1 +1 @@
1
- .ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-row-expand-icon-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-control-grid-now-header-height:auto;--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid.is-empty .el-scrollbar .el-scrollbar__view{height:100%}.ibiz-control-grid.is-empty .el-table__empty-text{display:inline-block;height:100%}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{justify-content:center}.ibiz-control-grid__table .caret-wrapper>*+*{margin-top:3px}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:var(--ibiz-control-grid-row-expand-icon-margin)}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid.is-single-select .el-table__header-wrapper .el-table__header thead>tr th:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-single-select .el-table__body-wrapper .el-table__body tbody>tr td:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-enable-customized .el-table__header-wrapper .el-table__header thead>tr th:last-child{padding-right:var(--ibiz-spacing-base-loose)}.ibiz-control-grid.is-enable-customized .ibiz-control-grid-setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:1;height:var(--ibiz-control-grid-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-customized .ibiz-grid-setting{cursor:pointer}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-grid-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}
1
+ .ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:0;--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-row-expand-icon-margin:0 0 0 var(--ibiz-spacing-tight);--ibiz-control-grid-now-header-height:auto;--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:0 var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:var(--ibiz-color-tertiary-light-hover);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-border-color:transparent}.ibiz-control-grid.is-empty .el-scrollbar .el-scrollbar__view{height:100%}.ibiz-control-grid.is-empty .el-table__empty-text{display:inline-block;height:100%}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{justify-content:center}.ibiz-control-grid__table .caret-wrapper>*+*{margin-top:3px}.ibiz-control-grid__table .sort-caret{position:initial}.ibiz-control-grid__table.el-table .el-table__cell{padding:0}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);padding:var(--ibiz-control-grid-header-cell-padding);font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .is-sortable.el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{color:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:var(--ibiz-control-grid-row-expand-icon-margin)}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:0}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid__table .enable-order{position:relative;padding-left:14px;transition:transform .25s cubic-bezier(0,0,.2,1)}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon{padding:0!important}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon .cell{display:none}.ibiz-control-grid__table .enable-order:hover .ibiz-control-grid__drag-icon .cell{display:flex}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid.is-single-select .el-table__header-wrapper .el-table__header thead>tr th:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-single-select .el-table__body-wrapper .el-table__body tbody>tr td:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-enable-customized .el-table__header-wrapper .el-table__header thead>tr th:last-child{padding-right:var(--ibiz-spacing-base-loose)}.ibiz-control-grid.is-enable-customized .ibiz-control-grid-setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:1;height:var(--ibiz-control-grid-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-customized .ibiz-grid-setting{cursor:pointer}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-grid-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}
@@ -101,6 +101,7 @@ export declare const GridControl: import("vue").DefineComponent<{
101
101
  defaultSort: import("vue").Ref<IData>;
102
102
  renderBatchToolBar: () => VNode | undefined;
103
103
  headerCssVars: IData;
104
+ renderDragIconColumn: () => JSX.Element;
104
105
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
105
106
  modelData: {
106
107
  type: PropType<IDEGrid>;
@@ -231,6 +231,36 @@ const GridControl = /* @__PURE__ */ defineComponent({
231
231
  }
232
232
  return renderChildColumn(c, model, renderColumns.value, index);
233
233
  };
234
+ const renderDragIconColumn = () => {
235
+ return createVNode(resolveComponent("el-table-column"), {
236
+ "class-name": ns.e("drag-icon"),
237
+ "type": "default",
238
+ "width": "16"
239
+ }, {
240
+ default: () => {
241
+ return createVNode("svg", {
242
+ "viewBox": "0 0 16 16",
243
+ "class": "icon",
244
+ "xmlns": "http://www.w3.org/2000/svg",
245
+ "height": "1em",
246
+ "width": "1em",
247
+ "preserveAspectRatio": "drag-icon",
248
+ "focusable": "false"
249
+ }, [createVNode("g", {
250
+ "id": "drag-icon/drag--",
251
+ "stroke-width": "1",
252
+ "fill-rule": "evenodd"
253
+ }, [createVNode("g", {
254
+ "id": "drag-icon",
255
+ "transform": "translate(5 1)",
256
+ "fill-rule": "nonzero"
257
+ }, [createVNode("path", {
258
+ "d": "M1 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM1 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z",
259
+ "id": "drag-icon-air"
260
+ }, null)])])]);
261
+ }
262
+ });
263
+ };
234
264
  onUnmounted(() => {
235
265
  zIndex.decrement();
236
266
  if (cleanup !== NOOP) {
@@ -258,7 +288,8 @@ const GridControl = /* @__PURE__ */ defineComponent({
258
288
  renderPopover,
259
289
  defaultSort,
260
290
  renderBatchToolBar,
261
- headerCssVars
291
+ headerCssVars,
292
+ renderDragIconColumn
262
293
  };
263
294
  },
264
295
  render() {
@@ -296,7 +327,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
296
327
  }, {
297
328
  empty: this.renderNoData,
298
329
  default: () => {
299
- return [!state.singleSelect && createVNode(resolveComponent("el-table-column"), {
330
+ return [this.c.enableRowEditOrder && this.renderDragIconColumn(), !state.singleSelect && createVNode(resolveComponent("el-table-column"), {
300
331
  "class-name": this.ns.e("selection"),
301
332
  "type": "selection",
302
333
  "width": "55"
@@ -94,6 +94,7 @@ export declare const IBizGridControl: import("@ibiz-template/vue3-util").TypeWit
94
94
  [key: string]: any;
95
95
  }> | undefined;
96
96
  headerCssVars: IData;
97
+ renderDragIconColumn: () => JSX.Element;
97
98
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
98
99
  modelData: {
99
100
  type: import("vue").PropType<import("@ibiz/model-core").IDEGrid>;
@@ -1 +1 @@
1
- .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:0}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap;border-radius:100px}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban-item+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
1
+ .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:0}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap;border-radius:100px}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{position:relative;z-index:100;width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban-item+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
@@ -292,7 +292,8 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
292
292
  }, null)]
293
293
  }), showActionBar && createVNode(resolveComponent("el-dropdown"), {
294
294
  "class": ns.be("group", "header-actions"),
295
- "trigger": "click"
295
+ "trigger": "click",
296
+ "teleported": false
296
297
  }, {
297
298
  default: () => createVNode("span", null, [createTextVNode("\xB7\xB7\xB7")]),
298
299
  dropdown: () => createVNode("div", {
@@ -58,6 +58,10 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
58
58
  const handleClick = async (item, event, params) => {
59
59
  await c.onItemClick(item, event, params);
60
60
  };
61
+ const calcCssName = (item) => {
62
+ var _a2;
63
+ return (_a2 = item == null ? void 0 : item.sysCss) == null ? void 0 : _a2.cssName;
64
+ };
61
65
  const renderExtraButtons = (extraButtons) => {
62
66
  return extraButtons.map((button) => {
63
67
  let _slot;
@@ -80,11 +84,11 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
80
84
  "class": ns.b("submenu"),
81
85
  "index": item.id,
82
86
  "title": item.tooltip,
83
- "popper-class": [ns.b("submenu-popper"), ns.bm("submenu-popper", toolbarStyle)]
87
+ "popper-class": [ns.b("submenu-popper"), ns.bm("submenu-popper", toolbarStyle), ns.bm("submenu-popper", calcCssName(item))]
84
88
  }, {
85
89
  default: () => {
86
90
  return detoolbarItems.map((item2) => {
87
- var _a2;
91
+ var _a2, _b;
88
92
  const actionId = item2.uiactionId;
89
93
  const visible = (_a2 = c.state.buttonsState[item2.id]) == null ? void 0 : _a2.visible;
90
94
  if (!visible) {
@@ -106,9 +110,10 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
106
110
  }
107
111
  if (item2.itemType === "DEUIACTION") {
108
112
  let _slot2;
113
+ const buttonType = (_b = item2.buttonStyle) == null ? void 0 : _b.toLowerCase();
109
114
  if (actionId === "exportexcel") {
110
115
  return createVNode(IBizExportExcel, {
111
- "class": [ns.e("menu-exportexcel")],
116
+ "class": [ns.e("menu-exportexcel"), ns.em("item", buttonType), calcCssName(item2)],
112
117
  "mode": "menu",
113
118
  "item": item2,
114
119
  "btnContent": btnContent,
@@ -120,7 +125,7 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
120
125
  }, null);
121
126
  }
122
127
  return createVNode(resolveComponent("el-menu-item"), {
123
- "class": [ns.is("loading", c.state.buttonsState[item2.id].loading)],
128
+ "class": [ns.is("loading", c.state.buttonsState[item2.id].loading), ns.em("item", buttonType), calcCssName(item2)],
124
129
  "index": "menuitem".concat(item2.id),
125
130
  "disabled": c.state.buttonsState[item2.id].disabled,
126
131
  "title": item2.tooltip,
@@ -142,6 +147,7 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
142
147
  title: () => {
143
148
  let _slot3;
144
149
  return createVNode(resolveComponent("el-button"), {
150
+ "class": calcCssName(item),
145
151
  "loading": loading
146
152
  }, _isSlot(_slot3 = btnContent(item)) ? _slot3 : {
147
153
  default: () => [_slot3]
@@ -173,9 +179,10 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
173
179
  if (item.itemType === "DEUIACTION") {
174
180
  let _slot4;
175
181
  const actionId = item.uiactionId;
182
+ const buttonType = (_b = item.buttonStyle) == null ? void 0 : _b.toLowerCase();
176
183
  if (actionId === "exportexcel") {
177
184
  return createVNode(IBizExportExcel, {
178
- "class": [ns.e("item"), ns.e("item-deuiaction")],
185
+ "class": [ns.e("item"), ns.e("item-deuiaction"), ns.em("item", buttonType), calcCssName(item)],
179
186
  "item": item,
180
187
  "btnContent": btnContent,
181
188
  "size": btnSize.value,
@@ -185,10 +192,9 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
185
192
  }
186
193
  }, null);
187
194
  }
188
- const buttonType = (_b = item.buttonStyle) == null ? void 0 : _b.toLowerCase();
189
195
  return createVNode("div", {
190
196
  "key": itemId,
191
- "class": [ns.e("item"), ns.e("item-deuiaction"), ns.em("item", buttonType), ns.is("loading", c.state.buttonsState[itemId].loading)]
197
+ "class": [ns.e("item"), ns.e("item-deuiaction"), ns.em("item", buttonType), calcCssName(item), ns.is("loading", c.state.buttonsState[itemId].loading)]
192
198
  }, [createVNode(resolveComponent("el-button"), {
193
199
  "title": item.tooltip,
194
200
  "size": btnSize.value,