@ibiz-template/vue3-components 0.7.41-alpha.13 → 0.7.41-alpha.15

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 (139) hide show
  1. package/dist/index-1hn7qv2s.js +4 -0
  2. package/dist/index.min.css +1 -1
  3. package/dist/index.system.min.js +1 -1
  4. package/dist/map-chart-3dojS1dZ.js +1 -0
  5. package/dist/{wang-editor-Iw-hqw1q.js → wang-editor-yDknWojV.js} +1 -1
  6. package/dist/{xlsx-util-FnTIZeKq.js → xlsx-util-8l4wyK1s.js} +1 -1
  7. package/es/common/carousel/carousel.css +1 -1
  8. package/es/common/map-chart/map-chart.mjs +6 -14
  9. package/es/control/calendar/calendar-util.d.ts +12 -0
  10. package/es/control/calendar/calendar-util.mjs +30 -1
  11. package/es/control/calendar/calendar.css +1 -1
  12. package/es/control/calendar/calendar.d.ts +2 -0
  13. package/es/control/calendar/calendar.mjs +110 -26
  14. package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  15. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +2 -0
  16. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +66 -16
  17. package/es/control/calendar/components/calendar-daily/index.d.ts +2 -0
  18. package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +3 -1
  19. package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +99 -44
  20. package/es/control/calendar/components/calendar-week/calendar-week.css +1 -1
  21. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +6 -0
  22. package/es/control/calendar/components/calendar-week/calendar-week.mjs +74 -38
  23. package/es/control/calendar/components/calendar-week/index.d.ts +6 -0
  24. package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +12 -1
  25. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +313 -155
  26. package/es/control/calendar/components/constant/event.d.ts +1 -0
  27. package/es/control/calendar/components/constant/event.mjs +2 -1
  28. package/es/control/calendar/components/constant/index.mjs +1 -1
  29. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  30. package/es/control/calendar/components/custom-calendar/custom-calendar.d.ts +2 -0
  31. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +8 -10
  32. package/es/control/calendar/components/custom-calendar/index.d.ts +2 -0
  33. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +4 -0
  34. package/es/control/calendar/components/interface/calendar-daily.d.ts +1 -0
  35. package/es/control/calendar/components/interface/calendar-daily.mjs +6 -1
  36. package/es/control/calendar/components/interface/calendar-week.d.ts +1 -0
  37. package/es/control/calendar/components/interface/calendar-week.mjs +2 -1
  38. package/es/control/calendar/components/interface/common.d.ts +20 -18
  39. package/es/control/calendar/components/interface/custom-calendar.d.ts +1 -0
  40. package/es/control/calendar/components/interface/custom-calendar.mjs +3 -2
  41. package/es/control/calendar/components/util/index.mjs +1 -1
  42. package/es/control/calendar/components/util/util.d.ts +20 -1
  43. package/es/control/calendar/components/util/util.mjs +10 -2
  44. package/es/control/calendar/index.d.ts +2 -0
  45. package/es/control/drbar/drbar.controller.d.ts +6 -0
  46. package/es/control/drbar/drbar.controller.mjs +8 -0
  47. package/es/control/drbar/drbar.mjs +6 -0
  48. package/es/control/drtab/drtab-control.util.mjs +1 -1
  49. package/es/control/drtab/drtab.controller.d.ts +6 -0
  50. package/es/control/drtab/drtab.controller.mjs +9 -0
  51. package/es/control/drtab/drtab.mjs +13 -0
  52. package/es/control/drtab/flow-drtab.css +1 -1
  53. package/es/control/drtab/flow-drtab.mjs +3 -1
  54. package/es/control/gantt/gantt.mjs +4 -1
  55. package/es/control/grid/virtualized-table/virtualized-table.css +1 -1
  56. package/es/control/grid/virtualized-table/virtualized-table.mjs +4 -3
  57. package/es/control/grid/virtualized-table/virtualized-table.util.mjs +4 -4
  58. package/es/control/kanban/kanban.css +1 -1
  59. package/es/control/kanban/kanban.mjs +6 -9
  60. package/es/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  61. package/es/control/kanban/{lane-kanban/lane-kanban.d.ts → swimlane-kanban/swimlane-kanban.d.ts} +3 -2
  62. package/es/control/kanban/{lane-kanban/lane-kanban.mjs → swimlane-kanban/swimlane-kanban.mjs} +22 -29
  63. package/es/control/map/map.mjs +1 -1
  64. package/es/control/medit-view-panel/index.d.ts +2 -0
  65. package/es/control/medit-view-panel/medit-view-panel.d.ts +2 -0
  66. package/es/control/medit-view-panel/medit-view-panel.mjs +19 -6
  67. package/es/control/search-bar/search-bar.mjs +1 -1
  68. package/es/control/tab-exp-panel/index.d.ts +1 -0
  69. package/es/control/tab-exp-panel/tab-exp-panel.css +1 -1
  70. package/es/control/tab-exp-panel/tab-exp-panel.d.ts +2 -1
  71. package/es/control/tab-exp-panel/tab-exp-panel.mjs +21 -2
  72. package/es/control/tree/tree.mjs +4 -1
  73. package/es/editor/span/span/span.mjs +2 -1
  74. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  75. package/es/view-engine/custom-view.engine.d.ts +1 -1
  76. package/es/view-engine/custom-view.engine.mjs +5 -5
  77. package/es/view-engine/de-index-view-engine.mjs +1 -1
  78. package/es/view-engine/edit-view.engine.mjs +1 -1
  79. package/es/view-engine/index.mjs +4 -0
  80. package/es/view-engine/md-custom-view.engine.d.ts +1 -1
  81. package/es/view-engine/md-custom-view.engine.mjs +5 -5
  82. package/es/view-engine/opt-view.engine.mjs +1 -1
  83. package/lib/common/carousel/carousel.css +1 -1
  84. package/lib/common/map-chart/map-chart.cjs +5 -13
  85. package/lib/control/calendar/calendar-util.cjs +30 -0
  86. package/lib/control/calendar/calendar.cjs +108 -24
  87. package/lib/control/calendar/calendar.css +1 -1
  88. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +64 -14
  89. package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  90. package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +98 -43
  91. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +73 -37
  92. package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -1
  93. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +311 -153
  94. package/lib/control/calendar/components/constant/event.cjs +2 -0
  95. package/lib/control/calendar/components/constant/index.cjs +1 -0
  96. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +8 -10
  97. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  98. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +4 -0
  99. package/lib/control/calendar/components/interface/calendar-daily.cjs +6 -1
  100. package/lib/control/calendar/components/interface/calendar-week.cjs +2 -1
  101. package/lib/control/calendar/components/interface/custom-calendar.cjs +2 -1
  102. package/lib/control/calendar/components/util/index.cjs +2 -0
  103. package/lib/control/calendar/components/util/util.cjs +11 -1
  104. package/lib/control/drbar/drbar.cjs +6 -0
  105. package/lib/control/drbar/drbar.controller.cjs +8 -0
  106. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  107. package/lib/control/drtab/drtab.cjs +13 -0
  108. package/lib/control/drtab/drtab.controller.cjs +9 -0
  109. package/lib/control/drtab/flow-drtab.cjs +3 -1
  110. package/lib/control/drtab/flow-drtab.css +1 -1
  111. package/lib/control/gantt/gantt.cjs +4 -1
  112. package/lib/control/grid/virtualized-table/virtualized-table.cjs +3 -2
  113. package/lib/control/grid/virtualized-table/virtualized-table.css +1 -1
  114. package/lib/control/grid/virtualized-table/virtualized-table.util.cjs +4 -4
  115. package/lib/control/kanban/kanban.cjs +6 -9
  116. package/lib/control/kanban/kanban.css +1 -1
  117. package/lib/control/kanban/{lane-kanban/lane-kanban.cjs → swimlane-kanban/swimlane-kanban.cjs} +22 -29
  118. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  119. package/lib/control/map/map.cjs +1 -1
  120. package/lib/control/medit-view-panel/medit-view-panel.cjs +19 -6
  121. package/lib/control/search-bar/search-bar.cjs +1 -1
  122. package/lib/control/tab-exp-panel/tab-exp-panel.cjs +20 -1
  123. package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -1
  124. package/lib/control/tree/tree.cjs +4 -1
  125. package/lib/editor/span/span/span.cjs +2 -1
  126. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  127. package/lib/view-engine/custom-view.engine.cjs +5 -5
  128. package/lib/view-engine/de-index-view-engine.cjs +1 -1
  129. package/lib/view-engine/edit-view.engine.cjs +1 -1
  130. package/lib/view-engine/index.cjs +4 -0
  131. package/lib/view-engine/md-custom-view.engine.cjs +5 -5
  132. package/lib/view-engine/opt-view.engine.cjs +1 -1
  133. package/package.json +5 -5
  134. package/dist/index-LzKAcXeH.js +0 -4
  135. package/dist/map-chart-HL7emT5a.js +0 -1
  136. package/es/control/kanban/lane-kanban/lane-kanban.css +0 -1
  137. package/lib/control/kanban/lane-kanban/lane-kanban.css +0 -1
  138. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.12_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.14_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
  139. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.12_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.14_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
@@ -31,7 +31,8 @@ const calendarWeekProps = util.handleProps({
31
31
  const calendarWeekEmits = {
32
32
  pick: (value) => lodashEs.isObject(value),
33
33
  eventClick: (value) => value,
34
- eventDblClick: (value) => value
34
+ eventDblClick: (value) => value,
35
+ eventContextmenu: (_value) => _value
35
36
  };
36
37
 
37
38
  exports.calendarWeekEmits = calendarWeekEmits;
@@ -68,7 +68,8 @@ const customCalendarEmits = {
68
68
  [event.INPUT_EVENT]: (value) => lodashEs.isDate(value),
69
69
  [event.CHANGE_EVENT]: (value) => lodashEs.isDate(value),
70
70
  [event.EVENT_CLICK_EVENT]: (value) => value,
71
- [event.EVENT_DBL_CLICK_EVENT]: (value) => value
71
+ [event.EVENT_DBL_CLICK_EVENT]: (value) => value,
72
+ [event.EVENT_CONTEXT_MENU]: (_value) => _value
72
73
  };
73
74
 
74
75
  exports.customCalendarEmits = customCalendarEmits;
@@ -5,6 +5,7 @@ var lodashEs = require('lodash-es');
5
5
 
6
6
  "use strict";
7
7
 
8
+ exports.checkDateRangeIncludes = util.checkDateRangeIncludes;
8
9
  exports.closeIcon = util.closeIcon;
9
10
  exports.definePropType = util.definePropType;
10
11
  exports.epPropKey = util.epPropKey;
@@ -12,6 +13,7 @@ exports.fade = util.fade;
12
13
  exports.getCurWeekDates = util.getCurWeekDates;
13
14
  exports.handleBkColor = util.handleBkColor;
14
15
  exports.handleEVentClick = util.handleEVentClick;
16
+ exports.handleEmit = util.handleEmit;
15
17
  exports.handlePopClose = util.handlePopClose;
16
18
  exports.handleProps = util.handleProps;
17
19
  exports.handleTimeRange = util.handleTimeRange;
@@ -36,7 +36,7 @@ const handlePopClose = (el) => {
36
36
  node.style.display = "none";
37
37
  }
38
38
  };
39
- const handleTimeRange = (startTime, endTime, format, partition = "-") => {
39
+ const handleTimeRange = (startTime, endTime, format, partition = "~") => {
40
40
  var _a, _b;
41
41
  let timeRange = "";
42
42
  if (startTime && ((_a = dayjs(startTime)) == null ? void 0 : _a.isValid())) {
@@ -128,6 +128,14 @@ const isToday = (date, curDate) => {
128
128
  const state = dateToCheck.getDate() === currentDate.getDate() && dateToCheck.getMonth() === currentDate.getMonth() && dateToCheck.getFullYear() === currentDate.getFullYear();
129
129
  return state;
130
130
  };
131
+ function checkDateRangeIncludes(start, end, curDate) {
132
+ const targetDate = dayjs(curDate);
133
+ const startDate = dayjs(start);
134
+ const endDate = dayjs(end);
135
+ if (!targetDate.isValid() || !startDate.isValid() || !endDate.isValid())
136
+ return false;
137
+ return targetDate.isSame(startDate, "day") || targetDate.isSame(endDate, "day") || startDate.isBefore(targetDate, "day") && endDate.isAfter(targetDate, "day");
138
+ }
131
139
  function hasOwn(obj, key) {
132
140
  return Object.prototype.hasOwnProperty.call(obj, key);
133
141
  }
@@ -299,6 +307,7 @@ Object.defineProperty(exports, "set", {
299
307
  enumerable: true,
300
308
  get: function () { return lodashEs.set; }
301
309
  });
310
+ exports.checkDateRangeIncludes = checkDateRangeIncludes;
302
311
  exports.closeIcon = closeIcon;
303
312
  exports.definePropType = definePropType;
304
313
  exports.epPropKey = epPropKey;
@@ -306,6 +315,7 @@ exports.fade = fade;
306
315
  exports.getCurWeekDates = getCurWeekDates;
307
316
  exports.handleBkColor = handleBkColor;
308
317
  exports.handleEVentClick = handleEVentClick;
318
+ exports.handleEmit = handleEmit;
309
319
  exports.handlePopClose = handlePopClose;
310
320
  exports.handleProps = handleProps;
311
321
  exports.handleTimeRange = handleTimeRange;
@@ -81,6 +81,12 @@ const DRBarControl = /* @__PURE__ */ vue.defineComponent({
81
81
  c.setRouter(router);
82
82
  const handleSelect = (key) => {
83
83
  c.handleSelectChange(key);
84
+ const drBarItem = c.state.drBarItems.find((item) => item.tag === key);
85
+ if (drBarItem) {
86
+ c.evt.emit("onTabChange", {
87
+ data: drBarItem
88
+ });
89
+ }
84
90
  };
85
91
  const route = vueRouter.useRoute();
86
92
  let expViewRoutePath = "";
@@ -557,6 +557,14 @@ class DRBarController extends runtime.ControlController {
557
557
  this.counter.destroy();
558
558
  }
559
559
  }
560
+ /**
561
+ * @description 设置激活项
562
+ * @param {string} name
563
+ * @memberof DRBarController
564
+ */
565
+ setActive(name) {
566
+ this.handleSelectChange(name);
567
+ }
560
568
  }
561
569
 
562
570
  exports.DRBarController = DRBarController;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var vue = require('vue');
4
- var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.12_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');
4
+ var namespace = require('../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.14_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');
5
5
 
6
6
  "use strict";
7
7
  function useAppDRTab(c, controlRef, counterData) {
@@ -78,12 +78,25 @@ const DRTabControl = /* @__PURE__ */ vue.defineComponent({
78
78
  (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
79
79
  });
80
80
  c.setRouter(router);
81
+ const emitChange = () => {
82
+ const {
83
+ activeName
84
+ } = c.state;
85
+ const drTabItem = c.state.drTabPages.find((item) => item.tag === activeName);
86
+ if (drTabItem) {
87
+ c.evt.emit("onTabChange", {
88
+ data: drTabItem
89
+ });
90
+ }
91
+ };
81
92
  const handleTabChange = () => {
82
93
  c.handleTabChange();
94
+ emitChange();
83
95
  };
84
96
  const onTabChange = (key) => {
85
97
  c.state.activeName = key;
86
98
  c.handleTabChange();
99
+ emitChange();
87
100
  };
88
101
  const route = vueRouter.useRoute();
89
102
  let expViewRoutePath = "";
@@ -507,6 +507,15 @@ class DRTabController extends runtime.ControlController {
507
507
  this.counter.destroy();
508
508
  }
509
509
  }
510
+ /**
511
+ * @description 设置激活项
512
+ * @param {string} name
513
+ * @memberof DRTabController
514
+ */
515
+ setActive(name) {
516
+ this.state.activeName = name;
517
+ this.handleTabChange();
518
+ }
510
519
  }
511
520
 
512
521
  exports.DRTabController = DRTabController;
@@ -139,7 +139,9 @@ const FlowDrtab = /* @__PURE__ */ vue.defineComponent({
139
139
  });
140
140
  return vue.createVNode("div", {
141
141
  "class": this.ns.b()
142
- }, [tabs]);
142
+ }, [vue.createVNode("div", {
143
+ "class": this.ns.e("container")
144
+ }, [tabs])]);
143
145
  }
144
146
  });
145
147
 
@@ -1 +1 @@
1
- .ibiz-flow-drtab{display:flex;flex-direction:column;gap:var(--ibiz-spacing-base);background-color:var(--ibiz-color-bg-0)}.ibiz-flow-drtab__tab-item{margin-right:var(--ibiz-spacing-base);background-color:var(--ibiz-color-bg-1);border-radius:var(--ibiz-border-radius-medium)}.ibiz-flow-drtab__tab-item--label{padding:var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-header-5);border-bottom:1px solid var(--ibiz-color-fill-1)}.ibiz-flow-drtab__tab-item--tab-view{padding:var(--ibiz-spacing-tight) 0}.ibiz-flow-drtab__counter{font-size:var(--ibiz-font-size-regular);text-align:center}
1
+ .ibiz-flow-drtab{width:100%;height:100%;overflow:auto;background-color:var(--ibiz-color-bg-0)}.ibiz-flow-drtab__container{display:flex;flex-direction:column;gap:var(--ibiz-spacing-base)}.ibiz-flow-drtab__tab-item{background-color:var(--ibiz-color-bg-1);border-radius:var(--ibiz-border-radius-medium)}.ibiz-flow-drtab__tab-item--label{padding:var(--ibiz-spacing-base);font-size:var(--ibiz-font-size-header-5);border-bottom:1px solid var(--ibiz-color-fill-1)}.ibiz-flow-drtab__tab-item--tab-view{padding:var(--ibiz-spacing-tight) 0}.ibiz-flow-drtab__counter{font-size:var(--ibiz-font-size-regular);text-align:center}.ibiz-flow-drtab .ibiz-flow-drtab{background-color:inherit}
@@ -331,7 +331,10 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
331
331
  if (!contextMenuC.model.detoolbarItems) {
332
332
  return;
333
333
  }
334
- await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId);
334
+ await contextMenuC.calcButtonState(nodeData._deData || (nodeData.srfkey ? nodeData : void 0), nodeModel.appDataEntityId, {
335
+ view: c.view,
336
+ ctrl: c
337
+ });
335
338
  const menuState = contextMenuC.state.buttonsState;
336
339
  const menus = calcContextMenuItems(contextMenuC.model.detoolbarItems, nodeData, evt, menuState);
337
340
  if (!menus.length) {
@@ -286,7 +286,7 @@ const VirtualizedTableControl = /* @__PURE__ */ vue.defineComponent({
286
286
  width
287
287
  }) => {
288
288
  const columns = this.calcColumnWidth(this.columnModel, width);
289
- return vue.createVNode(vue.resolveComponent("el-table-v2"), {
289
+ return vue.withDirectives(vue.createVNode(vue.resolveComponent("el-table-v2"), {
290
290
  "fixed": true,
291
291
  "ref": "tableRef",
292
292
  "width": width,
@@ -294,6 +294,7 @@ const VirtualizedTableControl = /* @__PURE__ */ vue.defineComponent({
294
294
  "row-height": 54,
295
295
  "columns": columns,
296
296
  "header-height": 54,
297
+ "hScrollbarSize": 4,
297
298
  "data": this.tableData,
298
299
  "class": this.ns.e("table"),
299
300
  "row-class": this.calcRowClass,
@@ -311,7 +312,7 @@ const VirtualizedTableControl = /* @__PURE__ */ vue.defineComponent({
311
312
  empty: this.renderNoData,
312
313
  cell: this.renderBodyCell,
313
314
  "header-cell": this.renderHeaderCell
314
- });
315
+ }), [[vue.resolveDirective("scrollbarSize"), 4]]);
315
316
  }
316
317
  }), this.c.model.enableCustomized && !this.c.state.hideHeader && vue.createVNode("div", {
317
318
  "class": this.ns.e("setting-box")
@@ -1 +1 @@
1
- .ibiz-control-virtualized-table{--ibiz-control-virtualized-table-text-color:var(--ibiz-color-text-0);--ibiz-control-virtualized-table-bg-color:transparent;--ibiz-control-virtualized-table-padding:var(--ibiz-spacing-none);--ibiz-control-virtualized-table-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-virtualized-table-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-virtualized-table-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-virtualized-table-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-virtualized-table-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-virtualized-table-row-hover-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-virtualized-table-row-select-color:var(--ibiz-color-primary-light-default);--ibiz-control-virtualized-table-row-expand-icon-margin:var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-tight);--ibiz-control-virtualized-table-now-header-height:54px;--ibiz-control-virtualized-table-scrollbar-width:4px;--ibiz-control-virtualized-table-scrollbar-bg-color:var(--ibiz-color-fill-2);--ibiz-control-virtualized-table-scrollbar-bg-hover-opacity:0.5;--ibiz-control-virtualized-table-scrollbar-bg-hover-color:var(--ibiz-color-fill-2);--ibiz-control-virtualized-table-header-text-color:var(--ibiz-color-text-2);--ibiz-control-virtualized-table-header-cell-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-control-virtualized-table-header-height:auto;--ibiz-control-virtualized-table-header-min-height:54px;--ibiz-control-virtualized-table-header-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-virtualized-table-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-virtualized-table-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-virtualized-table-content-text-color:var(--ibiz-control-virtualized-table-text-color);--ibiz-control-virtualized-table-content-row-height:48px;--ibiz-control-virtualized-table-page-text-color:var(--ibiz-color-text-2);--ibiz-control-virtualized-table-page-height:50px;--ibiz-control-virtualized-table-page-padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base-tight);--ibiz-control-virtualized-table-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-virtualized-table-footer-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-virtualized-table-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-virtualized-table-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-virtualized-table-padding);background-color:var(--ibiz-control-virtualized-table-bg-color)}.ibiz-control-virtualized-table.is-enable-page .el-auto-resizer{height:calc(100% - var(--ibiz-control-virtualized-table-page-height))!important}.ibiz-control-virtualized-table.is-enable-page .el-table-v2__empty{height:calc(100% - var(--ibiz-control-virtualized-table-page-height))}.ibiz-control-virtualized-table__table{width:100%;height:100%}.ibiz-control-virtualized-table__table.el-table-v2{--el-table-header-bg-color:var(--ibiz-control-virtualized-table-header-bg-color);--el-table-border-color:transparent}.ibiz-control-virtualized-table__table .el-table-v2__empty{height:100%}.ibiz-control-virtualized-table__table .el-table-v2__header-row,.ibiz-control-virtualized-table__table .el-table-v2__row{border:none}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__header-cell,.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__row-cell{padding:var(--ibiz-control-virtualized-table-cell-padding)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__header-cell:not(.is-selection),.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__row-cell:not(.is-selection){cursor:pointer}.ibiz-control-virtualized-table__table .el-table-v2__main{background-color:transparent}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row .el-table-v2__row-cell{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row:nth-child(2n) .el-table-v2__row-cell{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row:hover .el-table-v2__row-cell{background-color:var(--ibiz-control-grid-row-hover-color)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row.is-selected .el-table-v2__row-cell{background-color:var(--ibiz-control-virtualized-table-row-select-color)}.ibiz-control-virtualized-table__table .el-table-v2__body{color:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-0:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-1:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-2:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-3:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-virtualized-table__header-cell{font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-virtualized-table__caret-wrapper{display:inline-flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;width:24px;height:14px;overflow:initial;line-height:23px;vertical-align:middle;cursor:pointer}.ibiz-control-virtualized-table__caret-wrapper--sort-caret{width:0;height:0;border:solid 5px transparent;opacity:.6}.ibiz-control-virtualized-table__caret-wrapper--asc{border-bottom-color:var(--ibiz-color-text-2)}.ibiz-control-virtualized-table__caret-wrapper--asc.is-active{border-bottom-color:var(--ibiz-color-primary)}.ibiz-control-virtualized-table__caret-wrapper--desc{border-top-color:var(--ibiz-color-text-2)}.ibiz-control-virtualized-table__caret-wrapper--desc.is-active{border-top-color:var(--ibiz-color-primary)}.ibiz-control-virtualized-table__quick-toolbar{justify-content:center}.ibiz-control-virtualized-table__batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-virtualized-table-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-virtualized-table-header-bg-color)}.ibiz-control-virtualized-table__batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-virtualized-table__batch-toolbar--separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-virtualized-table__batch-toolbar--content{height:100%;display:flex;align-items:center;justify-content:flex-start}.ibiz-control-virtualized-table.is-enable-customized .ibiz-control-virtualized-table__setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:1;height:var(--ibiz-control-virtualized-table-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-virtualized-table-header-bg-color)}
1
+ .ibiz-control-virtualized-table{--ibiz-control-virtualized-table-text-color:var(--ibiz-color-text-0);--ibiz-control-virtualized-table-bg-color:transparent;--ibiz-control-virtualized-table-padding:var(--ibiz-spacing-none);--ibiz-control-virtualized-table-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-virtualized-table-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-virtualized-table-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-virtualized-table-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-virtualized-table-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-virtualized-table-row-hover-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-virtualized-table-row-select-color:var(--ibiz-color-primary-light-default);--ibiz-control-virtualized-table-row-expand-icon-margin:var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-tight);--ibiz-control-virtualized-table-now-header-height:54px;--ibiz-control-virtualized-table-scrollbar-width:4px;--ibiz-control-virtualized-table-scrollbar-bg-color:var(--ibiz-color-fill-2);--ibiz-control-virtualized-table-scrollbar-bg-hover-opacity:0.5;--ibiz-control-virtualized-table-scrollbar-bg-hover-color:var(--ibiz-color-fill-2);--ibiz-control-virtualized-table-header-text-color:var(--ibiz-color-text-2);--ibiz-control-virtualized-table-header-cell-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-control-virtualized-table-header-height:auto;--ibiz-control-virtualized-table-header-min-height:54px;--ibiz-control-virtualized-table-header-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-virtualized-table-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-virtualized-table-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-virtualized-table-content-text-color:var(--ibiz-control-virtualized-table-text-color);--ibiz-control-virtualized-table-content-row-height:48px;--ibiz-control-virtualized-table-page-text-color:var(--ibiz-color-text-2);--ibiz-control-virtualized-table-page-height:50px;--ibiz-control-virtualized-table-page-padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base-tight);--ibiz-control-virtualized-table-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-virtualized-table-footer-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-virtualized-table-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-virtualized-table-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-virtualized-table-padding);background-color:var(--ibiz-control-virtualized-table-bg-color)}.ibiz-control-virtualized-table.is-enable-page .el-auto-resizer{height:calc(100% - var(--ibiz-control-virtualized-table-page-height))!important}.ibiz-control-virtualized-table.is-enable-page .el-table-v2__empty{height:calc(100% - var(--ibiz-control-virtualized-table-page-height))}.ibiz-control-virtualized-table__table{width:100%;height:100%}.ibiz-control-virtualized-table__table.el-table-v2{--el-table-header-bg-color:var(--ibiz-control-virtualized-table-header-bg-color);--el-table-border-color:transparent}.ibiz-control-virtualized-table__table .el-table-v2__empty{height:100%}.ibiz-control-virtualized-table__table .el-virtual-scrollbar.el-vl__horizontal{height:var(--ibiz-control-virtualized-table-scrollbar-width)!important}.ibiz-control-virtualized-table__table .el-virtual-scrollbar.el-vl__vertical{width:var(--ibiz-control-virtualized-table-scrollbar-width)!important}.ibiz-control-virtualized-table__table .el-table-v2__header-row,.ibiz-control-virtualized-table__table .el-table-v2__row{border:none}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__header-cell,.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__row-cell{padding:var(--ibiz-control-virtualized-table-cell-padding)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__header-cell:not(.is-selection),.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__row-cell:not(.is-selection){cursor:pointer}.ibiz-control-virtualized-table__table .el-table-v2__main{background-color:transparent}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row .el-table-v2__row-cell{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row:nth-child(2n) .el-table-v2__row-cell{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row:hover .el-table-v2__row-cell{background-color:var(--ibiz-control-grid-row-hover-color)}.ibiz-control-virtualized-table__table.el-table-v2 .el-table-v2__body .el-table-v2__row.is-selected .el-table-v2__row-cell{background-color:var(--ibiz-control-virtualized-table-row-select-color)}.ibiz-control-virtualized-table__table .el-table-v2__body{color:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-0:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-1:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-2:var(--ibiz-control-grid-content-text-color);--ibiz-color-text-3:var(--ibiz-control-grid-content-text-color);border-bottom:.1px solid var(--ibiz-color-border)}.ibiz-control-virtualized-table__header-cell{font-size:var(--ibiz-control-grid-header-font-size);font-weight:var(--ibiz-control-grid-header-font-weight);color:var(--ibiz-control-grid-header-text-color);word-break:break-word;white-space:pre-wrap}.ibiz-control-virtualized-table__caret-wrapper{display:inline-flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;width:24px;height:14px;overflow:initial;line-height:23px;vertical-align:middle;cursor:pointer}.ibiz-control-virtualized-table__caret-wrapper--sort-caret{width:0;height:0;border:solid 5px transparent;opacity:.6}.ibiz-control-virtualized-table__caret-wrapper--asc{border-bottom-color:var(--ibiz-color-text-2)}.ibiz-control-virtualized-table__caret-wrapper--asc.is-active{border-bottom-color:var(--ibiz-color-primary)}.ibiz-control-virtualized-table__caret-wrapper--desc{border-top-color:var(--ibiz-color-text-2)}.ibiz-control-virtualized-table__caret-wrapper--desc.is-active{border-top-color:var(--ibiz-color-primary)}.ibiz-control-virtualized-table__quick-toolbar{justify-content:center}.ibiz-control-virtualized-table__batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-virtualized-table-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-virtualized-table-header-bg-color)}.ibiz-control-virtualized-table__batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-virtualized-table__batch-toolbar--separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-virtualized-table__batch-toolbar--content{height:100%;display:flex;align-items:center;justify-content:flex-start}.ibiz-control-virtualized-table.is-enable-customized .ibiz-control-virtualized-table__setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:2px;z-index:1;height:var(--ibiz-control-virtualized-table-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-virtualized-table-header-bg-color)}
@@ -166,10 +166,10 @@ function useVirtualizedTable(c, props) {
166
166
  );
167
167
  if (!adaptiveColumn.length)
168
168
  adaptiveColumn = [showColumns[showColumns.length - 1]];
169
- const width = (bodyWidth - totalWidth) / adaptiveColumn.length - 6;
170
- adaptiveColumn.forEach(
171
- (column) => Object.assign(column, { width: column.width + width })
172
- );
169
+ const width = (bodyWidth - totalWidth - 6) / adaptiveColumn.length;
170
+ adaptiveColumn.forEach((column) => {
171
+ column.width += width;
172
+ });
173
173
  }
174
174
  return columns;
175
175
  }
@@ -5,7 +5,7 @@ var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var draggable = require('vuedraggable');
6
6
  var runtime = require('@ibiz-template/runtime');
7
7
  var core = require('@ibiz-template/core');
8
- var laneKanban = require('./lane-kanban/lane-kanban.cjs');
8
+ var swimlaneKanban = require('./swimlane-kanban/swimlane-kanban.cjs');
9
9
  require('./kanban.css');
10
10
 
11
11
  "use strict";
@@ -200,9 +200,8 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
200
200
  }, null);
201
201
  };
202
202
  const renderQuickToolBar = (group) => {
203
- if (!quickToolbarModel) {
203
+ if (!quickToolbarModel)
204
204
  return;
205
- }
206
205
  return vue.createVNode(vue.resolveComponent("iBizControlShell"), {
207
206
  "class": ns.e("quicktoolbar"),
208
207
  "modelData": {
@@ -214,9 +213,8 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
214
213
  }, null);
215
214
  };
216
215
  const renderBatchToolBar = (group) => {
217
- if (!batchToolbarModel) {
216
+ if (!batchToolbarModel)
218
217
  return;
219
- }
220
218
  return vue.createVNode("div", {
221
219
  "class": ns.be("batch", "toolbar")
222
220
  }, [vue.createVNode(vue.resolveComponent("iBizControlShell"), {
@@ -249,9 +247,8 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
249
247
  }, null)]);
250
248
  };
251
249
  const renderBatchContainer = (group) => {
252
- if (batchKey.value !== group.key) {
250
+ if (batchKey.value !== group.key)
253
251
  return;
254
- }
255
252
  return vue.createVNode("div", {
256
253
  "class": ns.b("batch")
257
254
  }, [renderBatchToolBar(group), renderBatchCheck(group)]);
@@ -494,9 +491,9 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
494
491
  return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
495
492
  "ref": "kanban",
496
493
  "controller": this.c,
497
- "class": [this.ns.m((_a = this.modelData.groupLayout) == null ? void 0 : _a.toLowerCase()), this.ns.is("full", this.isFull), this.ns.is("lane", !swimlaneAppDEFieldId)]
494
+ "class": [this.ns.m((_a = this.modelData.groupLayout) == null ? void 0 : _a.toLowerCase()), this.ns.is("full", this.isFull), this.ns.is("swimlane", !!swimlaneAppDEFieldId)]
498
495
  }, {
499
- default: () => [swimlaneAppDEFieldId ? vue.createVNode(laneKanban.LaneKanban, {
496
+ default: () => [swimlaneAppDEFieldId ? vue.createVNode(swimlaneKanban.SwimlaneKanban, {
500
497
  "controller": this.c
501
498
  }, null) : [vue.createVNode("div", {
502
499
  "class": this.ns.b("group-container")
@@ -1 +1 @@
1
- .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban.is-lane{padding-right:0}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:var(--ibiz-spacing-none)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(calc(50% - var(--ibiz-spacing-tight)),0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-small);transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);cursor:pointer;border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:var(--ibiz-spacing-none) var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{position:relative;z-index:100;width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:var(--ibiz-border-radius-circle)}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown:has(.el-button){padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-none)}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban-item__bottom{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-control-kanban-item__bottom--actions{display:flex;justify-content:center}.ibiz-control-kanban-item__bottom--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-kanban-item__bottom--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-kanban-item+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:var(--ibiz-spacing-none) var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
1
+ .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban.is-swimlane{padding-right:0!important}.ibiz-control-kanban--row .ibiz-control-kanban-group-container{display:flex;padding-bottom:var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban--row .ibiz-control-kanban-group-container>*+*{margin-left:var(--ibiz-spacing-base)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse{width:32px}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header{position:relative;flex-direction:column;align-items:start;height:100%;padding:var(--ibiz-spacing-none)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header ion-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ibiz-control-kanban--row .ibiz-control-kanban-group.is-collapse .ibiz-control-kanban-group__header-caption{align-self:center;transform:rotate(90deg) translate(calc(50% - var(--ibiz-spacing-tight)),0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-small);transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);cursor:pointer;border-bottom:1px solid var(--ibiz-color-border);display:flex;align-items:center;justify-content:space-between}.ibiz-control-kanban-group__header::before{position:absolute;top:0;left:0;display:block;width:100%;content:"";border-color:inherit;border-top:2px solid}.ibiz-control-kanban-group__header-left{display:flex;align-items:center;justify-content:center}.ibiz-control-kanban-group__header-left ion-icon{margin-right:var(--ibiz-spacing-tight);transition:transform .3s}.ibiz-control-kanban-group__header-caption{padding:0 var(--ibiz-spacing-tight);white-space:nowrap}.ibiz-control-kanban-group__header-caption.is-badge{color:var(--ibiz-color-primary-active-text)}.ibiz-control-kanban-group__list{position:relative;flex:auto;width:100%;height:calc(100% - 48px);padding:var(--ibiz-spacing-none) var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty{display:flex;flex-direction:column}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban-group__draggable{flex-shrink:0;min-height:0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{flex-grow:1;width:calc(100% - var(--ibiz-spacing-base))}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{position:relative;z-index:100;width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:var(--ibiz-spacing-extra-tight);font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:var(--ibiz-border-radius-circle)}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown:has(.el-button){padding:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-none)}.ibiz-control-kanban-group__actions-dropdown .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-control-kanban-group__actions-dropdown .el-button{--el-button-size:var(--ibiz-height-control-large);justify-content:flex-start;width:100%;padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);margin:var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-kanban-group__actions-dropdown .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-kanban-group__actions-dropdown .el-button.is-text:not(.is-disabled):hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color)}.ibiz-control-kanban-item{cursor:pointer}.ibiz-control-kanban-item:hover{background-color:var(--ibiz-control-kanban-hover-bg-color)}.ibiz-control-kanban-item.is-selected{background-color:var(--ibiz-control-kanban-selected-bg-color)}.ibiz-control-kanban-item.is-disabled{cursor:no-drop}.ibiz-control-kanban-item__bottom{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-control-kanban-item__bottom--actions{display:flex;justify-content:center}.ibiz-control-kanban-item__bottom--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-kanban-item__bottom--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-kanban-item+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:var(--ibiz-spacing-none) var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
@@ -4,14 +4,14 @@ var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var draggable = require('vuedraggable');
6
6
  var core = require('@ibiz-template/core');
7
- require('./lane-kanban.css');
7
+ require('./swimlane-kanban.css');
8
8
 
9
9
  "use strict";
10
10
  function _isSlot(s) {
11
11
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
12
12
  }
13
- const LaneKanban = /* @__PURE__ */ vue.defineComponent({
14
- name: "IBizLaneKanban",
13
+ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
14
+ name: "IBizSwimlaneKanban",
15
15
  components: {
16
16
  draggable
17
17
  },
@@ -26,7 +26,7 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
26
26
  },
27
27
  setup(props) {
28
28
  var _a, _b;
29
- const ns = vue3Util.useNamespace("lane-kanban");
29
+ const ns = vue3Util.useNamespace("swimlane-kanban");
30
30
  const c = props.controller;
31
31
  const {
32
32
  zIndex
@@ -37,25 +37,16 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
37
37
  };
38
38
  const expandAll = vue.ref(true);
39
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
40
  const disabled = vue.computed(() => {
57
41
  return !c.state.draggable || c.draggableMode === 0 || c.state.updating || c.state.readonly;
58
42
  });
43
+ const width = vue.computed(() => {
44
+ const {
45
+ groupWidth,
46
+ cardWidth
47
+ } = c.model;
48
+ return groupWidth || cardWidth || 320;
49
+ });
59
50
  const batchKey = vue.computed(() => {
60
51
  return c.state.batching ? c.state.selectGroupKey : "";
61
52
  });
@@ -117,7 +108,7 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
117
108
  };
118
109
  const handleExpandAll = () => {
119
110
  expandAll.value = !expandAll.value;
120
- c.state.lanes.forEach((lane) => {
111
+ c.state.swimlanes.forEach((lane) => {
121
112
  lane.isExpand = expandAll.value;
122
113
  });
123
114
  };
@@ -319,7 +310,7 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
319
310
  }, _isSlot(_slot2 = ibiz.i18n.t("control.kanban.selectAll")) ? _slot2 : {
320
311
  default: () => [_slot2]
321
312
  }), vue.createVNode("span", {
322
- "class": ns.be("batch", "info"),
313
+ "class": ns.em("batch", "info"),
323
314
  "innerHTML": ibiz.i18n.t("control.kanban.selectedDataCount", {
324
315
  length: selectedData.length
325
316
  })
@@ -349,7 +340,6 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
349
340
  return vue.createVNode(vue.resolveComponent("el-card"), {
350
341
  "shadow": "hover",
351
342
  "class": [ns.e("card"), ns.is("selected", isSelected(element)), ns.is("disabled", c.state.draggable && c.state.updating)],
352
- "body-style": cardStyle.value,
353
343
  "onClick": () => c.onRowClick(element),
354
344
  "onDblclick": () => c.onDbRowClick(element)
355
345
  }, {
@@ -365,9 +355,7 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
365
355
  const renderBody = () => {
366
356
  return vue.createVNode("div", {
367
357
  "class": ns.e("body")
368
- }, [vue.createVNode("div", {
369
- "class": ns.em("body", "scollor")
370
- }, [c.state.lanes.map((lane, index) => {
358
+ }, [c.state.swimlanes.map((lane, index) => {
371
359
  return vue.createVNode("div", {
372
360
  "class": [ns.em("body", "row"), ns.is("expand", lane.isExpand)]
373
361
  }, [vue.createVNode("div", {
@@ -391,21 +379,26 @@ const LaneKanban = /* @__PURE__ */ vue.defineComponent({
391
379
  }, ["".concat(lane.count, " \u4E2A").concat(c.laneDescription)])])])]), c.state.groups.map((group) => {
392
380
  return renderBodyCell(index, lane, group);
393
381
  })]);
394
- })])]);
382
+ })]);
395
383
  };
396
384
  return {
397
385
  ns,
386
+ width,
398
387
  renderHeader,
399
388
  renderBody
400
389
  };
401
390
  },
402
391
  render() {
392
+ var _a;
403
393
  return vue.createVNode("div", {
404
- "class": this.ns.b()
394
+ "class": [this.ns.b(), this.ns.e((_a = this.controller.model.groupStyle) == null ? void 0 : _a.toLowerCase())],
395
+ "style": {
396
+ "--ibiz-swimlane-kanban-width": "".concat(this.width, "px")
397
+ }
405
398
  }, [vue.createVNode("div", {
406
399
  "class": this.ns.e("table")
407
400
  }, [this.renderHeader(), this.renderBody()])]);
408
401
  }
409
402
  });
410
403
 
411
- exports.LaneKanban = LaneKanban;
404
+ exports.SwimlaneKanban = SwimlaneKanban;
@@ -0,0 +1 @@
1
+ .ibiz-swimlane-kanban{--ibiz-swimlane-kanban-width:320px;display:flex;flex-direction:column;width:100%;height:100%;padding:var(--ibiz-spacing-tight)}.ibiz-swimlane-kanban__default .ibiz-swimlane-kanban__cell:not(.is-collapsed){width:var(--ibiz-swimlane-kanban-width)}.ibiz-swimlane-kanban__style2 .ibiz-swimlane-kanban__cell:not(.is-collapsed){flex:1 0 0;min-width:var(--ibiz-swimlane-kanban-width)}.ibiz-swimlane-kanban__table{overflow:auto hidden}.ibiz-swimlane-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-swimlane-kanban__header--action{visibility:hidden}.ibiz-swimlane-kanban__header--action.is-visible{visibility:visible}.ibiz-swimlane-kanban__header--row{display:flex}.ibiz-swimlane-kanban__header--cell .ibiz-swimlane-kanban__cell--content{display:flex;justify-content:space-between}.ibiz-swimlane-kanban__header--cell:hover .ibiz-swimlane-kanban__header--action{visibility:visible}.ibiz-swimlane-kanban__header--cell.is-collapsed{position:relative;width:50px;border-bottom:none}.ibiz-swimlane-kanban__header--cell.is-collapsed .ibiz-swimlane-kanban__cell--content{position:absolute;top:var(--ibiz-spacing-base);left:0;flex-direction:column}.ibiz-swimlane-kanban__header--cell.is-collapsed .ibiz-swimlane-kanban__cell--left{flex-direction:column;gap:var(--ibiz-spacing-extra-tight)}.ibiz-swimlane-kanban__header--cell.is-collapsed .ibiz-swimlane-kanban__cell--caption{writing-mode:tb}.ibiz-swimlane-kanban__header--cell.is-collapsed .ibiz-swimlane-kanban__cell--separator{margin:var(--ibiz-spacing-extra-tight) 0}.ibiz-swimlane-kanban__header--toolbar .ibiz-action-toolbar{display:flex;flex-flow:column nowrap}.ibiz-swimlane-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-swimlane-kanban__header--toolbar .el-button ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-swimlane-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-swimlane-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-swimlane-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-swimlane-kanban__body{width:100%;min-width:-moz-fit-content;min-width:fit-content;height:calc(100% - 66px);padding-bottom:var(--ibiz-spacing-extra-tight);overflow:hidden scroll}.ibiz-swimlane-kanban__body--row{display:flex}.ibiz-swimlane-kanban__body--row.is-expand .ibiz-swimlane-kanban__cell{height:auto;min-height:200px;padding:var(--ibiz-spacing-tight)}.ibiz-swimlane-kanban__body--row:not(.is-expand) .ibiz-swimlane-kanban__cell:not(.is-collapsed){border-right:none}.ibiz-swimlane-kanban__body--cell:first-child .ibiz-swimlane-kanban__cell--content{display:flex;align-items:start;justify-content:space-between}.ibiz-swimlane-kanban__body--cell.is-collapsed{width:50px;min-width:50px;border-right:1px solid var(--ibiz-color-border);border-bottom:none}.ibiz-swimlane-kanban__body--cell:has(+.is-collapsed){border-right:1px solid var(--ibiz-color-border)!important}.ibiz-swimlane-kanban__cell{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-swimlane-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-swimlane-kanban__cell--content{width:100%;height:100%}.ibiz-swimlane-kanban__cell--left{display:flex;align-items:center}.ibiz-swimlane-kanban__cell--right{display:flex;align-items:center}.ibiz-swimlane-kanban__cell--toolbar{margin:var(--ibiz-spacing-tight);visibility:hidden}.ibiz-swimlane-kanban__cell--separator{margin:0 var(--ibiz-spacing-extra-tight)}.ibiz-swimlane-kanban__cell--description{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-text-3)}.ibiz-swimlane-kanban__cell:hover .ibiz-swimlane-kanban__cell--toolbar{visibility:visible}.ibiz-swimlane-kanban__card{margin:var(--ibiz-spacing-tight);cursor:pointer;border-radius:var(--ibiz-spacing-super-tight)}.ibiz-swimlane-kanban__card.is-disabled{cursor:no-drop}.ibiz-swimlane-kanban__card.is-selected{background-color:var(--ibiz-color-fill-0)}.ibiz-swimlane-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-swimlane-kanban__default-item--actions{display:flex;justify-content:center}.ibiz-swimlane-kanban__default-item--actions .ibiz-action-toolbar__item{margin:0}.ibiz-swimlane-kanban__default-item--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-swimlane-kanban__batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-swimlane-kanban__batch--toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-swimlane-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-swimlane-kanban__batch--info span{margin:var(--ibiz-spacing-none) var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}.ibiz-swimlane-kanban__scrollbar .el-scrollbar__view{width:100%}
@@ -86,7 +86,7 @@ const MapControl = /* @__PURE__ */ vue.defineComponent({
86
86
  const {
87
87
  state
88
88
  } = this.c;
89
- if (!state.isCreated)
89
+ if (!state.isCreated || !state.isLoaded)
90
90
  return;
91
91
  return vue.createVNode(vue.resolveComponent("iBizControlNavigation"), {
92
92
  "controller": this.c
@@ -44,6 +44,14 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
44
44
  const handleDelete = (item) => {
45
45
  c.handleDelete(item);
46
46
  };
47
+ const onTabChange = (name) => {
48
+ c.state.activeTab = name;
49
+ c.onTabChange(name);
50
+ };
51
+ const handleTabDelete = (item, event) => {
52
+ event.stopPropagation();
53
+ c.handleDelete(item);
54
+ };
47
55
  vue.onMounted(() => {
48
56
  if (panelContent.value) {
49
57
  mutationObserver = new MutationObserver(() => {
@@ -76,7 +84,9 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
76
84
  c,
77
85
  ns,
78
86
  panelContent,
79
- handleDelete
87
+ handleDelete,
88
+ onTabChange,
89
+ handleTabDelete
80
90
  };
81
91
  },
82
92
  render() {
@@ -86,8 +96,9 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
86
96
  return vue.createVNode(vue.resolveComponent("el-tabs"), {
87
97
  "class": this.ns.b("tabs"),
88
98
  "modelValue": this.c.state.activeTab,
89
- "onUpdate:modelValue": ($event) => this.c.state.activeTab = $event
90
- }, _isSlot(_slot = this.c.state.panelUiItems.map((item, index) => {
99
+ "onUpdate:modelValue": ($event) => this.c.state.activeTab = $event,
100
+ "onTabChange": this.onTabChange
101
+ }, _isSlot(_slot = this.c.state.panelUiItems.map((item) => {
91
102
  return vue.createVNode(vue.resolveComponent("el-tab-pane"), {
92
103
  "key": item.id + item.srfmajortext,
93
104
  "name": item.id
@@ -97,7 +108,7 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
97
108
  "class": this.ns.b("tab-label")
98
109
  }, [vue.createVNode("span", null, [item.srfmajortext]), vue.createVNode("ion-icon", {
99
110
  "name": "close-outline",
100
- "onClick": () => this.c.handleTabDelete(item, index)
111
+ "onClick": (event) => this.handleTabDelete(item, event)
101
112
  }, null)]);
102
113
  },
103
114
  default: () => {
@@ -105,7 +116,8 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
105
116
  context: item.context,
106
117
  params: item.params,
107
118
  viewId: this.c.model.embeddedAppViewId,
108
- onDataChange: (args) => this.c.onViewDataChange(args, item.id)
119
+ onDataChange: (args) => this.c.onViewDataChange(args, item.id),
120
+ onCreated: (event) => this.c.onViewCreated(event, item.id)
109
121
  });
110
122
  }
111
123
  });
@@ -122,7 +134,8 @@ const MEditViewPanelControl = /* @__PURE__ */ vue.defineComponent({
122
134
  context: item.context,
123
135
  params: item.params,
124
136
  viewId: this.c.model.embeddedAppViewId,
125
- onDataChange: (args) => this.c.onViewDataChange(args, item.id)
137
+ onDataChange: (args) => this.c.onViewDataChange(args, item.id),
138
+ onCreated: (event) => this.c.onViewCreated(event, item.id)
126
139
  }), vue.createVNode("div", {
127
140
  "class": this.ns.b("close")
128
141
  }, [vue.createVNode("ion-icon", {
@@ -42,7 +42,7 @@ const SearchBarControl = /* @__PURE__ */ vue.defineComponent({
42
42
  setup() {
43
43
  var _a;
44
44
  const c = vue3Util.useControlController((...args) => new runtime.SearchBarController(...args));
45
- c.setStorageKeyFn(vue3Util.useLocalCacheKey(c.context, "SEARCH_BAR_SELECTED_GROUP", c.view.modal.routeDepth));
45
+ c.setStorageKeyFn(vue3Util.useLocalCacheKey(c.context, "SEARCH_BAR_SELECTED_GROUP", c.view.modal.routeDepth, "@", "".concat(c.view.model.codeName, "@").concat(c.model.codeName)));
46
46
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
47
47
  let isSearch = false;
48
48
  const onSearch = () => {
@@ -5,6 +5,7 @@ var vue3Util = require('@ibiz-template/vue3-util');
5
5
  require('./tab-exp-panel.css');
6
6
  var runtime = require('@ibiz-template/runtime');
7
7
  var vueRouter = require('vue-router');
8
+ var ramda = require('ramda');
8
9
 
9
10
  "use strict";
10
11
  function _isSlot(s) {
@@ -53,6 +54,19 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
53
54
  var _a;
54
55
  const c = vue3Util.useControlController((...args) => new runtime.TabExpPanelController(...args));
55
56
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
57
+ const counterData = vue.ref({});
58
+ const fn = (counter) => {
59
+ counterData.value = counter;
60
+ };
61
+ c.evt.on("onCreated", () => {
62
+ if (c.counter) {
63
+ c.counter.onChange(fn, true);
64
+ }
65
+ });
66
+ vue.onUnmounted(() => {
67
+ var _a2;
68
+ (_a2 = c.counter) == null ? void 0 : _a2.offChange(fn);
69
+ });
56
70
  const handleTabChange = () => {
57
71
  c.handleTabChange();
58
72
  };
@@ -86,6 +100,7 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
86
100
  c,
87
101
  ns,
88
102
  tabPosition,
103
+ counterData,
89
104
  handleTabChange
90
105
  };
91
106
  },
@@ -104,6 +119,7 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
104
119
  "tabPosition": this.tabPosition,
105
120
  "onTabChange": this.handleTabChange
106
121
  }, _isSlot(_slot = tabPages.map((tab) => {
122
+ const counterNum = tab.counterId ? this.counterData[tab.counterId] : void 0;
107
123
  return vue.createVNode(vue.resolveComponent("el-tab-pane"), {
108
124
  "class": [this.ns.e("tab-item")],
109
125
  "label": tab.caption,
@@ -114,7 +130,10 @@ const TabExpPanelControl = /* @__PURE__ */ vue.defineComponent({
114
130
  "class": [...tab.class]
115
131
  }, [this.c.isShowIcon && vue.createVNode(vue.resolveComponent("iBizIcon"), {
116
132
  "icon": tab.sysImage
117
- }, null), this.c.isShowCaption && tab.caption]);
133
+ }, null), this.c.isShowCaption && tab.caption, !ramda.isNil(counterNum) && vue.createVNode(vue.resolveComponent("iBizBadge"), {
134
+ "class": this.ns.e("counter"),
135
+ "value": counterNum
136
+ }, null)]);
118
137
  }
119
138
  });
120
139
  })) ? _slot : {