@ibiz-template/vue3-components 0.7.41-alpha.7 → 0.7.41-alpha.9

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 (178) hide show
  1. package/dist/{index-4CBJktLS.js → index-CsiyXR27.js} +1 -1
  2. package/dist/index-UbdnNRaM.js +4 -0
  3. package/dist/{index-QL7Ukex9.js → index-tjsobxd3.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{wang-editor-ELTZ-byh.js → wang-editor-HvrS4t7L.js} +1 -1
  7. package/dist/{xlsx-util--EbSIMDJ.js → xlsx-util-ldKulT13.js} +1 -1
  8. package/es/control/data-view/data-view.css +1 -1
  9. package/es/control/data-view/data-view.mjs +37 -8
  10. package/es/control/drbar/drbar.controller.mjs +3 -1
  11. package/es/control/drtab/drtab-control.util.mjs +1 -1
  12. package/es/control/drtab/drtab.controller.mjs +3 -5
  13. package/es/control/drtab/drtab.d.ts +13 -0
  14. package/es/control/drtab/drtab.mjs +7 -1
  15. package/es/control/drtab/index.d.ts +7 -0
  16. package/es/control/kanban/kanban.css +1 -1
  17. package/es/control/kanban/kanban.d.ts +2 -2
  18. package/es/control/kanban/kanban.mjs +14 -9
  19. package/es/control/kanban/lane-kanban/lane-kanban.css +1 -0
  20. package/es/control/kanban/lane-kanban/lane-kanban.d.ts +27 -0
  21. package/es/control/kanban/lane-kanban/lane-kanban.mjs +409 -0
  22. package/es/control/list/list.css +1 -1
  23. package/es/control/list/list.mjs +1 -1
  24. package/es/control/toolbar/toolbar.css +1 -1
  25. package/es/control/toolbar/toolbar.mjs +232 -132
  26. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +2 -2
  27. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.mjs +8 -2
  28. package/es/editor/check-box-list/checkbox-list-editor.controller.mjs +4 -1
  29. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +3 -1
  30. package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +8 -12
  31. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +13 -16
  32. package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.mjs +5 -7
  33. package/es/editor/list-box/ibiz-list-box/ibiz-list-box.d.ts +3 -1
  34. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +3 -3
  35. package/es/editor/rate/ibiz-rate/ibiz-rate.mjs +3 -0
  36. package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +2 -2
  37. package/es/editor/raw/ibiz-raw/ibiz-raw.mjs +2 -0
  38. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +12 -12
  39. package/es/editor/slider/ibiz-slider/ibiz-slider.mjs +12 -0
  40. package/es/editor/span/span/span.d.ts +3 -3
  41. package/es/editor/span/span/span.mjs +3 -3
  42. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +2 -2
  43. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +2 -1
  44. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -1
  45. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +2 -2
  46. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +1 -1
  47. package/es/editor/text-box/input/input.d.ts +4 -3
  48. package/es/editor/text-box/input/input.mjs +2 -2
  49. package/es/locale/en/index.d.ts +6 -0
  50. package/es/locale/en/index.mjs +5 -0
  51. package/es/locale/zh-CN/index.d.ts +6 -0
  52. package/es/locale/zh-CN/index.mjs +5 -0
  53. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
  54. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.mjs +20 -8
  55. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.d.ts +9 -0
  56. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.mjs +11 -1
  57. package/es/util/app-util/app-util.d.ts +6 -0
  58. package/es/util/app-util/app-util.mjs +8 -0
  59. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  60. package/es/view-engine/app-start-view.engine.d.ts +12 -0
  61. package/es/view-engine/app-start-view.engine.mjs +11 -0
  62. package/es/view-engine/app-welcome-view.engine.d.ts +12 -0
  63. package/es/view-engine/app-welcome-view.engine.mjs +11 -0
  64. package/es/view-engine/custom-view.engine.d.ts +2 -10
  65. package/es/view-engine/custom-view.engine.mjs +0 -8
  66. package/es/view-engine/data-view.engine.d.ts +2 -2
  67. package/es/view-engine/data-view.engine.mjs +0 -1
  68. package/es/view-engine/edit-view.engine.d.ts +13 -4
  69. package/es/view-engine/edit-view.engine.mjs +24 -8
  70. package/es/view-engine/edit-view4.engine.mjs +4 -0
  71. package/es/view-engine/gantt-view.engine.d.ts +2 -2
  72. package/es/view-engine/gantt-view.engine.mjs +0 -1
  73. package/es/view-engine/grid-view.engine.d.ts +2 -2
  74. package/es/view-engine/grid-view.engine.mjs +0 -1
  75. package/es/view-engine/index-view.engine.d.ts +2 -2
  76. package/es/view-engine/index-view.engine.mjs +0 -1
  77. package/es/view-engine/index.mjs +10 -0
  78. package/es/view-engine/list-view.engine.d.ts +2 -2
  79. package/es/view-engine/list-view.engine.mjs +0 -1
  80. package/es/view-engine/login-view.engine.d.ts +2 -2
  81. package/es/view-engine/login-view.engine.mjs +2 -0
  82. package/es/view-engine/md-custom-view.engine.d.ts +2 -10
  83. package/es/view-engine/md-custom-view.engine.mjs +0 -8
  84. package/es/view-engine/medit-view9.engine.d.ts +2 -2
  85. package/es/view-engine/medit-view9.engine.mjs +0 -1
  86. package/es/view-engine/mpickup-view-engine.d.ts +2 -2
  87. package/es/view-engine/opt-view.engine.d.ts +13 -4
  88. package/es/view-engine/opt-view.engine.mjs +23 -8
  89. package/es/view-engine/pickup-data-view.engine.d.ts +2 -2
  90. package/es/view-engine/pickup-data-view.engine.mjs +0 -1
  91. package/es/view-engine/pickup-grid-view.engine.d.ts +2 -2
  92. package/es/view-engine/pickup-grid-view.engine.mjs +0 -1
  93. package/es/view-engine/pickup-tree-view.engine.d.ts +2 -2
  94. package/es/view-engine/pickup-view.engine.d.ts +2 -2
  95. package/es/view-engine/portal-view-engine.d.ts +2 -10
  96. package/es/view-engine/portal-view-engine.mjs +0 -8
  97. package/es/view-engine/report-view.engine.d.ts +2 -2
  98. package/es/view-engine/report-view.engine.mjs +0 -1
  99. package/es/view-engine/tab-exp-view.engine.d.ts +2 -2
  100. package/es/view-engine/tab-exp-view.engine.mjs +1 -0
  101. package/es/view-engine/tab-search-view.engine.d.ts +2 -2
  102. package/es/view-engine/tab-search-view.engine.mjs +0 -1
  103. package/es/view-engine/tree-exp-view.engine.d.ts +2 -2
  104. package/es/view-engine/tree-exp-view.engine.mjs +0 -1
  105. package/es/view-engine/tree-grid-ex-view.engine.d.ts +2 -2
  106. package/es/view-engine/tree-grid-ex-view.engine.mjs +0 -1
  107. package/es/view-engine/tree-grid-view.engine.d.ts +2 -2
  108. package/es/view-engine/tree-grid-view.engine.mjs +0 -1
  109. package/es/view-engine/tree-view.engine.d.ts +2 -2
  110. package/es/view-engine/tree-view.engine.mjs +0 -1
  111. package/es/view-engine/wf-dyna-action-view.engine.d.ts +2 -2
  112. package/es/view-engine/wf-dyna-action-view.engine.mjs +0 -1
  113. package/es/view-engine/wf-dyna-start-view.engine.d.ts +2 -2
  114. package/es/view-engine/wf-dyna-start-view.engine.mjs +0 -1
  115. package/lib/control/data-view/data-view.cjs +37 -8
  116. package/lib/control/data-view/data-view.css +1 -1
  117. package/lib/control/drbar/drbar.controller.cjs +3 -1
  118. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  119. package/lib/control/drtab/drtab.cjs +7 -1
  120. package/lib/control/drtab/drtab.controller.cjs +3 -5
  121. package/lib/control/kanban/kanban.cjs +14 -9
  122. package/lib/control/kanban/kanban.css +1 -1
  123. package/lib/control/kanban/lane-kanban/lane-kanban.cjs +411 -0
  124. package/lib/control/kanban/lane-kanban/lane-kanban.css +1 -0
  125. package/lib/control/list/list.cjs +1 -1
  126. package/lib/control/list/list.css +1 -1
  127. package/lib/control/toolbar/toolbar.cjs +232 -132
  128. package/lib/control/toolbar/toolbar.css +1 -1
  129. package/lib/editor/check-box/ibiz-checkbox/ibiz-checkbox.cjs +8 -2
  130. package/lib/editor/check-box-list/checkbox-list-editor.controller.cjs +4 -1
  131. package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +8 -12
  132. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +13 -16
  133. package/lib/editor/data-picker/ibiz-picker-link/ibiz-picker-link.cjs +5 -7
  134. package/lib/editor/rate/ibiz-rate/ibiz-rate.cjs +3 -0
  135. package/lib/editor/raw/ibiz-raw/ibiz-raw.cjs +2 -0
  136. package/lib/editor/slider/ibiz-slider/ibiz-slider.cjs +12 -0
  137. package/lib/editor/span/span/span.cjs +3 -3
  138. package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +2 -1
  139. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +1 -1
  140. package/lib/editor/text-box/input/input.cjs +2 -2
  141. package/lib/locale/en/index.cjs +5 -0
  142. package/lib/locale/zh-CN/index.cjs +5 -0
  143. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.cjs +19 -7
  144. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.css +1 -1
  145. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.cjs +11 -0
  146. package/lib/util/app-util/app-util.cjs +8 -0
  147. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  148. package/lib/view-engine/app-start-view.engine.cjs +13 -0
  149. package/lib/view-engine/app-welcome-view.engine.cjs +13 -0
  150. package/lib/view-engine/custom-view.engine.cjs +0 -8
  151. package/lib/view-engine/data-view.engine.cjs +0 -1
  152. package/lib/view-engine/edit-view.engine.cjs +24 -8
  153. package/lib/view-engine/edit-view4.engine.cjs +4 -0
  154. package/lib/view-engine/gantt-view.engine.cjs +0 -1
  155. package/lib/view-engine/grid-view.engine.cjs +0 -1
  156. package/lib/view-engine/index-view.engine.cjs +0 -1
  157. package/lib/view-engine/index.cjs +10 -0
  158. package/lib/view-engine/list-view.engine.cjs +0 -1
  159. package/lib/view-engine/login-view.engine.cjs +2 -0
  160. package/lib/view-engine/md-custom-view.engine.cjs +0 -8
  161. package/lib/view-engine/medit-view9.engine.cjs +0 -1
  162. package/lib/view-engine/opt-view.engine.cjs +23 -8
  163. package/lib/view-engine/pickup-data-view.engine.cjs +0 -1
  164. package/lib/view-engine/pickup-grid-view.engine.cjs +0 -1
  165. package/lib/view-engine/portal-view-engine.cjs +0 -8
  166. package/lib/view-engine/report-view.engine.cjs +0 -1
  167. package/lib/view-engine/tab-exp-view.engine.cjs +1 -0
  168. package/lib/view-engine/tab-search-view.engine.cjs +0 -1
  169. package/lib/view-engine/tree-exp-view.engine.cjs +0 -1
  170. package/lib/view-engine/tree-grid-ex-view.engine.cjs +0 -1
  171. package/lib/view-engine/tree-grid-view.engine.cjs +0 -1
  172. package/lib/view-engine/tree-view.engine.cjs +0 -1
  173. package/lib/view-engine/wf-dyna-action-view.engine.cjs +0 -1
  174. package/lib/view-engine/wf-dyna-start-view.engine.cjs +0 -1
  175. package/package.json +8 -8
  176. package/dist/index-cbi1NJAY.js +0 -4
  177. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.7_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.9_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  178. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.7_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.9_axios@1.6.8_lodash-es@4.17.21_qs@6.11.2_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -0,0 +1,411 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var draggable = require('vuedraggable');
6
+ var core = require('@ibiz-template/core');
7
+ require('./lane-kanban.css');
8
+
9
+ "use strict";
10
+ function _isSlot(s) {
11
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
12
+ }
13
+ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
14
+ name: "IBizLaneKanban",
15
+ components: {
16
+ draggable
17
+ },
18
+ props: {
19
+ /**
20
+ * @description 面板直接内容控制器
21
+ */
22
+ controller: {
23
+ type: Object,
24
+ required: true
25
+ }
26
+ },
27
+ setup(props) {
28
+ var _a, _b;
29
+ const ns = vue3Util.useNamespace("lane-kanban");
30
+ const c = props.controller;
31
+ const {
32
+ zIndex
33
+ } = vue3Util.useUIStore();
34
+ const popperStyle = {
35
+ zIndex: zIndex.increment(),
36
+ position: "unset"
37
+ };
38
+ const expandAll = vue.ref(true);
39
+ const dropdownKey = vue.ref();
40
+ const cardStyle = vue.computed(() => {
41
+ const {
42
+ cardWidth,
43
+ cardHeight
44
+ } = c.model;
45
+ const style = {};
46
+ if (cardWidth)
47
+ Object.assign(style, {
48
+ width: "".concat(cardWidth, "px")
49
+ });
50
+ if (cardHeight)
51
+ Object.assign(style, {
52
+ height: "".concat(cardHeight, "px")
53
+ });
54
+ return style;
55
+ });
56
+ const disabled = vue.computed(() => {
57
+ return !c.state.draggable || c.draggableMode === 0 || c.state.updating || c.state.readonly;
58
+ });
59
+ const batchKey = vue.computed(() => {
60
+ return c.state.batching ? c.state.selectGroupKey : "";
61
+ });
62
+ const quickToolbarModel = (_a = c.model.controls) == null ? void 0 : _a.find((item) => {
63
+ return item.name === "".concat(c.model.name, "_quicktoolbar") || item.name === "".concat(c.model.name, "_groupquicktoolbar");
64
+ });
65
+ const batchToolbarModel = (_b = c.model.controls) == null ? void 0 : _b.find((item) => {
66
+ return item.name === "".concat(c.model.name, "_batchtoolbar");
67
+ });
68
+ let cacheInfo = null;
69
+ const onDraggableChange = (evt, groupKey, laneKey) => {
70
+ if (evt.moved)
71
+ c.onDragChange({
72
+ from: groupKey,
73
+ to: groupKey,
74
+ fromIndex: evt.moved.oldIndex,
75
+ toIndex: evt.moved.newIndex,
76
+ fromLane: laneKey,
77
+ toLane: laneKey
78
+ });
79
+ if (evt.added)
80
+ cacheInfo = {
81
+ to: groupKey,
82
+ toLane: laneKey,
83
+ toIndex: evt.added.newIndex
84
+ };
85
+ if (evt.removed) {
86
+ if (cacheInfo) {
87
+ Object.assign(cacheInfo, {
88
+ from: groupKey,
89
+ fromLane: laneKey,
90
+ fromIndex: evt.removed.oldIndex
91
+ });
92
+ c.onDragChange(cacheInfo);
93
+ }
94
+ cacheInfo = null;
95
+ }
96
+ };
97
+ const handleCheckAllGroup = (group, invert) => {
98
+ const selectedData = group.selectedData || [];
99
+ if (invert) {
100
+ selectedData.forEach((item) => {
101
+ c.onRowClick(item);
102
+ });
103
+ } else {
104
+ const items = group.children.filter((item) => !selectedData.includes(item));
105
+ items.forEach((item) => {
106
+ c.onRowClick(item);
107
+ });
108
+ }
109
+ };
110
+ const isSelected = (item) => {
111
+ return c.state.selectedData.findIndex((data) => {
112
+ return data.srfkey === item.srfkey;
113
+ }) !== -1;
114
+ };
115
+ const getGroupKey = (groupKey, laneKey) => {
116
+ return c.draggableMode === 1 ? groupKey.toString() : c.draggableMode === 2 ? laneKey || "custom" : c.model.id;
117
+ };
118
+ const handleExpandAll = () => {
119
+ expandAll.value = !expandAll.value;
120
+ c.state.lanes.forEach((lane) => {
121
+ lane.isExpand = expandAll.value;
122
+ });
123
+ };
124
+ const onVisibleChange = (val, key) => {
125
+ dropdownKey.value = val ? key : void 0;
126
+ };
127
+ const renderHeaderToolbar = (group) => {
128
+ let _slot;
129
+ const showActionBar = c.model.groupUIActionGroup && group.groupActionGroupState || batchToolbarModel;
130
+ if (group.isExpand === false)
131
+ return null;
132
+ if (batchKey.value === group.key)
133
+ return vue.createVNode("div", {
134
+ "class": [ns.em("cell", "right"), ns.em("header", "actions")]
135
+ }, [vue.createVNode(vue.resolveComponent("el-button"), {
136
+ "text": true,
137
+ "onClick": () => c.closeBatch()
138
+ }, _isSlot(_slot = ibiz.i18n.t("app.complete")) ? _slot : {
139
+ default: () => [_slot]
140
+ })]);
141
+ return vue.createVNode("div", {
142
+ "class": [ns.em("cell", "right"), ns.em("header", "actions")]
143
+ }, [vue.createVNode(vue.resolveComponent("el-button"), {
144
+ "text": true,
145
+ "circle": true,
146
+ "class": ns.em("header", "action"),
147
+ "onClick": () => {
148
+ group.isExpand = false;
149
+ }
150
+ }, {
151
+ default: () => [vue.createVNode("ion-icon", {
152
+ "name": "chevron-back-outline",
153
+ "title": ibiz.i18n.t("control.kanban.collapsed")
154
+ }, null)]
155
+ }), showActionBar && vue.createVNode(vue.resolveComponent("el-dropdown"), {
156
+ "trigger": "click",
157
+ "teleported": false,
158
+ "style": popperStyle,
159
+ "class": [ns.em("header", "action"), ns.is("visible", group.key === dropdownKey.value)],
160
+ "popper-class": ns.em("header", "popper"),
161
+ "onVisibleChange": (val) => onVisibleChange(val, group.key)
162
+ }, {
163
+ default: () => vue.createVNode(vue.resolveComponent("el-button"), {
164
+ "text": true,
165
+ "circle": true
166
+ }, {
167
+ default: () => [vue.createVNode("ion-icon", {
168
+ "title": core.showTitle(ibiz.i18n.t("app.more")),
169
+ "name": "ellipsis-horizontal"
170
+ }, null)]
171
+ }),
172
+ dropdown: () => vue.createVNode("div", {
173
+ "class": ns.em("header", "toolbar")
174
+ }, [vue.createVNode(vue.resolveComponent("iBizActionToolbar"), {
175
+ "actionDetails": c.model.groupUIActionGroup.uiactionGroupDetails,
176
+ "actionsState": group.groupActionGroupState,
177
+ "onActionClick": (detail, event) => {
178
+ c.onGroupToolbarClick(detail, event, group);
179
+ }
180
+ }, null), batchToolbarModel && vue.createVNode(vue.resolveComponent("el-button"), {
181
+ "size": "small",
182
+ "onClick": () => {
183
+ c.openBatch(group.key);
184
+ }
185
+ }, {
186
+ default: () => [vue.createVNode("ion-icon", {
187
+ "name": "checkmark-sharp"
188
+ }, null), ibiz.i18n.t("control.kanban.natchOperation")]
189
+ })])
190
+ })]);
191
+ };
192
+ const renderHeaderCell = (group) => {
193
+ return vue.createVNode("div", {
194
+ "class": [ns.e("cell"), ns.em("header", "cell"), ns.is("collapsed", group.isExpand === false)]
195
+ }, [vue.createVNode("div", {
196
+ "class": ns.em("cell", "content")
197
+ }, [vue.createVNode("div", {
198
+ "class": ns.em("cell", "left")
199
+ }, [vue.createVNode("div", {
200
+ "class": ns.em("cell", "caption")
201
+ }, [group.caption, vue.createVNode("span", {
202
+ "class": ns.em("cell", "separator")
203
+ }, [vue.createTextVNode("\xB7")]), group.children.length]), group.isExpand === false && vue.createVNode(vue.resolveComponent("el-button"), {
204
+ "text": true,
205
+ "circle": true,
206
+ "onClick": () => {
207
+ group.isExpand = true;
208
+ }
209
+ }, {
210
+ default: () => [vue.createVNode("ion-icon", {
211
+ "title": ibiz.i18n.t("control.kanban.expand"),
212
+ "name": "chevron-forward-outline"
213
+ }, null)]
214
+ })]), renderHeaderToolbar(group)])]);
215
+ };
216
+ const renderHeader = () => {
217
+ return vue.createVNode("div", {
218
+ "class": ns.e("header")
219
+ }, [vue.createVNode("div", {
220
+ "class": ns.em("header", "row")
221
+ }, [vue.createVNode("div", {
222
+ "class": [ns.e("cell"), ns.em("header", "cell")]
223
+ }, [vue.createVNode("div", {
224
+ "class": ns.em("cell", "content")
225
+ }, [vue.createVNode("div", {
226
+ "class": ns.em("cell", "left")
227
+ }, [vue.createVNode("ion-icon", {
228
+ "onClick": handleExpandAll,
229
+ "class": ns.em("cell", "expand-icon"),
230
+ "title": expandAll.value ? ibiz.i18n.t("control.kanban.allCollapsed") : ibiz.i18n.t("control.kanban.allExpand"),
231
+ "name": expandAll.value ? "chevron-collapse-outline" : "chevron-expand-outline"
232
+ }, null), vue.createVNode("div", {
233
+ "class": ns.em("cell", "caption")
234
+ }, [ibiz.i18n.t("control.kanban.lane")])])])]), c.state.groups.map((group) => {
235
+ return renderHeaderCell(group);
236
+ })])]);
237
+ };
238
+ const renderPanelItemLayout = (lane, item) => {
239
+ const {
240
+ context,
241
+ params
242
+ } = c;
243
+ const {
244
+ itemLayoutPanel
245
+ } = c.model;
246
+ if (!itemLayoutPanel)
247
+ return;
248
+ return vue.createVNode(vue.resolveComponent("iBizControlShell"), {
249
+ "data": item,
250
+ "params": params,
251
+ "context": context,
252
+ "class": ns.e("panel-item"),
253
+ "modelData": itemLayoutPanel
254
+ }, null);
255
+ };
256
+ const renderDefaultItem = (lane, item, group) => {
257
+ const actionModel = c.getOptItemModel();
258
+ return vue.createVNode("div", {
259
+ "class": ns.e("default-item")
260
+ }, [vue.createVNode("div", {
261
+ "class": ns.em("default-item", "header")
262
+ }, [item.srfmajortext]), vue.createVNode("div", {
263
+ "class": ns.em("default-item", "content")
264
+ }, [item.content]), actionModel.length ? vue.createVNode("div", {
265
+ "class": ns.em("default-item", "footer")
266
+ }, [vue.createVNode(vue.resolveComponent("iBizActionToolbar"), {
267
+ "class": ns.em("default-item", "actions"),
268
+ "action-details": actionModel,
269
+ "actions-state": c.state.uaState[item.srfkey],
270
+ "onActionClick": (detail, event) => c.onGroupActionClick(detail, item, event, group, lane)
271
+ }, null)]) : null]);
272
+ };
273
+ const renderBodyCellToolber = (lane, group) => {
274
+ return vue.createVNode("div", {
275
+ "class": ns.em("cell", "toolbar")
276
+ }, [c.enableNew && !c.state.readonly && vue.createVNode(vue.resolveComponent("el-button"), {
277
+ "text": true,
278
+ "class": ns.em("cell", "action"),
279
+ "onClick": (event) => {
280
+ c.onClickNew(event, group.key, lane);
281
+ }
282
+ }, {
283
+ default: () => [vue.createVNode("ion-icon", {
284
+ "name": "add-outline"
285
+ }, null), ibiz.i18n.t("app.newlyBuild")]
286
+ }), quickToolbarModel && vue.createVNode(vue.resolveComponent("iBizControlShell"), {
287
+ "class": ns.e("quicktoolbar"),
288
+ "modelData": {
289
+ ...quickToolbarModel,
290
+ name: "".concat(quickToolbarModel.name, "_").concat(group.key)
291
+ },
292
+ "context": c.context,
293
+ "params": c.params
294
+ }, null)]);
295
+ };
296
+ const renderBatchToolBar = (group) => {
297
+ let _slot2;
298
+ if (!batchToolbarModel || batchKey.value !== group.key)
299
+ return;
300
+ const selectedData = group.selectedData || [];
301
+ const checkAll = selectedData.length === group.children.length;
302
+ const isIndeterminate = selectedData.length > 0 && selectedData.length < group.children.length;
303
+ return vue.createVNode("div", {
304
+ "class": ns.e("batch")
305
+ }, [vue.createVNode(vue.resolveComponent("iBizControlShell"), {
306
+ "modelData": {
307
+ ...batchToolbarModel,
308
+ name: "".concat(batchToolbarModel.name, "_").concat(group.key)
309
+ },
310
+ "class": ns.em("batch", "toolbar"),
311
+ "context": c.context,
312
+ "params": c.params
313
+ }, null), vue.createVNode("div", {
314
+ "class": ns.em("batch", "check")
315
+ }, [vue.createVNode(vue.resolveComponent("el-checkbox"), {
316
+ "model-value": checkAll,
317
+ "indeterminate": isIndeterminate,
318
+ "onChange": () => handleCheckAllGroup(group, checkAll)
319
+ }, _isSlot(_slot2 = ibiz.i18n.t("control.kanban.selectAll")) ? _slot2 : {
320
+ default: () => [_slot2]
321
+ }), vue.createVNode("span", {
322
+ "class": ns.be("batch", "info"),
323
+ "innerHTML": ibiz.i18n.t("control.kanban.selectedDataCount", {
324
+ length: selectedData.length
325
+ })
326
+ }, null)])]);
327
+ };
328
+ const renderBodyCell = (index, lane, group) => {
329
+ const {
330
+ swimlaneAppDEFieldId
331
+ } = c.model;
332
+ return vue.createVNode("div", {
333
+ "class": [ns.e("cell"), ns.em("body", "cell"), ns.is("collapsed", group.isExpand === false)]
334
+ }, [index === 0 && renderBatchToolBar(group), group.isExpand !== false ? vue.createVNode("div", {
335
+ "class": ns.em("cell", "content")
336
+ }, [lane.isExpand ? [vue.createVNode(draggable, {
337
+ "itemKey": "srfkey",
338
+ "disabled": disabled.value,
339
+ "modelValue": group.children,
340
+ "class": ns.em("cell", "draggable"),
341
+ "group": getGroupKey(group.key, lane.key),
342
+ "onChange": (evt) => onDraggableChange(evt, group.key, lane.key)
343
+ }, {
344
+ item: ({
345
+ element
346
+ }) => {
347
+ if (!swimlaneAppDEFieldId || element[swimlaneAppDEFieldId] !== lane.key)
348
+ return null;
349
+ return vue.createVNode(vue.resolveComponent("el-card"), {
350
+ "shadow": "hover",
351
+ "class": [ns.e("card"), ns.is("selected", isSelected(element)), ns.is("disabled", c.state.draggable && c.state.updating)],
352
+ "body-style": cardStyle.value,
353
+ "onClick": () => c.onRowClick(element),
354
+ "onDblclick": () => c.onDbRowClick(element)
355
+ }, {
356
+ default: () => [c.model.itemLayoutPanel ? renderPanelItemLayout(lane, element) : renderDefaultItem(lane, element, group)]
357
+ });
358
+ }
359
+ }), renderBodyCellToolber(lane, group)] : vue.createVNode("div", {
360
+ "class": ns.em("cell", "left")
361
+ }, [vue.createVNode("span", {
362
+ "class": ns.em("cell", "description")
363
+ }, ["".concat(group.children.filter((child) => swimlaneAppDEFieldId && child[swimlaneAppDEFieldId] === lane.key).length, " \u4E2A").concat(group.caption)])])]) : null]);
364
+ };
365
+ const renderBody = () => {
366
+ return vue.createVNode("div", {
367
+ "class": ns.e("body")
368
+ }, [vue.createVNode("div", {
369
+ "class": ns.em("body", "scollor")
370
+ }, [c.state.lanes.map((lane, index) => {
371
+ return vue.createVNode("div", {
372
+ "class": [ns.em("body", "row"), ns.is("expand", lane.isExpand)]
373
+ }, [vue.createVNode("div", {
374
+ "class": [ns.e("cell"), ns.em("body", "cell")]
375
+ }, [vue.createVNode("div", {
376
+ "class": ns.em("cell", "content")
377
+ }, [vue.createVNode("div", {
378
+ "class": ns.em("cell", "left")
379
+ }, [vue.createVNode("ion-icon", {
380
+ "class": ns.em("cell", "expand-icon"),
381
+ "name": lane.isExpand ? "chevron-down-outline" : "chevron-forward-outline",
382
+ "onClick": () => {
383
+ lane.isExpand = !lane.isExpand;
384
+ }
385
+ }, null), vue.createVNode("div", {
386
+ "class": ns.em("cell", "caption")
387
+ }, [lane.caption])]), vue.createVNode("div", {
388
+ "class": ns.em("cell", "right")
389
+ }, [vue.createVNode("span", {
390
+ "class": ns.em("cell", "description")
391
+ }, ["".concat(lane.count, " \u4E2A").concat(c.laneDescription)])])])]), c.state.groups.map((group) => {
392
+ return renderBodyCell(index, lane, group);
393
+ })]);
394
+ })])]);
395
+ };
396
+ return {
397
+ ns,
398
+ renderHeader,
399
+ renderBody
400
+ };
401
+ },
402
+ render() {
403
+ return vue.createVNode("div", {
404
+ "class": this.ns.b()
405
+ }, [vue.createVNode("div", {
406
+ "class": this.ns.e("table")
407
+ }, [this.renderHeader(), this.renderBody()])]);
408
+ }
409
+ });
410
+
411
+ exports.LaneKanban = LaneKanban;
@@ -0,0 +1 @@
1
+ .ibiz-lane-kanban{display:flex;flex-direction:column;width:100%;height:100%}.ibiz-lane-kanban__table{display:flex;flex:1;flex-direction:column;padding:var(--ibiz-spacing-tight);overflow:auto hidden;border-collapse:collapse}.ibiz-lane-kanban__header{box-sizing:border-box;width:100%;min-width:-moz-fit-content;min-width:fit-content;border-top:1px solid var(--ibiz-color-border)}.ibiz-lane-kanban__header--action{visibility:hidden}.ibiz-lane-kanban__header--action.is-visible{visibility:visible}.ibiz-lane-kanban__header--row{display:flex;white-space:nowrap}.ibiz-lane-kanban__header--cell .ibiz-lane-kanban__cell--content{display:flex;justify-content:space-between}.ibiz-lane-kanban__header--cell:hover .ibiz-lane-kanban__header--action{visibility:visible}.ibiz-lane-kanban__header--cell.is-collapsed{position:relative;width:50px;border-bottom:none}.ibiz-lane-kanban__header--cell.is-collapsed .ibiz-lane-kanban__cell--content{position:absolute;top:var(--ibiz-spacing-base);left:0;flex-direction:column}.ibiz-lane-kanban__header--cell.is-collapsed .ibiz-lane-kanban__cell--left{flex-direction:column;gap:var(--ibiz-spacing-extra-tight)}.ibiz-lane-kanban__header--cell.is-collapsed .ibiz-lane-kanban__cell--caption{writing-mode:tb}.ibiz-lane-kanban__header--cell.is-collapsed .ibiz-lane-kanban__cell--separator{margin:var(--ibiz-spacing-extra-tight) 0}.ibiz-lane-kanban__header--toolbar .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-lane-kanban__header--toolbar .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-lane-kanban__header--toolbar .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-lane-kanban__header--toolbar .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-lane-kanban__header--popper.el-popper.el-dropdown__popper .el-scrollbar__view.el-dropdown__list{padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-none);background-color:var(--ibiz-color-white)}.ibiz-lane-kanban__header--popper.el-popper.el-dropdown__popper .el-button{color:var(--ibiz-color-text-3);--el-button-bg-color:var(--ibiz-color-white);--el-button-hover-bg-color:var(--ibiz-color-fill-0);--el-button-active-bg-color:var(--ibiz-color-fill-0);--el-button-text-color:var(--ibiz-color-text-3);--el-button-hover-text-color:var(--ibiz-color-primary);--el-button-active-text-color:var(--ibiz-color-primary);border:none}.ibiz-lane-kanban__body{display:flex;flex:1;flex-direction:column;width:100%;min-width:-moz-fit-content;min-width:fit-content;padding-bottom:var(--ibiz-spacing-extra-tight);overflow:hidden scroll}.ibiz-lane-kanban__body--scollor{width:auto;height:auto}.ibiz-lane-kanban__body--row{display:flex;width:100%;min-width:0;white-space:nowrap}.ibiz-lane-kanban__body--row.is-expand .ibiz-lane-kanban__cell{height:auto;min-height:200px;padding:var(--ibiz-spacing-tight)}.ibiz-lane-kanban__body--row:not(.is-expand) .ibiz-lane-kanban__cell:not(.is-collapsed){border-right:none}.ibiz-lane-kanban__body--cell:first-child .ibiz-lane-kanban__cell--content{display:flex;align-items:start;justify-content:space-between}.ibiz-lane-kanban__body--cell.is-collapsed{width:50px;border-right:1px solid var(--ibiz-color-border);border-bottom:none}.ibiz-lane-kanban__body--cell:has(+.is-collapsed){border-right:1px solid var(--ibiz-color-border)!important}.ibiz-lane-kanban__cell{width:320px;padding:var(--ibiz-spacing-base) var(--ibiz-spacing-tight);border-right:1px solid var(--ibiz-color-border);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-lane-kanban__cell--expand-icon{display:flex;align-items:center;margin-right:var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-header-6);color:var(--ibiz-color-text-3);cursor:pointer}.ibiz-lane-kanban__cell--content{width:100%;height:100%}.ibiz-lane-kanban__cell--left{display:flex;align-items:center}.ibiz-lane-kanban__cell--right{display:flex;align-items:center}.ibiz-lane-kanban__cell--toolbar{margin:var(--ibiz-spacing-tight);visibility:hidden}.ibiz-lane-kanban__cell--separator{margin:0 var(--ibiz-spacing-extra-tight)}.ibiz-lane-kanban__cell--description{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-3)}.ibiz-lane-kanban__cell:hover .ibiz-lane-kanban__cell--toolbar{visibility:visible}.ibiz-lane-kanban__card{margin:var(--ibiz-spacing-tight);cursor:pointer;border-radius:var(--ibiz-spacing-super-tight)}.ibiz-lane-kanban__card.is-disabled{cursor:no-drop}.ibiz-lane-kanban__card.is-selected{background-color:var(--ibiz-color-fill-0)}.ibiz-lane-kanban__default-item--footer{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight);border-top:1px solid var(--ibiz-color-border)}.ibiz-lane-kanban__default-item--actions{display:flex;justify-content:center}.ibiz-lane-kanban__default-item--actions .ibiz-action-toolbar__item{margin:0}.ibiz-lane-kanban__default-item--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-lane-kanban__batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-lane-kanban__batch--toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-lane-kanban__batch--check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-lane-kanban__batch--info span{margin:var(--ibiz-spacing-none) var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
@@ -354,7 +354,7 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
354
354
  if (!ctrlModel)
355
355
  return;
356
356
  return vue.createVNode("div", {
357
- "class": ns.b("batchtoolbar")
357
+ "class": ns.e("batchtoolbar")
358
358
  }, [vue.createVNode(vue.resolveComponent("iBizToolbarControl"), {
359
359
  "modelData": ctrlModel,
360
360
  "context": c.context,
@@ -1 +1 @@
1
- .ibiz-control-list-item{flex-grow:1;min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer;background-color:var(--ibiz-control-list-item-bg-color)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);--ibiz-control-list-item-bg-color:unset;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-list__nav-icon{position:absolute;top:18px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-list__load-more{text-align:center}.ibiz-control-list__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-control-list-load-more-color);cursor:pointer}.ibiz-control-list__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-list__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__load-more-button{padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-content.is-show-underLine .ibiz-control-list-scroll-item{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-list-content .ibiz-row-detail:last-of-type .ibiz-control-list-scroll-item{border-bottom:none}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-list-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ibiz-control-list-scroll-item{display:flex;align-items:center}.ibiz-control-list-scroll-item__checkbox{flex-shrink:0;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-list-scroll-item__icon{flex-shrink:0;margin-left:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list-scroll-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-scroll-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}
1
+ .ibiz-control-list-item{flex-grow:1;min-height:var(--ibiz-control-list-item-height);padding:var(--ibiz-control-list-padding);font-weight:var(--ibiz-control-list-font-weight);color:var(--ibiz-control-list-text-color);cursor:pointer;background-color:var(--ibiz-control-list-item-bg-color)}.ibiz-control-list{--ibiz-control-list-text-color:var(--ibiz-color-text-0);--ibiz-control-list-load-more-color:var(--ibiz-color-text-2);--ibiz-control-list-hover-bg-color:var(--ibiz-color-fill-1);--ibiz-control-list-active-bg-color:var(--ibiz-color-fill-2);--ibiz-control-list-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-list-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base-tight);--ibiz-control-list-item-bg-color:unset;display:flex;flex-flow:column nowrap;align-items:stretch;justify-content:flex-start;position:relative;height:100%}.ibiz-control-list__nav-icon{position:absolute;top:18px;right:10px;color:var(--ibiz-color-primary);cursor:pointer}.ibiz-control-list__load-more{text-align:center}.ibiz-control-list__load-more i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-control-list-load-more-color);cursor:pointer}.ibiz-control-list__load-more i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__collapse-expand-icon{width:calc(100% - var(--ibiz-spacing-base-tight));text-align:center}.ibiz-control-list__collapse-expand-icon i{font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list__collapse-expand-icon i:hover{color:var(--ibiz-color-primary-light-hover)}.ibiz-control-list__load-more-button{padding:var(--ibiz-control-list-padding);text-align:center}.ibiz-control-list .ibiz-control-list-content{flex-grow:1}.ibiz-control-list-content__batchtoolbar{margin:var(--ibiz-spacing-tight) 0}.ibiz-control-list-content.is-show-underLine .ibiz-control-list-scroll-item{border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-list-content .ibiz-row-detail:last-of-type .ibiz-control-list-scroll-item{border-bottom:none}.ibiz-control-list-scroll{height:100%;overflow:auto}.ibiz-control-list-group-content__item-header{display:flex;align-items:center;justify-content:space-between;width:100%}.ibiz-control-list-scroll-item{display:flex;align-items:center}.ibiz-control-list-scroll-item__checkbox{flex-shrink:0;margin-left:var(--ibiz-spacing-tight)}.ibiz-control-list-scroll-item__icon{flex-shrink:0;margin-left:var(--ibiz-spacing-tight);color:var(--ibiz-color-text-2);cursor:pointer}.ibiz-control-list-scroll-item:hover{background-color:var(--ibiz-control-list-hover-bg-color)}.ibiz-control-list-scroll-item.is-active{background-color:var(--ibiz-control-list-active-bg-color)}