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

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 (117) hide show
  1. package/dist/{index-U4v1OOOD.js → index-AOFxMmyX.js} +1 -1
  2. package/dist/{index-lFGFvnYE.js → index-swminiXb.js} +1 -1
  3. package/dist/index-t1aZ8OJE.js +11 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{wang-editor-_06OYPpu.js → wang-editor-Y8puaTx2.js} +1 -1
  7. package/dist/{xlsx-util-FNiwKrqm.js → xlsx-util-jYyM8alm.js} +1 -1
  8. package/es/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  9. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +25 -8
  10. package/es/control/calendar/components/custom-calendar/use-custom-calendar.d.ts +8 -0
  11. package/es/control/calendar/components/custom-calendar/use-custom-calendar.mjs +20 -1
  12. package/es/control/data-view/data-view.css +1 -1
  13. package/es/control/data-view/data-view.mjs +95 -29
  14. package/es/control/drbar/drbar.css +1 -1
  15. package/es/control/drtab/drtab-control.util.mjs +1 -1
  16. package/es/control/drtab/drtab.controller.d.ts +24 -0
  17. package/es/control/drtab/drtab.controller.mjs +34 -0
  18. package/es/control/drtab/drtab.css +1 -1
  19. package/es/control/drtab/drtab.d.ts +2 -0
  20. package/es/control/drtab/drtab.mjs +5 -2
  21. package/es/control/drtab/flow-drtab.css +1 -1
  22. package/es/control/drtab/flow-drtab.d.ts +17 -2
  23. package/es/control/drtab/flow-drtab.mjs +189 -11
  24. package/es/control/drtab/index.d.ts +2 -0
  25. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.css +1 -1
  26. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +55 -4
  27. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  28. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +11 -11
  29. package/es/control/gantt/gantt.mjs +1 -0
  30. package/es/control/grid/grid/grid-control.util.mjs +36 -14
  31. package/es/control/grid/grid/grid.css +1 -1
  32. package/es/control/grid/grid/grid.mjs +8 -3
  33. package/es/control/kanban/index.d.ts +4 -1
  34. package/es/control/kanban/kanban.css +1 -1
  35. package/es/control/kanban/kanban.d.ts +4 -1
  36. package/es/control/kanban/kanban.mjs +51 -15
  37. package/es/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -1
  38. package/es/control/kanban/swimlane-kanban/swimlane-kanban.d.ts +2 -1
  39. package/es/control/kanban/swimlane-kanban/swimlane-kanban.mjs +52 -6
  40. package/es/control/list/list.css +1 -1
  41. package/es/control/list/list.d.ts +1 -1
  42. package/es/control/list/list.mjs +83 -11
  43. package/es/control/medit-view-panel/medit-view-panel.css +1 -1
  44. package/es/control/medit-view-panel/medit-view-panel.mjs +37 -30
  45. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +1 -1
  46. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +47 -8
  47. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -0
  48. package/es/editor/upload/ibiz-image-cropping/ibiz-image-cropping.d.ts +1 -0
  49. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -0
  50. package/es/editor/upload/upload-editor.controller.d.ts +25 -0
  51. package/es/editor/upload/upload-editor.controller.mjs +43 -1
  52. package/es/editor/upload/use/use-iview-upload.mjs +9 -2
  53. package/es/locale/en/index.d.ts +9 -5
  54. package/es/locale/en/index.mjs +5 -2
  55. package/es/locale/zh-CN/index.d.ts +9 -5
  56. package/es/locale/zh-CN/index.mjs +5 -2
  57. package/es/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.mjs +3377 -0
  58. package/es/panel-component/panel-button/panel-button.mjs +1 -0
  59. package/es/util/fullscreen/fullscreen-util.mjs +1 -1
  60. package/es/view-engine/calendar-view.engine.d.ts +11 -1
  61. package/es/view-engine/calendar-view.engine.mjs +10 -0
  62. package/es/view-engine/chart-exp-view.engine.d.ts +6 -6
  63. package/es/view-engine/chart-exp-view.engine.mjs +6 -15
  64. package/es/view-engine/gantt-view.engine.d.ts +3 -3
  65. package/es/view-engine/gantt-view.engine.mjs +3 -46
  66. package/es/view-engine/login-view.engine.mjs +7 -0
  67. package/es/view-engine/tab-exp-view.engine.mjs +1 -1
  68. package/es/view-engine/tab-search-view.engine.mjs +4 -2
  69. package/es/view-engine/tree-view.engine.d.ts +12 -2
  70. package/es/view-engine/tree-view.engine.mjs +39 -11
  71. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +23 -6
  72. package/lib/control/calendar/components/custom-calendar/custom-calendar.css +1 -1
  73. package/lib/control/calendar/components/custom-calendar/use-custom-calendar.cjs +20 -0
  74. package/lib/control/data-view/data-view.cjs +95 -29
  75. package/lib/control/data-view/data-view.css +1 -1
  76. package/lib/control/drbar/drbar.css +1 -1
  77. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  78. package/lib/control/drtab/drtab.cjs +5 -2
  79. package/lib/control/drtab/drtab.controller.cjs +34 -0
  80. package/lib/control/drtab/drtab.css +1 -1
  81. package/lib/control/drtab/flow-drtab.cjs +188 -10
  82. package/lib/control/drtab/flow-drtab.css +1 -1
  83. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +54 -3
  84. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.css +1 -1
  85. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +11 -11
  86. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  87. package/lib/control/gantt/gantt.cjs +1 -0
  88. package/lib/control/grid/grid/grid-control.util.cjs +36 -14
  89. package/lib/control/grid/grid/grid.cjs +8 -3
  90. package/lib/control/grid/grid/grid.css +1 -1
  91. package/lib/control/kanban/kanban.cjs +50 -14
  92. package/lib/control/kanban/kanban.css +1 -1
  93. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.cjs +50 -4
  94. package/lib/control/kanban/swimlane-kanban/swimlane-kanban.css +1 -1
  95. package/lib/control/list/list.cjs +83 -11
  96. package/lib/control/list/list.css +1 -1
  97. package/lib/control/medit-view-panel/medit-view-panel.cjs +36 -29
  98. package/lib/control/medit-view-panel/medit-view-panel.css +1 -1
  99. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +47 -8
  100. package/lib/editor/upload/upload-editor.controller.cjs +43 -1
  101. package/lib/editor/upload/use/use-iview-upload.cjs +9 -2
  102. package/lib/locale/en/index.cjs +5 -2
  103. package/lib/locale/zh-CN/index.cjs +5 -2
  104. package/lib/node_modules/.pnpm/sortablejs@1.15.6/node_modules/sortablejs/modular/sortable.esm.cjs +3384 -0
  105. package/lib/panel-component/panel-button/panel-button.cjs +1 -0
  106. package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
  107. package/lib/view-engine/calendar-view.engine.cjs +10 -0
  108. package/lib/view-engine/chart-exp-view.engine.cjs +6 -15
  109. package/lib/view-engine/gantt-view.engine.cjs +2 -45
  110. package/lib/view-engine/login-view.engine.cjs +7 -0
  111. package/lib/view-engine/tab-exp-view.engine.cjs +1 -1
  112. package/lib/view-engine/tab-search-view.engine.cjs +4 -2
  113. package/lib/view-engine/tree-view.engine.cjs +39 -11
  114. package/package.json +9 -7
  115. package/dist/index-m8q8r8br.js +0 -4
  116. /package/es/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 → @ibiz-template_core@0.7.41-alpha.17_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
  117. /package/lib/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 → @ibiz-template_core@0.7.41-alpha.17_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
@@ -209,7 +209,7 @@ function useITableEvent(c) {
209
209
  }
210
210
  async function onRowClickDynamic(data, _column, event) {
211
211
  if (data.srfuf === runtime.Srfuf.CREATE) {
212
- if (c.editShowMode === "row") {
212
+ if (c.editShowMode === "row" && !data.isGroupRow) {
213
213
  const row = c.findRowState(data);
214
214
  if (row)
215
215
  await c.switchRowEdit(row);
@@ -231,6 +231,11 @@ function useITableEvent(c) {
231
231
  }
232
232
  let forbidClick = false;
233
233
  async function onRowClick(data, _column, event) {
234
+ var _a;
235
+ if (data.isGroupRow) {
236
+ (_a = tableRef.value) == null ? void 0 : _a.store.loadOrToggle(data);
237
+ return;
238
+ }
234
239
  if (!event.shiftKey) {
235
240
  const index = c.findRowStateIndex(data);
236
241
  const isSelected = c.state.selectedData.includes(data);
@@ -266,9 +271,8 @@ function useITableEvent(c) {
266
271
  }, 200);
267
272
  }
268
273
  function onDbRowClick(data) {
269
- if (data.srfuf === runtime.Srfuf.CREATE) {
274
+ if (data.srfuf === runtime.Srfuf.CREATE || data.isGroupRow)
270
275
  return;
271
- }
272
276
  c.onDbRowClick(data);
273
277
  }
274
278
  function onSelectionChange(selection) {
@@ -491,21 +495,29 @@ function useAppGridBase(c, props, tableRef) {
491
495
  const tableData = vue.computed(() => {
492
496
  const state = c.state;
493
497
  if (c.state.enableGroup) {
498
+ const grouprowmode = c.controlParams.grouprowmode;
494
499
  const result = [];
495
500
  state.groups.forEach((item) => {
496
- if (!item.children.length) {
501
+ if (!item.children.length)
497
502
  return;
503
+ if (grouprowmode === "NEWROW") {
504
+ result.push({
505
+ ...item,
506
+ tempsrfkey: item.key,
507
+ isGroupRow: true
508
+ });
509
+ } else {
510
+ const children = [...item.children];
511
+ const first = children.shift();
512
+ result.push({
513
+ tempsrfkey: (first == null ? void 0 : first.tempsrfkey) || item.caption,
514
+ srfkey: (first == null ? void 0 : first.srfkey) || item.caption,
515
+ isGroupData: true,
516
+ caption: item.caption,
517
+ first,
518
+ children
519
+ });
498
520
  }
499
- const children = [...item.children];
500
- const first = children.shift();
501
- result.push({
502
- tempsrfkey: (first == null ? void 0 : first.tempsrfkey) || item.caption,
503
- srfkey: (first == null ? void 0 : first.srfkey) || item.caption,
504
- isGroupData: true,
505
- caption: item.caption,
506
- first,
507
- children
508
- });
509
521
  });
510
522
  return result;
511
523
  }
@@ -662,6 +674,16 @@ function useAppGridBase(c, props, tableRef) {
662
674
  colspan
663
675
  };
664
676
  }
677
+ if (row.isGroupRow) {
678
+ const total = c.state.singleSelect ? renderColumns.value.length : renderColumns.value.length + 1;
679
+ const index = c.state.singleSelect ? 0 : 1;
680
+ if (columnIndex === index)
681
+ return { rowspan: 1, colspan: total };
682
+ return {
683
+ rowspan: 0,
684
+ colspan: 0
685
+ };
686
+ }
665
687
  };
666
688
  const headerDragend = (newWidth, oldWidth, column) => {
667
689
  const { property } = column;
@@ -179,9 +179,14 @@ function renderColumn(c, model, renderColumns, index) {
179
179
  row
180
180
  }) => {
181
181
  let elRow = row;
182
- if (row.isGroupData) {
182
+ if (elRow.isGroupRow)
183
+ return vue.createVNode("div", {
184
+ "class": "ibiz-grid-field-column"
185
+ }, [vue.createVNode("span", {
186
+ "class": "ibiz-grid-field-column__text"
187
+ }, [row.caption])]);
188
+ if (row.isGroupData)
183
189
  elRow = row.first;
184
- }
185
190
  const rowState = c.findRowState(elRow);
186
191
  if (rowState) {
187
192
  if (model.columnType === "DEFGRIDCOLUMN" || model.columnType === "DEFTREEGRIDCOLUMN") {
@@ -562,7 +567,7 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
562
567
  "controller": this.c
563
568
  }, {
564
569
  default: () => [vue.createVNode(vue.resolveComponent("iBizControlBase"), {
565
- "class": [this.ns.b(), this.ns.is("dynamic-grid", this.c.state.isAutoGrid), this.ns.is("show-header", !this.c.state.hideHeader), this.ns.is("enable-page", this.c.state.enablePagingBar), this.ns.is("enable-group", this.c.state.enableGroup), this.ns.is("single-select", state.singleSelect), this.ns.is("empty", state.items.length === 0), this.ns.is("enable-customized", this.c.model.enableCustomized)],
570
+ "class": [this.ns.b(), this.ns.is("dynamic-grid", this.c.state.isAutoGrid), this.ns.is("show-header", !this.c.state.hideHeader), this.ns.is("enable-page", this.c.state.enablePagingBar), this.ns.is("enable-group", this.c.state.enableGroup), this.ns.is("single-select", state.singleSelect), this.ns.is("empty", state.items.length === 0), this.ns.is("enable-customized", this.c.model.enableCustomized), this.ns.is("group-row-mode", this.c.controlParams.grouprowmode === "NEWROW")],
566
571
  "controller": this.c,
567
572
  "style": this.headerCssVars
568
573
  }, {
@@ -1 +1 @@
1
- .ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:var(--ibiz-spacing-none);--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-row-hover-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-grid-row-select-color:var(--ibiz-color-primary-light-default);--ibiz-control-grid-row-expand-icon-margin:var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-tight);--ibiz-control-grid-now-header-height:auto;--ibiz-control-grid-scrollbar-width:4px;--ibiz-control-grid-scrollbar-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-scrollbar-bg-hover-opacity:0.5;--ibiz-control-grid-scrollbar-bg-hover-color:var(--ibiz-color-fill-2);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-min-height:54px;--ibiz-control-grid-header-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-current-row-bg-color:var(--ibiz-control-grid-row-select-color);--el-table-border-color:transparent}.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column::before,.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column::before,.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column::before,.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column::before{bottom:0}.ibiz-control-grid.is-empty .el-scrollbar .el-scrollbar__view{height:100%}.ibiz-control-grid.is-empty .el-table__empty-text{display:inline-block;height:100%}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid.is-dynamic-grid .el-table__empty-block{height:calc(100% - 48px)!important;min-height:248px}.ibiz-control-grid__add{width:calc(100% - var(--ibiz-spacing-extra-tight));margin:var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary);background-color:transparent;border:1px dashed var(--ibiz-color-border)}.ibiz-control-grid__add ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-grid__add:focus{color:var(--ibiz-color-primary-hover);background-color:transparent;border:1px dashed var(--ibiz-color-primary-hover)}.ibiz-control-grid__add:hover{color:var(--ibiz-color-primary-hover);background-color:transparent;border:1px dashed var(--ibiz-color-primary-hover)}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{justify-content:center}.ibiz-control-grid__table .caret-wrapper>*+*{margin-top:var(--ibiz-spacing-super-tight)}.ibiz-control-grid__table .sort-caret{--el-text-color-placeholder:--ibiz-control-grid-header-text-color;position:initial;opacity:.6}.ibiz-control-grid__table.el-table .el-table__cell{padding:var(--ibiz-spacing-none)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--ibiz-control-grid-row-hover-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td.uagridcolumn{background-color:var(--ibiz-control-grid-row-hover-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td:not(.uagridcolumn){background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td .el-date-editor,.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td .el-input__wrapper,.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td .el-textarea__inner{--el-input-bg-color:var(--ibiz-color-white)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);min-height:var(--ibiz-control-grid-header-min-height);padding:var(--ibiz-control-grid-header-cell-padding);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-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__header-wrapper .el-table-fixed-column--left .cell,.ibiz-control-grid__table .el-table__header-wrapper .el-table-fixed-column--right .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{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-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:var(--ibiz-spacing-none)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:var(--ibiz-control-grid-row-expand-icon-margin)}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:var(--ibiz-spacing-none)}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid__table .enable-order{position:relative;padding-left:var(--ibiz-spacing-base-tight);transition:transform .25s cubic-bezier(0,0,.2,1)}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon{padding:var(--ibiz-spacing-none)!important}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon .cell{display:none}.ibiz-control-grid__table .enable-order:hover .ibiz-control-grid__drag-icon .cell{display:flex}.ibiz-control-grid__table .el-scrollbar__bar.is-horizontal{height:var(--ibiz-control-grid-scrollbar-width)}.ibiz-control-grid__table .el-scrollbar__bar.is-vertical{width:var(--ibiz-control-grid-scrollbar-width)}.ibiz-control-grid__table .el-scrollbar__thumb{background-color:var(--ibiz-control-grid-scrollbar-bg-color)}.ibiz-control-grid__table .el-scrollbar__thumb:hover{background-color:var(--ibiz-control-grid-scrollbar-bg-hover-color);opacity:var(--ibiz-control-grid-scrollbar-bg-hover-opacity)}.ibiz-control-grid__load-more-button{padding:var(--ibiz-control-grid-header-cell-padding);text-align:center}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid.is-single-select .el-table__header-wrapper .el-table__header thead>tr th:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-single-select .el-table__body-wrapper .el-table__body tbody>tr td:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-enable-customized .el-table__header-wrapper .el-table__header thead>tr:first-child th:last-child{padding-right:var(--ibiz-spacing-base-loose)}.ibiz-control-grid.is-enable-customized .ibiz-control-grid-setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:10;height:var(--ibiz-control-grid-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-grid-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-text{flex:none}
1
+ .ibiz-control-grid{--ibiz-control-grid-text-color:var(--ibiz-color-text-0);--ibiz-control-grid-bg-color:transparent;--ibiz-control-grid-padding:var(--ibiz-spacing-none);--ibiz-control-grid-cell-padding:var(--ibiz-spacing-tight);--ibiz-control-grid-selection-padding:var(--ibiz-spacing-base-loose);--ibiz-control-grid-row-edit-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-row-bg-color:var(--ibiz-color-bg-1);--ibiz-control-grid-row-bg-color-2:var(--ibiz-color-bg-0);--ibiz-control-grid-row-hover-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-grid-row-select-color:var(--ibiz-color-primary-light-default);--ibiz-control-grid-row-expand-icon-margin:var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-none) var(--ibiz-spacing-tight);--ibiz-control-grid-now-header-height:auto;--ibiz-control-grid-scrollbar-width:4px;--ibiz-control-grid-scrollbar-bg-color:var(--ibiz-color-fill-2);--ibiz-control-grid-scrollbar-bg-hover-opacity:0.5;--ibiz-control-grid-scrollbar-bg-hover-color:var(--ibiz-color-fill-2);--ibiz-control-grid-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-tight);--ibiz-control-grid-header-height:auto;--ibiz-control-grid-header-min-height:54px;--ibiz-control-grid-header-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-grid-header-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-header-font-weight:var(--ibiz-font-weight-regular);--ibiz-control-grid-content-text-color:var(--ibiz-control-grid-text-color);--ibiz-control-grid-content-row-height:48px;--ibiz-control-grid-page-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-page-height:50px;--ibiz-control-grid-page-padding:var(--ibiz-spacing-none) var(--ibiz-spacing-base-tight);--ibiz-control-grid-footer-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-footer-bg-color:rgba(var(--ibiz-grey-1), 1);--ibiz-control-grid-footer-font-size:var(--ibiz-font-size-regular);--ibiz-control-grid-footer-font-weight:var(--ibiz-font-weight-bold);position:relative;width:100%;height:100%;padding:var(--ibiz-control-grid-padding);background-color:var(--ibiz-control-grid-bg-color)}.ibiz-control-grid .el-table{--el-table-header-bg-color:var(--ibiz-control-grid-header-bg-color);--el-table-current-row-bg-color:var(--ibiz-control-grid-row-select-color);--el-table-border-color:transparent}.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column::before,.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column::before,.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column::before,.ibiz-control-grid .el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column::before{bottom:0}.ibiz-control-grid.is-empty .el-scrollbar .el-scrollbar__view{height:100%}.ibiz-control-grid.is-empty .el-table__empty-text{display:inline-block;height:100%}.ibiz-control-grid .el-table--border .el-table__cell{border-right:none}.ibiz-control-grid .el-table-fixed-column--left,.ibiz-control-grid .el-table-fixed-column--right{--el-bg-color:transparent}.ibiz-control-grid .el-table thead.is-group th.el-table__cell{background:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid.is-enable-page .ibiz-control-grid__table{height:calc(100% - var(--ibiz-control-grid-page-height))}.ibiz-control-grid.is-enable-group .el-table__indent{display:none}.ibiz-control-grid.is-dynamic-grid .el-table__empty-block{height:calc(100% - 48px)!important;min-height:248px}.ibiz-control-grid.is-group-row-mode .el-table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:0 0 0 20px}.ibiz-control-grid__add{width:calc(100% - var(--ibiz-spacing-extra-tight));margin:var(--ibiz-spacing-tight) var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary);background-color:transparent;border:1px dashed var(--ibiz-color-border)}.ibiz-control-grid__add ion-icon{margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-grid__add:focus{color:var(--ibiz-color-primary-hover);background-color:transparent;border:1px dashed var(--ibiz-color-primary-hover)}.ibiz-control-grid__add:hover{color:var(--ibiz-color-primary-hover);background-color:transparent;border:1px dashed var(--ibiz-color-primary-hover)}.ibiz-control-grid__table{width:100%;height:100%}.ibiz-control-grid__table .caret-wrapper{justify-content:center}.ibiz-control-grid__table .caret-wrapper>*+*{margin-top:var(--ibiz-spacing-super-tight)}.ibiz-control-grid__table .sort-caret{--el-text-color-placeholder:--ibiz-control-grid-header-text-color;position:initial;opacity:.6}.ibiz-control-grid__table.el-table .el-table__cell{padding:var(--ibiz-spacing-none)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr td{background:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:nth-child(2n) td{background-color:var(--ibiz-control-grid-row-bg-color-2)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr:hover td{background-color:var(--ibiz-control-grid-row-hover-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.current-row td{background-color:var(--el-table-current-row-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td.uagridcolumn{background-color:var(--ibiz-control-grid-row-hover-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td:not(.uagridcolumn){background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td .el-date-editor,.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td .el-input__wrapper,.ibiz-control-grid__table.el-table .el-table__body-wrapper tr.editing-row td .el-textarea__inner{--el-input-bg-color:var(--ibiz-color-white)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-height);min-height:var(--ibiz-control-grid-header-min-height);padding:var(--ibiz-control-grid-header-cell-padding);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-grid__table .el-table__header-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__header-wrapper .el-table__cell .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__header-wrapper .el-table-fixed-column--left .cell,.ibiz-control-grid__table .el-table__header-wrapper .el-table-fixed-column--right .cell{display:flex;align-items:center;justify-content:var(--ibiz-grid-column-justify-content)}.ibiz-control-grid__table .el-table__body-wrapper{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-grid__table .el-table__body-wrapper .el-table__row{height:var(--ibiz-control-grid-content-row-height);cursor:pointer}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:0;padding:var(--ibiz-spacing-none)}.ibiz-control-grid__table .el-table__body-wrapper .el-table__row .el-table__expand-icon{margin:var(--ibiz-control-grid-row-expand-icon-margin)}@-moz-document url-prefix(){.ibiz-control-grid__table .el-table__body-wrapper .el-table__row>td{height:100%}}.ibiz-control-grid__table .el-table__body-wrapper .cell{display:flex;align-items:center;height:100%;padding:var(--ibiz-spacing-none)}.ibiz-control-grid__table .el-table__body-wrapper .el-table-column--selection .cell{padding:var(--ibiz-control-grid-selection-padding)}.ibiz-control-grid__table .el-table__cell.is-center{--ibiz-grid-column-text-align:center;--ibiz-grid-column-justify-content:center}.ibiz-control-grid__table .el-table__cell.is-left{--ibiz-grid-column-text-align:left;--ibiz-grid-column-justify-content:flex-start}.ibiz-control-grid__table .el-table__cell.is-right{--ibiz-grid-column-text-align:right;--ibiz-grid-column-justify-content:flex-end}.ibiz-control-grid__table .el-scrollbar__wrap{position:relative}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell{font-size:var(--ibiz-control-grid-footer-font-size);font-weight:var(--ibiz-control-grid-footer-font-weight);color:var(--ibiz-control-grid-footer-text-color);background-color:var(--ibiz-control-grid-footer-bg-color)}.ibiz-control-grid__table .el-table__footer-wrapper tfoot td.el-table__cell:first-child>div{display:inline;vertical-align:4px}.ibiz-control-grid__table .enable-order{position:relative;padding-left:var(--ibiz-spacing-base-tight);transition:transform .25s cubic-bezier(0,0,.2,1)}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon{padding:var(--ibiz-spacing-none)!important}.ibiz-control-grid__table .enable-order .ibiz-control-grid__drag-icon .cell{display:none}.ibiz-control-grid__table .enable-order:hover .ibiz-control-grid__drag-icon .cell{display:flex}.ibiz-control-grid__table .el-scrollbar__bar.is-horizontal{height:var(--ibiz-control-grid-scrollbar-width)}.ibiz-control-grid__table .el-scrollbar__bar.is-vertical{width:var(--ibiz-control-grid-scrollbar-width)}.ibiz-control-grid__table .el-scrollbar__thumb{background-color:var(--ibiz-control-grid-scrollbar-bg-color)}.ibiz-control-grid__table .el-scrollbar__thumb:hover{background-color:var(--ibiz-control-grid-scrollbar-bg-hover-color);opacity:var(--ibiz-control-grid-scrollbar-bg-hover-opacity)}.ibiz-control-grid__load-more-button{padding:var(--ibiz-control-grid-header-cell-padding);text-align:center}.ibiz-control-grid .el-table td.el-table__cell,.ibiz-control-grid .el-table th.el-table__cell.is-leaf{border-bottom:none}.ibiz-control-grid .ibiz-pagination{--ibiz-pagination-height:var(--ibiz-control-grid-page-height);--ibiz-pagination-text-color:var(--ibiz-control-grid-text-color);--ibiz-pagination-padding:var(--ibiz-control-grid-page-padding)}.ibiz-control-grid.is-single-select .el-table__header-wrapper .el-table__header thead>tr th:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-single-select .el-table__body-wrapper .el-table__body tbody>tr td:nth-child(1){padding-left:var(--ibiz-spacing-tight)}.ibiz-control-grid.is-enable-customized .el-table__header-wrapper .el-table__header thead>tr:first-child th:last-child{padding-right:var(--ibiz-spacing-base-loose)}.ibiz-control-grid.is-enable-customized .ibiz-control-grid-setting-box{display:flex;align-items:center;justify-content:flex-start;position:absolute;top:0;right:0;z-index:10;height:var(--ibiz-control-grid-now-header-height);padding-right:var(--ibiz-spacing-extra-tight);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-quick-toolbar{justify-content:center}.ibiz-control-grid-batch-toolbar{position:absolute;top:0;left:54px;z-index:99;display:none;width:calc(100% - 54px);height:var(--ibiz-control-grid-now-header-height);font-size:var(--ibiz-font-size-regular);font-weight:var(--ibiz-font-weight-regular);background-color:var(--ibiz-control-grid-header-bg-color)}.ibiz-control-grid-batch-toolbar.is-show{display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-separator{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-content{height:100%;display:flex;align-items:center;justify-content:flex-start}.ibiz-control-grid-batch-toolbar .ibiz-control-grid-batch-toolbar-text{flex:none}
@@ -6,7 +6,9 @@ var draggable = require('vuedraggable');
6
6
  var runtime = require('@ibiz-template/runtime');
7
7
  var core = require('@ibiz-template/core');
8
8
  var swimlaneKanban = require('./swimlane-kanban/swimlane-kanban.cjs');
9
+ require('../../util/index.cjs');
9
10
  require('./kanban.css');
11
+ var usePagination = require('../../util/pagination/use-pagination.cjs');
10
12
 
11
13
  "use strict";
12
14
  function _isSlot(s) {
@@ -89,9 +91,11 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
89
91
  const ns = vue3Util.useNamespace("control-".concat(c.model.controlType.toLowerCase()));
90
92
  const kanban = vue.ref();
91
93
  const isFull = vue.ref(false);
92
- const disabled = vue.computed(() => {
93
- return !c.state.draggable || c.state.updating;
94
- });
94
+ const {
95
+ onPageChange,
96
+ onPageRefresh,
97
+ onPageSizeChange
98
+ } = usePagination.usePagination(c);
95
99
  const initSimpleData = () => {
96
100
  if (!props.data) {
97
101
  return;
@@ -290,7 +294,25 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
290
294
  "onClick": (event) => onRowClick(item, event),
291
295
  "onDblclick": (event) => onDbRowClick(item, event)
292
296
  }, {
293
- default: () => [panel ? renderPanelItemLayout(item, panel) : renderDefaultItem(item, group)]
297
+ default: () => [vue.createVNode("div", {
298
+ "class": ns.be("item", "content")
299
+ }, [c.state.draggable && !c.state.readonly && vue.createVNode("svg", {
300
+ "viewBox": "0 0 16 16",
301
+ "xmlns": "http://www.w3.org/2000/svg",
302
+ "height": "1em",
303
+ "width": "1em",
304
+ "class": ns.e("drag-icon"),
305
+ "preserveAspectRatio": "xMidYMid meet",
306
+ "focusable": "false"
307
+ }, [vue.createVNode("g", {
308
+ "stroke-width": "1",
309
+ "fill-rule": "evenodd"
310
+ }, [vue.createVNode("g", {
311
+ "transform": "translate(5 1)",
312
+ "fill-rule": "nonzero"
313
+ }, [vue.createVNode("path", {
314
+ "d": "M1 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM1 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"
315
+ }, null)])])]), panel ? renderPanelItemLayout(item, panel) : renderDefaultItem(item, group)])]
294
316
  });
295
317
  };
296
318
  const renderNoData = () => {
@@ -313,7 +335,7 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
313
335
  });
314
336
  };
315
337
  let cacheInfo = null;
316
- const onChange = (evt, groupKey) => {
338
+ const onDraggableChange = (evt, groupKey) => {
317
339
  if (evt.moved) {
318
340
  c.onDragChange({
319
341
  from: groupKey,
@@ -429,12 +451,13 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
429
451
  }, ["".concat(group.caption).concat(group.children.length ? " \xB7 ".concat(group.children.length) : "")])]), renderGroupToolbar(group)]), renderBatchContainer(group), vue.createVNode("div", {
430
452
  "class": [ns.be("group", "list"), ns.is("empty", !group.children.length)]
431
453
  }, [vue.createVNode(draggable, {
432
- "class": ns.be("group", "draggable"),
433
- "modelValue": group.children,
434
- "group": c.model.id,
435
454
  "itemKey": "srfkey",
436
- "disabled": disabled.value || c.state.readonly,
437
- "onChange": (evt) => onChange(evt, group.key)
455
+ "group": c.model.id,
456
+ "modelValue": group.children,
457
+ "class": ns.be("group", "draggable"),
458
+ "handle": ".".concat(ns.e("drag-icon")),
459
+ "disabled": !c.state.draggable || c.state.updating || c.state.readonly,
460
+ "onChange": (evt) => onDraggableChange(evt, group.key)
438
461
  }, {
439
462
  item: ({
440
463
  element
@@ -473,8 +496,11 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
473
496
  ns,
474
497
  isFull,
475
498
  kanban,
499
+ renderGroup,
476
500
  onFullScreen,
477
- renderGroup
501
+ onPageChange,
502
+ onPageRefresh,
503
+ onPageSizeChange
478
504
  };
479
505
  },
480
506
  render() {
@@ -491,9 +517,11 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
491
517
  return vue.createVNode(vue.resolveComponent("iBizControlBase"), {
492
518
  "ref": "kanban",
493
519
  "controller": this.c,
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)]
520
+ "class": [this.ns.m((_a = this.modelData.groupLayout) == null ? void 0 : _a.toLowerCase()), this.ns.is("full", this.isFull), this.ns.is("swimlane", !!swimlaneAppDEFieldId), this.ns.is("enable-page", this.c.state.enablePagingBar)]
495
521
  }, {
496
- default: () => [swimlaneAppDEFieldId ? vue.createVNode(swimlaneKanban.SwimlaneKanban, {
522
+ default: () => [vue.createVNode("div", {
523
+ "class": this.ns.e("content")
524
+ }, [swimlaneAppDEFieldId ? vue.createVNode(swimlaneKanban.SwimlaneKanban, {
497
525
  "controller": this.c
498
526
  }, null) : [vue.createVNode("div", {
499
527
  "class": this.ns.b("group-container")
@@ -513,7 +541,15 @@ const KanbanControl = /* @__PURE__ */ vue.defineComponent({
513
541
  default: () => [vue.createVNode("ion-icon", {
514
542
  "name": this.isFull ? "contract-outline" : "expand-outline"
515
543
  }, null)]
516
- })])]]
544
+ })])]]), this.c.state.enablePagingBar && vue.createVNode(vue.resolveComponent("iBizPagination"), {
545
+ "size": this.c.state.size,
546
+ "total": this.c.state.total,
547
+ "curPage": this.c.state.curPage,
548
+ "totalPages": this.c.state.totalPages,
549
+ "onChange": this.onPageChange,
550
+ "onPageRefresh": this.onPageRefresh,
551
+ "onPageSizeChange": this.onPageSizeChange
552
+ }, null)]
517
553
  });
518
554
  }
519
555
  });
@@ -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;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)}
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;flex-direction:column;width:100%;height:100%}.ibiz-control-kanban.is-enable-page .ibiz-control-kanban__content{height:calc(100% - 50px)}.ibiz-control-kanban__drag-icon{margin-right:var(--ibiz-spacing-tight);cursor:move;visibility:hidden}.ibiz-control-kanban__content{display:flex;flex-grow:1}.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:hover .ibiz-control-kanban__drag-icon{visibility:visible}.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__content{display:flex;align-items:center;width:100%;height:100%}.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)}
@@ -28,11 +28,23 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
28
28
  const {
29
29
  zIndex
30
30
  } = vue3Util.useUIStore();
31
+ const isFull = vue.ref(false);
31
32
  const popperStyle = {
32
33
  zIndex: zIndex.increment()
33
34
  };
34
35
  const expandAll = vue.ref(true);
35
36
  const dropdownKey = vue.ref();
37
+ const swimlaneKanban = vue.ref();
38
+ let cleanup = core.NOOP;
39
+ vue.onMounted(() => {
40
+ cleanup = core.listenJSEvent(window, "resize", () => {
41
+ isFull.value = c.getFullscreen();
42
+ });
43
+ });
44
+ vue.onBeforeUnmount(() => {
45
+ if (cleanup !== core.NOOP)
46
+ cleanup();
47
+ });
36
48
  const disabled = vue.computed(() => {
37
49
  return !c.state.draggable || c.draggableMode === 0 || c.state.updating || c.state.readonly;
38
50
  });
@@ -53,6 +65,10 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
53
65
  return item.name === "".concat(c.model.name, "_batchtoolbar");
54
66
  });
55
67
  let cacheInfo = null;
68
+ const onFullScreen = () => {
69
+ const container = swimlaneKanban.value;
70
+ isFull.value = c.onFullScreen(container);
71
+ };
56
72
  const onDraggableChange = (evt, groupKey, laneKey) => {
57
73
  if (evt.moved)
58
74
  c.onDragChange({
@@ -217,15 +233,24 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
217
233
  "name": expandAll.value ? "chevron-collapse-outline" : "chevron-expand-outline"
218
234
  }, null), vue.createVNode("div", {
219
235
  "class": ns.em("cell", "caption")
220
- }, [ibiz.i18n.t("control.kanban.lane")])]), c.enableGroupHidden && vue.createVNode("div", {
236
+ }, [ibiz.i18n.t("control.kanban.lane")])]), vue.createVNode("div", {
221
237
  "class": ns.em("cell", "right")
222
- }, [vue.createVNode(vue.resolveComponent("iBizKanbanSetting"), {
238
+ }, [c.enableGroupHidden && vue.createVNode(vue.resolveComponent("iBizKanbanSetting"), {
223
239
  "buttonStyle": {
224
240
  circle: true,
225
241
  type: "text"
226
242
  },
227
243
  "controller": props.controller
228
- }, null)])])]), c.state.groups.map((group) => {
244
+ }, null), c.enableFullScreen && vue.createVNode(vue.resolveComponent("el-button"), {
245
+ "type": "text",
246
+ "circle": true,
247
+ "onClick": onFullScreen,
248
+ "title": isFull.value ? ibiz.i18n.t("app.cancelFullscreen") : ibiz.i18n.t("app.fullscreen")
249
+ }, {
250
+ default: () => [vue.createVNode("ion-icon", {
251
+ "name": isFull.value ? "contract-outline" : "expand-outline"
252
+ }, null)]
253
+ })])])]), c.state.groups.map((group) => {
229
254
  if (group.hidden)
230
255
  return void 0;
231
256
  return renderHeaderCell(group);
@@ -337,6 +362,7 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
337
362
  "itemKey": "srfkey",
338
363
  "disabled": disabled.value,
339
364
  "modelValue": group.children,
365
+ "handle": ".".concat(ns.e("drag-icon")),
340
366
  "class": ns.em("cell", "draggable"),
341
367
  "group": getGroupKey(group.key, lane.key),
342
368
  "onChange": (evt) => onDraggableChange(evt, group.key, lane.key)
@@ -352,7 +378,25 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
352
378
  "onClick": () => c.onRowClick(element),
353
379
  "onDblclick": () => c.onDbRowClick(element)
354
380
  }, {
355
- default: () => [c.model.itemLayoutPanel ? renderPanelItemLayout(lane, element) : renderDefaultItem(lane, element, group)]
381
+ default: () => [vue.createVNode("div", {
382
+ "class": ns.em("card", "content")
383
+ }, [c.state.draggable && !c.state.readonly && c.draggableMode !== 0 && vue.createVNode("svg", {
384
+ "viewBox": "0 0 16 16",
385
+ "xmlns": "http://www.w3.org/2000/svg",
386
+ "height": "1em",
387
+ "width": "1em",
388
+ "class": ns.e("drag-icon"),
389
+ "preserveAspectRatio": "xMidYMid meet",
390
+ "focusable": "false"
391
+ }, [vue.createVNode("g", {
392
+ "stroke-width": "1",
393
+ "fill-rule": "evenodd"
394
+ }, [vue.createVNode("g", {
395
+ "transform": "translate(5 1)",
396
+ "fill-rule": "nonzero"
397
+ }, [vue.createVNode("path", {
398
+ "d": "M1 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM1 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"
399
+ }, null)])])]), c.model.itemLayoutPanel ? renderPanelItemLayout(lane, element) : renderDefaultItem(lane, element, group)])]
356
400
  });
357
401
  }
358
402
  }), renderBodyCellToolber(lane, group)] : vue.createVNode("div", {
@@ -394,6 +438,7 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
394
438
  };
395
439
  return {
396
440
  ns,
441
+ swimlaneKanban,
397
442
  width,
398
443
  renderHeader,
399
444
  renderBody
@@ -402,6 +447,7 @@ const SwimlaneKanban = /* @__PURE__ */ vue.defineComponent({
402
447
  render() {
403
448
  var _a;
404
449
  return vue.createVNode("div", {
450
+ "ref": "swimlaneKanban",
405
451
  "class": [this.ns.b(), this.ns.e((_a = this.controller.model.groupStyle) == null ? void 0 : _a.toLowerCase())],
406
452
  "style": {
407
453
  "--ibiz-swimlane-kanban-width": "".concat(this.width, "px")
@@ -1 +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
+ .ibiz-swimlane-kanban{--ibiz-swimlane-kanban-width:320px;display:flex;flex-direction:column;width:100%;height:100%;padding:var(--ibiz-spacing-tight);background-color:var(--ibiz-color-white)}.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__drag-icon{margin-right:var(--ibiz-spacing-tight);cursor:move;visibility: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__card--content{display:flex;align-items:center;width:100%;height:100%}.ibiz-swimlane-kanban__card:hover .ibiz-swimlane-kanban__drag-icon{visibility:visible}.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}
@@ -5,9 +5,10 @@ var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var lodashEs = require('lodash-es');
6
6
  var qxUtil = require('qx-util');
7
7
  var runtime = require('@ibiz-template/runtime');
8
- require('./list.css');
8
+ var draggable = require('vuedraggable');
9
9
  var core = require('@ibiz-template/core');
10
10
  require('../../util/index.cjs');
11
+ require('./list.css');
11
12
  var usePagination = require('../../util/pagination/use-pagination.cjs');
12
13
 
13
14
  "use strict";
@@ -16,6 +17,9 @@ function _isSlot(s) {
16
17
  }
17
18
  const ListControl = /* @__PURE__ */ vue.defineComponent({
18
19
  name: "IBizListControl",
20
+ components: {
21
+ draggable
22
+ },
19
23
  props: {
20
24
  /**
21
25
  * @description 列表模型数据
@@ -116,6 +120,31 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
116
120
  }
117
121
  }
118
122
  });
123
+ let cacheInfo = null;
124
+ const onDraggableChange = (evt, groupKey) => {
125
+ if (evt.moved) {
126
+ c.onDragChange({
127
+ from: groupKey,
128
+ to: groupKey,
129
+ fromIndex: evt.moved.oldIndex,
130
+ toIndex: evt.moved.newIndex
131
+ });
132
+ }
133
+ if (evt.added) {
134
+ cacheInfo = {
135
+ to: groupKey,
136
+ toIndex: evt.added.newIndex
137
+ };
138
+ }
139
+ if (evt.removed) {
140
+ if (cacheInfo) {
141
+ cacheInfo.from = groupKey;
142
+ cacheInfo.fromIndex = evt.removed.oldIndex;
143
+ c.onDragChange(cacheInfo);
144
+ }
145
+ cacheInfo = null;
146
+ }
147
+ };
119
148
  const initSimpleData = () => {
120
149
  if (!props.data) {
121
150
  return;
@@ -193,6 +222,17 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
193
222
  "onActionClick": (detail, event) => c.onActionClick(detail, item, event)
194
223
  }, null);
195
224
  };
225
+ const renderNewItem = (group) => {
226
+ return vue.createVNode("div", {
227
+ "title": ibiz.i18n.t("app.newlyBuild"),
228
+ "class": [ns.b("item"), ns.be("item", "new")],
229
+ "onClick": (event) => {
230
+ c.onClickNew(event, group == null ? void 0 : group.key);
231
+ }
232
+ }, [vue.createVNode("ion-icon", {
233
+ "name": "add-outline"
234
+ }, null)]);
235
+ };
196
236
  const renderDefaultItem = (item) => {
197
237
  const actionModel = c.getOptItemModel();
198
238
  return vue.createVNode("div", {
@@ -249,7 +289,23 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
249
289
  return vue.createVNode("div", {
250
290
  "style": cardStyle,
251
291
  "class": [ns.b("scroll-item"), ns.is("active", isSelected(item))]
252
- }, [c.model.controlStyle === "EXTVIEW2" && !c.state.singleSelect && vue.createVNode(vue.resolveComponent("el-checkbox"), {
292
+ }, [c.state.draggable && !c.state.readonly && vue.createVNode("svg", {
293
+ "viewBox": "0 0 16 16",
294
+ "xmlns": "http://www.w3.org/2000/svg",
295
+ "height": "1em",
296
+ "width": "1em",
297
+ "class": ns.e("drag-icon"),
298
+ "preserveAspectRatio": "xMidYMid meet",
299
+ "focusable": "false"
300
+ }, [vue.createVNode("g", {
301
+ "stroke-width": "1",
302
+ "fill-rule": "evenodd"
303
+ }, [vue.createVNode("g", {
304
+ "transform": "translate(5 1)",
305
+ "fill-rule": "nonzero"
306
+ }, [vue.createVNode("path", {
307
+ "d": "M1 2a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zM1 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm-4 4a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm4 0a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"
308
+ }, null)])])]), c.model.controlStyle === "EXTVIEW2" && !c.state.singleSelect && vue.createVNode(vue.resolveComponent("el-checkbox"), {
253
309
  "size": "large",
254
310
  "class": ns.be("scroll-item", "checkbox"),
255
311
  "modelValue": isSelected(item),
@@ -260,16 +316,32 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
260
316
  "onClick": () => item.__isExpand = !item.__isExpand
261
317
  }, null), panel ? renderPanelItem(item, panel) : renderDefaultItem(item)]);
262
318
  };
263
- const renderListItems = (items) => {
319
+ const renderListItems = (items, group, disabled = true) => {
264
320
  const {
265
321
  navAppViewId
266
322
  } = c.model;
267
- return items.map((item) => {
268
- if (navAppViewId && c.state.showRowDetail)
269
- return vue.createVNode("div", {
270
- "class": ns.b("row-detail")
271
- }, [renderItem(item), item.__isExpand && renderRowDetail(item)]);
272
- return renderItem(item);
323
+ return vue.createVNode(draggable, {
324
+ "itemKey": "srfkey",
325
+ "modelValue": items,
326
+ "group": c.model.id,
327
+ "handle": ".".concat(ns.e("drag-icon")),
328
+ "class": [ns.e("layout-flex"), ns.em("layout-flex", "draggable")],
329
+ "disabled": disabled || c.state.updating || c.state.readonly,
330
+ "onChange": (evt) => onDraggableChange(evt, group == null ? void 0 : group.key)
331
+ }, {
332
+ item: ({
333
+ element
334
+ }) => {
335
+ if (navAppViewId && c.state.showRowDetail)
336
+ return vue.createVNode("div", {
337
+ "class": ns.b("row-detail")
338
+ }, [renderItem(element), element.__isExpand && renderRowDetail(element)]);
339
+ return renderItem(element);
340
+ },
341
+ footer: () => {
342
+ if (c.enableNew && !c.state.readonly)
343
+ return renderNewItem(group);
344
+ }
273
345
  });
274
346
  };
275
347
  const renderGroup = (group) => {
@@ -286,7 +358,7 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
286
358
  "class": ns.be("group-content", "item-action")
287
359
  }, [renderGroupAction(group)])]);
288
360
  },
289
- default: () => group.children.length > 0 ? renderListItems(group.children) : vue.createVNode("div", {
361
+ default: () => group.children.length > 0 ? renderListItems(group.children, group, !c.state.draggable) : vue.createVNode("div", {
290
362
  "class": ns.bem("group-content", "item", "empty")
291
363
  }, [ibiz.i18n.t("app.noData")])
292
364
  });
@@ -335,7 +407,7 @@ const ListControl = /* @__PURE__ */ vue.defineComponent({
335
407
  "infinite-scroll-disabled": isLodeMoreDisabled.value,
336
408
  "ref": "infiniteScroll",
337
409
  "key": infiniteScrollKey.value
338
- }, [renderListItems(isCollapse.value ? c.state.items.slice(0, c.state.size) : c.state.items)]), [[vue.resolveDirective("infinite-scroll"), () => c.loadMore()]]);
410
+ }, [renderListItems(isCollapse.value ? c.state.items.slice(0, c.state.size) : c.state.items, void 0, !c.enableEditOrder)]), [[vue.resolveDirective("infinite-scroll"), () => c.loadMore()]]);
339
411
  };
340
412
  const upIcon = () => {
341
413
  return vue.createVNode("div", {