@ibiz-template/vue3-components 0.7.17-alpha.0 → 0.7.18

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 (70) hide show
  1. package/dist/index-OCVoltZS.js +1 -0
  2. package/dist/index-XL5qUYeQ.js +1 -0
  3. package/dist/index-iWPyEUNq.js +4 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{xlsx-util-GyD7bt4p.js → xlsx-util-wSE1X5Fm.js} +1 -1
  7. package/es/common/action-toolbar/action-toolbar.mjs +25 -6
  8. package/es/control/app-menu/app-menu.css +1 -1
  9. package/es/control/app-menu/app-menu.d.ts +4 -0
  10. package/es/control/app-menu/app-menu.mjs +73 -15
  11. package/es/control/app-menu/custom-menu-design/custom-menu-design.css +1 -0
  12. package/es/control/app-menu/custom-menu-design/custom-menu-design.d.ts +43 -0
  13. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +275 -0
  14. package/es/control/app-menu/index.d.ts +4 -0
  15. package/es/control/app-menu/index.mjs +2 -0
  16. package/es/control/gantt/gantt.d.ts +5 -1
  17. package/es/control/gantt/gantt.mjs +41 -13
  18. package/es/control/gantt/index.d.ts +4 -1
  19. package/es/control/kanban/kanban.css +1 -1
  20. package/es/control/kanban/kanban.mjs +2 -2
  21. package/es/control/toolbar/toolbar.css +1 -1
  22. package/es/control/toolbar/toolbar.mjs +1 -0
  23. package/es/control/tree/el-tree-util.d.ts +1 -1
  24. package/es/control/tree/index.d.ts +1 -1
  25. package/es/control/tree/tree.d.ts +1 -1
  26. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -1
  27. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -1
  28. package/es/editor/upload/upload-editor.controller.d.ts +7 -0
  29. package/es/editor/upload/upload-editor.controller.mjs +13 -3
  30. package/es/editor/upload/use/use-iview-upload.d.ts +2 -1
  31. package/es/editor/upload/use/use-iview-upload.mjs +9 -1
  32. package/es/locale/en/index.d.ts +12 -0
  33. package/es/locale/en/index.mjs +14 -2
  34. package/es/locale/zh-CN/index.d.ts +12 -0
  35. package/es/locale/zh-CN/index.mjs +14 -2
  36. package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  37. package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +1 -1
  38. package/es/panel-component/auth-userinfo/auth-userinfo.mjs +6 -6
  39. package/es/panel-component/auth-userinfo/index.d.ts +1 -1
  40. package/es/panel-component/index-actions/index-actions.css +1 -1
  41. package/es/panel-component/index-actions/index-actions.mjs +5 -8
  42. package/es/panel-component/panel-app-title/panel-app-title.controller.mjs +3 -1
  43. package/es/panel-component/panel-app-title/panel-app-title.css +1 -1
  44. package/es/panel-component/panel-app-title/panel-app-title.mjs +42 -22
  45. package/lib/common/action-toolbar/action-toolbar.cjs +25 -6
  46. package/lib/control/app-menu/app-menu.cjs +73 -15
  47. package/lib/control/app-menu/app-menu.css +1 -1
  48. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +277 -0
  49. package/lib/control/app-menu/custom-menu-design/custom-menu-design.css +1 -0
  50. package/lib/control/app-menu/index.cjs +2 -0
  51. package/lib/control/gantt/gantt.cjs +41 -13
  52. package/lib/control/kanban/kanban.cjs +2 -2
  53. package/lib/control/kanban/kanban.css +1 -1
  54. package/lib/control/toolbar/toolbar.cjs +1 -0
  55. package/lib/control/toolbar/toolbar.css +1 -1
  56. package/lib/editor/upload/upload-editor.controller.cjs +13 -3
  57. package/lib/editor/upload/use/use-iview-upload.cjs +9 -1
  58. package/lib/locale/en/index.cjs +14 -2
  59. package/lib/locale/zh-CN/index.cjs +14 -2
  60. package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +6 -6
  61. package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
  62. package/lib/panel-component/index-actions/index-actions.cjs +5 -8
  63. package/lib/panel-component/index-actions/index-actions.css +1 -1
  64. package/lib/panel-component/panel-app-title/panel-app-title.cjs +42 -22
  65. package/lib/panel-component/panel-app-title/panel-app-title.controller.cjs +3 -1
  66. package/lib/panel-component/panel-app-title/panel-app-title.css +1 -1
  67. package/package.json +6 -6
  68. package/dist/index-PC3JcJ3h.js +0 -4
  69. package/dist/index-d8pCzmlk.js +0 -1
  70. package/dist/index-tSpp-ef8.js +0 -1
@@ -2,6 +2,7 @@ import { ref, resolveComponent, getCurrentInstance, onMounted, computed, createV
2
2
  import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { GanttController } from '@ibiz-template/runtime';
4
4
  import dayjs from 'dayjs';
5
+ import { findNodeData, formatNodeDropType } from '../tree/el-tree-util.mjs';
5
6
  import './gantt.css';
6
7
 
7
8
  "use strict";
@@ -84,8 +85,15 @@ const GanttControl = /* @__PURE__ */ defineComponent({
84
85
  return false;
85
86
  });
86
87
  const data = computed(() => {
87
- var _a2;
88
- return c.model.rootVisible ? c.state.rootNodes : (_a2 = c.state.rootNodes[0]) == null ? void 0 : _a2._children;
88
+ if (!c.state.isLoaded) {
89
+ return [];
90
+ }
91
+ return c.model.rootVisible ? c.state.rootNodes : c.state.rootNodes.reduce((result, nodeData) => {
92
+ if (nodeData._children) {
93
+ return result.concat(nodeData._children);
94
+ }
95
+ return result;
96
+ }, []);
89
97
  });
90
98
  const columns = computed(() => {
91
99
  const columnsModel = [];
@@ -142,20 +150,30 @@ const GanttControl = /* @__PURE__ */ defineComponent({
142
150
  c.refreshNodeChildren(nodeData);
143
151
  }
144
152
  };
145
- c.evt.on("onDefaultExpand", (event) => {
146
- if (ganttRef.value) {
147
- ganttRef.value.refresh();
148
- }
153
+ c.evt.on("onNewRow", (event) => {
154
+ var _a2;
155
+ const nodeData = event.row.data;
156
+ (_a2 = ganttRef.value) == null ? void 0 : _a2.setExpand(nodeData);
149
157
  });
150
158
  const onNodeCollapse = (nodeData) => {
151
159
  c.onExpandChange(nodeData, false);
152
160
  };
153
- c.evt.on("onNewRow", (event) => {
154
- if (ganttRef.value) {
155
- const nodeData = event.row.data;
156
- ganttRef.value.setExpand(nodeData);
157
- }
158
- });
161
+ const allowDrop = (draggingNode, dropNode, type) => {
162
+ const draggingNodeData = findNodeData(draggingNode._uuid, c);
163
+ const dropNodeData = findNodeData(dropNode._uuid, c);
164
+ const result = c.calcAllowDrop(draggingNodeData, dropNodeData, type);
165
+ return result;
166
+ };
167
+ const allowDrag = (draggingNode) => {
168
+ const nodeData = findNodeData(draggingNode._uuid, c);
169
+ return c.calcAllowDrag(nodeData);
170
+ };
171
+ const handleDrop = (draggingNode, dropNode, dropType) => {
172
+ const draggingNodeData = findNodeData(draggingNode._uuid, c);
173
+ const dropNodeData = findNodeData(dropNode._uuid, c);
174
+ const type = formatNodeDropType(dropType);
175
+ c.onNodeDrop(draggingNodeData, dropNodeData, type);
176
+ };
159
177
  const onSliderMove = (sliders) => {
160
178
  var _a2;
161
179
  const nodeData = (_a2 = sliders[0]) == null ? void 0 : _a2.row;
@@ -402,7 +420,10 @@ const GanttControl = /* @__PURE__ */ defineComponent({
402
420
  onNodeCollapse,
403
421
  renderContent,
404
422
  onSliderMove,
405
- renderNoData
423
+ renderNoData,
424
+ allowDrop,
425
+ allowDrag,
426
+ handleDrop
406
427
  };
407
428
  },
408
429
  render() {
@@ -425,6 +446,13 @@ const GanttControl = /* @__PURE__ */ defineComponent({
425
446
  "children": "_children",
426
447
  "leaf": "_leaf",
427
448
  "locale": this.locale,
449
+ "draggable": {
450
+ level: "all",
451
+ draggable: true
452
+ },
453
+ "allow-drop": this.allowDrop,
454
+ "allow-drag": this.allowDrag,
455
+ "onNodeDrop": this.handleDrop,
428
456
  "showCheckbox": !this.c.state.singleSelect,
429
457
  "onNodeExpand": this.onNodeExpand,
430
458
  "onNodeCollapse": this.onNodeCollapse,
@@ -31,7 +31,7 @@ export declare const IBizGanttControl: import("@ibiz-template/vue3-util").TypeWi
31
31
  ns: import("@ibiz-template/core").Namespace;
32
32
  ganttRef: import("vue").Ref<IData | undefined>;
33
33
  isInited: import("vue").Ref<boolean>;
34
- data: import("vue").ComputedRef<import("@ibiz-template/runtime").ITreeNodeData[] | undefined>;
34
+ data: import("vue").ComputedRef<import("@ibiz-template/runtime").ITreeNodeData[]>;
35
35
  locale: import("vue").ComputedRef<string>;
36
36
  columns: import("vue").ComputedRef<import("@ibiz/model-core").IDETreeColumn[]>;
37
37
  onCheck: (state: boolean, item: import("@ibiz-template/runtime").IGanttNodeData) => void;
@@ -51,6 +51,9 @@ export declare const IBizGanttControl: import("@ibiz-template/vue3-util").TypeWi
51
51
  renderNoData: () => false | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
52
52
  [key: string]: any;
53
53
  }>;
54
+ allowDrop: (draggingNode: import("@ibiz-template/runtime").IGanttNodeData, dropNode: import("@ibiz-template/runtime").IGanttNodeData, type: import("element-plus/es/components/tree/src/tree.type").AllowDropType) => boolean;
55
+ allowDrag: (draggingNode: import("@ibiz-template/runtime").IGanttNodeData) => boolean;
56
+ handleDrop: (draggingNode: import("@ibiz-template/runtime").IGanttNodeData, dropNode: import("@ibiz-template/runtime").IGanttNodeData, dropType: import("element-plus/es/components/tree/src/tree.type").NodeDropType) => void;
54
57
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
55
58
  modelData: {
56
59
  type: import("vue").PropType<import("@ibiz/model-core").IDEGantt>;
@@ -1 +1 @@
1
- .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--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:0}.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(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);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;border-radius:100px}.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:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{position:relative;z-index:100;width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.ibiz-control-kanban-group__header-actions:hover{background-color:var(--ibiz-color-fill-0)}.ibiz-control-kanban-group__actions-dropdown{padding:var(--ibiz-spacing-extra-tight) 0}.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:0;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+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
1
+ .ibiz-control-kanban{--ibiz-control-kanban-text-color:var(--ibiz-color-text-0);--ibiz-control-kanban-font-size:var(--ibiz-font-size-regular);--ibiz-control-kanban-font-weight:var(--ibiz-font-weight-bold);--ibiz-control-kanban-hover-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-selected-bg-color:var(--ibiz-color-fill-0);--ibiz-control-kanban-group-header-height:48px;width:100%;height:100%}.ibiz-control-kanban--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:0}.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(35px,0)}.ibiz-control-kanban--column .ibiz-control-kanban-group-container{display:flex;flex-direction:column}.ibiz-control-kanban--column .ibiz-control-kanban-group-container>*+*{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse{width:100%}.ibiz-control-kanban--column .ibiz-control-kanban-group.is-collapse ion-icon{transform:rotate(-90deg)}.ibiz-control-kanban-group-container{width:100%;height:100%}.ibiz-control-kanban-group{display:flex;flex-flow:column nowrap;flex-shrink:0;border:1px solid var(--ibiz-color-border);border-radius:4px;transition:all .3s}.ibiz-control-kanban-group__header{position:relative;height:var(--ibiz-control-kanban-group-header-height);padding:0 var(--ibiz-spacing-base);font-size:var(--ibiz-control-kanban-font-size);font-weight:var(--ibiz-control-kanban-font-weight);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;border-radius:100px}.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:0 var(--ibiz-spacing-tight);overflow:auto}.ibiz-control-kanban-group__draggable{min-height:100%;padding:var(--ibiz-spacing-base) 0}.ibiz-control-kanban-group__list.is-empty .ibiz-control-kanban__quicktoolbar{position:absolute;top:50%;width:calc(100% - var(--ibiz-spacing-base));transform:translateY(86px)}.ibiz-control-kanban-group__list.is-empty .ibiz-control-toolbar__item{justify-content:center}.ibiz-control-kanban-group__header-actions{position:relative;z-index:100;width:32px;height:32px;padding:var(--ibiz-spacing-tight);margin-left:4px;font-size:var(--ibiz-control-kanban-font-size);color:var(--ibiz-color-primary);cursor:pointer;border-radius:50%}.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) 0}.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:0;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+.ibiz-control-kanban-item{margin-top:var(--ibiz-spacing-base)}.ibiz-control-kanban{position:relative;padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-base))}.ibiz-control-kanban__quicktoolbar{display:flex;flex-flow:column nowrap;margin-bottom:var(--ibiz-spacing-base)}.ibiz-control-kanban__quicktoolbar>*+*{margin-top:var(--ibiz-spacing-tight)}.ibiz-control-kanban__full-btn{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;width:var(--ibiz-control-kanban-group-header-height);height:var(--ibiz-control-kanban-group-header-height);font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-font-weight-regular);color:var(--ibiz-color-primary);background-color:var(--ibiz-color-bg-2);border:1px solid var(--ibiz-color-border)}.ibiz-control-kanban.is-full{padding:var(--ibiz-spacing-base);padding-right:calc(var(--ibiz-control-kanban-group-header-height) + var(--ibiz-spacing-extra-loose));background-color:var(--ibiz-color-bg-2)}.ibiz-control-kanban.is-full .ibiz-control-kanban__full-btn{top:var(--ibiz-spacing-base);right:var(--ibiz-spacing-base)}.ibiz-control-kanban-batch{padding:var(--ibiz-spacing-base-tight);border-bottom:1px solid var(--ibiz-color-border)}.ibiz-control-kanban-batch__toolbar .ibiz-control-toolbar{flex-wrap:wrap;row-gap:var(--ibiz-spacing-tight)}.ibiz-control-kanban-batch__check{display:flex;align-items:center;justify-content:space-between;margin-top:var(--ibiz-spacing-base-tight);font-size:var(--ibiz-font-size-regular)}.ibiz-control-kanban-batch__info span{margin:0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary)}
@@ -286,7 +286,7 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
286
286
  return createVNode("span", {
287
287
  "class": ns.be("group", "header-right"),
288
288
  "onClick": (event) => stopPropagation(event)
289
- }, [c.enableNew && createVNode(resolveComponent("el-button"), {
289
+ }, [c.enableNew && !c.state.readonly && createVNode(resolveComponent("el-button"), {
290
290
  "class": ns.be("group", "header-new"),
291
291
  "text": true,
292
292
  "circle": true,
@@ -359,7 +359,7 @@ const KanbanControl = /* @__PURE__ */ defineComponent({
359
359
  "modelValue": group.children,
360
360
  "group": c.model.id,
361
361
  "itemKey": "srfkey",
362
- "disabled": disabled.value,
362
+ "disabled": disabled.value || c.state.readonly,
363
363
  "onChange": (evt) => onChange(evt, group.key)
364
364
  }, {
365
365
  item: ({
@@ -1 +1 @@
1
- @charset "UTF-8";.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;--ibiz-control-toolbar-text-margin:0 0 0 var(--ibiz-spacing-extra-tight);display:flex;align-items:center}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin);overflow:hidden}.ibiz-control-toolbar__item .el-button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding)}.ibiz-control-toolbar__item .el-button>span{display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar__item.is-loading .el-button .ibiz-icon{display:none}.ibiz-control-toolbar__item-separator{color:var(--ibiz-control-toolbar-separator-color)}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-toolbar__menu.el-menu{height:var(--ibiz-control-toolbar-menu-height);margin:var(--ibiz-control-toolbar-item-margin);border:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title{display:flex;align-items:center;justify-content:center;padding:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary);border-bottom:none;border-radius:var(--ibiz-border-radius-small)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span{display:flex;align-items:center;justify-content:center;font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span{display:flex;align-items:center;justify-content:center;line-height:1}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;--ibiz-control-toolbar-text-margin:0 0 0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title{padding:0 10px;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu-rawitem{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item.is-active{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .el-button{justify-content:flex-start;width:100%;padding:0;--el-button-active-bg-color:transparent;--el-button-hover-bg-color:transparent;--el-button-bg-color:transparent;--el-mask-color-extra-light:transparent}
1
+ @charset "UTF-8";.ibiz-control-toolbar{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;--ibiz-control-toolbar-text-margin:0 0 0 var(--ibiz-spacing-extra-tight);display:flex;align-items:center}.ibiz-control-toolbar__item{display:flex;align-items:center;margin:var(--ibiz-control-toolbar-item-margin);overflow:hidden}.ibiz-control-toolbar__item .el-button{display:flex;align-items:center;justify-content:center;padding:var(--ibiz-control-toolbar-item-padding)}.ibiz-control-toolbar__item .el-button>span{display:flex;align-items:center;justify-content:center;pointer-events:none;font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar__item .el-button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar__item.is-loading .el-button .ibiz-icon{display:none}.ibiz-control-toolbar__item-separator{color:var(--ibiz-control-toolbar-separator-color)}.ibiz-control-toolbar__item-separator+.ibiz-control-toolbar__item-separator,.ibiz-control-toolbar__item-separator:first-child{display:none}.ibiz-control-toolbar__menu.el-menu{height:var(--ibiz-control-toolbar-menu-height);margin:var(--ibiz-control-toolbar-item-margin);border:none}.ibiz-control-toolbar__menu .el-sub-menu.is-disabled .el-sub-menu__title{opacity:1}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title{display:flex;align-items:center;justify-content:center;padding:0;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary);border-bottom:none;border-radius:var(--ibiz-border-radius-small)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span{display:flex;align-items:center;justify-content:center;font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title .el-button>span .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title>span{display:flex;align-items:center;justify-content:center;line-height:1}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar__menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper{--ibiz-control-toolbar-item-margin:0 var(--ibiz-spacing-extra-tight);--ibiz-control-toolbar-item-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-control-toolbar-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-icon-max-height:var(--ibiz-width-icon-medium);--ibiz-control-toolbar-separator-color:var(--ibiz-color-fill-2);--ibiz-control-toolbar-menu-height:32px;--ibiz-control-toolbar-text-margin:0 0 0 var(--ibiz-spacing-extra-tight);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .el-sub-menu.is-disabled .el-sub-menu__title{opacity:1}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title{padding:0 10px;font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text);background-color:var(--ibiz-color-primary)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu .el-sub-menu__title:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu.is-active .el-sub-menu__title{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .ibiz-control-toolbar-submenu-rawitem{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item{font-size:var(--ibiz-font-size-regular);color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon{display:flex;align-items:center;justify-content:center;width:var(--ibiz-control-toolbar-icon-max-width);height:var(--ibiz-control-toolbar-icon-max-height)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon .ibiz-icon{display:flex;align-items:center;justify-content:center}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon i{font-size:var(--ibiz-font-size-regular)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon img{display:inline-block;width:100%;height:100%}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .ibiz-toolbar-item-icon+.ibiz-toolbar-item-text{margin:var(--ibiz-control-toolbar-text-margin)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item.is-active{color:var(--ibiz-color-primary-text)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item:hover{color:var(--ibiz-color-primary-hover-text);background-color:var(--ibiz-color-primary-hover)}.ibiz-control-toolbar-submenu-popper .el-menu .el-menu-item .el-button{justify-content:flex-start;width:100%;padding:0;--el-button-active-bg-color:transparent;--el-button-hover-bg-color:transparent;--el-button-bg-color:transparent;--el-mask-color-extra-light:transparent}
@@ -99,6 +99,7 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
99
99
  return createVNode(resolveComponent("el-sub-menu"), {
100
100
  "class": [ns.b("submenu"), ns.em("item", groupButtonStyle.toLowerCase()), calcCssName(item)],
101
101
  "index": item.id,
102
+ "disabled": pdisabled,
102
103
  "title": item.tooltip,
103
104
  "popper-class": [ns.b("submenu-popper"), ns.bm("submenu-popper", toolbarStyle), ns.em("submenu-popper", groupButtonStyle.toLowerCase()), ns.bm("submenu-popper", calcCssName(item))]
104
105
  }, {
@@ -51,11 +51,11 @@ export declare function useElTreeUtil(treeRef: Ref<InstanceType<typeof ElTree> |
51
51
  readonly icon?: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
52
52
  readonly load?: import("element-plus/es/components/tree/src/tree.type").LoadFunction | undefined;
53
53
  readonly emptyText?: string | undefined;
54
+ readonly renderContent?: Function | undefined;
54
55
  readonly nodeKey?: string | undefined;
55
56
  readonly defaultCheckedKeys?: import("element-plus/es/components/tree/src/tree.type").TreeKey[] | undefined;
56
57
  readonly defaultExpandedKeys?: import("element-plus/es/components/tree/src/tree.type").TreeKey[] | undefined;
57
58
  readonly currentNodeKey?: string | number | undefined;
58
- readonly renderContent?: Function | undefined;
59
59
  readonly allowDrag?: Function | undefined;
60
60
  readonly allowDrop?: Function | undefined;
61
61
  readonly filterNodeMethod?: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction | undefined;
@@ -74,11 +74,11 @@ export declare const IBizTreeControl: import("@ibiz-template/vue3-util").TypeWit
74
74
  readonly icon?: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
75
75
  readonly load?: import("element-plus/es/components/tree/src/tree.type").LoadFunction | undefined;
76
76
  readonly emptyText?: string | undefined;
77
+ readonly renderContent?: Function | undefined;
77
78
  readonly nodeKey?: string | undefined;
78
79
  readonly defaultCheckedKeys?: import("element-plus/es/components/tree/src/tree.type").TreeKey[] | undefined;
79
80
  readonly defaultExpandedKeys?: import("element-plus/es/components/tree/src/tree.type").TreeKey[] | undefined;
80
81
  readonly currentNodeKey?: string | number | undefined;
81
- readonly renderContent?: Function | undefined;
82
82
  readonly allowDrag?: Function | undefined;
83
83
  readonly allowDrop?: Function | undefined;
84
84
  readonly filterNodeMethod?: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction | undefined;
@@ -95,11 +95,11 @@ export declare const TreeControl: import("vue").DefineComponent<{
95
95
  readonly icon?: string | import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
96
96
  readonly load?: import("element-plus/es/components/tree/src/tree.type").LoadFunction | undefined;
97
97
  readonly emptyText?: string | undefined;
98
+ readonly renderContent?: Function | undefined;
98
99
  readonly nodeKey?: string | undefined;
99
100
  readonly defaultCheckedKeys?: import("element-plus/es/components/tree/src/tree.type").TreeKey[] | undefined;
100
101
  readonly defaultExpandedKeys?: import("element-plus/es/components/tree/src/tree.type").TreeKey[] | undefined;
101
102
  readonly currentNodeKey?: string | number | undefined;
102
- readonly renderContent?: Function | undefined;
103
103
  readonly allowDrag?: Function | undefined;
104
104
  readonly allowDrop?: Function | undefined;
105
105
  readonly filterNodeMethod?: import("element-plus/es/components/tree/src/tree.type").FilterNodeMethodFunction | undefined;
@@ -38,7 +38,7 @@ export declare const IBizFileUpload: import("vue").DefineComponent<{
38
38
  onError: (...args: IData[]) => never;
39
39
  onRemove: (file: IData) => void;
40
40
  onSuccess: (response: IData) => void;
41
- beforeUpload: () => void;
41
+ beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean;
42
42
  isGridEditor: import("vue").ComputedRef<boolean>;
43
43
  componentRef: import("vue").Ref<any>;
44
44
  showFormDefaultContent: import("vue").ComputedRef<boolean>;
@@ -36,7 +36,7 @@ export declare const IBizImageUpload: import("vue").DefineComponent<{
36
36
  dialogImageUrl: import("vue").Ref<string>;
37
37
  dialogVisible: import("vue").Ref<boolean>;
38
38
  noUploadIcon: import("vue").ComputedRef<boolean>;
39
- beforeUpload: () => void;
39
+ beforeUpload: (rawFile: import("element-plus").UploadRawFile) => boolean;
40
40
  onSuccess: (response: IData) => void;
41
41
  onError: (...args: IData[]) => never;
42
42
  onRemove: (file: IData) => void;
@@ -19,6 +19,13 @@ export declare class UploadEditorController extends EditorController<IFileUpload
19
19
  * 接受上传的文件类型
20
20
  */
21
21
  accept: string;
22
+ /**
23
+ * 上传的文件大小
24
+ *
25
+ * @type {number}
26
+ * @memberof UploadEditorController
27
+ */
28
+ size: number;
22
29
  /**
23
30
  * 上传参数
24
31
  */
@@ -23,6 +23,13 @@ class UploadEditorController extends EditorController {
23
23
  * 接受上传的文件类型
24
24
  */
25
25
  __publicField(this, "accept", "");
26
+ /**
27
+ * 上传的文件大小
28
+ *
29
+ * @type {number}
30
+ * @memberof UploadEditorController
31
+ */
32
+ __publicField(this, "size", 0);
26
33
  /**
27
34
  * 上传参数
28
35
  */
@@ -44,7 +51,7 @@ class UploadEditorController extends EditorController {
44
51
  this.multiple = false;
45
52
  }
46
53
  if (this.editorParams) {
47
- const { isDrag, multiple, accept, uploadParams, exportParams } = this.editorParams;
54
+ const { isDrag, multiple, accept, size, uploadParams, exportParams } = this.editorParams;
48
55
  if (isDrag) {
49
56
  this.isDrag = Boolean(isDrag);
50
57
  }
@@ -54,13 +61,16 @@ class UploadEditorController extends EditorController {
54
61
  if (accept) {
55
62
  this.accept = accept;
56
63
  }
64
+ if (size) {
65
+ this.size = Number(size);
66
+ }
57
67
  if (uploadParams) {
58
68
  try {
59
69
  this.uploadParams = JSON.parse(uploadParams);
60
70
  } catch (error) {
61
71
  throw new RuntimeModelError(
62
72
  uploadParams,
63
- "\u914D\u7F6EuploadParams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
73
+ ibiz.i18n.t("editor.upload.uploadJsonFormatErr")
64
74
  );
65
75
  }
66
76
  }
@@ -70,7 +80,7 @@ class UploadEditorController extends EditorController {
70
80
  } catch (error) {
71
81
  throw new RuntimeModelError(
72
82
  exportParams,
73
- "\u914D\u7F6EexportParams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
83
+ ibiz.i18n.t("editor.upload.exportJsonFormatErr")
74
84
  );
75
85
  }
76
86
  }
@@ -1,3 +1,4 @@
1
+ import { UploadRawFile } from 'element-plus';
1
2
  import { ComputedRef, Ref } from 'vue';
2
3
  import { UploadEditorController } from '../upload-editor.controller';
3
4
  /**
@@ -25,5 +26,5 @@ export declare function useIViewUpload(props: IParams, valueChange: (_value: str
25
26
  onError: (...args: IData[]) => never;
26
27
  onRemove: (file: IData) => void;
27
28
  onSuccess: (response: IData) => void;
28
- beforeUpload: () => void;
29
+ beforeUpload: (rawFile: UploadRawFile) => boolean;
29
30
  };
@@ -66,8 +66,16 @@ function useIViewUpload(props, valueChange, c) {
66
66
  uploadCache.cacheFiles = [];
67
67
  valueChange(value);
68
68
  };
69
- const beforeUpload = () => {
69
+ const beforeUpload = (rawFile) => {
70
+ const size = rawFile.size / 1024 / 1024;
71
+ if (c.size && size > c.size) {
72
+ ibiz.message.error(
73
+ "".concat(ibiz.i18n.t("editor.upload.fileSizeErr"), " ").concat(c.size, "MB!")
74
+ );
75
+ return false;
76
+ }
70
77
  uploadCache.count += 1;
78
+ return true;
71
79
  };
72
80
  const onSuccess = (response) => {
73
81
  if (!response) {
@@ -762,6 +762,15 @@ declare const _default: {
762
762
  noSupportAlign: string;
763
763
  noFoundModel: string;
764
764
  noFoundFunction: string;
765
+ menuSetting: string;
766
+ };
767
+ menuDesign: {
768
+ customMenu: string;
769
+ reset: string;
770
+ save: string;
771
+ visible: string;
772
+ noMenuItemModel: string;
773
+ noFoundFunction: string;
765
774
  };
766
775
  calendar: {
767
776
  lastYear: string;
@@ -975,6 +984,9 @@ declare const _default: {
975
984
  };
976
985
  upload: {
977
986
  uploadFiles: string;
987
+ fileSizeErr: string;
988
+ uploadJsonFormatErr: string;
989
+ exportJsonFormatErr: string;
978
990
  };
979
991
  };
980
992
  panelComponent: {
@@ -108,7 +108,16 @@ var index = {
108
108
  menu: {
109
109
  noSupportAlign: "The menu direction {align} is not supported temporarily",
110
110
  noFoundModel: "no find the menu item model {menuKey}",
111
- noFoundFunction: "The adapter for {menuKey} does not have a renderText method"
111
+ noFoundFunction: "The adapter for {menuKey} does not have a renderText method",
112
+ menuSetting: "Menu setting"
113
+ },
114
+ menuDesign: {
115
+ customMenu: "Custom menu",
116
+ reset: "Reset",
117
+ save: "Save",
118
+ visible: "Visible",
119
+ noMenuItemModel: "No menu item model found {menu}",
120
+ noFoundFunction: "The adapter for {menu} does not have a renderText method"
112
121
  },
113
122
  calendar: {
114
123
  lastYear: "Last year",
@@ -323,7 +332,10 @@ var index = {
323
332
  warningMessage: "Ip format verification failed, paragraph {num} ip reset to old value"
324
333
  },
325
334
  upload: {
326
- uploadFiles: "Upload files"
335
+ uploadFiles: "Upload files",
336
+ fileSizeErr: "The file size cannot exceed",
337
+ uploadJsonFormatErr: "The configuration of uploadparams did not follow the standard JSON format",
338
+ exportJsonFormatErr: "The configuration of exportparams did not follow the standard JSON format"
327
339
  }
328
340
  },
329
341
  panelComponent: {
@@ -760,6 +760,15 @@ declare const _default: {
760
760
  noSupportAlign: string;
761
761
  noFoundModel: string;
762
762
  noFoundFunction: string;
763
+ menuSetting: string;
764
+ };
765
+ menuDesign: {
766
+ customMenu: string;
767
+ reset: string;
768
+ save: string;
769
+ visible: string;
770
+ noMenuItemModel: string;
771
+ noFoundFunction: string;
763
772
  };
764
773
  calendar: {
765
774
  lastYear: string;
@@ -973,6 +982,9 @@ declare const _default: {
973
982
  };
974
983
  upload: {
975
984
  uploadFiles: string;
985
+ fileSizeErr: string;
986
+ uploadJsonFormatErr: string;
987
+ exportJsonFormatErr: string;
976
988
  };
977
989
  };
978
990
  panelComponent: {
@@ -108,7 +108,16 @@ var index = {
108
108
  menu: {
109
109
  noSupportAlign: "\u6682\u672A\u652F\u6301\u83DC\u5355\u65B9\u5411\u4E3A {align}",
110
110
  noFoundModel: "\u6CA1\u627E\u5230\u83DC\u5355\u9879\u6A21\u578B{menuKey}",
111
- noFoundFunction: "{menuKey}\u7684\u9002\u914D\u5668\u6CA1\u6709renderText\u65B9\u6CD5"
111
+ noFoundFunction: "{menuKey}\u7684\u9002\u914D\u5668\u6CA1\u6709renderText\u65B9\u6CD5",
112
+ menuSetting: "\u83DC\u5355\u8BBE\u7F6E"
113
+ },
114
+ menuDesign: {
115
+ customMenu: "\u81EA\u5B9A\u4E49\u83DC\u5355",
116
+ reset: "\u6062\u590D\u9ED8\u8BA4",
117
+ save: "\u4FDD\u5B58",
118
+ visible: "\u663E\u793A",
119
+ noMenuItemModel: "\u6CA1\u627E\u5230\u83DC\u5355\u9879\u6A21\u578B{menu}",
120
+ noFoundFunction: "{menu}\u7684\u9002\u914D\u5668\u6CA1\u6709renderText\u65B9\u6CD5"
112
121
  },
113
122
  calendar: {
114
123
  lastYear: "\u53BB\u5E74",
@@ -323,7 +332,10 @@ var index = {
323
332
  warningMessage: "ip\u683C\u5F0F\u9A8C\u8BC1\u672A\u901A\u8FC7\uFF0C\u7B2C{num}\u6BB5ip\u91CD\u7F6E\u56DE\u65E7\u503C"
324
333
  },
325
334
  upload: {
326
- uploadFiles: "\u4E0A\u4F20\u6587\u4EF6"
335
+ uploadFiles: "\u4E0A\u4F20\u6587\u4EF6",
336
+ fileSizeErr: "\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC7",
337
+ uploadJsonFormatErr: "\u914D\u7F6Euploadparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F",
338
+ exportJsonFormatErr: "\u914D\u7F6Eexportparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
327
339
  }
328
340
  },
329
341
  panelComponent: {
@@ -1 +1 @@
1
- .ibiz-user-info{--ibiz-user-info-padding:0 var(--ibiz-spacing-loose);--ibiz-user-info-color:var(--ibiz-color-text-0);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{position:relative;top:12px}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:35px}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:24px;max-height:24px}.ibiz-user-info.is-collapse .el-dropdown{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-user-info.is-collapse .ibiz-user-info-avatar{max-width:32px;max-height:32px;margin:0}.ibiz-user-info-avatar{max-width:44px;max-height:44px;margin-right:10px}.ibiz-user-info-info{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--ibiz-user-info-color)}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-font-size-header-6);line-height:1.3}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:10px;font-size:var(--ibiz-font-size-small);line-height:1.2}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:0}
1
+ .ibiz-user-info{--ibiz-user-info-padding:0 var(--ibiz-spacing-loose);--ibiz-user-info-color:var(--ibiz-color-text-0);display:flex;align-items:center;justify-content:flex-start;width:100%;height:100%}.ibiz-user-info .el-dropdown{width:100%;padding:var(--ibiz-user-info-padding);cursor:pointer}.ibiz-user-info.is-left .ibiz-user-info__down{position:relative;top:12px}.ibiz-user-info.is-left .ibiz-user-info__down.is-collapse{display:none}.ibiz-user-info.is-top .ibiz-user-info__down{margin-left:35px}.ibiz-user-info.is-top .ibiz-user-info-avatar{max-width:24px;max-height:24px}.ibiz-user-info.is-collapse .el-dropdown{padding:0 var(--ibiz-spacing-base-tight)}.ibiz-user-info.is-collapse .ibiz-user-info-avatar{max-width:24px;max-height:24px;margin:0}.ibiz-user-info-avatar{max-width:44px;max-height:44px;margin-right:10px}.ibiz-user-info-info{width:100%;display:flex;align-items:center;justify-content:space-between;color:var(--ibiz-user-info-color)}.ibiz-user-info-info.is-collapse{justify-content:center}.ibiz-user-info-name__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:var(--ibiz-font-size-header-6);line-height:1.3}.ibiz-user-info-name__person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px;margin-top:10px;font-size:var(--ibiz-font-size-small);line-height:1.2}.ibiz-user-info-label{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ibiz-user-info-font-size);color:var(--ibiz-user-info-color);outline:0}
@@ -16,7 +16,7 @@ export declare const AuthUserinfo: import("vue").DefineComponent<{
16
16
  c: PanelItemController<import("@ibiz/model-core").IPanelItem>;
17
17
  onClick: () => void;
18
18
  srfusername: any;
19
- srfpersonname: any;
19
+ loginname: any;
20
20
  router: import("vue-router").Router;
21
21
  menuAlign: import("vue").ComputedRef<string>;
22
22
  isCollapse: import("vue").ComputedRef<any>;
@@ -23,7 +23,7 @@ const AuthUserinfo = /* @__PURE__ */ defineComponent({
23
23
  const c = prop.controller;
24
24
  const {
25
25
  srfusername = ibiz.i18n.t("panelComponent.authUserinfo.visitor"),
26
- srfpersonname
26
+ loginname
27
27
  } = ((_a = ibiz.appData) == null ? void 0 : _a.context) || {};
28
28
  const router = useRouter();
29
29
  const ctx = inject("ctx", void 0);
@@ -44,7 +44,7 @@ const AuthUserinfo = /* @__PURE__ */ defineComponent({
44
44
  c,
45
45
  onClick,
46
46
  srfusername,
47
- srfpersonname,
47
+ loginname,
48
48
  router,
49
49
  menuAlign,
50
50
  isCollapse
@@ -55,7 +55,7 @@ const AuthUserinfo = /* @__PURE__ */ defineComponent({
55
55
  "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass, this.ns.is("left", this.menuAlign === "LEFT"), this.ns.is("top", this.menuAlign === "TOP"), this.ns.is("collapse", this.isCollapse)]
56
56
  }, [createVNode(resolveComponent("el-dropdown"), null, {
57
57
  default: () => createVNode("div", {
58
- "class": this.ns.b("info")
58
+ "class": [this.ns.b("info"), this.ns.is("collapse", this.isCollapse)]
59
59
  }, [createVNode("div", {
60
60
  "class": this.ns.b("label")
61
61
  }, [createVNode(resolveComponent("el-avatar"), {
@@ -65,10 +65,10 @@ const AuthUserinfo = /* @__PURE__ */ defineComponent({
65
65
  "class": this.ns.b("name")
66
66
  }, [createVNode("div", {
67
67
  "class": this.ns.be("name", "user-name")
68
- }, [this.srfusername]), this.menuAlign === "LEFT" && createVNode("div", {
68
+ }, [this.srfusername]), this.menuAlign === "LEFT" && this.loginname && createVNode("div", {
69
69
  "class": this.ns.be("name", "person-name")
70
- }, [this.srfpersonname])])]), createVNode("ion-icon", {
71
- "class": this.ns.e("down"),
70
+ }, [this.loginname])])]), createVNode("ion-icon", {
71
+ "class": [this.ns.e("down"), this.ns.is("collapse", this.isCollapse)],
72
72
  "name": "chevron-down-outline"
73
73
  }, null)]),
74
74
  dropdown: () => createVNode(resolveComponent("el-dropdown-menu"), null, {
@@ -12,7 +12,7 @@ export declare const IBizAuthUserinfo: import("@ibiz-template/vue3-util").TypeWi
12
12
  c: import("@ibiz-template/runtime").PanelItemController<import("@ibiz/model-core").IPanelItem>;
13
13
  onClick: () => void;
14
14
  srfusername: any;
15
- srfpersonname: any;
15
+ loginname: any;
16
16
  router: import("vue-router").Router;
17
17
  menuAlign: import("vue").ComputedRef<string>;
18
18
  isCollapse: import("vue").ComputedRef<any>;
@@ -1 +1 @@
1
- .ibiz-index-actions{width:100%;height:100%}.ibiz-index-actions>.ibiz-row{height:100%;overflow:visible}.ibiz-index-actions>.ibiz-row>.ibiz-col:first-child{overflow:visible}.ibiz-index-actions>.ibiz-row>.ibiz-col:first-child>.ibiz-panel-container>.ibiz-row{overflow:visible}.ibiz-index-actions.is-hidden{display:none}.ibiz-index-actions .el-button{font-size:28px}.ibiz-index-actions .el-button:hover{background-color:transparent}
1
+ .ibiz-index-actions{width:100%;height:100%}.ibiz-index-actions>.ibiz-row{height:100%;overflow:visible}.ibiz-index-actions>.ibiz-row>.ibiz-col:first-child{overflow:visible}.ibiz-index-actions>.ibiz-row>.ibiz-col:first-child>.ibiz-panel-container>.ibiz-row{overflow:visible}.ibiz-index-actions.is-hidden{display:none}.ibiz-index-actions.is-collapse{position:relative}.ibiz-index-actions.is-collapse::after{position:absolute;bottom:0;left:12px;width:32px;height:1px;content:"";background-color:var(--ibiz-color-primary-light-active);opacity:.5}.ibiz-index-actions.is-collapse>.ibiz-row{flex-wrap:wrap}.ibiz-index-actions .el-button{font-size:28px}.ibiz-index-actions .el-button:hover{background-color:transparent}
@@ -23,14 +23,14 @@ const IndexActions = /* @__PURE__ */ defineComponent({
23
23
  const {
24
24
  id
25
25
  } = props.modelData;
26
+ const isCollapse = computed(() => {
27
+ return props.controller.panel.view.state.isCollapse;
28
+ });
26
29
  const classArr = computed(() => {
27
30
  let result = [ns.b(), ns.m(id)];
28
- result = [...result, ...props.controller.containerClass, ns.is("hidden", !props.controller.state.visible)];
31
+ result = [...result, ...props.controller.containerClass, ns.is("hidden", !props.controller.state.visible), ns.is("collapse", isCollapse.value)];
29
32
  return result;
30
33
  });
31
- const isCollapse = computed(() => {
32
- return props.controller.panel.view.state.isCollapse;
33
- });
34
34
  return {
35
35
  ns,
36
36
  classArr,
@@ -40,10 +40,7 @@ const IndexActions = /* @__PURE__ */ defineComponent({
40
40
  render() {
41
41
  var _a, _b;
42
42
  let _slot;
43
- let defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
44
- if (this.isCollapse) {
45
- defaultSlots = [defaultSlots[0]];
46
- }
43
+ const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
47
44
  const content = createVNode(resolveComponent("iBizRow"), {
48
45
  "slot": "content",
49
46
  "layout": this.modelData.layout
@@ -35,7 +35,9 @@ class PanelAppTitleController extends PanelItemController {
35
35
  if (indexViewModel.title) {
36
36
  document.title = indexViewModel.title;
37
37
  }
38
- if (indexViewModel.appIconPath) {
38
+ if (this.model.sysImage && this.model.sysImage.rawContent) {
39
+ this.state.icon = this.model.sysImage.rawContent;
40
+ } else if (indexViewModel.appIconPath) {
39
41
  this.state.icon = indexViewModel.appIconPath;
40
42
  }
41
43
  if (indexViewModel.appIconPath2) {
@@ -1 +1 @@
1
- .ibiz-panel-app-title{--ibiz-panel-app-title-color:var(--ibiz-color-text-0);--ibiz-panel-app-title-font-size:var(--ibiz-font-size-header-3);--ibiz-panel-app-title-font-weight:var(--ibiz-font-weight-bold);--ibiz-panel-app-title-padding:0 var(--ibiz-spacing-loose);--ibiz-panel-app-title-collapse-padding:0 var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:center;height:100%;padding:var(--ibiz-panel-app-title-padding);cursor:pointer}.ibiz-panel-app-title__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-panel-app-title-font-size);font-weight:700;color:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title__logo{display:flex;align-items:center;justify-content:center;height:100%;padding:0 var(--ibiz-spacing-tight);font-size:40px}.ibiz-panel-app-title__logo img{display:inline-block;width:20px;height:20px}.ibiz-panel-app-title__logo svg{fill:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title.is-only-img .ibiz-panel-app-title__logo{padding:0}.ibiz-panel-app-title.is-collapse{max-width:100%;padding:var(--ibiz-panel-app-title-collapse-padding)}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__collapse-title{width:100%}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__caption2{overflow:hidden;font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-panel-app-title-font-weight);text-align:center;white-space:nowrap}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__subCaption2{overflow:hidden;font-size:var(--ibiz-font-size-header-5);text-align:center;white-space:nowrap}
1
+ .ibiz-panel-app-title{--ibiz-panel-app-title-color:var(--ibiz-color-text-0);--ibiz-panel-app-title-font-size:var(--ibiz-font-size-header-3);--ibiz-panel-app-title-font-weight:var(--ibiz-font-weight-bold);--ibiz-panel-app-title-padding:0 var(--ibiz-spacing-loose);--ibiz-panel-app-title-collapse-padding:0 var(--ibiz-spacing-tight);display:flex;align-items:center;justify-content:center;height:100%;padding:var(--ibiz-panel-app-title-padding);cursor:pointer}.ibiz-panel-app-title__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-panel-app-title-font-size);font-weight:700;color:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title__logo{display:flex;align-items:center;justify-content:center;height:100%;padding:0 var(--ibiz-spacing-tight);font-size:40px}.ibiz-panel-app-title__logo img{display:inline-block;width:auto;height:100%}.ibiz-panel-app-title__logo svg{fill:var(--ibiz-panel-app-title-color)}.ibiz-panel-app-title.is-only-img .ibiz-panel-app-title__logo{padding:0}.ibiz-panel-app-title.is-collapse{max-width:100%;padding:var(--ibiz-panel-app-title-collapse-padding)}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__collapse-title{width:100%}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__collpase-icon img{width:100%;height:100%}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__caption2{overflow:hidden;font-size:var(--ibiz-font-size-header-4);font-weight:var(--ibiz-panel-app-title-font-weight);text-align:center;white-space:nowrap}.ibiz-panel-app-title.is-collapse .ibiz-panel-app-title__subCaption2{overflow:hidden;font-size:var(--ibiz-font-size-header-5);text-align:center;white-space:nowrap}