@ibiz-template/vue3-components 0.7.17 → 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 (42) 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-e9YRtb2T.js → xlsx-util-wSE1X5Fm.js} +1 -1
  7. package/es/control/app-menu/app-menu.mjs +2 -10
  8. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +10 -15
  9. package/es/control/gantt/gantt.d.ts +5 -1
  10. package/es/control/gantt/gantt.mjs +41 -13
  11. package/es/control/gantt/index.d.ts +4 -1
  12. package/es/control/kanban/kanban.css +1 -1
  13. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -1
  14. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -1
  15. package/es/editor/upload/upload-editor.controller.d.ts +7 -0
  16. package/es/editor/upload/upload-editor.controller.mjs +13 -3
  17. package/es/editor/upload/use/use-iview-upload.d.ts +2 -1
  18. package/es/editor/upload/use/use-iview-upload.mjs +9 -1
  19. package/es/locale/en/index.d.ts +6 -0
  20. package/es/locale/en/index.mjs +9 -3
  21. package/es/locale/zh-CN/index.d.ts +6 -0
  22. package/es/locale/zh-CN/index.mjs +8 -2
  23. package/es/panel-component/auth-userinfo/auth-userinfo.d.ts +1 -1
  24. package/es/panel-component/auth-userinfo/auth-userinfo.mjs +4 -4
  25. package/es/panel-component/auth-userinfo/index.d.ts +1 -1
  26. package/es/panel-component/index-actions/index-actions.css +1 -1
  27. package/es/panel-component/index-actions/index-actions.mjs +5 -8
  28. package/lib/control/app-menu/app-menu.cjs +2 -10
  29. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +10 -15
  30. package/lib/control/gantt/gantt.cjs +41 -13
  31. package/lib/control/kanban/kanban.css +1 -1
  32. package/lib/editor/upload/upload-editor.controller.cjs +13 -3
  33. package/lib/editor/upload/use/use-iview-upload.cjs +9 -1
  34. package/lib/locale/en/index.cjs +9 -3
  35. package/lib/locale/zh-CN/index.cjs +8 -2
  36. package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +4 -4
  37. package/lib/panel-component/index-actions/index-actions.cjs +5 -8
  38. package/lib/panel-component/index-actions/index-actions.css +1 -1
  39. package/package.json +6 -6
  40. package/dist/index-7bnGd6Fk.js +0 -4
  41. package/dist/index-8ZKxthh5.js +0 -1
  42. package/dist/index-EgqQMBU4.js +0 -1
@@ -13,11 +13,15 @@ function _isSlot(s) {
13
13
  function renderByProvider(itemId, c) {
14
14
  const itemModel = c.allAppMenuItems.find((item) => item.id === itemId);
15
15
  if (!itemModel) {
16
- throw new core.RuntimeError("\u6CA1\u627E\u5230\u83DC\u5355\u9879\u6A21\u578B".concat(itemId));
16
+ throw new core.RuntimeError("".concat(ibiz.i18n.t("control.menuDesign.noMenuItemModel", {
17
+ menu: itemId
18
+ })));
17
19
  }
18
20
  const provider = c.itemProviders[itemId];
19
21
  if (!provider.renderText) {
20
- throw new core.RuntimeError("".concat(itemId, "\u7684\u9002\u914D\u5668\u6CA1\u6709renderText\u65B9\u6CD5"));
22
+ throw new core.RuntimeError("".concat(ibiz.i18n.t("control.menuDesign.noProviderRenderText", {
23
+ menu: itemId
24
+ })));
21
25
  }
22
26
  return provider.renderText(itemModel, c);
23
27
  }
@@ -53,8 +57,7 @@ const MenuDesign = /* @__PURE__ */ vue.defineComponent({
53
57
  key: item.key,
54
58
  name: item.label,
55
59
  type: item.itemType,
56
- visible: item.config.visible,
57
- disabled: item.config.disabled
60
+ visible: item.config.visible
58
61
  };
59
62
  if ((_a = item.children) == null ? void 0 : _a.length) {
60
63
  config.children = handleMenusSaveData(item.children);
@@ -91,8 +94,7 @@ const MenuDesign = /* @__PURE__ */ vue.defineComponent({
91
94
  ...item,
92
95
  isCollapse: true,
93
96
  config: {
94
- visible: true,
95
- disabled: false
97
+ visible: true
96
98
  }
97
99
  };
98
100
  if ((_a = item.children) == null ? void 0 : _a.length) {
@@ -101,8 +103,7 @@ const MenuDesign = /* @__PURE__ */ vue.defineComponent({
101
103
  if (target) {
102
104
  Object.assign(data, {
103
105
  config: {
104
- visible: target.visible,
105
- disabled: target.disabled
106
+ visible: target.visible
106
107
  }
107
108
  });
108
109
  }
@@ -187,13 +188,7 @@ const MenuDesign = /* @__PURE__ */ vue.defineComponent({
187
188
  "modelValue": item.config.visible,
188
189
  "onUpdate:modelValue": ($event) => item.config.visible = $event,
189
190
  "onClick": stopExpand,
190
- "label": "\u663E\u793A",
191
- "size": "large"
192
- }, null), vue.createVNode(vue.resolveComponent("el-checkbox"), {
193
- "modelValue": item.config.disabled,
194
- "onUpdate:modelValue": ($event) => item.config.disabled = $event,
195
- "onClick": stopExpand,
196
- "label": "\u7981\u7528",
191
+ "label": ibiz.i18n.t("control.menuDesign.visible"),
197
192
  "size": "large"
198
193
  }, null)]) : null]), item.children && item.children.length > 0 ? vue.createVNode("div", {
199
194
  "class": [ns.bem("content", "menu-item", "children"), ns.is("collapse", item.isCollapse)]
@@ -4,6 +4,7 @@ var vue = require('vue');
4
4
  var vue3Util = require('@ibiz-template/vue3-util');
5
5
  var runtime = require('@ibiz-template/runtime');
6
6
  var dayjs = require('dayjs');
7
+ var elTreeUtil = require('../tree/el-tree-util.cjs');
7
8
  require('./gantt.css');
8
9
 
9
10
  "use strict";
@@ -86,8 +87,15 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
86
87
  return false;
87
88
  });
88
89
  const data = vue.computed(() => {
89
- var _a2;
90
- return c.model.rootVisible ? c.state.rootNodes : (_a2 = c.state.rootNodes[0]) == null ? void 0 : _a2._children;
90
+ if (!c.state.isLoaded) {
91
+ return [];
92
+ }
93
+ return c.model.rootVisible ? c.state.rootNodes : c.state.rootNodes.reduce((result, nodeData) => {
94
+ if (nodeData._children) {
95
+ return result.concat(nodeData._children);
96
+ }
97
+ return result;
98
+ }, []);
91
99
  });
92
100
  const columns = vue.computed(() => {
93
101
  const columnsModel = [];
@@ -144,20 +152,30 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
144
152
  c.refreshNodeChildren(nodeData);
145
153
  }
146
154
  };
147
- c.evt.on("onDefaultExpand", (event) => {
148
- if (ganttRef.value) {
149
- ganttRef.value.refresh();
150
- }
155
+ c.evt.on("onNewRow", (event) => {
156
+ var _a2;
157
+ const nodeData = event.row.data;
158
+ (_a2 = ganttRef.value) == null ? void 0 : _a2.setExpand(nodeData);
151
159
  });
152
160
  const onNodeCollapse = (nodeData) => {
153
161
  c.onExpandChange(nodeData, false);
154
162
  };
155
- c.evt.on("onNewRow", (event) => {
156
- if (ganttRef.value) {
157
- const nodeData = event.row.data;
158
- ganttRef.value.setExpand(nodeData);
159
- }
160
- });
163
+ const allowDrop = (draggingNode, dropNode, type) => {
164
+ const draggingNodeData = elTreeUtil.findNodeData(draggingNode._uuid, c);
165
+ const dropNodeData = elTreeUtil.findNodeData(dropNode._uuid, c);
166
+ const result = c.calcAllowDrop(draggingNodeData, dropNodeData, type);
167
+ return result;
168
+ };
169
+ const allowDrag = (draggingNode) => {
170
+ const nodeData = elTreeUtil.findNodeData(draggingNode._uuid, c);
171
+ return c.calcAllowDrag(nodeData);
172
+ };
173
+ const handleDrop = (draggingNode, dropNode, dropType) => {
174
+ const draggingNodeData = elTreeUtil.findNodeData(draggingNode._uuid, c);
175
+ const dropNodeData = elTreeUtil.findNodeData(dropNode._uuid, c);
176
+ const type = elTreeUtil.formatNodeDropType(dropType);
177
+ c.onNodeDrop(draggingNodeData, dropNodeData, type);
178
+ };
161
179
  const onSliderMove = (sliders) => {
162
180
  var _a2;
163
181
  const nodeData = (_a2 = sliders[0]) == null ? void 0 : _a2.row;
@@ -404,7 +422,10 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
404
422
  onNodeCollapse,
405
423
  renderContent,
406
424
  onSliderMove,
407
- renderNoData
425
+ renderNoData,
426
+ allowDrop,
427
+ allowDrag,
428
+ handleDrop
408
429
  };
409
430
  },
410
431
  render() {
@@ -427,6 +448,13 @@ const GanttControl = /* @__PURE__ */ vue.defineComponent({
427
448
  "children": "_children",
428
449
  "leaf": "_leaf",
429
450
  "locale": this.locale,
451
+ "draggable": {
452
+ level: "all",
453
+ draggable: true
454
+ },
455
+ "allow-drop": this.allowDrop,
456
+ "allow-drag": this.allowDrag,
457
+ "onNodeDrop": this.handleDrop,
430
458
  "showCheckbox": !this.c.state.singleSelect,
431
459
  "onNodeExpand": this.onNodeExpand,
432
460
  "onNodeCollapse": this.onNodeCollapse,
@@ -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)}
@@ -25,6 +25,13 @@ class UploadEditorController extends runtime.EditorController {
25
25
  * 接受上传的文件类型
26
26
  */
27
27
  __publicField(this, "accept", "");
28
+ /**
29
+ * 上传的文件大小
30
+ *
31
+ * @type {number}
32
+ * @memberof UploadEditorController
33
+ */
34
+ __publicField(this, "size", 0);
28
35
  /**
29
36
  * 上传参数
30
37
  */
@@ -46,7 +53,7 @@ class UploadEditorController extends runtime.EditorController {
46
53
  this.multiple = false;
47
54
  }
48
55
  if (this.editorParams) {
49
- const { isDrag, multiple, accept, uploadParams, exportParams } = this.editorParams;
56
+ const { isDrag, multiple, accept, size, uploadParams, exportParams } = this.editorParams;
50
57
  if (isDrag) {
51
58
  this.isDrag = Boolean(isDrag);
52
59
  }
@@ -56,13 +63,16 @@ class UploadEditorController extends runtime.EditorController {
56
63
  if (accept) {
57
64
  this.accept = accept;
58
65
  }
66
+ if (size) {
67
+ this.size = Number(size);
68
+ }
59
69
  if (uploadParams) {
60
70
  try {
61
71
  this.uploadParams = JSON.parse(uploadParams);
62
72
  } catch (error) {
63
73
  throw new core.RuntimeModelError(
64
74
  uploadParams,
65
- "\u914D\u7F6EuploadParams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
75
+ ibiz.i18n.t("editor.upload.uploadJsonFormatErr")
66
76
  );
67
77
  }
68
78
  }
@@ -72,7 +82,7 @@ class UploadEditorController extends runtime.EditorController {
72
82
  } catch (error) {
73
83
  throw new core.RuntimeModelError(
74
84
  exportParams,
75
- "\u914D\u7F6EexportParams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
85
+ ibiz.i18n.t("editor.upload.exportJsonFormatErr")
76
86
  );
77
87
  }
78
88
  }
@@ -68,8 +68,16 @@ function useIViewUpload(props, valueChange, c) {
68
68
  uploadCache.cacheFiles = [];
69
69
  valueChange(value);
70
70
  };
71
- const beforeUpload = () => {
71
+ const beforeUpload = (rawFile) => {
72
+ const size = rawFile.size / 1024 / 1024;
73
+ if (c.size && size > c.size) {
74
+ ibiz.message.error(
75
+ "".concat(ibiz.i18n.t("editor.upload.fileSizeErr"), " ").concat(c.size, "MB!")
76
+ );
77
+ return false;
78
+ }
72
79
  uploadCache.count += 1;
80
+ return true;
73
81
  };
74
82
  const onSuccess = (response) => {
75
83
  if (!response) {
@@ -113,12 +113,15 @@ var index = {
113
113
  noSupportAlign: "The menu direction {align} is not supported temporarily",
114
114
  noFoundModel: "no find the menu item model {menuKey}",
115
115
  noFoundFunction: "The adapter for {menuKey} does not have a renderText method",
116
- menuSetting: "\u83DC\u5355\u8BBE\u7F6E"
116
+ menuSetting: "Menu setting"
117
117
  },
118
118
  menuDesign: {
119
119
  customMenu: "Custom menu",
120
120
  reset: "Reset",
121
- save: "Save"
121
+ save: "Save",
122
+ visible: "Visible",
123
+ noMenuItemModel: "No menu item model found {menu}",
124
+ noFoundFunction: "The adapter for {menu} does not have a renderText method"
122
125
  },
123
126
  calendar: {
124
127
  lastYear: "Last year",
@@ -333,7 +336,10 @@ var index = {
333
336
  warningMessage: "Ip format verification failed, paragraph {num} ip reset to old value"
334
337
  },
335
338
  upload: {
336
- uploadFiles: "Upload files"
339
+ uploadFiles: "Upload files",
340
+ fileSizeErr: "The file size cannot exceed",
341
+ uploadJsonFormatErr: "The configuration of uploadparams did not follow the standard JSON format",
342
+ exportJsonFormatErr: "The configuration of exportparams did not follow the standard JSON format"
337
343
  }
338
344
  },
339
345
  panelComponent: {
@@ -118,7 +118,10 @@ var index = {
118
118
  menuDesign: {
119
119
  customMenu: "\u81EA\u5B9A\u4E49\u83DC\u5355",
120
120
  reset: "\u6062\u590D\u9ED8\u8BA4",
121
- save: "\u4FDD\u5B58"
121
+ save: "\u4FDD\u5B58",
122
+ visible: "\u663E\u793A",
123
+ noMenuItemModel: "\u6CA1\u627E\u5230\u83DC\u5355\u9879\u6A21\u578B{menu}",
124
+ noFoundFunction: "{menu}\u7684\u9002\u914D\u5668\u6CA1\u6709renderText\u65B9\u6CD5"
122
125
  },
123
126
  calendar: {
124
127
  lastYear: "\u53BB\u5E74",
@@ -333,7 +336,10 @@ var index = {
333
336
  warningMessage: "ip\u683C\u5F0F\u9A8C\u8BC1\u672A\u901A\u8FC7\uFF0C\u7B2C{num}\u6BB5ip\u91CD\u7F6E\u56DE\u65E7\u503C"
334
337
  },
335
338
  upload: {
336
- uploadFiles: "\u4E0A\u4F20\u6587\u4EF6"
339
+ uploadFiles: "\u4E0A\u4F20\u6587\u4EF6",
340
+ fileSizeErr: "\u6587\u4EF6\u5927\u5C0F\u4E0D\u80FD\u8D85\u8FC7",
341
+ uploadJsonFormatErr: "\u914D\u7F6Euploadparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F",
342
+ exportJsonFormatErr: "\u914D\u7F6Eexportparams\u6CA1\u6709\u6309\u6807\u51C6JSON\u683C\u5F0F"
337
343
  }
338
344
  },
339
345
  panelComponent: {
@@ -25,7 +25,7 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
25
25
  const c = prop.controller;
26
26
  const {
27
27
  srfusername = ibiz.i18n.t("panelComponent.authUserinfo.visitor"),
28
- srfpersonname
28
+ loginname
29
29
  } = ((_a = ibiz.appData) == null ? void 0 : _a.context) || {};
30
30
  const router = vueRouter.useRouter();
31
31
  const ctx = vue.inject("ctx", void 0);
@@ -46,7 +46,7 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
46
46
  c,
47
47
  onClick,
48
48
  srfusername,
49
- srfpersonname,
49
+ loginname,
50
50
  router,
51
51
  menuAlign,
52
52
  isCollapse
@@ -67,9 +67,9 @@ const AuthUserinfo = /* @__PURE__ */ vue.defineComponent({
67
67
  "class": this.ns.b("name")
68
68
  }, [vue.createVNode("div", {
69
69
  "class": this.ns.be("name", "user-name")
70
- }, [this.srfusername]), this.menuAlign === "LEFT" && vue.createVNode("div", {
70
+ }, [this.srfusername]), this.menuAlign === "LEFT" && this.loginname && vue.createVNode("div", {
71
71
  "class": this.ns.be("name", "person-name")
72
- }, [this.srfpersonname])])]), vue.createVNode("ion-icon", {
72
+ }, [this.loginname])])]), vue.createVNode("ion-icon", {
73
73
  "class": [this.ns.e("down"), this.ns.is("collapse", this.isCollapse)],
74
74
  "name": "chevron-down-outline"
75
75
  }, null)]),
@@ -25,14 +25,14 @@ const IndexActions = /* @__PURE__ */ vue.defineComponent({
25
25
  const {
26
26
  id
27
27
  } = props.modelData;
28
+ const isCollapse = vue.computed(() => {
29
+ return props.controller.panel.view.state.isCollapse;
30
+ });
28
31
  const classArr = vue.computed(() => {
29
32
  let result = [ns.b(), ns.m(id)];
30
- result = [...result, ...props.controller.containerClass, ns.is("hidden", !props.controller.state.visible)];
33
+ result = [...result, ...props.controller.containerClass, ns.is("hidden", !props.controller.state.visible), ns.is("collapse", isCollapse.value)];
31
34
  return result;
32
35
  });
33
- const isCollapse = vue.computed(() => {
34
- return props.controller.panel.view.state.isCollapse;
35
- });
36
36
  return {
37
37
  ns,
38
38
  classArr,
@@ -42,10 +42,7 @@ const IndexActions = /* @__PURE__ */ vue.defineComponent({
42
42
  render() {
43
43
  var _a, _b;
44
44
  let _slot;
45
- let defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
46
- if (this.isCollapse) {
47
- defaultSlots = [defaultSlots[0]];
48
- }
45
+ const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
49
46
  const content = vue.createVNode(vue.resolveComponent("iBizRow"), {
50
47
  "slot": "content",
51
48
  "layout": this.modelData.layout
@@ -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}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/vue3-components",
3
- "version": "0.7.17",
3
+ "version": "0.7.18",
4
4
  "description": "使用 rollup 编译 vue 组件或者 jsx",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.mjs",
@@ -29,13 +29,13 @@
29
29
  "dependencies": {
30
30
  "@floating-ui/dom": "^1.5.3",
31
31
  "@ibiz-template-plugin/ai-chat": "^0.0.5",
32
- "@ibiz-template-plugin/gantt": "0.1.4",
33
- "@ibiz-template/core": "0.7.17",
32
+ "@ibiz-template-plugin/gantt": "0.1.5",
33
+ "@ibiz-template/core": "0.7.18",
34
34
  "@ibiz-template/devtool": "0.0.1-dev.6",
35
- "@ibiz-template/model-helper": "0.7.17",
36
- "@ibiz-template/runtime": "0.7.17",
35
+ "@ibiz-template/model-helper": "0.7.18",
36
+ "@ibiz-template/runtime": "0.7.18",
37
37
  "@ibiz-template/theme": "^0.7.0",
38
- "@ibiz-template/vue3-util": "0.7.17",
38
+ "@ibiz-template/vue3-util": "0.7.18",
39
39
  "@ibiz-template/web-theme": "^1.1.17",
40
40
  "@ibiz/model-core": "^0.1.27",
41
41
  "@imengyu/vue3-context-menu": "^1.3.5",