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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/index-U4v1OOOD.js +1 -0
  2. package/dist/index-lFGFvnYE.js +1 -0
  3. package/dist/index-m8q8r8br.js +4 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/map-chart-3dojS1dZ.js +1 -0
  7. package/dist/{wang-editor-z0RY8bO1.js → wang-editor-_06OYPpu.js} +1 -1
  8. package/dist/{xlsx-util-8Du1A340.js → xlsx-util-FNiwKrqm.js} +1 -1
  9. package/es/common/carousel/carousel.css +1 -1
  10. package/es/common/index.mjs +2 -0
  11. package/es/common/kanben-setting/kanben-setting.css +1 -0
  12. package/es/common/kanben-setting/kanben-setting.d.ts +42 -0
  13. package/es/common/kanben-setting/kanben-setting.mjs +65 -0
  14. package/es/common/map-chart/map-chart.mjs +6 -14
  15. package/es/control/calendar/calendar-util.d.ts +12 -0
  16. package/es/control/calendar/calendar-util.mjs +30 -1
  17. package/es/control/calendar/calendar.css +1 -1
  18. package/es/control/calendar/calendar.d.ts +2 -0
  19. package/es/control/calendar/calendar.mjs +106 -25
  20. package/es/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  21. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +2 -0
  22. package/es/control/calendar/components/calendar-daily/calendar-daily.mjs +66 -16
  23. package/es/control/calendar/components/calendar-daily/index.d.ts +2 -0
  24. package/es/control/calendar/components/calendar-daily/use-calendar-daily.d.ts +3 -1
  25. package/es/control/calendar/components/calendar-daily/use-calendar-daily.mjs +99 -44
  26. package/es/control/calendar/components/calendar-week/calendar-week.css +1 -1
  27. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +6 -0
  28. package/es/control/calendar/components/calendar-week/calendar-week.mjs +74 -38
  29. package/es/control/calendar/components/calendar-week/index.d.ts +6 -0
  30. package/es/control/calendar/components/calendar-week/use-calendar-week.d.ts +12 -1
  31. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +313 -155
  32. package/es/control/calendar/components/constant/event.d.ts +1 -0
  33. package/es/control/calendar/components/constant/event.mjs +2 -1
  34. package/es/control/calendar/components/constant/index.mjs +1 -1
  35. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  36. package/es/control/calendar/components/custom-calendar/custom-calendar.d.ts +2 -0
  37. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +8 -10
  38. package/es/control/calendar/components/custom-calendar/index.d.ts +2 -0
  39. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +4 -0
  40. package/es/control/calendar/components/interface/calendar-daily.d.ts +1 -0
  41. package/es/control/calendar/components/interface/calendar-daily.mjs +6 -1
  42. package/es/control/calendar/components/interface/calendar-week.d.ts +1 -0
  43. package/es/control/calendar/components/interface/calendar-week.mjs +2 -1
  44. package/es/control/calendar/components/interface/common.d.ts +20 -18
  45. package/es/control/calendar/components/interface/custom-calendar.d.ts +1 -0
  46. package/es/control/calendar/components/interface/custom-calendar.mjs +3 -2
  47. package/es/control/calendar/components/util/index.mjs +1 -1
  48. package/es/control/calendar/components/util/util.d.ts +20 -1
  49. package/es/control/calendar/components/util/util.mjs +10 -2
  50. package/es/control/calendar/index.d.ts +2 -0
  51. package/es/control/data-view/data-view.css +1 -1
  52. package/es/control/data-view/data-view.mjs +42 -13
  53. package/es/control/drbar/drbar.controller.mjs +2 -0
  54. package/es/control/drbar/drbar.mjs +6 -6
  55. package/es/control/drtab/drtab.controller.mjs +2 -0
  56. package/es/control/drtab/drtab.mjs +6 -6
  57. package/es/control/drtab/flow-drtab.css +1 -1
  58. package/es/control/drtab/flow-drtab.mjs +3 -1
  59. package/es/control/form/edit-form/edit-form.mjs +11 -0
  60. package/es/control/form/form-detail/form-item/form-item.mjs +11 -7
  61. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +4 -1
  62. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +1 -0
  63. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.d.ts +6 -0
  64. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.mjs +4 -0
  65. package/es/control/grid/virtualized-table/virtualized-table.css +1 -1
  66. package/es/control/grid/virtualized-table/virtualized-table.mjs +4 -3
  67. package/es/control/grid/virtualized-table/virtualized-table.util.mjs +4 -4
  68. package/es/control/kanban/kanban.css +1 -1
  69. package/es/control/kanban/kanban.mjs +22 -18
  70. package/es/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  71. package/es/control/kanban/{lane-kanban/lane-kanban.d.ts → swimlane-kanban/swimlane-kanban.d.ts} +3 -8
  72. package/es/control/kanban/{lane-kanban/lane-kanban.mjs → swimlane-kanban/swimlane-kanban.mjs} +42 -38
  73. package/es/control/list/list.css +1 -1
  74. package/es/control/list/list.mjs +14 -1
  75. package/es/control/map/map.mjs +1 -1
  76. package/es/control/medit-view-panel/index.d.ts +2 -0
  77. package/es/control/medit-view-panel/medit-view-panel.d.ts +2 -0
  78. package/es/control/medit-view-panel/medit-view-panel.mjs +19 -6
  79. package/es/control/search-bar/search-bar.mjs +1 -1
  80. package/es/editor/span/span/span.mjs +2 -1
  81. package/es/locale/en/index.d.ts +5 -0
  82. package/es/locale/en/index.mjs +6 -1
  83. package/es/locale/zh-CN/index.d.ts +5 -0
  84. package/es/locale/zh-CN/index.mjs +6 -1
  85. package/es/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.mjs +20 -5
  86. package/es/panel-component/app-extend-menu/extend-menu-base/extend-button-menu/extend-button-menu.d.ts +1950 -1
  87. package/es/panel-component/app-extend-menu/extend-menu-base/extend-menu-base.util.d.ts +53 -6
  88. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -0
  89. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.d.ts +2031 -0
  90. package/es/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.mjs +278 -0
  91. package/es/view-engine/index.mjs +4 -0
  92. package/lib/common/carousel/carousel.css +1 -1
  93. package/lib/common/index.cjs +2 -0
  94. package/lib/common/kanben-setting/kanben-setting.cjs +67 -0
  95. package/lib/common/kanben-setting/kanben-setting.css +1 -0
  96. package/lib/common/map-chart/map-chart.cjs +5 -13
  97. package/lib/control/calendar/calendar-util.cjs +30 -0
  98. package/lib/control/calendar/calendar.cjs +104 -23
  99. package/lib/control/calendar/calendar.css +1 -1
  100. package/lib/control/calendar/components/calendar-daily/calendar-daily.cjs +64 -14
  101. package/lib/control/calendar/components/calendar-daily/calendar-daily.css +1 -1
  102. package/lib/control/calendar/components/calendar-daily/use-calendar-daily.cjs +98 -43
  103. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +73 -37
  104. package/lib/control/calendar/components/calendar-week/calendar-week.css +1 -1
  105. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +311 -153
  106. package/lib/control/calendar/components/constant/event.cjs +2 -0
  107. package/lib/control/calendar/components/constant/index.cjs +1 -0
  108. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +8 -10
  109. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  110. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +4 -0
  111. package/lib/control/calendar/components/interface/calendar-daily.cjs +6 -1
  112. package/lib/control/calendar/components/interface/calendar-week.cjs +2 -1
  113. package/lib/control/calendar/components/interface/custom-calendar.cjs +2 -1
  114. package/lib/control/calendar/components/util/index.cjs +2 -0
  115. package/lib/control/calendar/components/util/util.cjs +11 -1
  116. package/lib/control/data-view/data-view.cjs +42 -13
  117. package/lib/control/data-view/data-view.css +1 -1
  118. package/lib/control/drbar/drbar.cjs +6 -6
  119. package/lib/control/drbar/drbar.controller.cjs +2 -0
  120. package/lib/control/drtab/drtab.cjs +6 -6
  121. package/lib/control/drtab/drtab.controller.cjs +2 -0
  122. package/lib/control/drtab/flow-drtab.cjs +3 -1
  123. package/lib/control/drtab/flow-drtab.css +1 -1
  124. package/lib/control/form/edit-form/edit-form.cjs +11 -0
  125. package/lib/control/form/form-detail/form-item/form-item.cjs +11 -7
  126. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +4 -1
  127. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.cjs +1 -0
  128. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.cjs +4 -0
  129. package/lib/control/grid/virtualized-table/virtualized-table.cjs +3 -2
  130. package/lib/control/grid/virtualized-table/virtualized-table.css +1 -1
  131. package/lib/control/grid/virtualized-table/virtualized-table.util.cjs +4 -4
  132. package/lib/control/kanban/kanban.cjs +21 -17
  133. package/lib/control/kanban/kanban.css +1 -1
  134. package/lib/control/kanban/{lane-kanban/lane-kanban.cjs → swimlane-kanban/swimlane-kanban.cjs} +42 -38
  135. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -0
  136. package/lib/control/list/list.cjs +14 -1
  137. package/lib/control/list/list.css +1 -1
  138. package/lib/control/map/map.cjs +1 -1
  139. package/lib/control/medit-view-panel/medit-view-panel.cjs +19 -6
  140. package/lib/control/search-bar/search-bar.cjs +1 -1
  141. package/lib/editor/span/span/span.cjs +2 -1
  142. package/lib/locale/en/index.cjs +6 -1
  143. package/lib/locale/zh-CN/index.cjs +6 -1
  144. package/lib/panel-component/app-extend-menu/extend-menu-base/common-extend-menu/common-extend-menu.cjs +20 -5
  145. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.cjs +280 -0
  146. package/lib/panel-component/app-extend-menu/extend-menu-base/extend-standard-menu/extend-standard-menu.css +1 -0
  147. package/lib/view-engine/index.cjs +4 -0
  148. package/package.json +4 -4
  149. package/dist/index-1fHusiqt.js +0 -4
  150. package/dist/index-EYFbyMUF.js +0 -1
  151. package/dist/index-kNUznzXY.js +0 -1
  152. package/dist/map-chart-HL7emT5a.js +0 -1
  153. package/es/control/kanban/lane-kanban/lane-kanban.css +0 -1
  154. package/lib/control/kanban/lane-kanban/lane-kanban.css +0 -1
@@ -1,4 +1,4 @@
1
- import { isVNode, onUnmounted, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { isVNode, onUnmounted, resolveComponent, createVNode, createTextVNode, resolveDirective, withDirectives, defineComponent } from 'vue';
2
2
  import { useControlController, useNamespace, useUIStore, hasEmptyPanelRenderer, IBizCustomRender } from '@ibiz-template/vue3-util';
3
3
  import { GridController } from '@ibiz-template/runtime';
4
4
  import { useVirtualizedTable } from './virtualized-table.util.mjs';
@@ -284,7 +284,7 @@ const VirtualizedTableControl = /* @__PURE__ */ defineComponent({
284
284
  width
285
285
  }) => {
286
286
  const columns = this.calcColumnWidth(this.columnModel, width);
287
- return createVNode(resolveComponent("el-table-v2"), {
287
+ return withDirectives(createVNode(resolveComponent("el-table-v2"), {
288
288
  "fixed": true,
289
289
  "ref": "tableRef",
290
290
  "width": width,
@@ -292,6 +292,7 @@ const VirtualizedTableControl = /* @__PURE__ */ defineComponent({
292
292
  "row-height": 54,
293
293
  "columns": columns,
294
294
  "header-height": 54,
295
+ "hScrollbarSize": 4,
295
296
  "data": this.tableData,
296
297
  "class": this.ns.e("table"),
297
298
  "row-class": this.calcRowClass,
@@ -309,7 +310,7 @@ const VirtualizedTableControl = /* @__PURE__ */ defineComponent({
309
310
  empty: this.renderNoData,
310
311
  cell: this.renderBodyCell,
311
312
  "header-cell": this.renderHeaderCell
312
- });
313
+ }), [[resolveDirective("scrollbarSize"), 4]]);
313
314
  }
314
315
  }), this.c.model.enableCustomized && !this.c.state.hideHeader && createVNode("div", {
315
316
  "class": this.ns.e("setting-box")
@@ -164,10 +164,10 @@ function useVirtualizedTable(c, props) {
164
164
  );
165
165
  if (!adaptiveColumn.length)
166
166
  adaptiveColumn = [showColumns[showColumns.length - 1]];
167
- const width = (bodyWidth - totalWidth) / adaptiveColumn.length - 6;
168
- adaptiveColumn.forEach(
169
- (column) => Object.assign(column, { width: column.width + width })
170
- );
167
+ const width = (bodyWidth - totalWidth - 6) / adaptiveColumn.length;
168
+ adaptiveColumn.forEach((column) => {
169
+ column.width += width;
170
+ });
171
171
  }
172
172
  return columns;
173
173
  }
@@ -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;display:flex;width:100%;height:100%}.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{flex:1}.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__list:hover .ibiz-control-kanban__quicktoolbar{visibility:visible}.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}.ibiz-control-kanban__quicktoolbar{margin-bottom:var(--ibiz-spacing-base);visibility:hidden;display:flex;flex-flow:column nowrap}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban-toolbar{display:flex;flex-shrink:0;gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-toolbar .el-button{border:1px solid var(--ibiz-color-border)}.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)}
@@ -2,8 +2,8 @@ import { isVNode, ref, computed, watch, onMounted, onBeforeUnmount, resolveCompo
2
2
  import { useControlController, useNamespace, hasEmptyPanelRenderer, IBizCustomRender } from '@ibiz-template/vue3-util';
3
3
  import draggable from 'vuedraggable';
4
4
  import { KanbanController, ControlVO } from '@ibiz-template/runtime';
5
- import { NOOP, listenJSEvent, showTitle } from '@ibiz-template/core';
6
- import { LaneKanban } from './lane-kanban/lane-kanban.mjs';
5
+ import { NOOP, listenJSEvent } from '@ibiz-template/core';
6
+ import { SwimlaneKanban } from './swimlane-kanban/swimlane-kanban.mjs';
7
7
  import './kanban.css';
8
8
 
9
9
  "use strict";
@@ -198,9 +198,8 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
198
198
  }, null);
199
199
  };
200
200
  const renderQuickToolBar = (group) => {
201
- if (!quickToolbarModel) {
201
+ if (!quickToolbarModel)
202
202
  return;
203
- }
204
203
  return createVNode(resolveComponent("iBizControlShell"), {
205
204
  "class": ns.e("quicktoolbar"),
206
205
  "modelData": {
@@ -212,9 +211,8 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
212
211
  }, null);
213
212
  };
214
213
  const renderBatchToolBar = (group) => {
215
- if (!batchToolbarModel) {
214
+ if (!batchToolbarModel)
216
215
  return;
217
- }
218
216
  return createVNode("div", {
219
217
  "class": ns.be("batch", "toolbar")
220
218
  }, [createVNode(resolveComponent("iBizControlShell"), {
@@ -247,9 +245,8 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
247
245
  }, null)]);
248
246
  };
249
247
  const renderBatchContainer = (group) => {
250
- if (batchKey.value !== group.key) {
248
+ if (batchKey.value !== group.key)
251
249
  return;
252
- }
253
250
  return createVNode("div", {
254
251
  "class": ns.b("batch")
255
252
  }, [renderBatchToolBar(group), renderBatchCheck(group)]);
@@ -369,7 +366,7 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
369
366
  }, {
370
367
  default: () => [createVNode("ion-icon", {
371
368
  "name": "add-outline",
372
- "title": showTitle(ibiz.i18n.t("app.newlyBuild"))
369
+ "title": ibiz.i18n.t("app.newlyBuild")
373
370
  }, null)]
374
371
  }), showActionBar && createVNode(resolveComponent("el-dropdown"), {
375
372
  "class": ns.be("group", "header-actions"),
@@ -492,22 +489,29 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
492
489
  return createVNode(resolveComponent("iBizControlBase"), {
493
490
  "ref": "kanban",
494
491
  "controller": this.c,
495
- "class": [this.ns.m((_a = this.modelData.groupLayout) == null ? void 0 : _a.toLowerCase()), this.ns.is("full", this.isFull), this.ns.is("lane", !swimlaneAppDEFieldId)]
492
+ "class": [this.ns.m((_a = this.modelData.groupLayout) == null ? void 0 : _a.toLowerCase()), this.ns.is("full", this.isFull), this.ns.is("swimlane", !!swimlaneAppDEFieldId)]
496
493
  }, {
497
- default: () => [swimlaneAppDEFieldId ? createVNode(LaneKanban, {
494
+ default: () => [swimlaneAppDEFieldId ? createVNode(SwimlaneKanban, {
498
495
  "controller": this.c
499
496
  }, null) : [createVNode("div", {
500
497
  "class": this.ns.b("group-container")
501
498
  }, [groups.length > 0 && groups.map((group) => {
499
+ if (group.hidden)
500
+ return null;
502
501
  return this.renderGroup(group);
503
502
  })]), groups.length > 0 && createVNode("div", {
504
- "class": this.ns.e("full-btn"),
505
- "onClick": this.onFullScreen
506
- }, [this.isFull ? createVNode("ion-icon", {
507
- "name": "contract-outline"
508
- }, null) : createVNode("ion-icon", {
509
- "name": "expand-outline"
510
- }, null)])]]
503
+ "class": this.ns.b("toolbar")
504
+ }, [this.c.enableGroupHidden && createVNode(resolveComponent("iBizKanbanSetting"), {
505
+ "controller": this.c
506
+ }, null), this.c.enableFullScreen && createVNode(resolveComponent("el-button"), {
507
+ "type": "info",
508
+ "onClick": this.onFullScreen,
509
+ "title": this.isFull ? ibiz.i18n.t("app.cancelFullscreen") : ibiz.i18n.t("app.fullscreen")
510
+ }, {
511
+ default: () => [createVNode("ion-icon", {
512
+ "name": this.isFull ? "contract-outline" : "expand-outline"
513
+ }, null)]
514
+ })])]]
511
515
  });
512
516
  }
513
517
  });
@@ -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;padding-right:4px;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-2);--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-2);--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%}.ibiz-swimlane-kanban__quicktoolbar{flex-flow:column nowrap;gap:var(--ibiz-spacing-tight);align-items:center;justify-content:center}
@@ -1,25 +1,20 @@
1
1
  import { PropType } from 'vue';
2
2
  import { KanbanController } from '@ibiz-template/runtime';
3
- import './lane-kanban.scss';
3
+ import './swimlane-kanban.scss';
4
4
  /**
5
5
  * 泳道看板
6
6
  */
7
- export declare const LaneKanban: import("vue").DefineComponent<{
8
- /**
9
- * @description 面板直接内容控制器
10
- */
7
+ export declare const SwimlaneKanban: import("vue").DefineComponent<{
11
8
  controller: {
12
9
  type: PropType<KanbanController>;
13
10
  required: true;
14
11
  };
15
12
  }, {
16
13
  ns: import("@ibiz-template/core").Namespace;
14
+ width: import("vue").ComputedRef<number>;
17
15
  renderHeader: () => JSX.Element;
18
16
  renderBody: () => JSX.Element;
19
17
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
- /**
21
- * @description 面板直接内容控制器
22
- */
23
18
  controller: {
24
19
  type: PropType<KanbanController>;
25
20
  required: true;
@@ -2,21 +2,18 @@ import { isVNode, ref, computed, resolveComponent, createVNode, createTextVNode,
2
2
  import { useNamespace, useUIStore } from '@ibiz-template/vue3-util';
3
3
  import draggable from 'vuedraggable';
4
4
  import { showTitle } from '@ibiz-template/core';
5
- import './lane-kanban.css';
5
+ import './swimlane-kanban.css';
6
6
 
7
7
  "use strict";
8
8
  function _isSlot(s) {
9
9
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
10
10
  }
11
- const LaneKanban = /* @__PURE__ */ defineComponent({
12
- name: "IBizLaneKanban",
11
+ const SwimlaneKanban = /* @__PURE__ */ defineComponent({
12
+ name: "IBizSwimlaneKanban",
13
13
  components: {
14
14
  draggable
15
15
  },
16
16
  props: {
17
- /**
18
- * @description 面板直接内容控制器
19
- */
20
17
  controller: {
21
18
  type: Object,
22
19
  required: true
@@ -24,36 +21,26 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
24
21
  },
25
22
  setup(props) {
26
23
  var _a, _b;
27
- const ns = useNamespace("lane-kanban");
24
+ const ns = useNamespace("swimlane-kanban");
28
25
  const c = props.controller;
29
26
  const {
30
27
  zIndex
31
28
  } = useUIStore();
32
29
  const popperStyle = {
33
- zIndex: zIndex.increment(),
34
- position: "unset"
30
+ zIndex: zIndex.increment()
35
31
  };
36
32
  const expandAll = ref(true);
37
33
  const dropdownKey = ref();
38
- const cardStyle = computed(() => {
39
- const {
40
- cardWidth,
41
- cardHeight
42
- } = c.model;
43
- const style = {};
44
- if (cardWidth)
45
- Object.assign(style, {
46
- width: "".concat(cardWidth, "px")
47
- });
48
- if (cardHeight)
49
- Object.assign(style, {
50
- height: "".concat(cardHeight, "px")
51
- });
52
- return style;
53
- });
54
34
  const disabled = computed(() => {
55
35
  return !c.state.draggable || c.draggableMode === 0 || c.state.updating || c.state.readonly;
56
36
  });
37
+ const width = computed(() => {
38
+ const {
39
+ groupWidth,
40
+ cardWidth
41
+ } = c.model;
42
+ return groupWidth || cardWidth || 320;
43
+ });
57
44
  const batchKey = computed(() => {
58
45
  return c.state.batching ? c.state.selectGroupKey : "";
59
46
  });
@@ -115,7 +102,7 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
115
102
  };
116
103
  const handleExpandAll = () => {
117
104
  expandAll.value = !expandAll.value;
118
- c.state.lanes.forEach((lane) => {
105
+ c.state.swimlanes.forEach((lane) => {
119
106
  lane.isExpand = expandAll.value;
120
107
  });
121
108
  };
@@ -152,7 +139,6 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
152
139
  }, null)]
153
140
  }), showActionBar && createVNode(resolveComponent("el-dropdown"), {
154
141
  "trigger": "click",
155
- "teleported": false,
156
142
  "style": popperStyle,
157
143
  "class": [ns.em("header", "action"), ns.is("visible", group.key === dropdownKey.value)],
158
144
  "popper-class": ns.em("header", "popper"),
@@ -169,7 +155,7 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
169
155
  }),
170
156
  dropdown: () => createVNode("div", {
171
157
  "class": ns.em("header", "toolbar")
172
- }, [createVNode(resolveComponent("iBizActionToolbar"), {
158
+ }, [c.model.groupUIActionGroup && createVNode(resolveComponent("iBizActionToolbar"), {
173
159
  "actionDetails": c.model.groupUIActionGroup.uiactionGroupDetails,
174
160
  "actionsState": group.groupActionGroupState,
175
161
  "onActionClick": (detail, event) => {
@@ -229,7 +215,17 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
229
215
  "name": expandAll.value ? "chevron-collapse-outline" : "chevron-expand-outline"
230
216
  }, null), createVNode("div", {
231
217
  "class": ns.em("cell", "caption")
232
- }, [ibiz.i18n.t("control.kanban.lane")])])])]), c.state.groups.map((group) => {
218
+ }, [ibiz.i18n.t("control.kanban.lane")])]), c.enableGroupHidden && createVNode("div", {
219
+ "class": ns.em("cell", "right")
220
+ }, [createVNode(resolveComponent("iBizKanbanSetting"), {
221
+ "buttonStyle": {
222
+ circle: true,
223
+ type: "text"
224
+ },
225
+ "controller": props.controller
226
+ }, null)])])]), c.state.groups.map((group) => {
227
+ if (group.hidden)
228
+ return void 0;
233
229
  return renderHeaderCell(group);
234
230
  })])]);
235
231
  };
@@ -269,6 +265,10 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
269
265
  }, null)]) : null]);
270
266
  };
271
267
  const renderBodyCellToolber = (lane, group) => {
268
+ const {
269
+ swimlaneAppDEFieldId
270
+ } = c.model;
271
+ const items = group.children.filter((item) => item[swimlaneAppDEFieldId] === lane.key);
272
272
  return createVNode("div", {
273
273
  "class": ns.em("cell", "toolbar")
274
274
  }, [c.enableNew && !c.state.readonly && createVNode(resolveComponent("el-button"), {
@@ -281,7 +281,7 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
281
281
  default: () => [createVNode("ion-icon", {
282
282
  "name": "add-outline"
283
283
  }, null), ibiz.i18n.t("app.newlyBuild")]
284
- }), quickToolbarModel && createVNode(resolveComponent("iBizControlShell"), {
284
+ }), quickToolbarModel && items.length === 0 && createVNode(resolveComponent("iBizControlShell"), {
285
285
  "class": ns.e("quicktoolbar"),
286
286
  "modelData": {
287
287
  ...quickToolbarModel,
@@ -317,7 +317,7 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
317
317
  }, _isSlot(_slot2 = ibiz.i18n.t("control.kanban.selectAll")) ? _slot2 : {
318
318
  default: () => [_slot2]
319
319
  }), createVNode("span", {
320
- "class": ns.be("batch", "info"),
320
+ "class": ns.em("batch", "info"),
321
321
  "innerHTML": ibiz.i18n.t("control.kanban.selectedDataCount", {
322
322
  length: selectedData.length
323
323
  })
@@ -347,7 +347,6 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
347
347
  return createVNode(resolveComponent("el-card"), {
348
348
  "shadow": "hover",
349
349
  "class": [ns.e("card"), ns.is("selected", isSelected(element)), ns.is("disabled", c.state.draggable && c.state.updating)],
350
- "body-style": cardStyle.value,
351
350
  "onClick": () => c.onRowClick(element),
352
351
  "onDblclick": () => c.onDbRowClick(element)
353
352
  }, {
@@ -363,9 +362,7 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
363
362
  const renderBody = () => {
364
363
  return createVNode("div", {
365
364
  "class": ns.e("body")
366
- }, [createVNode("div", {
367
- "class": ns.em("body", "scollor")
368
- }, [c.state.lanes.map((lane, index) => {
365
+ }, [c.state.swimlanes.map((lane, index) => {
369
366
  return createVNode("div", {
370
367
  "class": [ns.em("body", "row"), ns.is("expand", lane.isExpand)]
371
368
  }, [createVNode("div", {
@@ -387,23 +384,30 @@ const LaneKanban = /* @__PURE__ */ defineComponent({
387
384
  }, [createVNode("span", {
388
385
  "class": ns.em("cell", "description")
389
386
  }, ["".concat(lane.count, " \u4E2A").concat(c.laneDescription)])])])]), c.state.groups.map((group) => {
387
+ if (group.hidden)
388
+ return void 0;
390
389
  return renderBodyCell(index, lane, group);
391
390
  })]);
392
- })])]);
391
+ })]);
393
392
  };
394
393
  return {
395
394
  ns,
395
+ width,
396
396
  renderHeader,
397
397
  renderBody
398
398
  };
399
399
  },
400
400
  render() {
401
+ var _a;
401
402
  return createVNode("div", {
402
- "class": this.ns.b()
403
+ "class": [this.ns.b(), this.ns.e((_a = this.controller.model.groupStyle) == null ? void 0 : _a.toLowerCase())],
404
+ "style": {
405
+ "--ibiz-swimlane-kanban-width": "".concat(this.width, "px")
406
+ }
403
407
  }, [createVNode("div", {
404
408
  "class": this.ns.e("table")
405
409
  }, [this.renderHeader(), this.renderBody()])]);
406
410
  }
407
411
  });
408
412
 
409
- export { LaneKanban };
413
+ export { SwimlaneKanban };
@@ -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__quicktoolbar{display:flex;justify-content:center;width:100%}.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)}.ibiz-control-list-group-style2{--ibiz-control-list-group-style2-color:var(--ibiz-color-disabled-text)}.ibiz-control-list-group-style2__header{display:flex;align-items:center;justify-content:center;width:100%}.ibiz-control-list-group-style2__header--title{padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-list-group-style2-color)}.ibiz-control-list-group-style2__header::after,.ibiz-control-list-group-style2__header::before{display:block;flex:1;height:1px;margin-top:1px;content:"";border-top:1px var(--ibiz-color-border) solid;transform:translateY(-50%)}
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-item__right{padding:0 var(--ibiz-spacing-extra-tight)}.ibiz-control-list-item__right--actions{display:flex;justify-content:center}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item{margin:0}.ibiz-control-list-item__right--actions .ibiz-action-toolbar__item--label.is-has-caption{margin:0}.ibiz-control-list-item:has(.ibiz-control-list-item__right){display:flex;justify-content:space-between}.ibiz-control-list-item:has(.ibiz-control-list-item__right) .ibiz-control-list-item__caption{flex:1}.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__quicktoolbar{display:flex;justify-content:center;width:100%}.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)}.ibiz-control-list-group-style2{--ibiz-control-list-group-style2-color:var(--ibiz-color-disabled-text)}.ibiz-control-list-group-style2__header{display:flex;align-items:center;justify-content:center;width:100%}.ibiz-control-list-group-style2__header--title{padding:0 var(--ibiz-spacing-tight);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-control-list-group-style2-color)}.ibiz-control-list-group-style2__header::after,.ibiz-control-list-group-style2__header::before{display:block;flex:1;height:1px;margin-top:1px;content:"";border-top:1px var(--ibiz-color-border) solid;transform:translateY(-50%)}
@@ -183,13 +183,26 @@ const ListControl = /* @__PURE__ */ defineComponent({
183
183
  "onDblclick": () => c.onDbRowClick(item)
184
184
  }, null);
185
185
  };
186
+ const renderItemAction = (item) => {
187
+ return createVNode(resolveComponent("iBizActionToolbar"), {
188
+ "class": ns.bem("item", "right", "actions"),
189
+ "action-details": c.getOptItemModel(),
190
+ "actions-state": c.state.uaState[item.srfkey],
191
+ "onActionClick": (detail, event) => c.onActionClick(detail, item, event)
192
+ }, null);
193
+ };
186
194
  const renderDefaultItem = (item) => {
195
+ const actionModel = c.getOptItemModel();
187
196
  return createVNode("div", {
188
197
  "key": item.srfkey,
189
198
  "class": ns.b("item"),
190
199
  "onClick": () => c.onRowClick(item),
191
200
  "onDblclick": () => c.onDbRowClick(item)
192
- }, ["".concat(isNil(item.srfmajortext) ? "" : item.srfmajortext)]);
201
+ }, [createVNode("span", {
202
+ "class": ns.be("item", "caption")
203
+ }, ["".concat(isNil(item.srfmajortext) ? "" : item.srfmajortext)]), actionModel.length ? createVNode("div", {
204
+ "class": ns.be("item", "right")
205
+ }, [renderItemAction(item)]) : null]);
193
206
  };
194
207
  const renderGroupAction = (group) => {
195
208
  if (c.model.groupUIActionGroup && group.groupActionGroupState) {
@@ -82,7 +82,7 @@ const MapControl = /* @__PURE__ */ defineComponent({
82
82
  const {
83
83
  state
84
84
  } = this.c;
85
- if (!state.isCreated)
85
+ if (!state.isCreated || !state.isLoaded)
86
86
  return;
87
87
  return createVNode(resolveComponent("iBizControlNavigation"), {
88
88
  "controller": this.c
@@ -16,6 +16,8 @@ export declare const IBizMEditViewPanelControl: import("@ibiz-template/vue3-util
16
16
  ns: import("@ibiz-template/core").Namespace;
17
17
  panelContent: import("vue").Ref<Element | null>;
18
18
  handleDelete: (item: import("@ibiz-template/runtime").IPanelUiItem) => void;
19
+ onTabChange: (name: string) => void;
20
+ handleTabDelete: (item: import("@ibiz-template/runtime").IPanelUiItem, event: MouseEvent) => void;
19
21
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
20
22
  modelData: {
21
23
  type: import("vue").PropType<import("@ibiz/model-core").IDEMultiEditViewPanel>;
@@ -30,6 +30,8 @@ export declare const MEditViewPanelControl: import("vue").DefineComponent<{
30
30
  ns: import("@ibiz-template/core").Namespace;
31
31
  panelContent: Ref<Element | null>;
32
32
  handleDelete: (item: IPanelUiItem) => void;
33
+ onTabChange: (name: string) => void;
34
+ handleTabDelete: (item: IPanelUiItem, event: MouseEvent) => void;
33
35
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
34
36
  /**
35
37
  * @description 多编辑视图面板模型数据
@@ -42,6 +42,14 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
42
42
  const handleDelete = (item) => {
43
43
  c.handleDelete(item);
44
44
  };
45
+ const onTabChange = (name) => {
46
+ c.state.activeTab = name;
47
+ c.onTabChange(name);
48
+ };
49
+ const handleTabDelete = (item, event) => {
50
+ event.stopPropagation();
51
+ c.handleDelete(item);
52
+ };
45
53
  onMounted(() => {
46
54
  if (panelContent.value) {
47
55
  mutationObserver = new MutationObserver(() => {
@@ -74,7 +82,9 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
74
82
  c,
75
83
  ns,
76
84
  panelContent,
77
- handleDelete
85
+ handleDelete,
86
+ onTabChange,
87
+ handleTabDelete
78
88
  };
79
89
  },
80
90
  render() {
@@ -84,8 +94,9 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
84
94
  return createVNode(resolveComponent("el-tabs"), {
85
95
  "class": this.ns.b("tabs"),
86
96
  "modelValue": this.c.state.activeTab,
87
- "onUpdate:modelValue": ($event) => this.c.state.activeTab = $event
88
- }, _isSlot(_slot = this.c.state.panelUiItems.map((item, index) => {
97
+ "onUpdate:modelValue": ($event) => this.c.state.activeTab = $event,
98
+ "onTabChange": this.onTabChange
99
+ }, _isSlot(_slot = this.c.state.panelUiItems.map((item) => {
89
100
  return createVNode(resolveComponent("el-tab-pane"), {
90
101
  "key": item.id + item.srfmajortext,
91
102
  "name": item.id
@@ -95,7 +106,7 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
95
106
  "class": this.ns.b("tab-label")
96
107
  }, [createVNode("span", null, [item.srfmajortext]), createVNode("ion-icon", {
97
108
  "name": "close-outline",
98
- "onClick": () => this.c.handleTabDelete(item, index)
109
+ "onClick": (event) => this.handleTabDelete(item, event)
99
110
  }, null)]);
100
111
  },
101
112
  default: () => {
@@ -103,7 +114,8 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
103
114
  context: item.context,
104
115
  params: item.params,
105
116
  viewId: this.c.model.embeddedAppViewId,
106
- onDataChange: (args) => this.c.onViewDataChange(args, item.id)
117
+ onDataChange: (args) => this.c.onViewDataChange(args, item.id),
118
+ onCreated: (event) => this.c.onViewCreated(event, item.id)
107
119
  });
108
120
  }
109
121
  });
@@ -120,7 +132,8 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
120
132
  context: item.context,
121
133
  params: item.params,
122
134
  viewId: this.c.model.embeddedAppViewId,
123
- onDataChange: (args) => this.c.onViewDataChange(args, item.id)
135
+ onDataChange: (args) => this.c.onViewDataChange(args, item.id),
136
+ onCreated: (event) => this.c.onViewCreated(event, item.id)
124
137
  }), createVNode("div", {
125
138
  "class": this.ns.b("close")
126
139
  }, [createVNode("ion-icon", {
@@ -40,7 +40,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
40
40
  setup() {
41
41
  var _a;
42
42
  const c = useControlController((...args) => new SearchBarController(...args));
43
- c.setStorageKeyFn(useLocalCacheKey(c.context, "SEARCH_BAR_SELECTED_GROUP", c.view.modal.routeDepth));
43
+ c.setStorageKeyFn(useLocalCacheKey(c.context, "SEARCH_BAR_SELECTED_GROUP", c.view.modal.routeDepth, "@", "".concat(c.view.model.codeName, "@").concat(c.model.codeName)));
44
44
  const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
45
45
  let isSearch = false;
46
46
  const onSearch = () => {
@@ -151,7 +151,8 @@ const IBizSpan = /* @__PURE__ */ defineComponent({
151
151
  "class": this.ns.e("code-list"),
152
152
  "codeListItems": this.items,
153
153
  "codeList": this.c.codeList,
154
- "value": this.text
154
+ "value": this.text,
155
+ "convertToCodeItemText": this.c.convertToCodeItemText
155
156
  }, null);
156
157
  }
157
158
  } else if (this.text) {
@@ -770,6 +770,8 @@ declare const _default: {
770
770
  pleaseEnterAccount: string;
771
771
  pleaseEnterPassword: string;
772
772
  aiError: string;
773
+ fullscreen: string;
774
+ cancelFullscreen: string;
773
775
  };
774
776
  view: {
775
777
  common: {
@@ -1284,6 +1286,9 @@ declare const _default: {
1284
1286
  gridSetting: {
1285
1287
  hideControl: string;
1286
1288
  };
1289
+ kanbanSetting: {
1290
+ hideGroup: string;
1291
+ };
1287
1292
  ganttSetting: {
1288
1293
  resultDefault: string;
1289
1294
  headerCaption: string;
@@ -31,7 +31,9 @@ var index = {
31
31
  retract: "Retract",
32
32
  pleaseEnterAccount: "Please enter account number",
33
33
  pleaseEnterPassword: "Please enter password",
34
- aiError: "System encountered an exception, please try again later"
34
+ aiError: "System encountered an exception, please try again later",
35
+ fullscreen: "Fullscreen",
36
+ cancelFullscreen: "Cancel fullscreen"
35
37
  },
36
38
  // 视图
37
39
  view: {
@@ -549,6 +551,9 @@ var index = {
549
551
  gridSetting: {
550
552
  hideControl: "Column selection"
551
553
  },
554
+ kanbanSetting: {
555
+ hideGroup: "Group selection"
556
+ },
552
557
  ganttSetting: {
553
558
  resultDefault: "Restore defaults",
554
559
  headerCaption: "Header display attributes",
@@ -769,6 +769,8 @@ declare const _default: {
769
769
  pleaseEnterAccount: string;
770
770
  pleaseEnterPassword: string;
771
771
  aiError: string;
772
+ fullscreen: string;
773
+ cancelFullscreen: string;
772
774
  };
773
775
  view: {
774
776
  common: {
@@ -1279,6 +1281,9 @@ declare const _default: {
1279
1281
  gridSetting: {
1280
1282
  hideControl: string;
1281
1283
  };
1284
+ kanbanSetting: {
1285
+ hideGroup: string;
1286
+ };
1282
1287
  ganttSetting: {
1283
1288
  resultDefault: string;
1284
1289
  headerCaption: string;