@ibiz-template/vue3-components 0.7.41-alpha.14 → 0.7.41-alpha.16

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 (154) hide show
  1. package/dist/index-U4v1OOOD.js +1 -0
  2. package/dist/index-lFGFvnYE.js +1 -0
  3. package/dist/index-m8q8r8br.js +4 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/map-chart-3dojS1dZ.js +1 -0
  7. package/dist/{wang-editor-z0RY8bO1.js → wang-editor-_06OYPpu.js} +1 -1
  8. package/dist/{xlsx-util-8Du1A340.js → xlsx-util-FNiwKrqm.js} +1 -1
  9. package/es/common/carousel/carousel.css +1 -1
  10. package/es/common/index.mjs +2 -0
  11. package/es/common/kanben-setting/kanben-setting.css +1 -0
  12. package/es/common/kanben-setting/kanben-setting.d.ts +42 -0
  13. package/es/common/kanben-setting/kanben-setting.mjs +65 -0
  14. package/es/common/map-chart/map-chart.mjs +6 -14
  15. package/es/control/calendar/calendar-util.d.ts +12 -0
  16. package/es/control/calendar/calendar-util.mjs +30 -1
  17. package/es/control/calendar/calendar.css +1 -1
  18. package/es/control/calendar/calendar.d.ts +2 -0
  19. package/es/control/calendar/calendar.mjs +106 -25
  20. package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  21. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +2 -0
  22. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +66 -16
  23. package/es/control/calendar/components/calendar-daily/index.d.ts +2 -0
  24. package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +3 -1
  25. package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +99 -44
  26. package/es/control/calendar/components/calendar-week/calendar-week.css +1 -1
  27. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +6 -0
  28. package/es/control/calendar/components/calendar-week/calendar-week.mjs +74 -38
  29. package/es/control/calendar/components/calendar-week/index.d.ts +6 -0
  30. package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +12 -1
  31. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +313 -155
  32. package/es/control/calendar/components/constant/event.d.ts +1 -0
  33. package/es/control/calendar/components/constant/event.mjs +2 -1
  34. package/es/control/calendar/components/constant/index.mjs +1 -1
  35. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  36. package/es/control/calendar/components/custom-calendar/custom-calendar.d.ts +2 -0
  37. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +8 -10
  38. package/es/control/calendar/components/custom-calendar/index.d.ts +2 -0
  39. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +4 -0
  40. package/es/control/calendar/components/interface/calendar-daily.d.ts +1 -0
  41. package/es/control/calendar/components/interface/calendar-daily.mjs +6 -1
  42. package/es/control/calendar/components/interface/calendar-week.d.ts +1 -0
  43. package/es/control/calendar/components/interface/calendar-week.mjs +2 -1
  44. package/es/control/calendar/components/interface/common.d.ts +20 -18
  45. package/es/control/calendar/components/interface/custom-calendar.d.ts +1 -0
  46. package/es/control/calendar/components/interface/custom-calendar.mjs +3 -2
  47. package/es/control/calendar/components/util/index.mjs +1 -1
  48. package/es/control/calendar/components/util/util.d.ts +20 -1
  49. package/es/control/calendar/components/util/util.mjs +10 -2
  50. package/es/control/calendar/index.d.ts +2 -0
  51. package/es/control/data-view/data-view.css +1 -1
  52. package/es/control/data-view/data-view.mjs +42 -13
  53. package/es/control/drbar/drbar.controller.mjs +2 -0
  54. package/es/control/drbar/drbar.mjs +6 -6
  55. package/es/control/drtab/drtab.controller.mjs +2 -0
  56. package/es/control/drtab/drtab.mjs +6 -6
  57. package/es/control/drtab/flow-drtab.css +1 -1
  58. package/es/control/drtab/flow-drtab.mjs +3 -1
  59. package/es/control/form/edit-form/edit-form.mjs +11 -0
  60. package/es/control/form/form-detail/form-item/form-item.mjs +11 -7
  61. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +4 -1
  62. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +1 -0
  63. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.d.ts +6 -0
  64. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.mjs +4 -0
  65. package/es/control/grid/virtualized-table/virtualized-table.css +1 -1
  66. package/es/control/grid/virtualized-table/virtualized-table.mjs +4 -3
  67. package/es/control/grid/virtualized-table/virtualized-table.util.mjs +4 -4
  68. package/es/control/kanban/kanban.css +1 -1
  69. package/es/control/kanban/kanban.mjs +22 -18
  70. package/es/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  71. package/es/control/kanban/{lane-kanban/lane-kanban.d.ts → swimlane-kanban/swimlane-kanban.d.ts} +3 -8
  72. package/es/control/kanban/{lane-kanban/lane-kanban.mjs → swimlane-kanban/swimlane-kanban.mjs} +42 -38
  73. package/es/control/list/list.css +1 -1
  74. package/es/control/list/list.mjs +14 -1
  75. package/es/control/map/map.mjs +1 -1
  76. package/es/control/medit-view-panel/index.d.ts +2 -0
  77. package/es/control/medit-view-panel/medit-view-panel.d.ts +2 -0
  78. package/es/control/medit-view-panel/medit-view-panel.mjs +19 -6
  79. package/es/control/search-bar/search-bar.mjs +1 -1
  80. package/es/editor/span/span/span.mjs +2 -1
  81. package/es/locale/en/index.d.ts +5 -0
  82. package/es/locale/en/index.mjs +6 -1
  83. package/es/locale/zh-CN/index.d.ts +5 -0
  84. package/es/locale/zh-CN/index.mjs +6 -1
  85. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +20 -5
  86. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.d.ts +1950 -1
  87. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.d.ts +53 -6
  88. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -0
  89. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.d.ts +2031 -0
  90. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.mjs +278 -0
  91. package/es/view-engine/index.mjs +4 -0
  92. package/lib/common/carousel/carousel.css +1 -1
  93. package/lib/common/index.cjs +2 -0
  94. package/lib/common/kanben-setting/kanben-setting.cjs +67 -0
  95. package/lib/common/kanben-setting/kanben-setting.css +1 -0
  96. package/lib/common/map-chart/map-chart.cjs +5 -13
  97. package/lib/control/calendar/calendar-util.cjs +30 -0
  98. package/lib/control/calendar/calendar.cjs +104 -23
  99. package/lib/control/calendar/calendar.css +1 -1
  100. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +64 -14
  101. package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  102. package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +98 -43
  103. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +73 -37
  104. package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -1
  105. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +311 -153
  106. package/lib/control/calendar/components/constant/event.cjs +2 -0
  107. package/lib/control/calendar/components/constant/index.cjs +1 -0
  108. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +8 -10
  109. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  110. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +4 -0
  111. package/lib/control/calendar/components/interface/calendar-daily.cjs +6 -1
  112. package/lib/control/calendar/components/interface/calendar-week.cjs +2 -1
  113. package/lib/control/calendar/components/interface/custom-calendar.cjs +2 -1
  114. package/lib/control/calendar/components/util/index.cjs +2 -0
  115. package/lib/control/calendar/components/util/util.cjs +11 -1
  116. package/lib/control/data-view/data-view.cjs +42 -13
  117. package/lib/control/data-view/data-view.css +1 -1
  118. package/lib/control/drbar/drbar.cjs +6 -6
  119. package/lib/control/drbar/drbar.controller.cjs +2 -0
  120. package/lib/control/drtab/drtab.cjs +6 -6
  121. package/lib/control/drtab/drtab.controller.cjs +2 -0
  122. package/lib/control/drtab/flow-drtab.cjs +3 -1
  123. package/lib/control/drtab/flow-drtab.css +1 -1
  124. package/lib/control/form/edit-form/edit-form.cjs +11 -0
  125. package/lib/control/form/form-detail/form-item/form-item.cjs +11 -7
  126. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +4 -1
  127. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.cjs +1 -0
  128. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.cjs +4 -0
  129. package/lib/control/grid/virtualized-table/virtualized-table.cjs +3 -2
  130. package/lib/control/grid/virtualized-table/virtualized-table.css +1 -1
  131. package/lib/control/grid/virtualized-table/virtualized-table.util.cjs +4 -4
  132. package/lib/control/kanban/kanban.cjs +21 -17
  133. package/lib/control/kanban/kanban.css +1 -1
  134. package/lib/control/kanban/{lane-kanban/lane-kanban.cjs → swimlane-kanban/swimlane-kanban.cjs} +42 -38
  135. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  136. package/lib/control/list/list.cjs +14 -1
  137. package/lib/control/list/list.css +1 -1
  138. package/lib/control/map/map.cjs +1 -1
  139. package/lib/control/medit-view-panel/medit-view-panel.cjs +19 -6
  140. package/lib/control/search-bar/search-bar.cjs +1 -1
  141. package/lib/editor/span/span/span.cjs +2 -1
  142. package/lib/locale/en/index.cjs +6 -1
  143. package/lib/locale/zh-CN/index.cjs +6 -1
  144. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +20 -5
  145. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.cjs +280 -0
  146. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -0
  147. package/lib/view-engine/index.cjs +4 -0
  148. package/package.json +4 -4
  149. package/dist/index-1fHusiqt.js +0 -4
  150. package/dist/index-EYFbyMUF.js +0 -1
  151. package/dist/index-kNUznzXY.js +0 -1
  152. package/dist/map-chart-HL7emT5a.js +0 -1
  153. package/es/control/kanban/lane-kanban/lane-kanban.css +0 -1
  154. package/lib/control/kanban/lane-kanban/lane-kanban.css +0 -1
@@ -0,0 +1,278 @@
1
+ import { isVNode, createVNode, resolveComponent, ref, computed, defineComponent } from 'vue';
2
+ import { showTitle } from '@ibiz-template/core';
3
+ import { useNamespace } from '@ibiz-template/vue3-util';
4
+ import { createUUID } from 'qx-util';
5
+ import { getMenus, findMenuItem } from '../extend-menu-base.util.mjs';
6
+ import './extend-standard-menu.css';
7
+
8
+ "use strict";
9
+ function _isSlot(s) {
10
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
11
+ }
12
+ const ellipsisSvg = () => {
13
+ return createVNode("ion-icon", {
14
+ "name": "ellipsis-horizontal"
15
+ }, null);
16
+ };
17
+ function renderMenuItem(_params) {
18
+ var _a, _b, _c, _d;
19
+ const {
20
+ isFirst,
21
+ menu,
22
+ collapse,
23
+ ns,
24
+ menuAlign,
25
+ menuItemsState
26
+ } = _params;
27
+ if (!menu.id || menuItemsState && !((_a = menuItemsState[menu.id]) == null ? void 0 : _a.visible)) {
28
+ return;
29
+ }
30
+ if (menu.itemType === "MENUITEM") {
31
+ let content;
32
+ if (!(isFirst && collapse)) {
33
+ content = [menu.sysImage ? createVNode(resolveComponent("iBizIcon"), {
34
+ "class": ns.e("icon"),
35
+ "icon": menu.sysImage
36
+ }, null) : null, createVNode("span", {
37
+ "class": ns.e("caption")
38
+ }, [menu.caption])];
39
+ } else {
40
+ content = [menu.sysImage ? createVNode(resolveComponent("iBizIcon"), {
41
+ "class": ns.e("icon"),
42
+ "icon": menu.sysImage
43
+ }, null) : createVNode("span", {
44
+ "class": ns.e("caption")
45
+ }, [(_b = menu.caption) == null ? void 0 : _b.slice(0, 1)])];
46
+ }
47
+ return !(isFirst && collapse) ? createVNode(resolveComponent("el-menu-item"), {
48
+ "class": [ns.e("item"), "".concat(((_c = menu.sysCss) == null ? void 0 : _c.cssName) || "")],
49
+ "index": menu.id,
50
+ "title": showTitle(menu.tooltip)
51
+ }, _isSlot(content) ? content : {
52
+ default: () => [content]
53
+ }) : createVNode(resolveComponent("el-tooltip"), {
54
+ "class": ns.b("tooltip"),
55
+ "content": menu.caption,
56
+ "placement": menuAlign === "horizontal" ? "bottom" : "left",
57
+ "theme": "light"
58
+ }, {
59
+ default: () => {
60
+ var _a2;
61
+ return [createVNode(resolveComponent("el-menu-item"), {
62
+ "class": [ns.e("item"), "".concat(((_a2 = menu.sysCss) == null ? void 0 : _a2.cssName) || "")],
63
+ "index": menu.id
64
+ }, _isSlot(content) ? content : {
65
+ default: () => [content]
66
+ })];
67
+ }
68
+ });
69
+ }
70
+ if (menu.itemType === "SEPERATOR") {
71
+ const direction = menuAlign === "horizontal" && isFirst ? "vertical" : "horizontal";
72
+ return createVNode(resolveComponent("el-divider"), {
73
+ "direction": direction,
74
+ "class": ns.em("separator", direction),
75
+ "id": menu.id
76
+ }, null);
77
+ }
78
+ if (menu.itemType === "RAWITEM") {
79
+ return createVNode(resolveComponent("el-menu-item"), {
80
+ "index": menu.id,
81
+ "title": showTitle(menu.tooltip),
82
+ "class": [ns.e("rawitem"), "".concat(((_d = menu.sysCss) == null ? void 0 : _d.cssName) || "")]
83
+ }, {
84
+ default: () => [createVNode(resolveComponent("iBizRawItem"), {
85
+ "rawItem": menu
86
+ }, null)]
87
+ });
88
+ }
89
+ }
90
+ function renderSubmenu(_params) {
91
+ var _a, _b;
92
+ const {
93
+ isFirst,
94
+ menu,
95
+ collapse,
96
+ ns,
97
+ menuAlign,
98
+ menuItemsState
99
+ } = _params;
100
+ if (!menu.id || menuItemsState && !((_a = menuItemsState[menu.id]) == null ? void 0 : _a.visible)) {
101
+ return;
102
+ }
103
+ return createVNode(resolveComponent("el-sub-menu"), {
104
+ "class": [ns.b("submenu"), "".concat(((_b = menu.sysCss) == null ? void 0 : _b.cssName) || "")],
105
+ "index": menu.id,
106
+ "teleported": true,
107
+ "popper-class": [ns.b("popup-container")]
108
+ }, {
109
+ default: () => menu.children && menu.children.map((item) => {
110
+ if (item.children && item.children) {
111
+ return renderSubmenu({
112
+ isFirst: false,
113
+ menu: item,
114
+ collapse,
115
+ ns,
116
+ menuAlign,
117
+ menuItemsState
118
+ });
119
+ }
120
+ return renderMenuItem({
121
+ isFirst: false,
122
+ menu: item,
123
+ collapse,
124
+ ns,
125
+ menuAlign,
126
+ menuItemsState
127
+ });
128
+ }),
129
+ title: () => {
130
+ var _a2;
131
+ if (collapse) {
132
+ if (menu.sysImage) {
133
+ return createVNode(resolveComponent("iBizIcon"), {
134
+ "class": ns.e("icon"),
135
+ "icon": menu.sysImage
136
+ }, null);
137
+ }
138
+ return [isFirst ? (_a2 = menu.caption) == null ? void 0 : _a2.slice(0, 1) : menu.caption, isFirst ? null : createVNode("ion-icon", {
139
+ "name": "chevron-forward-outline"
140
+ }, null)];
141
+ }
142
+ return [createVNode(resolveComponent("iBizIcon"), {
143
+ "class": ns.e("icon"),
144
+ "icon": menu.sysImage
145
+ }, null), createVNode("span", {
146
+ "class": ns.e("caption")
147
+ }, [menu.caption])];
148
+ }
149
+ });
150
+ }
151
+ function renderMenuContent(_params) {
152
+ const {
153
+ refreshKey,
154
+ ns,
155
+ collapse,
156
+ menuAlign,
157
+ position,
158
+ menus,
159
+ menuItemsState,
160
+ handleMenuSelect
161
+ } = _params;
162
+ return createVNode("div", {
163
+ "class": [ns.e("content"), ns.is("collapse", collapse), ns.is(menuAlign, !!menuAlign), ns.is(position == null ? void 0 : position.toLowerCase(), !!position)]
164
+ }, [createVNode(resolveComponent("el-menu"), {
165
+ "key": refreshKey,
166
+ "popper-class": [ns.b("popper")],
167
+ "collapse": collapse,
168
+ "collapse-transition": false,
169
+ "onSelect": handleMenuSelect,
170
+ "theme": "light",
171
+ "mode": menuAlign,
172
+ "ellipsis-icon": () => ellipsisSvg(),
173
+ "ellipsis": menuAlign === "horizontal"
174
+ }, {
175
+ default: () => {
176
+ return menus.map((item) => {
177
+ if (item.children && item.children.length > 0) {
178
+ return renderSubmenu({
179
+ isFirst: true,
180
+ menu: item,
181
+ collapse,
182
+ ns,
183
+ menuAlign,
184
+ menuItemsState
185
+ });
186
+ }
187
+ return renderMenuItem({
188
+ isFirst: true,
189
+ menu: item,
190
+ collapse,
191
+ ns,
192
+ menuAlign,
193
+ menuItemsState
194
+ });
195
+ });
196
+ }
197
+ })]);
198
+ }
199
+ const ExtendStandardMenu = /* @__PURE__ */ defineComponent({
200
+ name: "IBizExtendStandardMenu",
201
+ props: {
202
+ items: {
203
+ type: Object,
204
+ required: true
205
+ },
206
+ menuItemsState: {
207
+ type: Object,
208
+ required: true
209
+ },
210
+ providers: {
211
+ type: Object,
212
+ required: true
213
+ },
214
+ position: {
215
+ type: String,
216
+ required: true
217
+ },
218
+ layoutMode: {
219
+ type: String,
220
+ required: true
221
+ },
222
+ layout: {
223
+ type: Object
224
+ }
225
+ },
226
+ emits: {
227
+ /**
228
+ * @description 项点击事件
229
+ */
230
+ menuItemClick: (_item, _event) => true
231
+ },
232
+ setup(props, {
233
+ emit
234
+ }) {
235
+ const ns = useNamespace("extend-standard-menu");
236
+ const defaultMenuRef = ref();
237
+ const refreshKey = ref(createUUID());
238
+ const collapse = ref(false);
239
+ const menuAlign = computed(() => ["TOP", "BOTTOM"].includes(props.position) ? "horizontal" : "vertical");
240
+ const menus = ref(getMenus(props.items));
241
+ const handleMenuSelect = async (_id, _event) => {
242
+ const menuItem = findMenuItem(_id, props.items);
243
+ if (!(menuItem == null ? void 0 : menuItem.appFuncId)) {
244
+ ibiz.log.warn(ibiz.i18n.t("runtime.controller.control.menu.noConfigured"));
245
+ return;
246
+ }
247
+ emit("menuItemClick", menuItem, _event);
248
+ };
249
+ return {
250
+ ns,
251
+ defaultMenuRef,
252
+ refreshKey,
253
+ collapse,
254
+ menuAlign,
255
+ menus,
256
+ handleMenuSelect
257
+ };
258
+ },
259
+ render() {
260
+ return createVNode("div", {
261
+ "ref": "defaultMenuRef",
262
+ "class": [this.ns.b(), this.ns.b(this.layoutMode.toLowerCase()), this.ns.is(this.position.toLowerCase(), true), this.ns.is(this.menuAlign, true), this.ns.is("collapse", this.collapse)]
263
+ }, [renderMenuContent({
264
+ isLayout: false,
265
+ position: this.position,
266
+ refreshKey: this.refreshKey,
267
+ ns: this.ns,
268
+ collapse: this.collapse,
269
+ menuAlign: this.menuAlign,
270
+ menus: this.menus,
271
+ menuLayout: this.layout,
272
+ menuItemsState: this.menuItemsState,
273
+ handleMenuSelect: this.handleMenuSelect
274
+ })]);
275
+ }
276
+ });
277
+
278
+ export { ExtendStandardMenu };
@@ -206,6 +206,10 @@ const IBizViewEngine = {
206
206
  "VIEW_DEPICKUPDATAVIEW",
207
207
  (c) => new PickupDataViewEngine(c)
208
208
  );
209
+ ibiz.engine.register(
210
+ "VIEW_PickupDataView",
211
+ (c) => new PickupDataViewEngine(c)
212
+ );
209
213
  ibiz.engine.register(
210
214
  "VIEW_DEINDEXPICKUPDATAVIEW",
211
215
  (c) => new PickupDataViewEngine(c)
@@ -1 +1 @@
1
- .ibiz-carousel-component .el-carousel__container .el-carousel__item{display:flex;align-items:center;justify-content:center}.ibiz-carousel-component .el-carousel__container .el-carousel__item img{display:inline-block;width:100%;height:100%}
1
+ .ibiz-carousel-component .el-carousel__container .el-carousel__item{display:flex;align-items:center;justify-content:center}.ibiz-carousel-component .el-carousel__container .el-carousel__item img{display:inline-block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain}
@@ -37,10 +37,12 @@ var ganttSetting = require('./gantt-setting/gantt-setting.cjs');
37
37
  var navSplit = require('./nav-split/nav-split.cjs');
38
38
  var cropping = require('./cropping/cropping.cjs');
39
39
  var editorEmptyText = require('./editor-empty-text/editor-empty-text.cjs');
40
+ var kanbenSetting = require('./kanben-setting/kanben-setting.cjs');
40
41
 
41
42
  "use strict";
42
43
  const IBizCommonComponents = {
43
44
  install: (v) => {
45
+ v.component(kanbenSetting.IBizKanbanSetting.name, kanbenSetting.IBizKanbanSetting);
44
46
  v.component(editorEmptyText.IBizEditorEmptyText.name, editorEmptyText.IBizEditorEmptyText);
45
47
  v.component(cropping.IBizCropping.name, cropping.IBizCropping);
46
48
  v.component(vue3Util.IBizControlBase.name, vue3Util.IBizControlBase);
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ require('./kanben-setting.css');
6
+
7
+ "use strict";
8
+ const IBizKanbanSetting = /* @__PURE__ */ vue.defineComponent({
9
+ name: "IBizKanbanSetting",
10
+ props: {
11
+ controller: {
12
+ type: Object,
13
+ required: true
14
+ },
15
+ buttonStyle: {
16
+ type: Object,
17
+ default: () => ({
18
+ circle: false,
19
+ type: "info"
20
+ })
21
+ }
22
+ },
23
+ setup(props) {
24
+ const ns = vue3Util.useNamespace("kanban-setting");
25
+ const groups = vue.computed(() => {
26
+ return props.controller.state.groups;
27
+ });
28
+ return {
29
+ ns,
30
+ groups
31
+ };
32
+ },
33
+ render() {
34
+ return vue.createVNode("div", {
35
+ "class": this.ns.b()
36
+ }, [vue.createVNode(vue.resolveComponent("el-popover"), {
37
+ "trigger": "click",
38
+ "placement": "bottom",
39
+ "popper-class": this.ns.e("popover")
40
+ }, {
41
+ reference: () => {
42
+ return vue.createVNode(vue.resolveComponent("el-button"), this.buttonStyle, {
43
+ default: () => [vue.createVNode("ion-icon", {
44
+ "name": "options-outline",
45
+ "title": ibiz.i18n.t("component.kanbanSetting.hideGroup")
46
+ }, null)]
47
+ });
48
+ },
49
+ default: () => {
50
+ return vue.createVNode("div", {
51
+ "class": this.ns.em("popover", "content")
52
+ }, [this.groups.map((group) => {
53
+ return vue.createVNode(vue.resolveComponent("el-checkbox"), {
54
+ "size": "small",
55
+ "label": group.caption,
56
+ "model-value": !group.hidden,
57
+ "onChange": (val) => {
58
+ group.hidden = !val;
59
+ }
60
+ }, null);
61
+ })]);
62
+ }
63
+ })]);
64
+ }
65
+ });
66
+
67
+ exports.IBizKanbanSetting = IBizKanbanSetting;
@@ -0,0 +1 @@
1
+ .ibiz-kanban-setting__popover--content{display:flex;flex-direction:column;width:100%;max-height:500px;overflow-y:auto}
@@ -46,8 +46,7 @@ const IBizMapChart = /* @__PURE__ */ vue.defineComponent({
46
46
  historyNames,
47
47
  changeMap,
48
48
  getCityName,
49
- goBack,
50
- refresh
49
+ goBack
51
50
  } = mapManager.useMapManager(options, (mapName) => {
52
51
  const {
53
52
  visualMap,
@@ -56,8 +55,8 @@ const IBizMapChart = /* @__PURE__ */ vue.defineComponent({
56
55
  hoverAreaColor,
57
56
  areaBorderColor
58
57
  } = options.value;
59
- const areaData2 = props.areaData || [];
60
- const pointData2 = props.pointData || [];
58
+ const areaData = props.areaData || [];
59
+ const pointData = props.pointData || [];
61
60
  const result = {
62
61
  geo: {
63
62
  map: mapName
@@ -127,7 +126,7 @@ const IBizMapChart = /* @__PURE__ */ vue.defineComponent({
127
126
  select: {
128
127
  disabled: true
129
128
  },
130
- data: areaData2.map((item) => ({
129
+ data: areaData.map((item) => ({
131
130
  name: "".concat(item._areaCode),
132
131
  value: item._value,
133
132
  _id: item._id
@@ -163,7 +162,7 @@ const IBizMapChart = /* @__PURE__ */ vue.defineComponent({
163
162
  return find == null ? void 0 : find._tooltip;
164
163
  }
165
164
  },
166
- data: pointData2.map((item) => {
165
+ data: pointData.map((item) => {
167
166
  return {
168
167
  _id: item._id,
169
168
  symbol: item._symbol ? "image://".concat(item._symbol) : void 0,
@@ -194,13 +193,6 @@ const IBizMapChart = /* @__PURE__ */ vue.defineComponent({
194
193
  vue.onMounted(() => {
195
194
  changeMap(options.value.defaultAreaCode, true);
196
195
  });
197
- const {
198
- areaData,
199
- pointData
200
- } = vue.toRefs(props);
201
- vue.watch([areaData, pointData], () => {
202
- refresh();
203
- });
204
196
  return {
205
197
  ns,
206
198
  chartRef,
@@ -19,6 +19,36 @@ const isTimeBetween = (_argrs) => {
19
19
  const { date, beginTime, endTime, unit = "day" } = _argrs;
20
20
  return !!(beginTime && dayjs(date).isSame(beginTime, unit) || endTime && dayjs(date).isSame(endTime, unit) || beginTime && endTime && dayjs(date).isAfter(beginTime, unit) && dayjs(date).isBefore(endTime, unit));
21
21
  };
22
+ function useCalendarLegend(ns) {
23
+ const getVarValue = (varName) => {
24
+ const root = document.documentElement;
25
+ return getComputedStyle(root).getPropertyValue(varName);
26
+ };
27
+ const bgColors = [
28
+ // 首个颜色用主题色
29
+ getVarValue("".concat(ns.cssVarName("color-primary"))),
30
+ "#2196F3",
31
+ "#4CAF50",
32
+ "#3F51B5",
33
+ "#FF9800",
34
+ "#673AB7",
35
+ "#757575"
36
+ ];
37
+ const actBdrColors = bgColors.map(
38
+ () => getVarValue("".concat(ns.cssVarName("color-black")))
39
+ );
40
+ const getBkColor = (_index) => {
41
+ return bgColors[_index] || bgColors[0];
42
+ };
43
+ const getActBdrColors = (_index) => {
44
+ return actBdrColors[_index] || getVarValue("".concat(ns.cssVarName("color-primary")));
45
+ };
46
+ const getFontColor = () => {
47
+ return getVarValue("".concat(ns.cssVarName("color-primary-text")));
48
+ };
49
+ return { getFontColor, getBkColor, getActBdrColors };
50
+ }
22
51
 
23
52
  exports.getWeekRange = getWeekRange;
24
53
  exports.isTimeBetween = isTimeBetween;
54
+ exports.useCalendarLegend = useCalendarLegend;
@@ -70,10 +70,54 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
70
70
  setup() {
71
71
  const c = vue3Util.useControlController((...args) => new runtime.CalendarController(...args));
72
72
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
73
+ const {
74
+ UIStore
75
+ } = vue3Util.useUIStore();
76
+ const {
77
+ getFontColor,
78
+ getBkColor,
79
+ getActBdrColors
80
+ } = calendarUtil.useCalendarLegend(ns);
73
81
  const calendarRef = vue.ref();
74
82
  const curPopover = vue.ref();
75
83
  const showDateRange = vue.ref(c.controlParams.showmode === "daterange");
76
84
  const showDateList = vue.ref(c.controlParams.showmode === "expand");
85
+ const monthLegendClick = (_item) => {
86
+ Object.assign(_item, {
87
+ isShow: !_item.isShow
88
+ });
89
+ };
90
+ const legendItems = vue.ref([]);
91
+ const legendType = ["DAY", "WEEK", "MONTH"];
92
+ const calcLegend = () => {
93
+ legendItems.value = c.state.legends.map((_item, index) => {
94
+ const tempItem = {
95
+ ..._item,
96
+ isShow: true
97
+ };
98
+ if (!c.model.calendarStyle || !legendType.includes(c.model.calendarStyle))
99
+ return tempItem;
100
+ if (!_item.bkcolor) {
101
+ Object.assign(tempItem, {
102
+ bkcolor: getBkColor(index),
103
+ actBdrColor: getActBdrColors(index)
104
+ });
105
+ }
106
+ if (!_item.color)
107
+ Object.assign(tempItem, {
108
+ color: getFontColor()
109
+ });
110
+ return tempItem;
111
+ });
112
+ };
113
+ vue.watch(() => c.state.legends, () => {
114
+ calcLegend();
115
+ }, {
116
+ deep: true
117
+ });
118
+ vue.watch(() => UIStore.theme, () => {
119
+ calcLegend();
120
+ });
77
121
  const popoverValue = vue.ref("");
78
122
  const selectDate = (tag) => {
79
123
  if (!calendarRef.value)
@@ -121,6 +165,9 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
121
165
  }
122
166
  return false;
123
167
  }
168
+ if (c.model.calendarStyle === "TIMELINE") {
169
+ return dayjs(newVal).isSame(dayjs(oldVal), "millisecond");
170
+ }
124
171
  return false;
125
172
  };
126
173
  vue.watch(() => c.state.selectedDate, (newVal, oldVal) => {
@@ -130,14 +177,20 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
130
177
  c.load();
131
178
  });
132
179
  const calcItemStyle = (data) => {
180
+ const _legend = legendItems.value.find((_item) => _item.id === data.itemType);
133
181
  return {
134
182
  color: data.color,
135
- backgroundColor: data.bkColor
183
+ backgroundColor: data.bkColor,
184
+ ["".concat(ns.cssVarBlockName("item-color"))]: data.color,
185
+ ["".concat(ns.cssVarBlockName("item-active-border-color"))]: _legend == null ? void 0 : _legend.actBdrColor
136
186
  };
137
187
  };
138
188
  const calcCalendarItems = (date) => {
139
189
  const weekRange = calendarUtil.getWeekRange(date);
140
190
  const calendarItems = c.state.items.filter((item) => {
191
+ const _legend = legendItems.value.find((legend) => legend.id === item.itemType);
192
+ if (_legend && !_legend.isShow)
193
+ return false;
141
194
  if (!showDateRange.value) {
142
195
  return dayjs(date).isSame(item.beginTime, "day");
143
196
  }
@@ -158,7 +211,20 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
158
211
  return result;
159
212
  });
160
213
  }
161
- return calendarItems;
214
+ return calendarItems.map((_item) => {
215
+ const targetLegend = legendItems.value.find((legendItem) => Object.is(legendItem.id, _item.itemType));
216
+ if (!targetLegend)
217
+ return _item;
218
+ if (!_item.bkColor)
219
+ Object.assign(_item, {
220
+ bkColor: targetLegend.bkcolor
221
+ });
222
+ if (!_item.color)
223
+ Object.assign(_item, {
224
+ color: targetLegend.color
225
+ });
226
+ return _item;
227
+ });
162
228
  };
163
229
  let ContextMenu;
164
230
  const iBizRawItem = vue.resolveComponent("IBizRawItem");
@@ -311,10 +377,12 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
311
377
  showDateRange,
312
378
  showDateList,
313
379
  popoverValue,
380
+ legendItems,
314
381
  selectDate,
315
382
  calcItemStyle,
316
383
  calcCalendarItems,
317
- onNodeContextmenu
384
+ onNodeContextmenu,
385
+ monthLegendClick
318
386
  };
319
387
  },
320
388
  render() {
@@ -354,7 +422,7 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
354
422
  const findIndex = this.c.state.selectedData.findIndex((data) => {
355
423
  return data.deData.srfkey === item.deData.srfkey;
356
424
  });
357
- const itemClass = [this.ns.b("item"), this.ns.is("active", findIndex !== -1), this.ns.is("begin-time", date && dayjs(date).isSame(item.beginTime, "day")), this.ns.is("hidden", this.showDateRange && !calendarUtil.isTimeBetween({
425
+ const itemClass = [this.ns.b("item"), this.ns.be("item", "default"), this.ns.is("active", findIndex !== -1), this.ns.is("begin-time", date && dayjs(date).isSame(item.beginTime, "day")), this.ns.is("hidden", this.showDateRange && !calendarUtil.isTimeBetween({
358
426
  beginTime: item.beginTime,
359
427
  endTime: item.endTime,
360
428
  date
@@ -422,11 +490,31 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
422
490
  header: ({
423
491
  date
424
492
  }) => {
425
- var _a;
426
493
  let _slot, _slot2, _slot3, _slot4, _slot5;
427
494
  return [vue.createVNode("span", {
428
495
  "class": this.ns.b("content-title")
429
496
  }, [date]), vue.createVNode("div", {
497
+ "class": this.ns.b("legend")
498
+ }, [this.legendItems && this.legendItems.length > 1 && this.legendItems.map((_legend) => {
499
+ var _a;
500
+ let label = _legend.name;
501
+ const _model = (_a = this.c.model.sysCalendarItems) == null ? void 0 : _a.find((_calendarItem) => _calendarItem.id === _legend.id);
502
+ if (_model == null ? void 0 : _model.nameLanguageRes) {
503
+ label = ibiz.i18n.t(_model.nameLanguageRes.lanResTag, _model.name);
504
+ }
505
+ return vue.createVNode("div", {
506
+ "class": [this.ns.be("legend", "item")],
507
+ "onClick": () => this.monthLegendClick(_legend)
508
+ }, [vue.createVNode("div", {
509
+ "class": this.ns.bem("legend", "item", "tip"),
510
+ "style": {
511
+ background: _legend.isShow ? _legend == null ? void 0 : _legend.bkcolor : "var(".concat(this.ns.cssVarName("color-disabled-bg"), ")"),
512
+ color: _legend == null ? void 0 : _legend.color
513
+ }
514
+ }, null), vue.createVNode("div", {
515
+ "class": this.ns.bem("legend", "item", "text")
516
+ }, [label])]);
517
+ })]), vue.createVNode("div", {
430
518
  "class": this.ns.b("content-header")
431
519
  }, [vue.createVNode(vue.resolveComponent("el-date-picker"), {
432
520
  "modelValue": this.c.state.selectedDate,
@@ -464,23 +552,7 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
464
552
  }, _isSlot(_slot5 = ibiz.i18n.t("control.calendar.nextYear")) ? _slot5 : {
465
553
  default: () => [_slot5]
466
554
  })]
467
- })]), vue.createVNode("div", {
468
- "class": this.ns.b("legend")
469
- }, [this.c.model.sysCalendarItems && this.c.model.sysCalendarItems.length > 1 && ((_a = this.c.model.sysCalendarItems) == null ? void 0 : _a.map((calendarItem) => {
470
- let label = calendarItem.name;
471
- if (calendarItem.nameLanguageRes) {
472
- label = ibiz.i18n.t(calendarItem.nameLanguageRes.lanResTag, calendarItem.name);
473
- }
474
- return vue.createVNode("div", {
475
- "class": this.ns.e("calendar-item")
476
- }, [vue.createVNode("div", {
477
- "class": this.ns.e("icon"),
478
- "style": {
479
- background: calendarItem.bkcolor,
480
- color: calendarItem.color
481
- }
482
- }, null), label]);
483
- }))])];
555
+ })])];
484
556
  },
485
557
  "date-cell": ({
486
558
  data
@@ -544,7 +616,7 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
544
616
  "ref": "calendarRef",
545
617
  "viewType": this.c.model.calendarStyle,
546
618
  "events": this.c.state.items,
547
- "legends": this.c.state.legends,
619
+ "legends": this.legendItems,
548
620
  "multiple": !this.c.state.singleSelect,
549
621
  "selectedData": this.c.state.selectedData,
550
622
  "onEventClick": (value) => {
@@ -562,6 +634,15 @@ const CalendarControl = /* @__PURE__ */ vue.defineComponent({
562
634
  const item = data[0];
563
635
  if (item)
564
636
  this.c.onDbRowClick(item);
637
+ },
638
+ "onEventContextmenu": (value) => {
639
+ const {
640
+ data,
641
+ evt
642
+ } = value;
643
+ const item = data[0];
644
+ if (item && evt)
645
+ this.onNodeContextmenu(item, evt);
565
646
  }
566
647
  }, _isSlot(slots) ? slots : {
567
648
  default: () => [slots]