@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
@@ -7,8 +7,8 @@ var runtime = require('@ibiz-template/runtime');
7
7
  var ramda = require('ramda');
8
8
  var core = require('@ibiz-template/core');
9
9
  var drtab_controller = require('./drtab.controller.cjs');
10
- require('./drtab.css');
11
10
  var drtabControl_util = require('./drtab-control.util.cjs');
11
+ require('./drtab.css');
12
12
 
13
13
  "use strict";
14
14
  const DRTabControl = /* @__PURE__ */ vue.defineComponent({
@@ -31,6 +31,7 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
31
31
  }
32
32
  },
33
33
  setup() {
34
+ var _a;
34
35
  const c = vue3Util.useControlController((...args) => new drtab_controller.DRTabController(...args));
35
36
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
36
37
  const router = vueRouter.useRouter();
@@ -43,20 +44,24 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
43
44
  const fn = (counter) => {
44
45
  Object.assign(counterData, counter);
45
46
  };
47
+ const tabPosition = ((_a = c.view.model.tabLayout) == null ? void 0 : _a.toLowerCase()) || "top";
46
48
  c.evt.on("onCreated", () => {
47
49
  if (c.counter) {
48
50
  c.counter.onChange(fn, true);
49
51
  }
50
52
  });
53
+ const activeTab = vue.computed(() => {
54
+ return c.state.drTabPages.find((tab) => tab.tag === c.state.activeName);
55
+ });
51
56
  vue.onUnmounted(() => {
52
- var _a;
53
- (_a = c.counter) == null ? void 0 : _a.offChange(fn);
57
+ var _a2;
58
+ (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
54
59
  });
55
60
  c.setRouter(router);
56
61
  const handleTabChange = () => {
57
62
  c.handleTabChange();
58
63
  };
59
- const handleMoreChange = (key) => {
64
+ const onTabChange = (key) => {
60
65
  c.state.activeName = key;
61
66
  c.handleTabChange();
62
67
  };
@@ -95,6 +100,55 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
95
100
  immediate: true
96
101
  });
97
102
  }
103
+ const renderDropdownList = () => {
104
+ return vue.createVNode(vue.resolveComponent("el-dropdown"), {
105
+ "trigger": "click",
106
+ "class": ns.b("dropdown-list"),
107
+ "popper-class": ns.be("dropdown-list", "popper"),
108
+ "onCommand": onTabChange
109
+ }, {
110
+ default: () => {
111
+ var _a2, _b, _c;
112
+ return vue.createVNode("div", {
113
+ "class": ns.be("dropdown-list", "trigger")
114
+ }, [((_a2 = activeTab.value) == null ? void 0 : _a2.sysImage) && vue.createVNode(vue.resolveComponent("iBizIcon"), {
115
+ "icon": activeTab.value.sysImage
116
+ }, null), vue.createVNode("div", {
117
+ "class": "caption"
118
+ }, [(_b = activeTab.value) == null ? void 0 : _b.caption, ((_c = activeTab.value) == null ? void 0 : _c.counterId) && vue.createVNode(vue.resolveComponent("iBizBadge"), {
119
+ "value": counterData[activeTab.value.counterId],
120
+ "counterMode": activeTab.value.counterMode
121
+ }, null)]), vue.createVNode("ion-icon", {
122
+ "name": "chevron-down-outline"
123
+ }, null)]);
124
+ },
125
+ dropdown: () => {
126
+ return vue.createVNode("div", {
127
+ "class": ns.bem("dropdown-list", "popper", "content")
128
+ }, [c.state.drTabPages.map((tab) => {
129
+ if (!tab.hidden) {
130
+ return vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
131
+ "class": [ns.bem("dropdown-list", "popper", "item"), ns.is("active", tab.tag === c.state.activeName)],
132
+ "command": tab.tag,
133
+ "disabled": tab.disabled
134
+ }, {
135
+ default: () => [tab.sysImage && vue.createVNode(vue.resolveComponent("iBizIcon"), {
136
+ "icon": tab.sysImage
137
+ }, null), vue.createVNode("span", {
138
+ "class": "caption"
139
+ }, [tab.caption]), tab.counterId && vue.createVNode(vue.resolveComponent("iBizBadge"), {
140
+ "value": counterData[tab.counterId],
141
+ "counterMode": tab.counterMode
142
+ }, null), tab.tag === c.state.activeName && vue.createVNode("ion-icon", {
143
+ "name": "checkmark-outline"
144
+ }, null)]
145
+ });
146
+ }
147
+ return null;
148
+ })]);
149
+ }
150
+ });
151
+ };
98
152
  return {
99
153
  c,
100
154
  ns,
@@ -102,8 +156,10 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
102
156
  counterData,
103
157
  visibleItems,
104
158
  moreItems,
159
+ tabPosition,
160
+ onTabChange,
105
161
  handleTabChange,
106
- handleMoreChange
162
+ renderDropdownList
107
163
  };
108
164
  },
109
165
  render() {
@@ -139,7 +195,7 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
139
195
  return this.moreItems.map((item) => {
140
196
  return vue.createVNode(vue.resolveComponent("el-dropdown-item"), {
141
197
  "class": [this.c.state.activeName === item.tag ? this.ns.be("more-dropdown-popper", "active") : ""],
142
- "onClick": () => this.handleMoreChange(item.tag)
198
+ "onClick": () => this.onTabChange(item.tag)
143
199
  }, {
144
200
  default: () => [vue.createVNode("span", {
145
201
  "class": [this.ns.be("more-dropdown-popper", "label")]
@@ -162,7 +218,7 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
162
218
  "controller": this.c,
163
219
  "class": [this.ns.b(), this.moreItems.length > 0 ? this.ns.b("more") : ""]
164
220
  }, {
165
- default: () => [isCreated && isCalculatedPermission && vue.createVNode(vue.resolveComponent("el-tabs"), {
221
+ default: () => [isCreated && isCalculatedPermission && this.tabPosition === "top_dropdownlist" ? this.renderDropdownList() : vue.createVNode(vue.resolveComponent("el-tabs"), {
166
222
  "modelValue": this.c.state.activeName,
167
223
  "onUpdate:modelValue": ($event) => this.c.state.activeName = $event,
168
224
  "onTabChange": this.handleTabChange
@@ -179,7 +235,10 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
179
235
  label: () => {
180
236
  return vue.createVNode("span", {
181
237
  "class": this.ns.b("label")
182
- }, [vue.createVNode("span", {
238
+ }, [tab.sysImage && vue.createVNode(vue.resolveComponent("iBizIcon"), {
239
+ "class": this.ns.be("label", "icon"),
240
+ "icon": tab.sysImage
241
+ }, null), vue.createVNode("span", {
183
242
  "class": this.ns.be("label", "text")
184
243
  }, [tab.caption]), !ramda.isNil(counterNum) && vue.createVNode(vue.resolveComponent("iBizBadge"), {
185
244
  "class": this.ns.e("counter"),
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var qxUtil = require('qx-util');
3
4
  var runtime = require('@ibiz-template/runtime');
4
5
  var vue3Util = require('@ibiz-template/vue3-util');
5
6
 
@@ -410,11 +411,11 @@ class DRTabController extends runtime.ControlController {
410
411
  * @param {boolean} [isRoutePushed=false]
411
412
  * @return {*} {Promise<void>}
412
413
  */
413
- async openNavPosView(drTabPages, isRoutePushed = false) {
414
+ async openNavPosView(drTabPages, isRoutePushed = false, navViewKey) {
414
415
  var _a;
415
416
  const { context, params } = this.prepareParams(drTabPages);
416
417
  (_a = this.navPos) == null ? void 0 : _a.openView({
417
- key: drTabPages.id,
418
+ key: navViewKey || drTabPages.id,
418
419
  context,
419
420
  params,
420
421
  viewId: drTabPages.appViewId,
@@ -441,6 +442,29 @@ class DRTabController extends runtime.ControlController {
441
442
  this.counter.onChange(this.calcItemStateByCounter);
442
443
  }
443
444
  }
445
+ /**
446
+ * 刷新
447
+ *
448
+ * @author tony001
449
+ * @date 2024-10-21 11:10:10
450
+ * @return {*} {Promise<void>}
451
+ */
452
+ async refresh() {
453
+ var _a;
454
+ const { activeName } = this.state;
455
+ const drBarItem = (_a = this.model.dedrtabPages) == null ? void 0 : _a.find(
456
+ (item) => item.id === activeName
457
+ );
458
+ if (drBarItem) {
459
+ this.setVisible("navPos");
460
+ this.openNavPosView(drBarItem, false, qxUtil.createUUID());
461
+ } else {
462
+ this.setVisible("form");
463
+ if (this.routeDepth && this.state.drTabPages[0]) {
464
+ this.router.push(this.state.drTabPages[0].fullPath);
465
+ }
466
+ }
467
+ }
444
468
  /**
445
469
  * 监听组件销毁
446
470
  *
@@ -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)}
@@ -103,7 +103,7 @@ const FormTabPanel = /* @__PURE__ */ vue.defineComponent({
103
103
  let _slot;
104
104
  const value = c.model.counterId ? this.counterData.value[c.model.counterId] : void 0;
105
105
  return c.model.counterId ? vue.createVNode(vue.resolveComponent("el-badge"), {
106
- "class": this.ns.e("badge"),
106
+ "class": [this.ns.e("badge"), this.ns.is("no-counter", !value && value !== 0 || c.model.counterMode === 1 && value <= 0)],
107
107
  "value": value,
108
108
  "hidden": !value && value !== 0 || c.model.counterMode === 1 && value <= 0
109
109
  }, _isSlot(_slot = renderItemText(c)) ? _slot : {
@@ -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)}
@@ -3,6 +3,7 @@
3
3
  var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var runtime = require('@ibiz-template/runtime');
6
+ var core = require('@ibiz-template/core');
6
7
  var dayjs = require('dayjs');
7
8
  var elTreeUtil = require('../tree/el-tree-util.cjs');
8
9
  require('./gantt.css');
@@ -50,7 +51,6 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
50
51
  const iBizIcon = vue.resolveComponent("IBizIcon");
51
52
  let forbidClick = false;
52
53
  const selection = [];
53
- const color = ["blue", "light-blue", "blue-cyan", "pink", "purple", "violet", "indigo", "cyan", "teal", "green", "light-green", "lime", "yellow", "amber", "orange", "grey", "sky-blue"];
54
54
  const app = (_a = vue.getCurrentInstance()) == null ? void 0 : _a.appContext.app;
55
55
  vue.onMounted(() => {
56
56
  const importGantt = () => import('@ibiz-template-plugin/gantt');
@@ -77,22 +77,26 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
77
77
  const root = document.documentElement;
78
78
  return getComputedStyle(root).getPropertyValue(varName);
79
79
  };
80
- const ganttStyle = vue.computed(() => {
80
+ const {
81
+ UIStore
82
+ } = vue3Util.useUIStore();
83
+ const ganttStyle = vue.ref({});
84
+ const calcGanttStyle = () => {
81
85
  var _a2, _b;
82
- const style = {
86
+ return {
83
87
  primaryColor: ((_a2 = c.state.ganttStyle) == null ? void 0 : _a2.primaryColor) || getVarValue("--ibiz-color-primary"),
84
- textColor: ((_b = c.state.ganttStyle) == null ? void 0 : _b.textColor) || getVarValue("--ibiz-color-primary-text")
88
+ textColor: ((_b = c.state.ganttStyle) == null ? void 0 : _b.textColor) || getVarValue("--ibiz-color-text-3"),
89
+ headerBgColor: "rgba(".concat(getVarValue("--ibiz-grey-1"), ", 1)"),
90
+ bgColor: getVarValue("--ibiz-color-bg-1"),
91
+ weekendColor: getVarValue("--ibiz-color-fill-2"),
92
+ todayColor: getVarValue("--ibiz-color-primary-light-active"),
93
+ borderColor: getVarValue("--ibiz-color-tertiary-light-active")
85
94
  };
86
- return style;
87
- });
88
- const sliderColor = vue.computed(() => {
89
- var _a2;
90
- const nodeColor = {};
91
- (_a2 = c.model.detreeNodes) == null ? void 0 : _a2.forEach((node, index) => {
92
- const colorIndex = index % color.length;
93
- nodeColor[node.id] = "rgba(".concat(getVarValue("--ibiz-".concat(color[colorIndex], "-0")), ", 1)");
94
- });
95
- return nodeColor;
95
+ };
96
+ vue.watch(() => UIStore.theme, () => {
97
+ ganttStyle.value = calcGanttStyle();
98
+ }, {
99
+ immediate: true
96
100
  });
97
101
  const loading = vue.computed(() => {
98
102
  if (c.state.isLoaded) {
@@ -201,6 +205,25 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
201
205
  sliderMove.value = true;
202
206
  c.modifyNodeTime(nodeData, newValue);
203
207
  };
208
+ const onSettingClick = async () => {
209
+ const res = await ibiz.overlay.modal((modal) => {
210
+ const comp = vue.resolveComponent("IBizGanttSetting");
211
+ const options = {
212
+ modal,
213
+ columnStates: c.state.columnStates
214
+ };
215
+ if (c.state.mustShowColumns) {
216
+ options.mustShowColumns = c.state.mustShowColumns;
217
+ }
218
+ return vue.h(comp, options);
219
+ }, void 0, {
220
+ width: "auto",
221
+ height: "auto"
222
+ });
223
+ if (res.ok && res.data && res.data.length > 0) {
224
+ c.setColumnVisible(res.data);
225
+ }
226
+ };
204
227
  const calcContextMenuItems = (toolbarItems, nodeData, evt, menuState) => {
205
228
  const result = [];
206
229
  toolbarItems.forEach((item) => {
@@ -313,12 +336,10 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
313
336
  "width": width && width > 30 ? width : 30,
314
337
  "center": (align == null ? void 0 : align.toLowerCase()) === "center"
315
338
  }, {
316
- title: ({
317
- label
318
- }) => {
339
+ title: () => {
319
340
  return vue.createVNode("div", {
320
341
  "class": headerSysCss == null ? void 0 : headerSysCss.cssName
321
- }, [label]);
342
+ }, [caption]);
322
343
  },
323
344
  default: ({
324
345
  row
@@ -368,6 +389,10 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
368
389
  content: ({
369
390
  row
370
391
  }) => {
392
+ const {
393
+ sysCss
394
+ } = c.getNodeModel(row._nodeId);
395
+ const sysCssName = (sysCss == null ? void 0 : sysCss.cssName) || "";
371
396
  return vue.createVNode(vue.resolveComponent("el-popover"), {
372
397
  "placement": "bottom",
373
398
  "width": "auto",
@@ -377,10 +402,7 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
377
402
  }, {
378
403
  reference: () => {
379
404
  return vue.createVNode("div", {
380
- "class": ns.e("slider"),
381
- "style": {
382
- background: sliderColor.value[row._nodeId]
383
- },
405
+ "class": [ns.e("slider"), sysCssName],
384
406
  "onClick": (evt) => onNodeClick(row, evt),
385
407
  "onDblclick": () => onNodeDbClick(row),
386
408
  "onContextmenu": (evt) => onNodeContextmenu(row, evt)
@@ -401,6 +423,28 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
401
423
  const slider = renderSlider();
402
424
  return [..._columns, slider];
403
425
  };
426
+ const renderSetting = () => {
427
+ if (!c.controlParams.enablecustomized || c.controlParams.enablecustomized && c.controlParams.enablecustomized === "false") {
428
+ return null;
429
+ }
430
+ return vue.createVNode("div", {
431
+ "class": ns.e("setting"),
432
+ "onClick": () => onSettingClick(),
433
+ "title": core.showTitle(ibiz.i18n.t("control.gantt.hideControl"))
434
+ }, [vue.createVNode("svg", {
435
+ "class": ns.em("setting", "icon"),
436
+ "viewBox": "0 0 16 16",
437
+ "xmlns": "http://www.w3.org/2000/svg",
438
+ "height": "1em",
439
+ "width": "1em",
440
+ "focusable": "false"
441
+ }, [vue.createVNode("g", {
442
+ "stroke-width": "1",
443
+ "fill-rule": "evenodd"
444
+ }, [vue.createVNode("path", {
445
+ "d": "M11.405 13.975l3.398-5.889L11.405 2.2H4.607L1.208 8.087l3.399 5.889h6.798zm1.023-12.4l3.43 5.938c.205.356.205.793 0 1.149l-3.43 5.938a1.147 1.147 0 0 1-.993.574H4.577c-.41 0-.789-.218-.994-.573L.153 8.66a1.153 1.153 0 0 1 0-1.147l3.43-5.94c.205-.356.584-.575.994-.575h6.858c.409 0 .788.22.993.576zM8.006 9.879c.988 0 1.792-.804 1.792-1.792s-.804-1.792-1.792-1.792-1.792.804-1.792 1.792.804 1.792 1.792 1.792zm0-4.784a2.993 2.993 0 1 1-.002 5.985 2.993 2.993 0 0 1 .002-5.985z"
446
+ }, null)])])]);
447
+ };
404
448
  return {
405
449
  c,
406
450
  ns,
@@ -417,6 +461,7 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
417
461
  onNodeExpand,
418
462
  onNodeCollapse,
419
463
  renderContent,
464
+ renderSetting,
420
465
  onSliderMove,
421
466
  renderNoData,
422
467
  allowDrop,
@@ -439,6 +484,7 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
439
484
  "data": this.data,
440
485
  "row-height": 46,
441
486
  "expand-all": false,
487
+ "headerDrag": true,
442
488
  "start-key": "_beginDataItemValue",
443
489
  "end-key": "_endDataItemValue",
444
490
  "children": "_children",
@@ -461,7 +507,15 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
461
507
  "onMoveSlider": this.onSliderMove,
462
508
  "primaryColor": this.ganttStyle.primaryColor,
463
509
  "headerStyle": {
464
- textColor: this.ganttStyle.textColor
510
+ textColor: this.ganttStyle.textColor,
511
+ bgColor: this.ganttStyle.headerBgColor
512
+ },
513
+ "borderColor": this.ganttStyle.borderColor,
514
+ "bodyStyle": {
515
+ todayColor: this.ganttStyle.todayColor,
516
+ weekendColor: this.ganttStyle.headerBgColor,
517
+ bgColor: this.ganttStyle.bgColor,
518
+ selectColor: this.ganttStyle.headerBgColor
465
519
  }
466
520
  }, {
467
521
  default: () => {
@@ -469,6 +523,9 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
469
523
  },
470
524
  empty: () => {
471
525
  return this.renderNoData();
526
+ },
527
+ setting: () => {
528
+ return this.renderSetting();
472
529
  }
473
530
  })]
474
531
  }), [[vue.resolveDirective("loading"), this.loading]]);
@@ -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)}
@@ -116,7 +116,7 @@ function useITableEvent(c) {
116
116
  if (sortQuery === c.state.sortQuery) {
117
117
  return;
118
118
  }
119
- if (c.context && c.context.srfrunmode === "DESIGN") {
119
+ if (c.runMode === "DESIGN") {
120
120
  c.state.items = lodashEs.orderBy(
121
121
  c.state.items,
122
122
  [(item) => {
@@ -233,7 +233,7 @@ function useAppGridBase(c, props) {
233
233
  return;
234
234
  }
235
235
  c.state.items = props.data;
236
- if (c.context && c.context.srfrunmode === "DESIGN") {
236
+ if (c.runMode === "DESIGN") {
237
237
  c.state.simpleData = props.data;
238
238
  c.state.total = props.data.length;
239
239
  c.state.curPage = 1;
@@ -6,9 +6,9 @@ var runtime = require('@ibiz-template/runtime');
6
6
  var core = require('@ibiz-template/core');
7
7
  var qxUtil = require('qx-util');
8
8
  var gridControl_util = require('./grid-control.util.cjs');
9
- require('./grid.css');
10
9
  var useRowEditPopover = require('../row-edit-popover/use-row-edit-popover.cjs');
11
10
  require('../../../util/index.cjs');
11
+ require('./grid.css');
12
12
  var usePagination = require('../../../util/pagination/use-pagination.cjs');
13
13
 
14
14
  "use strict";
@@ -337,77 +337,81 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
337
337
  }
338
338
  const state = this.c.state;
339
339
  const defaultExpandAll = this.c.controlParams.defaultexpandall === "true";
340
- return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
341
- "class": [this.ns.is("show-header", !this.c.state.hideHeader), this.ns.is("enable-page", this.c.state.enablePagingBar), this.ns.is("enable-group", this.c.model.enableGroup), this.ns.is("single-select", state.singleSelect), this.ns.is("empty", state.items.length === 0), this.ns.is("enable-customized", this.c.model.enableCustomized)],
342
- "controller": this.c,
343
- "style": this.headerCssVars
340
+ return vue.createVNode(vue.resolveComponent("iBizControlNavigation"), {
341
+ "controller": this.c
344
342
  }, {
345
- default: () => [vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
346
- "ref": "tableRef",
347
- "class": this.ns.e("table"),
348
- "default-sort": this.defaultSort,
349
- "border": true,
350
- "show-header": !this.c.state.hideHeader,
351
- "show-summary": this.c.enableAgg,
352
- "summary-method": this.summaryMethod,
353
- "highlight-current-row": state.singleSelect,
354
- "row-class-name": this.handleRowClassName,
355
- "header-cell-class-name": this.handleHeaderCellClassName,
356
- "row-key": "tempsrfkey",
357
- "data": this.tableData,
358
- "default-expand-all": defaultExpandAll,
359
- "span-method": this.spanMethod,
360
- "onRowClick": this.onRowClick,
361
- "onRowDblclick": this.onDbRowClick,
362
- "onSelectionChange": this.onSelectionChange,
363
- "onSortChange": this.onSortChange,
364
- "onHeaderDragend": this.headerDragend,
365
- "tooltip-effect": "light",
366
- "scrollbar-always-on": true
367
- }, this.$attrs, renderAttrs(this.c.model, {
368
- ...this.c.getEventArgs()
369
- })), {
370
- empty: this.renderNoData,
371
- default: () => {
372
- return [this.c.enableRowEditOrder && this.renderDragIconColumn(), !state.singleSelect && vue.createVNode(vue.resolveComponent("el-table-column"), {
373
- "class-name": this.ns.e("selection"),
374
- "type": "selection",
375
- "width": "55"
376
- }, null), this.renderColumns.map((model, index) => {
377
- return this.renderTableColumn(model, index);
378
- })];
379
- },
380
- append: () => {
381
- let _slot;
382
- return [vue.withDirectives(vue.createVNode("div", {
383
- "ref": "infiniteScroll",
384
- "key": this.infiniteScrollKey,
385
- "infinite-scroll-distance": 10,
386
- "infinite-scroll-disabled": this.isLodeMoreDisabled
387
- }, null), [[vue.resolveDirective("infinite-scroll"), () => this.c.loadMore()]]), this.c.model.pagingMode === 3 && !(this.c.state.items.length >= this.c.state.total || this.c.state.isLoading || this.c.state.total <= this.c.state.size) && vue.createVNode("div", {
388
- "class": this.ns.e("load-more-button")
389
- }, [vue.createVNode(vue.resolveComponent("el-button"), {
390
- "text": true,
391
- "onClick": () => this.c.loadMore()
392
- }, _isSlot(_slot = ibiz.i18n.t("control.common.loadMore")) ? _slot : {
393
- default: () => [_slot]
394
- })]), this.renderPopover()];
395
- }
396
- }), this.c.state.enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
397
- "total": state.total,
398
- "curPage": state.curPage,
399
- "size": state.size,
400
- "totalPages": state.totalPages,
401
- "onChange": this.onPageChange,
402
- "popperClass": "".concat(this.sysCssName, "--popper"),
403
- "onPageSizeChange": this.onPageSizeChange,
404
- "onPageRefresh": this.onPageRefresh
405
- }, null), this.c.model.enableCustomized && !this.c.state.hideHeader && vue.createVNode("div", {
406
- "class": this.ns.b("setting-box")
407
- }, [vue.createVNode(vue.resolveComponent("iBizGridSetting"), {
408
- "columnStates": state.columnStates,
409
- "controller": this.c
410
- }, null)]), this.renderBatchToolBar()]
343
+ default: () => [vue.createVNode(vue.resolveComponent("iBizControlBase"), {
344
+ "class": [this.ns.is("show-header", !this.c.state.hideHeader), this.ns.is("enable-page", this.c.state.enablePagingBar), this.ns.is("enable-group", this.c.model.enableGroup), this.ns.is("single-select", state.singleSelect), this.ns.is("empty", state.items.length === 0), this.ns.is("enable-customized", this.c.model.enableCustomized)],
345
+ "controller": this.c,
346
+ "style": this.headerCssVars
347
+ }, {
348
+ default: () => [vue.createVNode(vue.resolveComponent("el-table"), vue.mergeProps({
349
+ "ref": "tableRef",
350
+ "class": this.ns.e("table"),
351
+ "default-sort": this.defaultSort,
352
+ "border": true,
353
+ "show-header": !this.c.state.hideHeader,
354
+ "show-summary": this.c.enableAgg,
355
+ "summary-method": this.summaryMethod,
356
+ "highlight-current-row": state.singleSelect,
357
+ "row-class-name": this.handleRowClassName,
358
+ "header-cell-class-name": this.handleHeaderCellClassName,
359
+ "row-key": "tempsrfkey",
360
+ "data": this.tableData,
361
+ "default-expand-all": defaultExpandAll,
362
+ "span-method": this.spanMethod,
363
+ "onRowClick": this.onRowClick,
364
+ "onRowDblclick": this.onDbRowClick,
365
+ "onSelectionChange": this.onSelectionChange,
366
+ "onSortChange": this.onSortChange,
367
+ "onHeaderDragend": this.headerDragend,
368
+ "tooltip-effect": "light",
369
+ "scrollbar-always-on": true
370
+ }, this.$attrs, renderAttrs(this.c.model, {
371
+ ...this.c.getEventArgs()
372
+ })), {
373
+ empty: this.renderNoData,
374
+ default: () => {
375
+ return [this.c.enableRowEditOrder && this.renderDragIconColumn(), !state.singleSelect && vue.createVNode(vue.resolveComponent("el-table-column"), {
376
+ "class-name": this.ns.e("selection"),
377
+ "type": "selection",
378
+ "width": "55"
379
+ }, null), this.renderColumns.map((model, index) => {
380
+ return this.renderTableColumn(model, index);
381
+ })];
382
+ },
383
+ append: () => {
384
+ let _slot;
385
+ return [vue.withDirectives(vue.createVNode("div", {
386
+ "ref": "infiniteScroll",
387
+ "key": this.infiniteScrollKey,
388
+ "infinite-scroll-distance": 10,
389
+ "infinite-scroll-disabled": this.isLodeMoreDisabled
390
+ }, null), [[vue.resolveDirective("infinite-scroll"), () => this.c.loadMore()]]), this.c.model.pagingMode === 3 && !(this.c.state.items.length >= this.c.state.total || this.c.state.isLoading || this.c.state.total <= this.c.state.size) && vue.createVNode("div", {
391
+ "class": this.ns.e("load-more-button")
392
+ }, [vue.createVNode(vue.resolveComponent("el-button"), {
393
+ "text": true,
394
+ "onClick": () => this.c.loadMore()
395
+ }, _isSlot(_slot = ibiz.i18n.t("control.common.loadMore")) ? _slot : {
396
+ default: () => [_slot]
397
+ })]), this.renderPopover()];
398
+ }
399
+ }), this.c.state.enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
400
+ "total": state.total,
401
+ "curPage": state.curPage,
402
+ "size": state.size,
403
+ "totalPages": state.totalPages,
404
+ "onChange": this.onPageChange,
405
+ "popperClass": "".concat(this.sysCssName, "--popper"),
406
+ "onPageSizeChange": this.onPageSizeChange,
407
+ "onPageRefresh": this.onPageRefresh
408
+ }, null), this.c.model.enableCustomized && !this.c.state.hideHeader && vue.createVNode("div", {
409
+ "class": this.ns.b("setting-box")
410
+ }, [vue.createVNode(vue.resolveComponent("iBizGridSetting"), {
411
+ "columnStates": state.columnStates,
412
+ "controller": this.c
413
+ }, null)]), this.renderBatchToolBar()]
414
+ })]
411
415
  });
412
416
  }
413
417
  });