@ibiz-template/vue3-components 0.7.26-alpha.3 → 0.7.26

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 (175) hide show
  1. package/dist/index-28jZm-aB.js +4 -0
  2. package/dist/{index-8tGeBxpc.js → index-RwYoggQd.js} +1 -1
  3. package/dist/{index-CDgQJyai.js → index-s7g1-ymW.js} +1 -1
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-8_6qMs6z.js → xlsx-util-Rf5FMxyR.js} +1 -1
  7. package/es/common/emoji-select/components/categories/categories.css +1 -0
  8. package/es/common/emoji-select/components/categories/categories.d.ts +30 -0
  9. package/es/common/emoji-select/components/categories/categories.mjs +48 -0
  10. package/es/common/emoji-select/components/categories/index.d.ts +1 -0
  11. package/es/common/emoji-select/components/categories/index.mjs +3 -0
  12. package/es/common/emoji-select/components/category-label/category-label.css +1 -0
  13. package/es/common/emoji-select/components/category-label/category-label.d.ts +18 -0
  14. package/es/common/emoji-select/components/category-label/category-label.mjs +28 -0
  15. package/es/common/emoji-select/components/category-label/index.d.ts +1 -0
  16. package/es/common/emoji-select/components/category-label/index.mjs +3 -0
  17. package/es/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  18. package/es/common/emoji-select/components/emoji-item/emoji-item.d.ts +44 -0
  19. package/es/common/emoji-select/components/emoji-item/emoji-item.mjs +56 -0
  20. package/es/common/emoji-select/components/emoji-item/index.d.ts +1 -0
  21. package/es/common/emoji-select/components/emoji-item/index.mjs +3 -0
  22. package/es/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  23. package/es/common/emoji-select/components/emoji-list/emoji-list.d.ts +92 -0
  24. package/es/common/emoji-select/components/emoji-list/emoji-list.mjs +165 -0
  25. package/es/common/emoji-select/components/emoji-list/index.d.ts +1 -0
  26. package/es/common/emoji-select/components/emoji-list/index.mjs +3 -0
  27. package/es/common/emoji-select/components/index.d.ts +5 -0
  28. package/es/common/emoji-select/components/index.mjs +12 -0
  29. package/es/common/emoji-select/components/input-search/index.d.ts +1 -0
  30. package/es/common/emoji-select/components/input-search/index.mjs +3 -0
  31. package/es/common/emoji-select/components/input-search/input-search.css +1 -0
  32. package/es/common/emoji-select/components/input-search/input-search.d.ts +9 -0
  33. package/es/common/emoji-select/components/input-search/input-search.mjs +49 -0
  34. package/es/common/emoji-select/emoji-select.css +1 -0
  35. package/es/common/emoji-select/emoji-select.d.ts +142 -0
  36. package/es/common/emoji-select/emoji-select.mjs +234 -0
  37. package/es/common/emoji-select/icons/categories.d.ts +2 -0
  38. package/es/common/emoji-select/icons/categories.mjs +64 -0
  39. package/es/common/emoji-select/icons/emoji.d.ts +2 -0
  40. package/es/common/emoji-select/icons/emoji.mjs +1444 -0
  41. package/es/common/emoji-select/icons/index.d.ts +3 -0
  42. package/es/common/emoji-select/icons/index.mjs +5 -0
  43. package/es/common/emoji-select/icons/search.d.ts +1 -0
  44. package/es/common/emoji-select/icons/search.mjs +16 -0
  45. package/es/common/emoji-select/interface/category.d.ts +44 -0
  46. package/es/common/emoji-select/interface/category.mjs +22 -0
  47. package/es/common/emoji-select/interface/emoji.d.ts +37 -0
  48. package/es/common/emoji-select/interface/emoji.mjs +19 -0
  49. package/es/common/emoji-select/interface/index.d.ts +3 -0
  50. package/es/common/emoji-select/interface/index.mjs +5 -0
  51. package/es/common/emoji-select/interface/map-emojis.d.ts +17 -0
  52. package/es/common/emoji-select/interface/map-emojis.mjs +1 -0
  53. package/es/common/index.mjs +2 -0
  54. package/es/common/view-message/view-message.d.ts +1 -0
  55. package/es/control/calendar/calendar.css +1 -1
  56. package/es/control/calendar/calendar.d.ts +3 -2
  57. package/es/control/calendar/calendar.mjs +203 -86
  58. package/es/control/calendar/components/calendar-daily/calendar-daily.d.ts +1 -1
  59. package/es/control/calendar/components/calendar-daily/index.d.ts +1 -1
  60. package/es/control/calendar/components/calendar-week/calendar-week.d.ts +1 -1
  61. package/es/control/calendar/components/calendar-week/calendar-week.mjs +15 -12
  62. package/es/control/calendar/components/calendar-week/index.d.ts +1 -1
  63. package/es/control/calendar/components/calendar-week/use-calendar-week.mjs +1 -0
  64. package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +4 -114
  65. package/es/control/calendar/components/interface/calendar-daily.mjs +0 -3
  66. package/es/control/calendar/components/interface/calendar-week.mjs +3 -2
  67. package/es/control/calendar/components/interface/custom-calendar.mjs +8 -3
  68. package/es/control/calendar/components/interface/index.d.ts +0 -1
  69. package/es/control/calendar/components/interface/index.mjs +0 -1
  70. package/es/control/calendar/index.d.ts +2 -1
  71. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +36 -2
  72. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +17 -7
  73. package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +10 -32
  74. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +93 -56
  75. package/es/control/drtab/drtab-control.util.mjs +1 -1
  76. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +25 -0
  77. package/es/control/grid/grid/grid-control.util.d.ts +8 -0
  78. package/es/control/grid/grid/grid-control.util.mjs +151 -1
  79. package/es/control/grid/grid/grid.css +1 -1
  80. package/es/control/grid/grid/grid.d.ts +8 -0
  81. package/es/control/grid/grid/grid.mjs +12 -2
  82. package/es/control/grid/grid/index.d.ts +8 -0
  83. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  84. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +21 -1
  85. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  86. package/es/control/tree/tree.css +1 -1
  87. package/es/editor/dropdown-list/dropdown-list-editor.provider.d.ts +1 -0
  88. package/es/editor/dropdown-list/dropdown-list-editor.provider.mjs +10 -1
  89. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  90. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +72 -0
  91. package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.mjs +123 -0
  92. package/es/editor/dropdown-list/index.d.ts +1 -0
  93. package/es/editor/dropdown-list/index.mjs +1 -0
  94. package/es/editor/index.mjs +6 -0
  95. package/es/editor/text-box/input/input.d.ts +1 -1
  96. package/es/locale/en/index.d.ts +14 -0
  97. package/es/locale/en/index.mjs +14 -0
  98. package/es/locale/zh-CN/index.d.ts +14 -0
  99. package/es/locale/zh-CN/index.mjs +14 -0
  100. package/es/panel-component/nav-tabs/nav-tabs.controller.d.ts +7 -0
  101. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +19 -0
  102. package/lib/common/emoji-select/components/categories/categories.cjs +50 -0
  103. package/lib/common/emoji-select/components/categories/categories.css +1 -0
  104. package/lib/common/emoji-select/components/categories/index.cjs +7 -0
  105. package/lib/common/emoji-select/components/category-label/category-label.cjs +30 -0
  106. package/lib/common/emoji-select/components/category-label/category-label.css +1 -0
  107. package/lib/common/emoji-select/components/category-label/index.cjs +7 -0
  108. package/lib/common/emoji-select/components/emoji-item/emoji-item.cjs +58 -0
  109. package/lib/common/emoji-select/components/emoji-item/emoji-item.css +1 -0
  110. package/lib/common/emoji-select/components/emoji-item/index.cjs +7 -0
  111. package/lib/common/emoji-select/components/emoji-list/emoji-list.cjs +167 -0
  112. package/lib/common/emoji-select/components/emoji-list/emoji-list.css +1 -0
  113. package/lib/common/emoji-select/components/emoji-list/index.cjs +7 -0
  114. package/lib/common/emoji-select/components/index.cjs +20 -0
  115. package/lib/common/emoji-select/components/input-search/index.cjs +7 -0
  116. package/lib/common/emoji-select/components/input-search/input-search.cjs +51 -0
  117. package/lib/common/emoji-select/components/input-search/input-search.css +1 -0
  118. package/lib/common/emoji-select/emoji-select.cjs +236 -0
  119. package/lib/common/emoji-select/emoji-select.css +1 -0
  120. package/lib/common/emoji-select/icons/categories.cjs +66 -0
  121. package/lib/common/emoji-select/icons/emoji.cjs +1446 -0
  122. package/lib/common/emoji-select/icons/index.cjs +11 -0
  123. package/lib/common/emoji-select/icons/search.cjs +18 -0
  124. package/lib/common/emoji-select/interface/category.cjs +24 -0
  125. package/lib/common/emoji-select/interface/emoji.cjs +21 -0
  126. package/lib/common/emoji-select/interface/index.cjs +10 -0
  127. package/lib/common/emoji-select/interface/map-emojis.cjs +3 -0
  128. package/lib/common/index.cjs +2 -0
  129. package/lib/control/calendar/calendar.cjs +203 -86
  130. package/lib/control/calendar/calendar.css +1 -1
  131. package/lib/control/calendar/components/calendar-week/calendar-week.cjs +15 -12
  132. package/lib/control/calendar/components/calendar-week/use-calendar-week.cjs +1 -0
  133. package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +7 -117
  134. package/lib/control/calendar/components/interface/calendar-daily.cjs +0 -3
  135. package/lib/control/calendar/components/interface/calendar-week.cjs +3 -2
  136. package/lib/control/calendar/components/interface/custom-calendar.cjs +8 -3
  137. package/lib/control/calendar/components/interface/index.cjs +0 -3
  138. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +17 -7
  139. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +93 -56
  140. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  141. package/lib/control/grid/grid/grid-control.util.cjs +151 -1
  142. package/lib/control/grid/grid/grid.cjs +12 -2
  143. package/lib/control/grid/grid/grid.css +1 -1
  144. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +21 -1
  145. package/lib/control/tree/tree.css +1 -1
  146. package/lib/editor/dropdown-list/dropdown-list-editor.provider.cjs +10 -1
  147. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs +125 -0
  148. package/lib/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.css +1 -0
  149. package/lib/editor/dropdown-list/index.cjs +2 -0
  150. package/lib/editor/index.cjs +6 -0
  151. package/lib/locale/en/index.cjs +14 -0
  152. package/lib/locale/zh-CN/index.cjs +14 -0
  153. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +19 -0
  154. package/package.json +8 -8
  155. package/dist/index-oBteffLj.js +0 -4
  156. package/es/_virtual/localeData.mjs +0 -3
  157. package/es/control/calendar/components/calendar-month/calendar-month.css +0 -1
  158. package/es/control/calendar/components/calendar-month/calendar-month.d.ts +0 -18
  159. package/es/control/calendar/components/calendar-month/calendar-month.mjs +0 -242
  160. package/es/control/calendar/components/calendar-month/index.d.ts +0 -18
  161. package/es/control/calendar/components/calendar-month/index.mjs +0 -9
  162. package/es/control/calendar/components/calendar-month/use-calendar-month.d.ts +0 -3
  163. package/es/control/calendar/components/calendar-month/use-calendar-month.mjs +0 -384
  164. package/es/control/calendar/components/interface/calendar-month.d.ts +0 -20
  165. package/es/control/calendar/components/interface/calendar-month.mjs +0 -43
  166. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.mjs +0 -13
  167. package/lib/_virtual/localeData.cjs +0 -5
  168. package/lib/control/calendar/components/calendar-month/calendar-month.cjs +0 -244
  169. package/lib/control/calendar/components/calendar-month/calendar-month.css +0 -1
  170. package/lib/control/calendar/components/calendar-month/index.cjs +0 -14
  171. package/lib/control/calendar/components/calendar-month/use-calendar-month.cjs +0 -386
  172. package/lib/control/calendar/components/interface/calendar-month.cjs +0 -46
  173. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/localeData.cjs +0 -17
  174. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.25_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.26_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
  175. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.25_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.26_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
@@ -5,6 +5,26 @@ var runtime = require('@ibiz-template/runtime');
5
5
  var vue = require('vue');
6
6
 
7
7
  "use strict";
8
+ function sortMergeData(rowSpanKeys, items) {
9
+ const otherItems = [];
10
+ const sortedItems = items.filter((item) => {
11
+ const index = rowSpanKeys.findIndex((key) => !item[key]);
12
+ if (index !== -1) {
13
+ otherItems.push(item);
14
+ }
15
+ return index === -1;
16
+ });
17
+ sortedItems.sort((a, b) => {
18
+ for (const key of rowSpanKeys) {
19
+ if (a[key] !== b[key]) {
20
+ return a[key] > b[key] ? 1 : -1;
21
+ }
22
+ }
23
+ return 0;
24
+ });
25
+ sortedItems.push(...otherItems);
26
+ return sortedItems;
27
+ }
8
28
  function useITableEvent(c) {
9
29
  const tableRef = vue.ref();
10
30
  let forbidChange = false;
@@ -180,6 +200,8 @@ function useAppGridBase(c, props) {
180
200
  const row = new runtime.GridRowState(new runtime.ControlVO(item), c);
181
201
  return row;
182
202
  });
203
+ c.calcAggResult(c.state.items);
204
+ c.calcTotalData();
183
205
  };
184
206
  const defaultSort = vue.computed(() => {
185
207
  var _a;
@@ -229,6 +251,13 @@ function useAppGridBase(c, props) {
229
251
  });
230
252
  return result;
231
253
  }
254
+ const { rowspankeys = [] } = c.controlParams;
255
+ if (rowspankeys.length > 0) {
256
+ return sortMergeData(
257
+ rowspankeys,
258
+ state.rows.map((row) => row.data)
259
+ );
260
+ }
232
261
  return state.rows.map((row) => row.data);
233
262
  });
234
263
  const renderColumns = vue.computed(() => {
@@ -258,7 +287,128 @@ function useAppGridBase(c, props) {
258
287
  return c.state.aggResult[item.property];
259
288
  });
260
289
  };
261
- return { tableData, renderColumns, defaultSort, summaryMethod };
290
+ const spanMethod = ({
291
+ row,
292
+ column,
293
+ rowIndex,
294
+ columnIndex
295
+ }) => {
296
+ const { property } = column;
297
+ const { rowspankeys = [], colspankeys = [] } = c.controlParams;
298
+ if (rowspankeys.length > 0 && rowspankeys.includes(property)) {
299
+ if (rowIndex > 0 && row[property] && row[property] === tableData.value[rowIndex - 1][property]) {
300
+ return {
301
+ rowspan: 0,
302
+ colspan: 0
303
+ };
304
+ }
305
+ let rowspan = 1;
306
+ for (let i = rowIndex + 1; i < tableData.value.length; i++) {
307
+ if (row[property] && tableData.value[i][property] === row[property]) {
308
+ rowspan += 1;
309
+ } else {
310
+ break;
311
+ }
312
+ }
313
+ return {
314
+ rowspan,
315
+ colspan: 1
316
+ };
317
+ }
318
+ if (colspankeys.length > 0 && colspankeys.includes(property)) {
319
+ const preProperty = renderColumns.value[columnIndex - 1].codeName;
320
+ if (columnIndex > 0 && row[property] && colspankeys.includes(preProperty) && row[property] === row[preProperty]) {
321
+ return {
322
+ rowspan: 0,
323
+ colspan: 0
324
+ };
325
+ }
326
+ let colspan = 1;
327
+ for (let i = columnIndex + 1; i < renderColumns.value.length; i++) {
328
+ const nextProperty = renderColumns.value[i].codeName;
329
+ if (row[property] && colspankeys.includes(nextProperty) && row[nextProperty] === row[property]) {
330
+ colspan += 1;
331
+ } else {
332
+ break;
333
+ }
334
+ }
335
+ return {
336
+ rowspan: 1,
337
+ colspan
338
+ };
339
+ }
340
+ };
341
+ const cellMouseEnter = (row, column, cell) => {
342
+ const { rowspankeys = [] } = c.controlParams;
343
+ if (rowspankeys.length === 0) {
344
+ return;
345
+ }
346
+ let { rowSpan } = cell;
347
+ if (rowSpan && rowSpan > 1) {
348
+ let tableRow = cell.parentNode;
349
+ while (rowSpan > 1) {
350
+ if (tableRow && tableRow.nextSibling) {
351
+ tableRow.nextSibling.classList.add(
352
+ "hover-row"
353
+ );
354
+ tableRow = tableRow.nextSibling;
355
+ }
356
+ rowSpan -= 1;
357
+ }
358
+ } else {
359
+ const columnLenth = renderColumns.value.length;
360
+ let tableRow = cell.parentNode;
361
+ while (tableRow.children.length !== columnLenth) {
362
+ tableRow = tableRow.previousSibling;
363
+ }
364
+ for (let index = 0; index < tableRow.children.length; index++) {
365
+ const newCell = tableRow.children.item(index);
366
+ if (newCell.rowSpan > 1) {
367
+ newCell.classList.add("hover-cell");
368
+ }
369
+ }
370
+ }
371
+ };
372
+ const cellMouseLeave = (row, column, cell) => {
373
+ const { rowspankeys = [] } = c.controlParams;
374
+ if (rowspankeys.length === 0) {
375
+ return;
376
+ }
377
+ let { rowSpan } = cell;
378
+ if (rowSpan && rowSpan > 1) {
379
+ let tableRow = cell.parentNode;
380
+ while (rowSpan > 1) {
381
+ if (tableRow && tableRow.nextSibling) {
382
+ tableRow.nextSibling.classList.remove(
383
+ "hover-row"
384
+ );
385
+ tableRow = tableRow.nextSibling;
386
+ }
387
+ rowSpan -= 1;
388
+ }
389
+ } else {
390
+ const columnLenth = renderColumns.value.length;
391
+ let tableRow = cell.parentNode;
392
+ while (tableRow.children.length !== columnLenth) {
393
+ tableRow = tableRow.previousSibling;
394
+ }
395
+ for (let index = 0; index < tableRow.children.length; index++) {
396
+ const newCell = tableRow.children.item(index);
397
+ if (newCell.rowSpan > 1) {
398
+ newCell.classList.remove("hover-cell");
399
+ }
400
+ }
401
+ }
402
+ };
403
+ return {
404
+ tableData,
405
+ renderColumns,
406
+ defaultSort,
407
+ summaryMethod,
408
+ spanMethod,
409
+ cellMouseEnter,
410
+ cellMouseLeave
411
+ };
262
412
  }
263
413
  function useGridHeaderStyle(tableRef, ns) {
264
414
  let resizeObserver = null;
@@ -201,7 +201,10 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
201
201
  tableData,
202
202
  renderColumns,
203
203
  defaultSort,
204
- summaryMethod
204
+ summaryMethod,
205
+ spanMethod,
206
+ cellMouseEnter,
207
+ cellMouseLeave
205
208
  } = gridControl_util.useAppGridBase(c, props);
206
209
  const {
207
210
  renderPopover
@@ -308,10 +311,13 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
308
311
  onPageChange,
309
312
  onPageSizeChange,
310
313
  onPageRefresh,
314
+ cellMouseEnter,
315
+ cellMouseLeave,
311
316
  handleRowClassName,
312
317
  handleHeaderCellClassName,
313
318
  renderNoData,
314
319
  summaryMethod,
320
+ spanMethod,
315
321
  renderPopover,
316
322
  defaultSort,
317
323
  renderBatchToolBar,
@@ -345,11 +351,15 @@ const GridControl = /* @__PURE__ */ vue.defineComponent({
345
351
  "header-cell-class-name": this.handleHeaderCellClassName,
346
352
  "row-key": "tempsrfkey",
347
353
  "data": this.tableData,
354
+ "span-method": this.spanMethod,
348
355
  "onRowClick": this.onRowClick,
356
+ "onCellMouseEnter": this.cellMouseEnter,
357
+ "onCellMouseLeave": this.cellMouseLeave,
349
358
  "onRowDblclick": this.onDbRowClick,
350
359
  "onSelectionChange": this.onSelectionChange,
351
360
  "onSortChange": this.onSortChange,
352
- "tooltip-effect": "light"
361
+ "tooltip-effect": "light",
362
+ "scrollbar-always-on": true
353
363
  }, {
354
364
  empty: this.renderNoData,
355
365
  default: () => {
@@ -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:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-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-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--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.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__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{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-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 .is-sortable.el-table__cell .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__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 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:1;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.is-enable-customized .ibiz-grid-setting{cursor:pointer}.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}
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:calc(var(--ibiz-spacing-base-tight) / 2) var(--ibiz-spacing-base-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-header-text-color:var(--ibiz-color-text-2);--ibiz-control-grid-header-cell-padding:var(--ibiz-control-grid-cell-padding);--ibiz-control-grid-header-height:auto;--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.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__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{background-color:var(--ibiz-control-grid-row-edit-bg-color)}.ibiz-control-grid__table .el-table__header-wrapper .cell{height:var(--ibiz-control-grid-header-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 .is-sortable.el-table__cell .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__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 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:1;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.is-enable-customized .ibiz-grid-setting{cursor:pointer}.ibiz-control-grid .el-table .el-table__body tr.hover-row.current-row>td.el-table__cell,.ibiz-control-grid .el-table .el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.ibiz-control-grid .el-table .el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.ibiz-control-grid .el-table .el-table__body tr.hover-row>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.ibiz-control-grid .el-table .el-table__body tr.current-row td:not([rowspan="1"]){background-color:var(--ibiz-control-grid-row-bg-color)}.ibiz-control-grid .el-table .el-table__body-wrapper .el-table__body tr.el-table__row>td.hover-cell{background-color:var(--el-table-row-hover-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}
@@ -41,6 +41,25 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
41
41
  });
42
42
  const fieldValue = vue.computed(() => props.row.data[props.controller.fieldName]);
43
43
  const formatValue = vue.computed(() => props.controller.formatValue(fieldValue.value));
44
+ const percent = vue.computed(() => {
45
+ const {
46
+ grid
47
+ } = props.controller;
48
+ if (!grid.showPercent) {
49
+ return "";
50
+ }
51
+ const value = Number(fieldValue.value);
52
+ if (!Number.isNaN(value)) {
53
+ const {
54
+ totalResult = {}
55
+ } = grid.state;
56
+ const total = totalResult[props.controller.fieldName];
57
+ if (total) {
58
+ return ibiz.util.text.format("".concat(value / total), "0.##%");
59
+ }
60
+ }
61
+ return "";
62
+ });
44
63
  const codeListValue = vue.computed(() => runtime.ValueExUtil.toText(props.controller.model, fieldValue.value));
45
64
  const codeListText = vue.ref("");
46
65
  const onInfoTextChange = (text) => {
@@ -74,6 +93,7 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
74
93
  CustomHtml,
75
94
  fieldValue,
76
95
  formatValue,
96
+ percent,
77
97
  codeListValue,
78
98
  tooltip,
79
99
  zIndex,
@@ -112,7 +132,7 @@ const GridFieldColumn = /* @__PURE__ */ vue.defineComponent({
112
132
  "class": this.ns.e("text"),
113
133
  "title": this.tooltip,
114
134
  "onClick": this.onTextClick
115
- }, [this.formatValue, this.fieldValue != null && c.model.unitName]);
135
+ }, [this.formatValue, this.fieldValue != null && c.model.unitName, this.percent && "(".concat(this.percent, ")")]);
116
136
  }
117
137
  return vue.createVNode("div", {
118
138
  "class": [this.ns.b(), c.clickable(this.row) && this.ns.m("clickable"), this.ns.m(this.controller.grid.overflowMode), (_a = this.controller.model.cellSysCss) == null ? void 0 : _a.cssName, this.ns.is("has-action", !!c.model.deuiactionGroup)],
@@ -1 +1 @@
1
- .ibiz-control-treeview{--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-treeview-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-icon-width:var(--ibiz-spacing-base);height:100%;padding:var(--ibiz-spacing-tight) 0}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:inline-block;width:var(--ibiz-control-treeview-icon-width);height:var(--ibiz-control-treeview-icon-height);margin-right:var(--ibiz-spacing-tight)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-color-disabled-text);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:30px;text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base)}.ibiz-control-treeview-quick-search{padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight)}.ibiz-control-treeview-tree{padding:0 var(--ibiz-spacing-base)}
1
+ .ibiz-control-treeview{--ibiz-control-treeview-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-treeview-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-icon-width:var(--ibiz-spacing-base);height:100%;padding:var(--ibiz-spacing-tight) 0}.ibiz-control-treeview-node{display:flex;flex-grow:1;flex-shrink:1;align-items:center;min-width:1px;height:100%}.ibiz-control-treeview-node__icon{display:flex;align-items:center;width:var(--ibiz-control-treeview-icon-width);height:var(--ibiz-control-treeview-icon-height);margin-right:var(--ibiz-spacing-tight)}.ibiz-control-treeview-node__icon>svg{width:100%;height:100%}.ibiz-control-treeview-node__label{flex-grow:1;flex-shrink:1;min-width:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-control-treeview-node:hover .ibiz-control-treeview-context-menu-trigger{display:inline-block}.ibiz-control-treeview-node--disabled{color:var(--ibiz-color-disabled-text);cursor:not-allowed}.ibiz-control-treeview-context-menu-trigger{display:none;flex-shrink:0;width:30px;text-align:center;cursor:pointer}.ibiz-control-treeview-context-menu-trigger__caption-icon{vertical-align:middle}.ibiz-control-treeview-context-menu.mx-context-menu{padding:var(--ibiz-spacing-extra-tight) 0}.ibiz-control-treeview-context-menu.mx-context-menu .mx-context-menu-item{padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base)}.ibiz-control-treeview-quick-search{padding:0 var(--ibiz-spacing-base) var(--ibiz-spacing-tight)}.ibiz-control-treeview-tree{padding:0 var(--ibiz-spacing-base)}
@@ -10,9 +10,18 @@ var __publicField = (obj, key, value) => {
10
10
  return value;
11
11
  };
12
12
  class DropDownListEditorProvider {
13
- constructor() {
13
+ constructor(editorType) {
14
14
  __publicField(this, "formEditor", "IBizDropdown");
15
15
  __publicField(this, "gridEditor", "IBizDropdown");
16
+ let componentName = "IBizDropdown";
17
+ switch (editorType) {
18
+ case "EMOJI_PICKER":
19
+ componentName = "IBizEmojiPicker";
20
+ break;
21
+ default:
22
+ }
23
+ this.formEditor = componentName;
24
+ this.gridEditor = componentName;
16
25
  }
17
26
  async createController(editorModel, parentController) {
18
27
  const c = new dropdownListEditor_controller.DropDownListEditorController(editorModel, parentController);
@@ -0,0 +1,125 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var vue3Util = require('@ibiz-template/vue3-util');
5
+ var core = require('@ibiz-template/core');
6
+ require('./ibiz-emoji-picker.css');
7
+
8
+ "use strict";
9
+ function _isSlot(s) {
10
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
11
+ }
12
+ const IBizEmojiPicker = /* @__PURE__ */ vue.defineComponent({
13
+ name: "IBizEmojiPicker",
14
+ props: vue3Util.getDropdownProps(),
15
+ emits: vue3Util.getEditorEmits(),
16
+ setup(props, {
17
+ emit
18
+ }) {
19
+ const ns = vue3Util.useNamespace("emoji-picker");
20
+ const c = props.controller;
21
+ const emoji = vue.ref("");
22
+ const visible = vue.ref(false);
23
+ const onAddEmoji = (e) => {
24
+ e.stopPropagation();
25
+ e.preventDefault();
26
+ visible.value = true;
27
+ };
28
+ const onClearEmoji = (e) => {
29
+ e.stopPropagation();
30
+ e.preventDefault();
31
+ emoji.value = "";
32
+ visible.value = false;
33
+ emit("change", "");
34
+ };
35
+ const onSelect = (val) => {
36
+ emoji.value = val.data;
37
+ visible.value = false;
38
+ emit("change", core.strToBase64(val.data));
39
+ };
40
+ vue.watch(() => props.value, (newVal) => {
41
+ emoji.value = newVal ? core.base64ToStr(newVal) : "";
42
+ }, {
43
+ immediate: true
44
+ });
45
+ const renderButtonContent = () => {
46
+ let content = vue.createVNode("span", {
47
+ "class": [ns.e("button-content")],
48
+ "onClick": onAddEmoji
49
+ }, [vue.createVNode("svg", {
50
+ "class": ns.em("button-content", "icon"),
51
+ "viewBox": "0 0 1040 1024",
52
+ "version": "1.1",
53
+ "xmlns": "http://www.w3.org/2000/svg",
54
+ "p-id": "1490",
55
+ "width": "1em",
56
+ "height": "1em"
57
+ }, [vue.createVNode("path", {
58
+ "d": "M512.075261 1024A511.774217 511.774217 0 1 1 730.482434 48.769072a37.630457 37.630457 0 1 1-32.061149 68.035867 436.513303 436.513303 0 1 0 250.468323 395.270322 37.630457 37.630457 0 0 1 75.260914 0 512.526826 512.526826 0 0 1-512.075261 511.924739z",
59
+ "p-id": "1491"
60
+ }, null), vue.createVNode("path", {
61
+ "d": "M333.857416 344.0929a57.348817 57.348817 0 1 0 57.348817 57.348817 57.499339 57.499339 0 0 0-57.348817-57.348817zM686.53006 344.0929a57.348817 57.348817 0 1 0 57.348817 57.348817 57.348817 57.348817 0 0 0-57.348817-57.348817zM515.236219 783.165074c-162.864619 0-262.359547-141.942084-262.359547-219.159782a30.104366 30.104366 0 0 1 60.208731 0c0 48.618551 76.314567 158.951051 202.150816 158.951051s193.571072-134.114949 193.571072-158.951051a30.104366 30.104366 0 0 1 60.208731 0c0 54.488902-90.012054 219.159782-253.779803 219.159782zM1009.549904 207.720123h-67.132735V139.985301a30.104366 30.104366 0 1 0-60.208732 0v67.734822h-67.734822a30.104366 30.104366 0 0 0-30.104366 30.104366 30.104366 30.104366 0 0 0 30.104366 30.104366h67.734822v67.734823a30.104366 30.104366 0 0 0 60.208732 0v-67.734823h67.734823a30.104366 30.104366 0 0 0 30.104365-30.104366 30.104366 30.104366 0 0 0-30.706453-30.104366z",
62
+ "p-id": "1492"
63
+ }, null)]), ibiz.i18n.t("editor.emojiPicker.addEmoji")]);
64
+ if (emoji.value) {
65
+ content = vue.createVNode("span", {
66
+ "class": [ns.e("button-content")]
67
+ }, [vue.createVNode("svg", {
68
+ "class": ns.em("button-content", "icon"),
69
+ "xmlns": "http://www.w3.org/2000/svg",
70
+ "viewBox": "0 0 1024 1024",
71
+ "width": "1em",
72
+ "height": "1em",
73
+ "onClick": onClearEmoji
74
+ }, [vue.createVNode("path", {
75
+ "d": "M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"
76
+ }, null)]), vue.createVNode("span", {
77
+ "innerHTML": emoji.value
78
+ }, null)]);
79
+ }
80
+ return content;
81
+ };
82
+ const renderReference = () => {
83
+ let _slot;
84
+ return vue.createVNode(vue.resolveComponent("el-button"), {
85
+ "class": [ns.e("button"), ns.is("clear", !!emoji.value)]
86
+ }, _isSlot(_slot = renderButtonContent()) ? _slot : {
87
+ default: () => [_slot]
88
+ });
89
+ };
90
+ return {
91
+ ns,
92
+ c,
93
+ emoji,
94
+ visible,
95
+ onSelect,
96
+ onAddEmoji,
97
+ onClearEmoji,
98
+ renderReference
99
+ };
100
+ },
101
+ render() {
102
+ return vue.createVNode("div", {
103
+ "class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : ""]
104
+ }, [vue.createVNode(vue.resolveComponent("el-popover"), {
105
+ "trigger": "click",
106
+ "placement": "bottom-start",
107
+ "width": "auto",
108
+ "visible": this.visible,
109
+ "onUpdate:visible": ($event) => this.visible = $event,
110
+ "hide-after": 0,
111
+ "popper-class": [this.ns.b("popper")]
112
+ }, {
113
+ reference: () => this.renderReference(),
114
+ default: () => {
115
+ return vue.createVNode(vue.resolveComponent("iBizEmojiSelect"), {
116
+ "continuousList": true,
117
+ "dark": true,
118
+ "onSelect": this.onSelect
119
+ }, null);
120
+ }
121
+ })]);
122
+ }
123
+ });
124
+
125
+ exports.IBizEmojiPicker = IBizEmojiPicker;
@@ -0,0 +1 @@
1
+ .ibiz-emoji-picker{display:flex;align-items:center;width:100%;height:100%}.ibiz-emoji-picker__button-content{display:flex;align-items:center;min-height:var(--ibiz-height-control-default)}.ibiz-emoji-picker__button-content--icon{margin-right:var(--ibiz-spacing-extra-tight);fill:var(--ibiz-color-primary-text)}.ibiz-emoji-picker__button.is-clear{position:relative;padding:var(--ibiz-spacing-none);padding-right:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-header-3);color:var(--ibiz-color-text-0);background-color:transparent}.ibiz-emoji-picker__button.is-clear:hover .ibiz-emoji-picker__button-content--icon{display:block}.ibiz-emoji-picker__button.is-clear .ibiz-emoji-picker__button-content--icon{position:absolute;top:0;right:0;display:none;margin-right:0;font-size:var(--ibiz-font-size-regular);fill:var(--ibiz-color-text-3)}.ibiz-emoji-picker__button.is-clear .ibiz-emoji-picker__button-content--icon:hover{fill:var(--ibiz-color-primary)}.ibiz-emoji-picker--readonly{display:flex;align-items:center;font-size:var(--ibiz-font-size-header-3);line-height:32px}.ibiz-emoji-picker--readonly .ibiz-emoji-picker__button{pointer-events:none}.ibiz-emoji-picker--readonly .is-clear .ibiz-emoji-picker__button-content--icon{display:none}.ibiz-emoji-picker-popper.el-popper.el-popper{width:auto;padding:0}
@@ -1,11 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var ibizDropdown = require('./ibiz-dropdown/ibiz-dropdown.cjs');
4
+ var ibizEmojiPicker = require('./ibiz-emoji-picker/ibiz-emoji-picker.cjs');
4
5
  var dropdownListEditor_controller = require('./dropdown-list-editor.controller.cjs');
5
6
  var dropdownListEditor_provider = require('./dropdown-list-editor.provider.cjs');
6
7
 
7
8
  "use strict";
8
9
 
9
10
  exports.IBizDropdown = ibizDropdown.IBizDropdown;
11
+ exports.IBizEmojiPicker = ibizEmojiPicker.IBizEmojiPicker;
10
12
  exports.DropDownListEditorController = dropdownListEditor_controller.DropDownListEditorController;
11
13
  exports.DropDownListEditorProvider = dropdownListEditor_provider.DropDownListEditorProvider;
@@ -38,6 +38,7 @@ var input = require('./text-box/input/input.cjs');
38
38
  var ibizInputNumber = require('./text-box/ibiz-input-number/ibiz-input-number.cjs');
39
39
  var ibizInputIp = require('./text-box/ibiz-input-ip/ibiz-input-ip.cjs');
40
40
  var ibizDropdown = require('./dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs');
41
+ var ibizEmojiPicker = require('./dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.cjs');
41
42
  var ibizCheckbox = require('./check-box/ibiz-checkbox/ibiz-checkbox.cjs');
42
43
  var ibizCheckboxList = require('./check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs');
43
44
  var ibizRadio = require('./radio-button-list/ibiz-radio/ibiz-radio.cjs');
@@ -104,6 +105,7 @@ const IBizEditor = {
104
105
  v.component(ibizInputNumber.IBizInputNumber.name, ibizInputNumber.IBizInputNumber);
105
106
  v.component(ibizInputIp.IBizInputIP.name, ibizInputIp.IBizInputIP);
106
107
  v.component(ibizDropdown.IBizDropdown.name, ibizDropdown.IBizDropdown);
108
+ v.component(ibizEmojiPicker.IBizEmojiPicker.name, ibizEmojiPicker.IBizEmojiPicker);
107
109
  v.component(ibizCheckbox.IBizCheckbox.name, ibizCheckbox.IBizCheckbox);
108
110
  v.component(ibizCheckboxList.IBizCheckboxList.name, ibizCheckboxList.IBizCheckboxList);
109
111
  v.component(ibizRadio.IBizRadio.name, ibizRadio.IBizRadio);
@@ -174,6 +176,10 @@ const IBizEditor = {
174
176
  "MDROPDOWNLIST",
175
177
  () => new dropdownListEditor_provider.DropDownListEditorProvider()
176
178
  );
179
+ runtime.registerEditorProvider(
180
+ "DROPDOWNLIST_EMOJI_PICKER",
181
+ () => new dropdownListEditor_provider.DropDownListEditorProvider("EMOJI_PICKER")
182
+ );
177
183
  runtime.registerEditorProvider("CHECKBOX", () => new checkBoxEditor_provider.CheckBoxEditorProvider());
178
184
  runtime.registerEditorProvider(
179
185
  "CHECKBOXLIST",
@@ -467,6 +467,17 @@ var index = {
467
467
  },
468
468
  actionToolbar: {
469
469
  more: "More"
470
+ },
471
+ emojiSelect: {
472
+ frequently: "Frequently",
473
+ peoples: "Peoples",
474
+ nature: "Nature",
475
+ foods: "Foods",
476
+ activity: "Activity",
477
+ objects: "Objects",
478
+ places: "Places",
479
+ symbols: "Symbols",
480
+ flags: "Flags"
470
481
  }
471
482
  },
472
483
  // 编辑器
@@ -515,6 +526,9 @@ var index = {
515
526
  fileSizeErr: "The file size cannot exceed",
516
527
  uploadJsonFormatErr: "The configuration of uploadparams did not follow the standard JSON format",
517
528
  exportJsonFormatErr: "The configuration of exportparams did not follow the standard JSON format"
529
+ },
530
+ emojiPicker: {
531
+ addEmoji: "Add emoji"
518
532
  }
519
533
  },
520
534
  panelComponent: {
@@ -463,6 +463,17 @@ var index = {
463
463
  },
464
464
  actionToolbar: {
465
465
  more: "\u66F4\u591A"
466
+ },
467
+ emojiSelect: {
468
+ frequently: "\u5E38\u7528",
469
+ peoples: "\u60C5\u7EEA",
470
+ nature: "\u81EA\u7136",
471
+ foods: "\u98DF\u7269\u4E0E\u996E\u6599",
472
+ activity: "\u6D3B\u52A8",
473
+ objects: "\u5BF9\u8C61",
474
+ places: "\u65C5\u884C\u4E0E\u5730\u65B9",
475
+ symbols: "\u7B26\u53F7",
476
+ flags: "\u65D7\u5E1C"
466
477
  }
467
478
  },
468
479
  // 编辑器
@@ -511,6 +522,9 @@ var index = {
511
522
  fileSizeErr: "\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC7",
512
523
  uploadJsonFormatErr: "\u914D\u7F6Euploadparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F",
513
524
  exportJsonFormatErr: "\u914D\u7F6Eexportparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
525
+ },
526
+ emojiPicker: {
527
+ addEmoji: "\u6DFB\u52A0\u8868\u60C5"
514
528
  }
515
529
  },
516
530
  panelComponent: {
@@ -60,6 +60,7 @@ class NavTabsController extends runtime.PanelItemController {
60
60
  const findItem = this.findTabItem(key);
61
61
  if (findItem) {
62
62
  Object.assign(findItem, ramda.reject(ramda.isNil, info));
63
+ this.refreshItemUI();
63
64
  } else {
64
65
  this.state.tabItems.push({ key, ...info });
65
66
  this.state.activeTab = this.state.currentKey;
@@ -118,6 +119,24 @@ class NavTabsController extends runtime.PanelItemController {
118
119
  (_a = this.navPos) == null ? void 0 : _a.closeViewByKeys(removeKeys);
119
120
  }
120
121
  }
122
+ /**
123
+ * 刷新项(解决主信息更新之后界面ui未刷新)
124
+ *
125
+ * @author tony001
126
+ * @date 2024-06-28 08:06:11
127
+ */
128
+ refreshItemUI() {
129
+ const tempItem = {
130
+ key: "exampleItem",
131
+ caption: ""
132
+ };
133
+ this.state.tabItems.push(tempItem);
134
+ this.state.activeTab = tempItem.key;
135
+ setTimeout(() => {
136
+ this.state.tabItems.pop();
137
+ this.state.activeTab = this.state.tabItems[this.state.tabItems.length - 1].key;
138
+ }, 100);
139
+ }
121
140
  }
122
141
 
123
142
  exports.NavTabsController = NavTabsController;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.7.26-alpha.3",
3
+ "version": "0.7.26",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -30,15 +30,15 @@
30
30
  "@floating-ui/dom": "^1.5.3",
31
31
  "@ibiz-template-plugin/ai-chat": "^0.0.5",
32
32
  "@ibiz-template-plugin/gantt": "0.1.8-alpha.6",
33
- "@ibiz-template-plugin/bi-report": "0.0.3",
34
- "@ibiz-template/core": "0.7.25",
33
+ "@ibiz-template-plugin/bi-report": "0.0.5",
34
+ "@ibiz-template/core": "0.7.26",
35
35
  "@ibiz-template/devtool": "0.0.1-dev.6",
36
- "@ibiz-template/model-helper": "0.7.26-alpha.2",
37
- "@ibiz-template/runtime": "0.7.26-alpha.2",
36
+ "@ibiz-template/model-helper": "0.7.26",
37
+ "@ibiz-template/runtime": "0.7.26",
38
38
  "@ibiz-template/theme": "^0.7.0",
39
- "@ibiz-template/vue3-util": "0.7.26-alpha.2",
39
+ "@ibiz-template/vue3-util": "0.7.26",
40
40
  "@ibiz-template/web-theme": "^1.1.18",
41
- "@ibiz/model-core": "^0.1.37",
41
+ "@ibiz/model-core": "^0.1.40",
42
42
  "@imengyu/vue3-context-menu": "^1.3.5",
43
43
  "@monaco-editor/loader": "^1.4.0",
44
44
  "@wangeditor/editor": "^5.1.23",
@@ -102,7 +102,7 @@
102
102
  "@ibiz-template/runtime": "^0.7.0",
103
103
  "@ibiz-template/theme": "^0.7.0",
104
104
  "@ibiz-template/vue3-util": "^0.7.0",
105
- "@ibiz/model-core": "^0.1.37",
105
+ "@ibiz/model-core": "^0.1.40",
106
106
  "@imengyu/vue3-context-menu": "^1.3.3",
107
107
  "@monaco-editor/loader": "^1.3.3",
108
108
  "@wangeditor/editor": "^5.1.23",