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

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 (185) hide show
  1. package/dist/index-3cxXHoLs.js +4 -0
  2. package/dist/{index-B_Fo_3Rt.js → index-CiEIUSX9.js} +1 -1
  3. package/dist/{index-BvI3oZGL.js → index-HW5stxcy.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-XDKOLzzW.js → xlsx-util-BlkeQIMu.js} +1 -1
  7. package/es/common/action-toolbar/action-toolbar.mjs +6 -3
  8. package/es/common/control-navigation/control-navigation.css +1 -0
  9. package/es/common/control-navigation/control-navigation.d.ts +32 -0
  10. package/es/common/control-navigation/control-navigation.mjs +116 -0
  11. package/es/common/control-navigation/provider/calendar-navigation.provider.d.ts +17 -0
  12. package/es/common/control-navigation/provider/calendar-navigation.provider.mjs +55 -0
  13. package/es/common/control-navigation/provider/index.d.ts +10 -0
  14. package/es/common/control-navigation/provider/index.mjs +17 -0
  15. package/es/common/control-navigation/provider/navigation-base.provider.d.ts +84 -0
  16. package/es/common/control-navigation/provider/navigation-base.provider.mjs +142 -0
  17. package/es/common/control-navigation/provider/tree-navigation.provider.d.ts +30 -0
  18. package/es/common/control-navigation/provider/tree-navigation.provider.mjs +81 -0
  19. package/es/common/custom-theme/custom-theme-model.mjs +5 -13
  20. package/es/common/gantt-setting/gantt-setting.css +1 -0
  21. package/es/common/gantt-setting/gantt-setting.d.ts +53 -0
  22. package/es/common/gantt-setting/gantt-setting.mjs +217 -0
  23. package/es/common/grid-setting/grid-setting.css +1 -1
  24. package/es/common/grid-setting/grid-setting.d.ts +2 -1
  25. package/es/common/grid-setting/grid-setting.mjs +20 -4
  26. package/es/common/index.mjs +6 -0
  27. package/es/common/nav-split/nav-split.css +1 -0
  28. package/es/common/nav-split/nav-split.d.ts +57 -0
  29. package/es/common/nav-split/nav-split.mjs +209 -0
  30. package/es/common/pql-editor/utils/index.mjs +30 -40
  31. package/es/common/split/split.css +1 -1
  32. package/es/control/app-menu/app-menu.css +1 -1
  33. package/es/control/app-menu/app-menu.d.ts +3 -0
  34. package/es/control/app-menu/app-menu.mjs +54 -16
  35. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +11 -3
  36. package/es/control/app-menu/index.d.ts +3 -0
  37. package/es/control/calendar/calendar.css +1 -1
  38. package/es/control/calendar/calendar.d.ts +12 -1
  39. package/es/control/calendar/calendar.mjs +42 -10
  40. package/es/control/calendar/index.d.ts +12 -1
  41. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +3 -0
  42. package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.mjs +2 -1
  43. package/es/control/data-view/data-view.css +1 -1
  44. package/es/control/data-view/data-view.d.ts +1 -0
  45. package/es/control/data-view/data-view.mjs +21 -3
  46. package/es/control/data-view/index.d.ts +1 -0
  47. package/es/control/drbar/drbar.controller.mjs +1 -1
  48. package/es/control/drtab/drtab-control.util.mjs +1 -1
  49. package/es/control/drtab/drtab.controller.d.ts +9 -1
  50. package/es/control/drtab/drtab.controller.mjs +26 -2
  51. package/es/control/drtab/drtab.css +1 -1
  52. package/es/control/drtab/drtab.d.ts +3 -1
  53. package/es/control/drtab/drtab.mjs +68 -9
  54. package/es/control/drtab/index.d.ts +3 -1
  55. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +4 -0
  56. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  57. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +1 -1
  58. package/es/control/gantt/gantt.css +1 -1
  59. package/es/control/gantt/gantt.d.ts +2 -4
  60. package/es/control/gantt/gantt.mjs +82 -25
  61. package/es/control/gantt/index.d.ts +2 -4
  62. package/es/control/grid/grid/grid-control.util.mjs +2 -2
  63. package/es/control/grid/grid/grid.css +1 -1
  64. package/es/control/grid/grid/grid.mjs +75 -71
  65. package/es/control/list/index.d.ts +1 -0
  66. package/es/control/list/list.css +1 -1
  67. package/es/control/list/list.d.ts +1 -0
  68. package/es/control/list/list.mjs +23 -5
  69. package/es/control/map/map.d.ts +9 -0
  70. package/es/control/map/map.mjs +4 -0
  71. package/es/control/search-bar/search-groups/search-groups.mjs +2 -2
  72. package/es/control/toolbar/toolbar.mjs +3 -0
  73. package/es/control/tree/el-tree-util.d.ts +39 -1
  74. package/es/control/tree/el-tree-util.mjs +70 -2
  75. package/es/control/tree/index.d.ts +16 -14
  76. package/es/control/tree/tree.css +1 -1
  77. package/es/control/tree/tree.d.ts +16 -14
  78. package/es/control/tree/tree.mjs +60 -31
  79. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  80. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +3 -8
  81. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.mjs +22 -23
  82. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +1 -0
  83. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +3 -1
  84. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  85. package/es/locale/en/index.d.ts +17 -0
  86. package/es/locale/en/index.mjs +18 -1
  87. package/es/locale/zh-CN/index.d.ts +17 -0
  88. package/es/locale/zh-CN/index.mjs +18 -1
  89. package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  90. package/es/panel-component/index-actions/index-actions.css +1 -1
  91. package/es/panel-component/index.mjs +2 -1
  92. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.controller.mjs +8 -31
  93. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.d.ts +1 -1
  94. package/es/panel-component/nav-breadcrumb/nav-breadcrumb.service.mjs +1 -1
  95. package/es/panel-component/nav-pos-index/nav-pos-index.controller.mjs +7 -2
  96. package/es/panel-component/panel-app-title/index.mjs +4 -0
  97. package/es/panel-component/panel-app-title/panel-app-title.controller.mjs +8 -0
  98. package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
  99. package/es/panel-component/panel-app-title/panel-app-title.mjs +112 -108
  100. package/es/panel-component/panel-index-view-search/panel-index-view-search.css +1 -1
  101. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  102. package/es/util/notification-util/notification-util.d.ts +10 -1
  103. package/es/util/notification-util/notification-util.mjs +36 -0
  104. package/es/util/notification-util/upload-manager/file-type.d.ts +8 -0
  105. package/es/util/notification-util/upload-manager/file-type.mjs +207 -0
  106. package/es/util/notification-util/upload-manager/upload-manager.css +1 -0
  107. package/es/util/notification-util/upload-manager/upload-manager.d.ts +64 -0
  108. package/es/util/notification-util/upload-manager/upload-manager.mjs +159 -0
  109. package/es/util/pagination/use-pagination.mjs +5 -4
  110. package/es/view-engine/tab-exp-view.engine.d.ts +9 -0
  111. package/es/view-engine/tab-exp-view.engine.mjs +20 -1
  112. package/lib/common/action-toolbar/action-toolbar.cjs +6 -3
  113. package/lib/common/control-navigation/control-navigation.cjs +118 -0
  114. package/lib/common/control-navigation/control-navigation.css +1 -0
  115. package/lib/common/control-navigation/provider/calendar-navigation.provider.cjs +57 -0
  116. package/lib/common/control-navigation/provider/index.cjs +19 -0
  117. package/lib/common/control-navigation/provider/navigation-base.provider.cjs +144 -0
  118. package/lib/common/control-navigation/provider/tree-navigation.provider.cjs +83 -0
  119. package/lib/common/custom-theme/custom-theme-model.cjs +5 -13
  120. package/lib/common/gantt-setting/gantt-setting.cjs +219 -0
  121. package/lib/common/gantt-setting/gantt-setting.css +1 -0
  122. package/lib/common/grid-setting/grid-setting.cjs +20 -4
  123. package/lib/common/grid-setting/grid-setting.css +1 -1
  124. package/lib/common/index.cjs +6 -0
  125. package/lib/common/nav-split/nav-split.cjs +211 -0
  126. package/lib/common/nav-split/nav-split.css +1 -0
  127. package/lib/common/pql-editor/utils/index.cjs +30 -40
  128. package/lib/common/split/split.css +1 -1
  129. package/lib/control/app-menu/app-menu.cjs +52 -14
  130. package/lib/control/app-menu/app-menu.css +1 -1
  131. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +10 -2
  132. package/lib/control/calendar/calendar.cjs +42 -10
  133. package/lib/control/calendar/calendar.css +1 -1
  134. package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.cjs +2 -1
  135. package/lib/control/data-view/data-view.cjs +21 -3
  136. package/lib/control/data-view/data-view.css +1 -1
  137. package/lib/control/drbar/drbar.controller.cjs +1 -1
  138. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  139. package/lib/control/drtab/drtab.cjs +67 -8
  140. package/lib/control/drtab/drtab.controller.cjs +26 -2
  141. package/lib/control/drtab/drtab.css +1 -1
  142. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +1 -1
  143. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  144. package/lib/control/gantt/gantt.cjs +80 -23
  145. package/lib/control/gantt/gantt.css +1 -1
  146. package/lib/control/grid/grid/grid-control.util.cjs +2 -2
  147. package/lib/control/grid/grid/grid.cjs +75 -71
  148. package/lib/control/grid/grid/grid.css +1 -1
  149. package/lib/control/list/list.cjs +23 -5
  150. package/lib/control/list/list.css +1 -1
  151. package/lib/control/map/map.cjs +4 -0
  152. package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
  153. package/lib/control/toolbar/toolbar.cjs +3 -0
  154. package/lib/control/tree/el-tree-util.cjs +70 -0
  155. package/lib/control/tree/tree.cjs +58 -29
  156. package/lib/control/tree/tree.css +1 -1
  157. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.cjs +21 -22
  158. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  159. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +1 -0
  160. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +3 -1
  161. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  162. package/lib/locale/en/index.cjs +18 -1
  163. package/lib/locale/zh-CN/index.cjs +18 -1
  164. package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  165. package/lib/panel-component/index-actions/index-actions.css +1 -1
  166. package/lib/panel-component/index.cjs +1 -0
  167. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.controller.cjs +7 -30
  168. package/lib/panel-component/nav-breadcrumb/nav-breadcrumb.service.cjs +1 -1
  169. package/lib/panel-component/nav-pos-index/nav-pos-index.controller.cjs +7 -2
  170. package/lib/panel-component/panel-app-title/index.cjs +4 -0
  171. package/lib/panel-component/panel-app-title/panel-app-title.cjs +112 -108
  172. package/lib/panel-component/panel-app-title/panel-app-title.controller.cjs +8 -0
  173. package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
  174. package/lib/panel-component/panel-index-view-search/panel-index-view-search.css +1 -1
  175. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  176. package/lib/util/notification-util/notification-util.cjs +36 -0
  177. package/lib/util/notification-util/upload-manager/file-type.cjs +209 -0
  178. package/lib/util/notification-util/upload-manager/upload-manager.cjs +161 -0
  179. package/lib/util/notification-util/upload-manager/upload-manager.css +1 -0
  180. package/lib/util/pagination/use-pagination.cjs +5 -4
  181. package/lib/view-engine/tab-exp-view.engine.cjs +19 -0
  182. package/package.json +10 -10
  183. package/dist/index-VQ3FT6ih.js +0 -4
  184. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.35-alpha.1_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.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.mjs +0 -0
  185. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.35-alpha.1_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.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 +0 -0
@@ -32,6 +32,10 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
32
32
  type: Number,
33
33
  default: void 0
34
34
  },
35
+ isSimple: {
36
+ type: Boolean,
37
+ required: false
38
+ },
35
39
  loadDefault: {
36
40
  type: Boolean,
37
41
  default: true
@@ -41,14 +45,18 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
41
45
  const c = useControlController((...args) => new CalendarController(...args));
42
46
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
43
47
  const calendarRef = ref();
44
- const popoverVisible = ref(false);
48
+ const curPopover = ref();
49
+ const popoverValue = ref("");
45
50
  const selectDate = (tag) => {
46
51
  if (!calendarRef.value)
47
52
  return;
48
53
  calendarRef.value.selectDate(tag);
49
54
  };
50
55
  c.evt.on("onActive", () => {
51
- popoverVisible.value = false;
56
+ if (curPopover.value) {
57
+ curPopover.value.hide();
58
+ curPopover.value = void 0;
59
+ }
52
60
  });
53
61
  watch(() => c.state.selectedDate, (oldVal, newVal) => {
54
62
  const oldDateString = dayjs(oldVal).format("YYYY-MM");
@@ -64,17 +72,21 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
64
72
  backgroundColor: data.bkColor
65
73
  };
66
74
  };
75
+ const onShowNavView = () => {
76
+ c.state.showNavView = !c.state.showNavView;
77
+ };
67
78
  return {
68
79
  c,
69
80
  ns,
81
+ curPopover,
70
82
  calendarRef,
71
- popoverVisible,
83
+ popoverValue,
72
84
  selectDate,
73
- calcItemStyle
85
+ calcItemStyle,
86
+ onShowNavView
74
87
  };
75
88
  },
76
89
  render() {
77
- let _slot6;
78
90
  const renderPanelItem = (item, modelData) => {
79
91
  const {
80
92
  context,
@@ -129,8 +141,14 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
129
141
  if (items.length > 1) {
130
142
  return [renderCalendarItem(items[0]), createVNode(resolveComponent("el-popover"), {
131
143
  "trigger": "click",
132
- "visible": this.popoverVisible,
133
- "onUpdate:visible": ($event) => this.popoverVisible = $event
144
+ "ref": (el) => {
145
+ if (el && items[0].id === this.popoverValue) {
146
+ this.curPopover = el;
147
+ }
148
+ },
149
+ "onShow": () => {
150
+ this.popoverValue = items[0].id;
151
+ }
134
152
  }, {
135
153
  reference: () => {
136
154
  return createVNode("span", {
@@ -330,10 +348,24 @@ const CalendarControl = /* @__PURE__ */ defineComponent({
330
348
  return renderElCalender();
331
349
  }
332
350
  };
333
- return createVNode(resolveComponent("iBizControlBase"), {
351
+ return createVNode(resolveComponent("iBizControlNavigation"), {
334
352
  "controller": this.c
335
- }, _isSlot(_slot6 = renderCalendar()) ? _slot6 : {
336
- default: () => [_slot6]
353
+ }, {
354
+ default: () => [createVNode(resolveComponent("iBizControlBase"), {
355
+ "controller": this.c
356
+ }, {
357
+ default: () => [renderCalendar(), this.c.state.enableNavView ? !this.c.state.showNavView ? createVNode("ion-icon", {
358
+ "class": this.ns.e("nav-icon"),
359
+ "title": ibiz.i18n.t("component.controlNavigation.showNav"),
360
+ "name": "eye-outline",
361
+ "onClick": this.onShowNavView
362
+ }, null) : createVNode("ion-icon", {
363
+ "class": this.ns.e("nav-icon"),
364
+ "title": ibiz.i18n.t("component.controlNavigation.hiddenNav"),
365
+ "name": "eye-off-outline",
366
+ "onClick": this.onShowNavView
367
+ }, null) : null]
368
+ })]
337
369
  });
338
370
  }
339
371
  });
@@ -18,6 +18,10 @@ export declare const IBizCalendarControl: import("@ibiz-template/vue3-util").Typ
18
18
  type: NumberConstructor;
19
19
  default: undefined;
20
20
  };
21
+ isSimple: {
22
+ type: BooleanConstructor;
23
+ required: false;
24
+ };
21
25
  loadDefault: {
22
26
  type: BooleanConstructor;
23
27
  default: boolean;
@@ -25,10 +29,12 @@ export declare const IBizCalendarControl: import("@ibiz-template/vue3-util").Typ
25
29
  }, {
26
30
  c: import("@ibiz-template/runtime").CalendarController;
27
31
  ns: import("@ibiz-template/core").Namespace;
32
+ curPopover: import("vue").Ref<IData | undefined>;
28
33
  calendarRef: import("vue").Ref<IData | undefined>;
29
- popoverVisible: import("vue").Ref<boolean>;
34
+ popoverValue: import("vue").Ref<string>;
30
35
  selectDate: (tag: string) => void;
31
36
  calcItemStyle: (data: import("@ibiz-template/runtime").ICalendarItemData) => IData;
37
+ onShowNavView: () => void;
32
38
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
39
  modelData: {
34
40
  type: import("vue").PropType<import("@ibiz/model-core").ISysCalendar>;
@@ -49,6 +55,10 @@ export declare const IBizCalendarControl: import("@ibiz-template/vue3-util").Typ
49
55
  type: NumberConstructor;
50
56
  default: undefined;
51
57
  };
58
+ isSimple: {
59
+ type: BooleanConstructor;
60
+ required: false;
61
+ };
52
62
  loadDefault: {
53
63
  type: BooleanConstructor;
54
64
  default: boolean;
@@ -56,6 +66,7 @@ export declare const IBizCalendarControl: import("@ibiz-template/vue3-util").Typ
56
66
  }>>, {
57
67
  params: IParams;
58
68
  mdctrlActiveMode: number;
69
+ isSimple: boolean;
59
70
  loadDefault: boolean;
60
71
  }, {}>>;
61
72
  export default IBizCalendarControl;
@@ -2316,6 +2316,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
2316
2316
  triggerCustom: (id: string, executeParams: Partial<import("@ibiz-template/runtime").IUILogicParams>) => any;
2317
2317
  triggerControlEvent: (ctrlName: string, eventName: string, executeParams?: Partial<import("@ibiz-template/runtime").IUILogicParams> | undefined) => void;
2318
2318
  } | undefined;
2319
+ runMode: "DESIGN" | "RUNTIME";
2319
2320
  startLoading: () => Promise<void>;
2320
2321
  endLoading: () => Promise<void>;
2321
2322
  onActivated: () => void;
@@ -16171,6 +16172,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
16171
16172
  triggerCustom: (id: string, executeParams: Partial<import("@ibiz-template/runtime").IUILogicParams>) => any;
16172
16173
  triggerControlEvent: (ctrlName: string, eventName: string, executeParams?: Partial<import("@ibiz-template/runtime").IUILogicParams> | undefined) => void;
16173
16174
  } | undefined;
16175
+ runMode: "DESIGN" | "RUNTIME";
16174
16176
  startLoading: () => Promise<void>;
16175
16177
  endLoading: () => Promise<void>;
16176
16178
  onActivated: () => void;
@@ -19059,6 +19061,7 @@ export declare const CustomDashboardContainer: import("vue").DefineComponent<{
19059
19061
  triggerKey: string;
19060
19062
  awaitActiveCbs: Map<string, () => void>;
19061
19063
  delayCbs: Map<string, NodeJS.Timeout>;
19064
+ runMode: "DESIGN" | "RUNTIME";
19062
19065
  getEventArgs: () => Omit<import("@ibiz-template/runtime").EventBase, "eventName">;
19063
19066
  updateContextParams: (opts: {
19064
19067
  context?: IContext | undefined;
@@ -91,6 +91,7 @@ const IBizFilterPortletDesign = /* @__PURE__ */ defineComponent({
91
91
  checkBoxList.value = filterPortletByID(model.value.id, props.context, props.items, props.dashboardStyle === "BIREPORTDASHBOARD" || props.dashboardStyle === "BIREPORTDASHBOARD2");
92
92
  };
93
93
  const init = async () => {
94
+ var _a;
94
95
  allFilters = getFilters();
95
96
  if (props.items) {
96
97
  formData.items = props.items.map((x) => x.id);
@@ -104,7 +105,7 @@ const IBizFilterPortletDesign = /* @__PURE__ */ defineComponent({
104
105
  const selectAll = props.filter.filterConfig.scope === "all";
105
106
  if (!selectAll) {
106
107
  formData.selectAll = false;
107
- formData.items = props.filter.filterConfig.scopedata.split(",");
108
+ formData.items = ((_a = props.filter.filterConfig.scopedata) == null ? void 0 : _a.split(",")) || [];
108
109
  }
109
110
  condition.value = props.filter.searchConds;
110
111
  }
@@ -1 +1 @@
1
- .ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-dataview__content{flex-grow:1;height:100%}.ibiz-control-dataview__pagination{flex-shrink:0}.ibiz-control-dataview__load-more{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview-scroll{display:flex;flex-wrap:wrap;align-content:flex-start;padding:var(--ibiz-control-dataview-padding);overflow:auto}.ibiz-control-dataview-scroll>*{margin:calc(var(--ibiz-spacing-base-tight)/ 2)}.ibiz-control-dataview-item-col{padding:0 var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base-tight) 0}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;color:var(--ibiz-control-dataview-text-color);cursor:pointer}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{--ibiz-control-dataview-group-item-header-bg-color:transparent;--ibiz-control-dataview-group-item-header-padding:var(--ibiz-spacing-base-tight);--ibiz-control-dataview-group-item-header-border-color:var(--ibiz-color-border);--ibiz-control-dataview-group-item-caption-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-group-item-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-control-dataview-group-item-caption-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-dataview-group-item-content-bg-color:transparent;--ibiz-control-dataview-group-item-content-padding:var(--ibiz-spacing-tight);width:100%}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}.ibiz-control-dataview-group-content__item.is-collapse .ibiz-control-dataview-group-content__item-content{height:0;overflow:hidden}.ibiz-control-dataview-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ibiz-control-dataview-group-item-header-padding);border-bottom:1px solid var(--ibiz-control-dataview-group-item-header-border-color)}.ibiz-control-dataview-group-content__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-control-dataview-group-item-caption-font-size);font-weight:var(--ibiz-control-dataview-group-item-caption-font-weight);color:var(--ibiz-control-dataview-group-item-caption-text-color)}.ibiz-control-dataview-group-content__item-content{display:flex;flex-wrap:wrap;padding:var(--ibiz-control-dataview-group-item-content-padding);background-color:var(--ibiz-control-dataview-group-item-content-bg-color);will-change:height}.ibiz-control-dataview-group-content__item-content>*{margin:calc(var(--ibiz-spacing-base-tight)/ 2)}.ibiz-control-dataview-group-content__item-row{padding:var(--ibiz-control-dataview-group-item-content-padding)}.ibiz-control-dataview-group-content__item-col{padding:0 var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base-tight) 0}
1
+ .ibiz-control-dataview{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-dataview__nav-icon{right:10px;top:20px;cursor:pointer;position:absolute;color:var(--ibiz-color-primary)}.ibiz-control-dataview__content{flex-grow:1;height:100%}.ibiz-control-dataview__pagination{flex-shrink:0}.ibiz-control-dataview__load-more{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-dataview__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-dataview__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-dataview-scroll{display:flex;flex-wrap:wrap;align-content:flex-start;padding:var(--ibiz-control-dataview-padding);overflow:auto}.ibiz-control-dataview-scroll>*{margin:calc(var(--ibiz-spacing-base-tight)/ 2)}.ibiz-control-dataview-item-col{padding:0 var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base-tight) 0}.ibiz-control-dataview-item{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px;color:var(--ibiz-control-dataview-text-color);cursor:pointer}.ibiz-control-dataview-item:hover{background-color:var(--ibiz-control-dataview-hover-bg-color)}.ibiz-control-dataview-item.is-active{background-color:var(--ibiz-control-dataview-active-bg-color)}.ibiz-control-dataview-item-content{--ibiz-control-dataview-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-dataview-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-dataview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base) 0;--ibiz-control-dataview-page-height:50px}.ibiz-control-dataview-item-content__top--title{text-align:center}.ibiz-control-dataview-item-content__top--description{min-width:150px;text-align:justify;text-justify:newspaper;word-break:break-all}.ibiz-control-dataview-item-content__bottom--actions{display:flex;justify-content:center}.ibiz-control-dataview-group-content{--ibiz-control-dataview-group-item-header-bg-color:transparent;--ibiz-control-dataview-group-item-header-padding:var(--ibiz-spacing-base-tight);--ibiz-control-dataview-group-item-header-border-color:var(--ibiz-color-border);--ibiz-control-dataview-group-item-caption-text-color:var(--ibiz-color-text-0);--ibiz-control-dataview-group-item-caption-font-size:var(--ibiz-font-size-header-5);--ibiz-control-dataview-group-item-caption-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-dataview-group-item-content-bg-color:transparent;--ibiz-control-dataview-group-item-content-padding:var(--ibiz-spacing-tight);width:100%}.ibiz-control-dataview-group-content__item .el-collapse-item__content{display:flex;flex-wrap:wrap}.ibiz-control-dataview-group-content__item--empty{width:100%;text-align:center}.ibiz-control-dataview-group-content__item.is-collapse .ibiz-control-dataview-group-content__item-content{height:0;overflow:hidden}.ibiz-control-dataview-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--ibiz-control-dataview-group-item-header-padding);border-bottom:1px solid var(--ibiz-control-dataview-group-item-header-border-color)}.ibiz-control-dataview-group-content__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-control-dataview-group-item-caption-font-size);font-weight:var(--ibiz-control-dataview-group-item-caption-font-weight);color:var(--ibiz-control-dataview-group-item-caption-text-color)}.ibiz-control-dataview-group-content__item-content{display:flex;flex-wrap:wrap;padding:var(--ibiz-control-dataview-group-item-content-padding);background-color:var(--ibiz-control-dataview-group-item-content-bg-color);will-change:height}.ibiz-control-dataview-group-content__item-content>*{margin:calc(var(--ibiz-spacing-base-tight)/ 2)}.ibiz-control-dataview-group-content__item-row{padding:var(--ibiz-control-dataview-group-item-content-padding)}.ibiz-control-dataview-group-content__item-col{padding:0 var(--ibiz-spacing-base-tight) var(--ibiz-spacing-base-tight) 0}
@@ -65,6 +65,7 @@ export declare const DataViewControl: import("vue").DefineComponent<{
65
65
  classNames: import("vue").ComputedRef<string[]>;
66
66
  infiniteScroll: import("vue").Ref<IData | undefined>;
67
67
  renderHasData: () => VNode;
68
+ onShowNavView: () => void;
68
69
  renderNoData: () => VNode | undefined;
69
70
  onPageChange: (page: number) => void;
70
71
  onPageRefresh: () => void;
@@ -300,6 +300,9 @@ const DataViewControl = /* @__PURE__ */ defineComponent({
300
300
  const onExpandData = () => {
301
301
  isCollapse.value = false;
302
302
  };
303
+ const onShowNavView = () => {
304
+ c.state.showNavView = !c.state.showNavView;
305
+ };
303
306
  const upIcon = () => {
304
307
  return createVNode("div", {
305
308
  "class": ns.e("collapse-expand-icon")
@@ -382,6 +385,7 @@ const DataViewControl = /* @__PURE__ */ defineComponent({
382
385
  classNames,
383
386
  infiniteScroll,
384
387
  renderHasData,
388
+ onShowNavView,
385
389
  renderNoData,
386
390
  onPageChange,
387
391
  onPageRefresh,
@@ -415,11 +419,25 @@ const DataViewControl = /* @__PURE__ */ defineComponent({
415
419
  "onPageRefresh": this.onPageRefresh
416
420
  }, null) : null];
417
421
  }
418
- return createVNode(resolveComponent("iBizControlBase"), {
419
- "class": [this.ns.is("enable-page", !!this.c.state.enablePagingBar)],
422
+ return createVNode(resolveComponent("iBizControlNavigation"), {
420
423
  "controller": this.c
421
424
  }, {
422
- default: () => [content, this.renderCollapseExpandIcon()]
425
+ default: () => [createVNode(resolveComponent("iBizControlBase"), {
426
+ "class": [this.ns.is("enable-page", !!this.c.state.enablePagingBar)],
427
+ "controller": this.c
428
+ }, {
429
+ default: () => [content, this.c.state.enableNavView ? !this.c.state.showNavView ? createVNode("ion-icon", {
430
+ "class": this.ns.e("nav-icon"),
431
+ "title": ibiz.i18n.t("component.controlNavigation.showNav"),
432
+ "name": "eye-outline",
433
+ "onClick": this.onShowNavView
434
+ }, null) : createVNode("ion-icon", {
435
+ "class": this.ns.e("nav-icon"),
436
+ "title": ibiz.i18n.t("component.controlNavigation.hiddenNav"),
437
+ "name": "eye-off-outline",
438
+ "onClick": this.onShowNavView
439
+ }, null) : null, this.renderCollapseExpandIcon()]
440
+ })]
423
441
  });
424
442
  }
425
443
  });
@@ -56,6 +56,7 @@ export declare const IBizDataViewControl: import("@ibiz-template/vue3-util").Typ
56
56
  renderHasData: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
57
57
  [key: string]: any;
58
58
  }>;
59
+ onShowNavView: () => void;
59
60
  renderNoData: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
60
61
  [key: string]: any;
61
62
  }> | undefined;
@@ -388,7 +388,7 @@ class DRBarController extends ControlController {
388
388
  * @param {string} key
389
389
  * @memberof DRBarController
390
390
  */
391
- handleSelectChange(key = this.state.defaultItem, isRoutePushed = false) {
391
+ handleSelectChange(key = this.state.selectedItem || this.state.defaultItem, isRoutePushed = false) {
392
392
  var _a;
393
393
  if (this.state.selectedItem === key) {
394
394
  return;
@@ -1,5 +1,5 @@
1
1
  import { ref, watch, watchEffect, onUnmounted } from 'vue';
2
- import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.35-alpha.1_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';
2
+ import { defaultNamespace } from '../../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.mjs';
3
3
 
4
4
  "use strict";
5
5
  function useAppDRTab(c, controlRef, counterData) {
@@ -182,7 +182,7 @@ export declare class DRTabController extends ControlController<IDEDRTab, IDRTabS
182
182
  * @param {boolean} [isRoutePushed=false]
183
183
  * @return {*} {Promise<void>}
184
184
  */
185
- openNavPosView(drTabPages: IDEDRCtrlItem, isRoutePushed?: boolean): Promise<void>;
185
+ openNavPosView(drTabPages: IDEDRCtrlItem, isRoutePushed?: boolean, navViewKey?: string): Promise<void>;
186
186
  /**
187
187
  * 初始化计数器
188
188
  * @author lxm
@@ -191,6 +191,14 @@ export declare class DRTabController extends ControlController<IDEDRTab, IDRTabS
191
191
  * @return {*} {Promise<void>}
192
192
  */
193
193
  protected initCounter(): Promise<void>;
194
+ /**
195
+ * 刷新
196
+ *
197
+ * @author tony001
198
+ * @date 2024-10-21 11:10:10
199
+ * @return {*} {Promise<void>}
200
+ */
201
+ refresh(): Promise<void>;
194
202
  /**
195
203
  * 监听组件销毁
196
204
  *
@@ -1,3 +1,4 @@
1
+ import { createUUID } from 'qx-util';
1
2
  import { ControlController, calcItemVisibleByCounter, calcItemVisible, Srfuf, hasSubRoute, calcNavParams, CounterService } from '@ibiz-template/runtime';
2
3
  import { getNestedRoutePath } from '@ibiz-template/vue3-util';
3
4
 
@@ -408,11 +409,11 @@ class DRTabController extends ControlController {
408
409
  * @param {boolean} [isRoutePushed=false]
409
410
  * @return {*} {Promise<void>}
410
411
  */
411
- async openNavPosView(drTabPages, isRoutePushed = false) {
412
+ async openNavPosView(drTabPages, isRoutePushed = false, navViewKey) {
412
413
  var _a;
413
414
  const { context, params } = this.prepareParams(drTabPages);
414
415
  (_a = this.navPos) == null ? void 0 : _a.openView({
415
- key: drTabPages.id,
416
+ key: navViewKey || drTabPages.id,
416
417
  context,
417
418
  params,
418
419
  viewId: drTabPages.appViewId,
@@ -439,6 +440,29 @@ class DRTabController extends ControlController {
439
440
  this.counter.onChange(this.calcItemStateByCounter);
440
441
  }
441
442
  }
443
+ /**
444
+ * 刷新
445
+ *
446
+ * @author tony001
447
+ * @date 2024-10-21 11:10:10
448
+ * @return {*} {Promise<void>}
449
+ */
450
+ async refresh() {
451
+ var _a;
452
+ const { activeName } = this.state;
453
+ const drBarItem = (_a = this.model.dedrtabPages) == null ? void 0 : _a.find(
454
+ (item) => item.id === activeName
455
+ );
456
+ if (drBarItem) {
457
+ this.setVisible("navPos");
458
+ this.openNavPosView(drBarItem, false, createUUID());
459
+ } else {
460
+ this.setVisible("form");
461
+ if (this.routeDepth && this.state.drTabPages[0]) {
462
+ this.router.push(this.state.drTabPages[0].fullPath);
463
+ }
464
+ }
465
+ }
442
466
  /**
443
467
  * 监听组件销毁
444
468
  *
@@ -1 +1 @@
1
- .ibiz-control-drtab{--ibiz-control-drtab-active-color:var(--ibiz-color-primary);--ibiz-control-drtab-hover-color:var(--ibiz-color-text-0);--ibiz-control-drtab-hover-bg-color:transparent}.ibiz-control-drtab__counter{margin-left:var(--ibiz-spacing-tight)}.ibiz-control-drtab .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-drtab-active-color)}.ibiz-control-drtab .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-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-drtab-hover-color);background-color:var(--ibiz-control-drtab-hover-bg-color)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-drtab-active-color)}.ibiz-control-drtab .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-drtab .el-tabs.el-tabs--bottom .el-tabs__nav-scroll,.ibiz-control-drtab .el-tabs.el-tabs--top .el-tabs__nav-scroll{padding:0 var(--ibiz-spacing-base)}.ibiz-control-drtab .el-tabs__item{padding:0 var(--ibiz-spacing-base)}.ibiz-control-drtab .el-tabs__nav-next,.ibiz-control-drtab .el-tabs__nav-prev{line-height:var(--el-tabs-header-height)}.ibiz-control-drtab-pane-label__text+.ibiz-control-drtab-pane-label__counter{margin-left:var(--ibiz-spacing-tight)}.ibiz-control-drtab-more .el-tabs.el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-next,.ibiz-control-drtab-more .el-tabs.el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-prev{display:none}.ibiz-control-drtab-more .el-tabs.el-tabs.el-tabs--top .el-tabs__nav-wrap.is-scrollable{padding:var(--ibiz-spacing-none)}.ibiz-control-drtab-more-dropdown{height:100%}.ibiz-control-drtab-more-dropdown__link{position:relative;display:flex;align-items:center;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-2)}.ibiz-control-drtab-more-dropdown__link svg{color:var(--ibiz-color-text-2);fill:var(--ibiz-color-text-2)}.ibiz-control-drtab-more-dropdown__link:hover{color:var(--ibiz-color-text-0)}.ibiz-control-drtab-more-dropdown__link:hover svg{color:var(--ibiz-color-text-0);fill:var(--ibiz-color-text-0)}.ibiz-control-drtab-more-dropdown__link::after{position:absolute;left:-16px;display:inline-block;width:100%;height:100%;content:""}.ibiz-control-drtab-more-dropdown-popper{width:240px}.ibiz-control-drtab-more-dropdown-popper__active{background-color:var(--ibiz-color-primary-active)}.ibiz-control-drtab-more-dropdown-popper__label{display:flex;align-items:center;width:100%;overflow:hidden}.ibiz-control-drtab-more-dropdown-popper__label--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-drtab-more-dropdown-popper__label--counter{min-width:20px;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-drtab-more-dropdown-popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list .ibiz-control-drtab-more-dropdown-popper__active.el-dropdown-menu__item{background-color:var(--ibiz-color-primary-active)}
1
+ .ibiz-control-drtab{--ibiz-control-drtab-active-color:var(--ibiz-color-primary);--ibiz-control-drtab-hover-color:var(--ibiz-color-text-0);--ibiz-control-drtab-hover-bg-color:transparent}.ibiz-control-drtab__counter{margin-left:var(--ibiz-spacing-tight)}.ibiz-control-drtab .el-tabs .el-tabs__header{margin:var(--ibiz-spacing-none)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap{margin:var(--ibiz-spacing-none)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__active-bar{background-color:var(--ibiz-control-drtab-active-color)}.ibiz-control-drtab .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-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item:hover{color:var(--ibiz-control-drtab-hover-color);background-color:var(--ibiz-control-drtab-hover-bg-color)}.ibiz-control-drtab .el-tabs .el-tabs__header .el-tabs__nav-wrap .el-tabs__nav .el-tabs__item.is-active{color:var(--ibiz-control-drtab-active-color)}.ibiz-control-drtab .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-drtab .el-tabs.el-tabs--bottom .el-tabs__nav-scroll,.ibiz-control-drtab .el-tabs.el-tabs--top .el-tabs__nav-scroll{padding:0 var(--ibiz-spacing-base)}.ibiz-control-drtab .el-tabs__item{padding:0 var(--ibiz-spacing-base)}.ibiz-control-drtab .el-tabs__nav-next,.ibiz-control-drtab .el-tabs__nav-prev{line-height:var(--el-tabs-header-height)}.ibiz-control-drtab-label__icon{margin-right:var(--ibiz-spacing-tight)}.ibiz-control-drtab-more .el-tabs.el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-next,.ibiz-control-drtab-more .el-tabs.el-tabs.el-tabs--top .el-tabs__header .el-tabs__nav-prev{display:none}.ibiz-control-drtab-more .el-tabs.el-tabs.el-tabs--top .el-tabs__nav-wrap.is-scrollable{padding:var(--ibiz-spacing-none)}.ibiz-control-drtab-more-dropdown{height:100%}.ibiz-control-drtab-more-dropdown__link{position:relative;display:flex;align-items:center;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-2)}.ibiz-control-drtab-more-dropdown__link svg{color:var(--ibiz-color-text-2);fill:var(--ibiz-color-text-2)}.ibiz-control-drtab-more-dropdown__link:hover{color:var(--ibiz-color-text-0)}.ibiz-control-drtab-more-dropdown__link:hover svg{color:var(--ibiz-color-text-0);fill:var(--ibiz-color-text-0)}.ibiz-control-drtab-more-dropdown__link::after{position:absolute;left:-16px;display:inline-block;width:100%;height:100%;content:""}.ibiz-control-drtab-more-dropdown-popper{width:240px}.ibiz-control-drtab-more-dropdown-popper__active{background-color:var(--ibiz-color-primary-active)}.ibiz-control-drtab-more-dropdown-popper__label{display:flex;align-items:center;width:100%;overflow:hidden}.ibiz-control-drtab-more-dropdown-popper__label--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-drtab-more-dropdown-popper__label--counter{min-width:20px;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-drtab-more-dropdown-popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list .ibiz-control-drtab-more-dropdown-popper__active.el-dropdown-menu__item{background-color:var(--ibiz-color-primary-active)}.ibiz-control-drtab-dropdown-list .ibiz-badge{width:var(--ibiz-width-icon-medium);height:var(--ibiz-width-icon-medium);display:flex;align-items:center;justify-content:center;font-size:var(--ibiz-font-size-small)}.ibiz-control-drtab-dropdown-list__trigger{display:flex;cursor:pointer;align-items:center;font-size:var(--ibiz-font-size-header-5)}.ibiz-control-drtab-dropdown-list__trigger .caption{position:relative;padding:var(--ibiz-spacing-tight)}.ibiz-control-drtab-dropdown-list__trigger .caption .ibiz-badge{top:0;right:-6px;position:absolute}.ibiz-control-drtab-dropdown-list__popper{max-width:220px;min-width:150px}.ibiz-control-drtab-dropdown-list__popper--content{max-height:26vh;overflow:auto}.ibiz-control-drtab-dropdown-list__popper--item{display:flex;align-items:center}.ibiz-control-drtab-dropdown-list__popper--item .caption{padding-right:var(--ibiz-spacing-tight);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-drtab-dropdown-list__popper--item .ibiz-badge{width:var(--ibiz-width-icon-medium);height:var(--ibiz-width-icon-medium);display:flex;align-items:center;justify-content:center;font-size:var(--ibiz-font-size-small);margin-right:var(--ibiz-spacing-tight)}.ibiz-control-drtab-dropdown-list__popper--item ion-icon{color:var(--ibiz-color-primary);font-size:var(--ibiz-width-icon-medium)}.ibiz-control-drtab-dropdown-list__popper--item.is-active{background-color:var(--ibiz-color-fill-0)!important}.ibiz-control-drtab-dropdown-list__popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list{background-color:transparent}.ibiz-control-drtab-dropdown-list__popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list .el-dropdown-menu__item{min-height:38px;color:var(--ibiz-color-text-0);background-color:transparent}.ibiz-control-drtab-dropdown-list__popper.el-popper.el-dropdown__popper .el-scrollbar .el-dropdown__list .el-dropdown-menu__item:hover{background-color:var(--ibiz-color-fill-0)}
@@ -26,8 +26,10 @@ export declare const DRTabControl: import("vue").DefineComponent<{
26
26
  counterData: IData;
27
27
  visibleItems: import("vue").Ref<IData>;
28
28
  moreItems: import("vue").Ref<IData>;
29
+ tabPosition: string;
30
+ onTabChange: (key: string) => void;
29
31
  handleTabChange: () => void;
30
- handleMoreChange: (key: string) => void;
32
+ renderDropdownList: () => JSX.Element;
31
33
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
34
  modelData: {
33
35
  type: PropType<IDEDRTab>;
@@ -1,12 +1,12 @@
1
- import { defineComponent, ref, reactive, onUnmounted, watch, createVNode, resolveComponent, createTextVNode } from 'vue';
1
+ import { defineComponent, ref, reactive, computed, onUnmounted, watch, createVNode, resolveComponent, createTextVNode } from 'vue';
2
2
  import { useControlController, useNamespace, getNestedRoutePath, route2routePath } from '@ibiz-template/vue3-util';
3
3
  import { useRouter, useRoute } from 'vue-router';
4
4
  import { hasSubRoute } from '@ibiz-template/runtime';
5
5
  import { isNil } from 'ramda';
6
6
  import { showTitle } from '@ibiz-template/core';
7
7
  import { DRTabController } from './drtab.controller.mjs';
8
- import './drtab.css';
9
8
  import { useAppDRTab } from './drtab-control.util.mjs';
9
+ import './drtab.css';
10
10
 
11
11
  "use strict";
12
12
  const DRTabControl = /* @__PURE__ */ defineComponent({
@@ -29,6 +29,7 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
29
29
  }
30
30
  },
31
31
  setup() {
32
+ var _a;
32
33
  const c = useControlController((...args) => new DRTabController(...args));
33
34
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
34
35
  const router = useRouter();
@@ -41,20 +42,24 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
41
42
  const fn = (counter) => {
42
43
  Object.assign(counterData, counter);
43
44
  };
45
+ const tabPosition = ((_a = c.view.model.tabLayout) == null ? void 0 : _a.toLowerCase()) || "top";
44
46
  c.evt.on("onCreated", () => {
45
47
  if (c.counter) {
46
48
  c.counter.onChange(fn, true);
47
49
  }
48
50
  });
51
+ const activeTab = computed(() => {
52
+ return c.state.drTabPages.find((tab) => tab.tag === c.state.activeName);
53
+ });
49
54
  onUnmounted(() => {
50
- var _a;
51
- (_a = c.counter) == null ? void 0 : _a.offChange(fn);
55
+ var _a2;
56
+ (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
52
57
  });
53
58
  c.setRouter(router);
54
59
  const handleTabChange = () => {
55
60
  c.handleTabChange();
56
61
  };
57
- const handleMoreChange = (key) => {
62
+ const onTabChange = (key) => {
58
63
  c.state.activeName = key;
59
64
  c.handleTabChange();
60
65
  };
@@ -93,6 +98,55 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
93
98
  immediate: true
94
99
  });
95
100
  }
101
+ const renderDropdownList = () => {
102
+ return createVNode(resolveComponent("el-dropdown"), {
103
+ "trigger": "click",
104
+ "class": ns.b("dropdown-list"),
105
+ "popper-class": ns.be("dropdown-list", "popper"),
106
+ "onCommand": onTabChange
107
+ }, {
108
+ default: () => {
109
+ var _a2, _b, _c;
110
+ return createVNode("div", {
111
+ "class": ns.be("dropdown-list", "trigger")
112
+ }, [((_a2 = activeTab.value) == null ? void 0 : _a2.sysImage) && createVNode(resolveComponent("iBizIcon"), {
113
+ "icon": activeTab.value.sysImage
114
+ }, null), createVNode("div", {
115
+ "class": "caption"
116
+ }, [(_b = activeTab.value) == null ? void 0 : _b.caption, ((_c = activeTab.value) == null ? void 0 : _c.counterId) && createVNode(resolveComponent("iBizBadge"), {
117
+ "value": counterData[activeTab.value.counterId],
118
+ "counterMode": activeTab.value.counterMode
119
+ }, null)]), createVNode("ion-icon", {
120
+ "name": "chevron-down-outline"
121
+ }, null)]);
122
+ },
123
+ dropdown: () => {
124
+ return createVNode("div", {
125
+ "class": ns.bem("dropdown-list", "popper", "content")
126
+ }, [c.state.drTabPages.map((tab) => {
127
+ if (!tab.hidden) {
128
+ return createVNode(resolveComponent("el-dropdown-item"), {
129
+ "class": [ns.bem("dropdown-list", "popper", "item"), ns.is("active", tab.tag === c.state.activeName)],
130
+ "command": tab.tag,
131
+ "disabled": tab.disabled
132
+ }, {
133
+ default: () => [tab.sysImage && createVNode(resolveComponent("iBizIcon"), {
134
+ "icon": tab.sysImage
135
+ }, null), createVNode("span", {
136
+ "class": "caption"
137
+ }, [tab.caption]), tab.counterId && createVNode(resolveComponent("iBizBadge"), {
138
+ "value": counterData[tab.counterId],
139
+ "counterMode": tab.counterMode
140
+ }, null), tab.tag === c.state.activeName && createVNode("ion-icon", {
141
+ "name": "checkmark-outline"
142
+ }, null)]
143
+ });
144
+ }
145
+ return null;
146
+ })]);
147
+ }
148
+ });
149
+ };
96
150
  return {
97
151
  c,
98
152
  ns,
@@ -100,8 +154,10 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
100
154
  counterData,
101
155
  visibleItems,
102
156
  moreItems,
157
+ tabPosition,
158
+ onTabChange,
103
159
  handleTabChange,
104
- handleMoreChange
160
+ renderDropdownList
105
161
  };
106
162
  },
107
163
  render() {
@@ -137,7 +193,7 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
137
193
  return this.moreItems.map((item) => {
138
194
  return createVNode(resolveComponent("el-dropdown-item"), {
139
195
  "class": [this.c.state.activeName === item.tag ? this.ns.be("more-dropdown-popper", "active") : ""],
140
- "onClick": () => this.handleMoreChange(item.tag)
196
+ "onClick": () => this.onTabChange(item.tag)
141
197
  }, {
142
198
  default: () => [createVNode("span", {
143
199
  "class": [this.ns.be("more-dropdown-popper", "label")]
@@ -160,7 +216,7 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
160
216
  "controller": this.c,
161
217
  "class": [this.ns.b(), this.moreItems.length > 0 ? this.ns.b("more") : ""]
162
218
  }, {
163
- default: () => [isCreated && isCalculatedPermission && createVNode(resolveComponent("el-tabs"), {
219
+ default: () => [isCreated && isCalculatedPermission && this.tabPosition === "top_dropdownlist" ? this.renderDropdownList() : createVNode(resolveComponent("el-tabs"), {
164
220
  "modelValue": this.c.state.activeName,
165
221
  "onUpdate:modelValue": ($event) => this.c.state.activeName = $event,
166
222
  "onTabChange": this.handleTabChange
@@ -177,7 +233,10 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
177
233
  label: () => {
178
234
  return createVNode("span", {
179
235
  "class": this.ns.b("label")
180
- }, [createVNode("span", {
236
+ }, [tab.sysImage && createVNode(resolveComponent("iBizIcon"), {
237
+ "class": this.ns.be("label", "icon"),
238
+ "icon": tab.sysImage
239
+ }, null), createVNode("span", {
181
240
  "class": this.ns.be("label", "text")
182
241
  }, [tab.caption]), !isNil(counterNum) && createVNode(resolveComponent("iBizBadge"), {
183
242
  "class": this.ns.e("counter"),
@@ -22,8 +22,10 @@ export declare const IBizDRTabControl: import("@ibiz-template/vue3-util").TypeWi
22
22
  counterData: IData;
23
23
  visibleItems: import("vue").Ref<IData>;
24
24
  moreItems: import("vue").Ref<IData>;
25
+ tabPosition: string;
26
+ onTabChange: (key: string) => void;
25
27
  handleTabChange: () => void;
26
- handleMoreChange: (key: string) => void;
28
+ renderDropdownList: () => JSX.Element;
27
29
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
28
30
  modelData: {
29
31
  type: import("vue").PropType<import("@ibiz/model-core").IDEDRTab>;
@@ -19,6 +19,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
19
19
  wfStart: (args?: import("@ibiz-template/runtime").IDataAbilityParams | undefined) => Promise<void>;
20
20
  getData: () => IData[];
21
21
  validate: () => Promise<boolean>;
22
+ silentValidate: () => Promise<boolean>;
22
23
  refresh: () => Promise<void>;
23
24
  changeCollapse: (params?: IData | undefined) => void;
24
25
  setActiveTab: (name: string) => void;
@@ -266,6 +267,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
266
267
  triggerCustom: (id: string, executeParams: Partial<import("@ibiz-template/runtime").IUILogicParams>) => any;
267
268
  triggerControlEvent: (ctrlName: string, eventName: string, executeParams?: Partial<import("@ibiz-template/runtime").IUILogicParams> | undefined) => void;
268
269
  } | undefined;
270
+ runMode: "DESIGN" | "RUNTIME";
269
271
  startLoading: () => Promise<void>;
270
272
  endLoading: () => Promise<void>;
271
273
  onActivated: () => void;
@@ -11544,6 +11546,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
11544
11546
  triggerCustom: (id: string, executeParams: Partial<import("@ibiz-template/runtime").IUILogicParams>) => any;
11545
11547
  triggerControlEvent: (ctrlName: string, eventName: string, executeParams?: Partial<import("@ibiz-template/runtime").IUILogicParams> | undefined) => void;
11546
11548
  } | undefined;
11549
+ runMode: "DESIGN" | "RUNTIME";
11547
11550
  startLoading: () => Promise<void>;
11548
11551
  endLoading: () => Promise<void>;
11549
11552
  onActivated: () => void;
@@ -14507,6 +14510,7 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
14507
14510
  triggerCustom: (id: string, executeParams: Partial<import("@ibiz-template/runtime").IUILogicParams>) => any;
14508
14511
  triggerControlEvent: (ctrlName: string, eventName: string, executeParams?: Partial<import("@ibiz-template/runtime").IUILogicParams> | undefined) => void;
14509
14512
  } | undefined;
14513
+ runMode: "DESIGN" | "RUNTIME";
14510
14514
  startLoading: () => Promise<void>;
14511
14515
  endLoading: () => Promise<void>;
14512
14516
  onActivated: () => void;
@@ -1 +1 @@
1
- .ibiz-form-tab-panel{width:100%;height:100%;--ibiz-form-tab-panel-font-size:var(--ibiz-font-size-header-4);--ibiz-form-tab-panel-header-border-color:var(--ibiz-color-border);--ibiz-form-tab-panel-text-color:var(--ibiz-color-text-2);--ibiz-form-tab-panel-bg-color:transparent;--ibiz-form-tab-panel-hover-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-hover-bg-color:transparent;--ibiz-form-tab-panel-active-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-active-bg-color:transparent;--ibiz-form-tab-panel-active-border-color:var(--ibiz-color-primary)}.ibiz-form-tab-panel>.el-tabs__header.is-top{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-tab-panel-font-size);color:var(--ibiz-form-tab-panel-text-color);background-color:var(--ibiz-form-tab-panel-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-tab-panel-hover-text-color);background-color:var(--ibiz-form-tab-panel-hover-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-tab-panel-active-text-color);background-color:var(--ibiz-form-tab-panel-active-bg-color)}.ibiz-form-tab-panel .el-tabs__nav-wrap::after{height:1px;background-color:var(--ibiz-form-tab-panel-header-border-color)}.ibiz-form-tab-panel .el-tabs__active-bar{background-color:var(--ibiz-form-tab-panel-active-border-color)}.ibiz-form-tab-panel__badge .el-badge__content{padding:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-small);background-color:var(--ibiz-color-danger)}
1
+ .ibiz-form-tab-panel{width:100%;height:100%;--ibiz-form-tab-panel-font-size:var(--ibiz-font-size-header-4);--ibiz-form-tab-panel-header-border-color:var(--ibiz-color-border);--ibiz-form-tab-panel-text-color:var(--ibiz-color-text-2);--ibiz-form-tab-panel-bg-color:transparent;--ibiz-form-tab-panel-hover-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-hover-bg-color:transparent;--ibiz-form-tab-panel-active-text-color:var(--ibiz-color-primary);--ibiz-form-tab-panel-active-bg-color:transparent;--ibiz-form-tab-panel-active-border-color:var(--ibiz-color-primary)}.ibiz-form-tab-panel>.el-tabs__header.is-top{margin-bottom:var(--ibiz-spacing-tight)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top{font-size:var(--ibiz-form-tab-panel-font-size);color:var(--ibiz-form-tab-panel-text-color);background-color:var(--ibiz-form-tab-panel-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top:hover{color:var(--ibiz-form-tab-panel-hover-text-color);background-color:var(--ibiz-form-tab-panel-hover-bg-color)}.ibiz-form-tab-panel>.el-tabs__header.is-top .el-tabs__item.is-top.is-active{color:var(--ibiz-form-tab-panel-active-text-color);background-color:var(--ibiz-form-tab-panel-active-bg-color)}.ibiz-form-tab-panel .el-tabs__nav-wrap::after{height:1px;background-color:var(--ibiz-form-tab-panel-header-border-color)}.ibiz-form-tab-panel .el-tabs__active-bar{background-color:var(--ibiz-form-tab-panel-active-border-color)}.ibiz-form-tab-panel .el-tabs__item .ibiz-form-tab-panel__badge.is-no-counter{padding-right:var(--ibiz-spacing-none)}.ibiz-form-tab-panel__badge .el-badge__content{padding:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-font-size-small);background-color:var(--ibiz-color-danger)}
@@ -99,7 +99,7 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
99
99
  let _slot;
100
100
  const value = c.model.counterId ? this.counterData.value[c.model.counterId] : void 0;
101
101
  return c.model.counterId ? createVNode(resolveComponent("el-badge"), {
102
- "class": this.ns.e("badge"),
102
+ "class": [this.ns.e("badge"), this.ns.is("no-counter", !value && value !== 0 || c.model.counterMode === 1 && value <= 0)],
103
103
  "value": value,
104
104
  "hidden": !value && value !== 0 || c.model.counterMode === 1 && value <= 0
105
105
  }, _isSlot(_slot = renderItemText(c)) ? _slot : {
@@ -1 +1 @@
1
- .ibiz-control-gantt{width:100%;height:100%}.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;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 .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}
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)}