@ibiz-template/mob-vue3-components 0.7.41-alpha.13 → 0.7.41-alpha.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-OsiEgFnw.js → index-5DjmQP8W.js} +2 -2
- package/dist/index-5DjmQP8W.js.map +1 -0
- package/dist/index-fAu1z4L0.js +2 -0
- package/dist/index-fAu1z4L0.js.map +1 -0
- package/dist/index-yjjy8EQH.js +76 -0
- package/dist/index-yjjy8EQH.js.map +1 -0
- package/dist/index.min.css +4 -4
- package/dist/index.system.min.js +1 -1
- package/dist/{quill-editor-VqApoQJq.js → quill-editor-6a0LLTGQ.js} +2 -2
- package/dist/{quill-editor-VqApoQJq.js.map → quill-editor-6a0LLTGQ.js.map} +1 -1
- package/dist/{quill-editor-preview-G0MpMJzC.js → quill-editor-preview-PFiM-IPE.js} +2 -2
- package/dist/{quill-editor-preview-G0MpMJzC.js.map → quill-editor-preview-PFiM-IPE.js.map} +1 -1
- package/dist/{quill-wfN-3C_3.js → quill-n54HJUg2.js} +2 -2
- package/dist/{quill-wfN-3C_3.js.map → quill-n54HJUg2.js.map} +1 -1
- package/dist/tree-4CqtwsXL.js +2 -0
- package/dist/tree-4CqtwsXL.js.map +1 -0
- package/es/common/action-group/action-group.css +1 -0
- package/es/common/action-group/action-group.d.ts +55 -0
- package/es/common/action-group/action-group.mjs +174 -0
- package/es/common/action-toolbar/action-toolbar.d.ts +1 -0
- package/es/common/action-toolbar/action-toolbar.mjs +20 -8
- package/es/common/button-list/button-list.css +1 -1
- package/es/common/button-list/button-list.d.ts +3 -2
- package/es/common/button-list/button-list.mjs +83 -63
- package/es/common/index.mjs +2 -0
- package/es/common/rawitem/rawitem.mjs +2 -2
- package/es/control/list/md-ctrl/md-ctrl.mjs +13 -15
- package/es/control/tab-exp-panel/index.d.ts +1 -0
- package/es/control/tab-exp-panel/tab-exp-panel.css +1 -0
- package/es/control/tab-exp-panel/tab-exp-panel.d.ts +2 -0
- package/es/control/tab-exp-panel/tab-exp-panel.mjs +28 -1
- package/es/control/tree/tree.css +1 -1
- package/es/control/tree/tree.d.ts +15 -0
- package/es/control/tree/tree.mjs +14 -2
- package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +5 -7
- package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.mjs +18 -0
- package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +2 -1
- package/es/editor/rate/ibiz-rate/ibiz-rate.mjs +3 -0
- package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +2 -2
- package/es/editor/span/span/span.d.ts +5 -3
- package/es/editor/span/span/span.mjs +5 -5
- package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +4 -3
- package/es/editor/stepper/ibiz-stepper/ibiz-stepper.mjs +9 -0
- package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -0
- package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +2 -1
- package/es/editor/text-box/input/input.d.ts +2 -0
- package/es/editor/upload/upload-editor.controller.d.ts +23 -2
- package/es/editor/upload/upload-editor.controller.mjs +46 -15
- package/es/editor/upload/use/use-van-upload.mjs +35 -3
- package/es/locale/en/index.d.ts +2 -0
- package/es/locale/en/index.mjs +2 -1
- package/es/locale/zh-CN/index.d.ts +2 -0
- package/es/locale/zh-CN/index.mjs +2 -1
- package/es/panel-component/panel-button-list/panel-button-list.controller.d.ts +1 -1
- package/es/panel-component/panel-button-list/panel-button-list.controller.mjs +19 -18
- package/es/util/store/view-stack/view-stack.mjs +11 -1
- package/lib/common/action-group/action-group.cjs +176 -0
- package/lib/common/action-group/action-group.css +1 -0
- package/lib/common/action-toolbar/action-toolbar.cjs +20 -8
- package/lib/common/button-list/button-list.cjs +82 -62
- package/lib/common/button-list/button-list.css +1 -1
- package/lib/common/index.cjs +2 -0
- package/lib/common/rawitem/rawitem.cjs +2 -2
- package/lib/control/list/md-ctrl/md-ctrl.cjs +12 -14
- package/lib/control/tab-exp-panel/tab-exp-panel.cjs +27 -0
- package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -0
- package/lib/control/tree/tree.cjs +14 -2
- package/lib/control/tree/tree.css +1 -1
- package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.cjs +18 -0
- package/lib/editor/rate/ibiz-rate/ibiz-rate.cjs +3 -0
- package/lib/editor/span/span/span.cjs +5 -5
- package/lib/editor/stepper/ibiz-stepper/ibiz-stepper.cjs +9 -0
- package/lib/editor/upload/upload-editor.controller.cjs +46 -15
- package/lib/editor/upload/use/use-van-upload.cjs +35 -3
- package/lib/locale/en/index.cjs +2 -1
- package/lib/locale/zh-CN/index.cjs +2 -1
- package/lib/panel-component/panel-button-list/panel-button-list.controller.cjs +18 -17
- package/lib/util/store/view-stack/view-stack.cjs +11 -1
- package/package.json +6 -6
- package/dist/index-JSf84k9b.js +0 -2
- package/dist/index-JSf84k9b.js.map +0 -1
- package/dist/index-OsiEgFnw.js.map +0 -1
- package/dist/index-TTGYeV0q.js +0 -76
- package/dist/index-TTGYeV0q.js.map +0 -1
- package/dist/tree-nburezSg.js +0 -2
- package/dist/tree-nburezSg.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { debounce } from 'lodash-es';
|
|
4
|
-
import { MDCtrlController } from '@ibiz-template/runtime';
|
|
4
|
+
import { MDCtrlController, getAllUIActionItems } from '@ibiz-template/runtime';
|
|
5
5
|
import { useListRender } from '../list-render-util.mjs';
|
|
6
6
|
import '../../../util/index.mjs';
|
|
7
7
|
import './md-ctrl.css';
|
|
@@ -147,24 +147,22 @@ const MDCtrlControl = /* @__PURE__ */ defineComponent({
|
|
|
147
147
|
const leftSlidingActionGroup = c.model.deuiactionGroup;
|
|
148
148
|
const rightSlidingActionGroup = c.model.deuiactionGroup2;
|
|
149
149
|
const renderSlidingActionGroup = (group, data) => {
|
|
150
|
-
const groupDetails = group.uiactionGroupDetails
|
|
151
|
-
if (!groupDetails || groupDetails.length === 0)
|
|
150
|
+
const groupDetails = getAllUIActionItems(group.uiactionGroupDetails);
|
|
151
|
+
if (!groupDetails || groupDetails.length === 0)
|
|
152
152
|
return null;
|
|
153
|
-
}
|
|
154
153
|
const row = c.state.rows.find((rowData) => data.srfkey === rowData.data.srfkey);
|
|
155
154
|
const btnContainer = row.uaColStates[group.id];
|
|
156
155
|
return groupDetails.map((detail) => {
|
|
157
|
-
const btn = btnContainer[detail.id];
|
|
158
|
-
if (btn.visible
|
|
159
|
-
return
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}, null);
|
|
156
|
+
const btn = btnContainer == null ? void 0 : btnContainer[detail.id];
|
|
157
|
+
if (btn == null ? void 0 : btn.visible)
|
|
158
|
+
return createVNode(resolveComponent("van-button"), {
|
|
159
|
+
"square": true,
|
|
160
|
+
"type": "primary",
|
|
161
|
+
"text": detail.caption,
|
|
162
|
+
"disabled": btn.disabled || btn.loading,
|
|
163
|
+
"onClick": (e) => c.onActionClick(detail, row, e)
|
|
164
|
+
}, null);
|
|
165
|
+
return null;
|
|
168
166
|
});
|
|
169
167
|
};
|
|
170
168
|
const renderDefaultItem = (data) => {
|
|
@@ -22,6 +22,7 @@ export declare const IBizTabExpPanelControl: import("@ibiz-template/vue3-util").
|
|
|
22
22
|
}, {
|
|
23
23
|
c: import("@ibiz-template/runtime").TabExpPanelController;
|
|
24
24
|
ns: import("@ibiz-template/core").Namespace;
|
|
25
|
+
tabPosition: string;
|
|
25
26
|
onTabChange: (value: string) => void;
|
|
26
27
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
27
28
|
modelData: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-control-tabexppanel-tab-item-header{padding:.5rem 1rem;overflow:hidden;font-size:var(--ibiz-font-size-regular);line-height:var(--van-cell-line-height);color:var(--ibiz-color-text-2);text-overflow:ellipsis;white-space:nowrap;background:var(--ibiz-color-bg-0)}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
2
|
import { ITabExpPanel } from '@ibiz/model-core';
|
|
3
3
|
import { IControlProvider, TabExpPanelController } from '@ibiz-template/runtime';
|
|
4
|
+
import './tab-exp-panel.scss';
|
|
4
5
|
export declare const TabExpPanelControl: import("vue").DefineComponent<{
|
|
5
6
|
/**
|
|
6
7
|
* @description 分页导航面板模型数据
|
|
@@ -40,6 +41,7 @@ export declare const TabExpPanelControl: import("vue").DefineComponent<{
|
|
|
40
41
|
}, {
|
|
41
42
|
c: TabExpPanelController;
|
|
42
43
|
ns: import("@ibiz-template/core").Namespace;
|
|
44
|
+
tabPosition: string;
|
|
43
45
|
onTabChange: (value: string) => void;
|
|
44
46
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
45
47
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { isVNode, resolveComponent,
|
|
1
|
+
import { isVNode, createVNode, resolveComponent, h, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { TabExpPanelController } from '@ibiz-template/runtime';
|
|
4
|
+
import './tab-exp-panel.css';
|
|
4
5
|
|
|
5
6
|
"use strict";
|
|
6
7
|
function _isSlot(s) {
|
|
@@ -46,8 +47,11 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
|
|
|
46
47
|
}
|
|
47
48
|
},
|
|
48
49
|
setup() {
|
|
50
|
+
var _a, _b;
|
|
49
51
|
const c = useControlController((...args) => new TabExpPanelController(...args));
|
|
50
52
|
const ns = useNamespace(`control-${c.model.controlType.toLowerCase()}`);
|
|
53
|
+
const model = (_a = c.view) == null ? void 0 : _a.model;
|
|
54
|
+
const tabPosition = ((_b = model == null ? void 0 : model.tabLayout) == null ? void 0 : _b.toLowerCase()) || "top";
|
|
51
55
|
const onTabChange = (value) => {
|
|
52
56
|
c.state.activeName = value;
|
|
53
57
|
c.handleTabChange();
|
|
@@ -55,6 +59,7 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
|
|
|
55
59
|
return {
|
|
56
60
|
c,
|
|
57
61
|
ns,
|
|
62
|
+
tabPosition,
|
|
58
63
|
onTabChange
|
|
59
64
|
};
|
|
60
65
|
},
|
|
@@ -64,6 +69,28 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
|
|
|
64
69
|
isCreated,
|
|
65
70
|
tabPages
|
|
66
71
|
} = this.c.state;
|
|
72
|
+
if (this.tabPosition === "flow" || this.tabPosition === "flow_noheader") {
|
|
73
|
+
if (!isCreated) {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
return createVNode("div", {
|
|
77
|
+
"class": this.ns.b()
|
|
78
|
+
}, [tabPages.map((page) => {
|
|
79
|
+
var _a;
|
|
80
|
+
const target = (_a = this.c.model.controls) == null ? void 0 : _a.find((tab) => tab.id === page.tabTag);
|
|
81
|
+
return createVNode("div", {
|
|
82
|
+
"class": this.ns.b("tab-item")
|
|
83
|
+
}, [createVNode("div", {
|
|
84
|
+
"class": this.ns.b("tab-item-header")
|
|
85
|
+
}, [page.caption]), createVNode("div", {
|
|
86
|
+
"class": this.ns.b("tab-item-content")
|
|
87
|
+
}, [h(resolveComponent("IBizViewShell"), {
|
|
88
|
+
context: this.context,
|
|
89
|
+
params: this.params,
|
|
90
|
+
viewId: target == null ? void 0 : target.embeddedAppDEViewId
|
|
91
|
+
})])]);
|
|
92
|
+
})]);
|
|
93
|
+
}
|
|
67
94
|
return isCreated && createVNode(resolveComponent("van-tabs"), {
|
|
68
95
|
"class": [this.ns.b("header")],
|
|
69
96
|
"active": this.c.state.activeName,
|
package/es/control/tree/tree.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);height:100%;padding:0 var(--ibiz-control-treeview-padding);background:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-content{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);height:100%}.ibiz-control-treeview-content .vs-tree-node{position:relative;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview-content .vs-tree-node .vs-tree-inner{display:flex;align-items:center}.ibiz-control-treeview-content .vs-tree-node .vs-icon-leaf,.ibiz-control-treeview-content .vs-tree-node .vs-icon-parent{width:auto;margin-right:0}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-content .tree-button{color:var(--ibiz-color-primary)}.ibiz-control-treeview-header{--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-crumb-icon-top:0.1875rem}.ibiz-control-treeview-header__crumb{display:inline-flex;align-items:center;height:var(--ibiz-height-control-small)}.ibiz-control-treeview-header__crumb .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right);margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-treeview-header__crumb .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-header__crumb>span:has(img),.ibiz-control-treeview-header__crumb>span:has(svg){position:relative}.ibiz-control-treeview-header__crumb>span:has(img) .ibiz-icon,.ibiz-control-treeview-header__crumb>span:has(svg) .ibiz-icon{position:absolute;top:var(--ibiz-control-treeview-crumb-icon-top)}.ibiz-control-treeview-header__crumb>span:has(img)::after,.ibiz-control-treeview-header__crumb>span:has(svg)::after{display:inline-block;width:var(--ibiz-control-treeview-node-icon-width);margin-right:var(--ibiz-spacing-extra-tight);content:"\e710";opacity:0}.ibiz-control-treeview-header.is-no-root>span:has(.ibiz-control-treeview-header__crumb.is-root){display:none}
|
|
1
|
+
.ibiz-control-treeview{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);height:100%;padding:0 var(--ibiz-control-treeview-padding);background:var(--ibiz-control-treeview-bg-color)}.ibiz-control-treeview-content{--ibiz-control-treeview-text-color:var(--ibiz-color-text);--ibiz-control-treeview-hover-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-active-bg-color:var(--ibiz-color-primary);--ibiz-control-treeview-padding:0.625rem;--ibiz-control-treeview-bg-color:var(--ibiz-color-bg-2);height:100%}.ibiz-control-treeview-content .vs-tree-node{position:relative;padding:var(--ibiz-control-treeview-padding)}.ibiz-control-treeview-content .vs-tree-node .vs-tree-inner{display:flex;align-items:center}.ibiz-control-treeview-content .vs-tree-node .vs-icon-leaf,.ibiz-control-treeview-content .vs-tree-node .vs-icon-parent{width:auto;margin-right:0}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right)}.ibiz-control-treeview-content .vs-tree-node .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-content .tree-button{color:var(--ibiz-color-primary)}.ibiz-control-treeview-header{--ibiz-control-treeview-node-icon-height:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-width:var(--ibiz-spacing-base);--ibiz-control-treeview-node-icon-margin-right:var(--ibiz-spacing-tight);--ibiz-control-treeview-crumb-icon-top:0.1875rem}.ibiz-control-treeview-header__crumb{display:inline-flex;align-items:center;height:var(--ibiz-height-control-small)}.ibiz-control-treeview-header__crumb .ibiz-icon{display:inline-flex;align-items:center;width:var(--ibiz-control-treeview-node-icon-width);height:var(--ibiz-control-treeview-node-icon-height);margin-right:var(--ibiz-control-treeview-node-icon-margin-right);margin-right:var(--ibiz-spacing-extra-tight)}.ibiz-control-treeview-header__crumb .ibiz-icon>svg{width:100%;height:100%}.ibiz-control-treeview-header__crumb>span:has(img),.ibiz-control-treeview-header__crumb>span:has(svg){position:relative}.ibiz-control-treeview-header__crumb>span:has(img) .ibiz-icon,.ibiz-control-treeview-header__crumb>span:has(svg) .ibiz-icon{position:absolute;top:var(--ibiz-control-treeview-crumb-icon-top)}.ibiz-control-treeview-header__crumb>span:has(img)::after,.ibiz-control-treeview-header__crumb>span:has(svg)::after{display:inline-block;width:var(--ibiz-control-treeview-node-icon-width);margin-right:var(--ibiz-spacing-extra-tight);content:"\e710";opacity:0}.ibiz-control-treeview-header__container{height:auto}.ibiz-control-treeview-header__container .van-sticky,.ibiz-control-treeview-header__container>div{height:auto!important}.ibiz-control-treeview-header.is-no-root>span:has(.ibiz-control-treeview-header__crumb.is-root){display:none}.ibiz-control-treeview-container{width:100%;height:100%;display:flex;flex-direction:column}
|
|
@@ -47,6 +47,13 @@ export declare const TreeControl: import("vue").DefineComponent<{
|
|
|
47
47
|
type: BooleanConstructor;
|
|
48
48
|
default: boolean;
|
|
49
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* @description 是否是导航内的(即树导航里的树)
|
|
52
|
+
*/
|
|
53
|
+
navigational: {
|
|
54
|
+
type: BooleanConstructor;
|
|
55
|
+
default: undefined;
|
|
56
|
+
};
|
|
50
57
|
}, {
|
|
51
58
|
c: TreeController<IDETree, import("@ibiz-template/runtime").ITreeState, import("@ibiz-template/runtime").ITreeEvent>;
|
|
52
59
|
ns: import("@ibiz-template/core").Namespace;
|
|
@@ -122,9 +129,17 @@ export declare const TreeControl: import("vue").DefineComponent<{
|
|
|
122
129
|
type: BooleanConstructor;
|
|
123
130
|
default: boolean;
|
|
124
131
|
};
|
|
132
|
+
/**
|
|
133
|
+
* @description 是否是导航内的(即树导航里的树)
|
|
134
|
+
*/
|
|
135
|
+
navigational: {
|
|
136
|
+
type: BooleanConstructor;
|
|
137
|
+
default: undefined;
|
|
138
|
+
};
|
|
125
139
|
}>>, {
|
|
126
140
|
params: import("@ibiz-template/core").IApiParams;
|
|
127
141
|
mdctrlActiveMode: number;
|
|
128
142
|
singleSelect: boolean;
|
|
143
|
+
navigational: boolean;
|
|
129
144
|
}, {}>;
|
|
130
145
|
export default TreeControl;
|
package/es/control/tree/tree.mjs
CHANGED
|
@@ -59,6 +59,13 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
59
59
|
singleSelect: {
|
|
60
60
|
type: Boolean,
|
|
61
61
|
default: true
|
|
62
|
+
},
|
|
63
|
+
/**
|
|
64
|
+
* @description 是否是导航内的(即树导航里的树)
|
|
65
|
+
*/
|
|
66
|
+
navigational: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: void 0
|
|
62
69
|
}
|
|
63
70
|
},
|
|
64
71
|
setup() {
|
|
@@ -306,12 +313,14 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
306
313
|
};
|
|
307
314
|
const key = this.c.controlPanel ? "tree" : "default";
|
|
308
315
|
slots[key] = () => {
|
|
309
|
-
|
|
316
|
+
const content = [this.breadcrumb && createVNode("div", {
|
|
317
|
+
"class": this.ns.be("header", "container")
|
|
318
|
+
}, [createVNode(resolveComponent("van-sticky"), null, {
|
|
310
319
|
default: () => [createVNode("div", {
|
|
311
320
|
"id": `breadcrumb${this.uuid}`,
|
|
312
321
|
"class": [this.ns.b("header"), this.ns.is("no-root", !this.c.model.rootVisible)]
|
|
313
322
|
}, null)]
|
|
314
|
-
}), this.c.state.isCreated && this.c.state.isLoaded && createVNode(resolveComponent("vs-tree"), {
|
|
323
|
+
})]), this.c.state.isCreated && this.c.state.isLoaded && createVNode(resolveComponent("vs-tree"), {
|
|
315
324
|
"show-line": true,
|
|
316
325
|
"ref": "treeRef",
|
|
317
326
|
"key": this.treeRefreshKey,
|
|
@@ -328,6 +337,9 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
328
337
|
"load": this.loadData,
|
|
329
338
|
"onCheck": this.onNodeCheck
|
|
330
339
|
}, null)];
|
|
340
|
+
return createVNode("div", {
|
|
341
|
+
"class": this.ns.b("container")
|
|
342
|
+
}, [content]);
|
|
331
343
|
};
|
|
332
344
|
return createVNode(resolveComponent("iBizControlBase"), {
|
|
333
345
|
"controller": this.c
|
|
@@ -5,13 +5,11 @@ import { NumberRangeEditorController } from '../number-range-editor.controller';
|
|
|
5
5
|
* 移动端数值范围编辑框
|
|
6
6
|
* @primary
|
|
7
7
|
* @description 使用van-field组件,用于指定数值范围的场景。支持编辑器类型包含:`移动端数值范围编辑框`
|
|
8
|
-
* @editorparams {name:
|
|
9
|
-
* @editorparams {name:
|
|
10
|
-
* @editorparams {name:
|
|
11
|
-
* @editorparams {name:
|
|
12
|
-
* @editorparams {name:
|
|
13
|
-
* @editorparams {name:endPlaceHolder,parameterType:string,defaultvalue:'',description:选择范围结束占位提示,van-field组件的placeholder属性}
|
|
14
|
-
* @editorparams {name:precision,parameterType:number,defaultvalue:0,description:数值精度}
|
|
8
|
+
* @editorparams {name:valueseparator,parameterType:string,defaultvalue:'-',description:值分隔符}
|
|
9
|
+
* @editorparams {name:rangeseparator,parameterType:string,defaultvalue:'~',description:选择范围时的分隔符}
|
|
10
|
+
* @editorparams {name:startplaceholder,parameterType:string,defaultvalue:'',description:选择范围开始占位提示,van-field组件的placeholder属性}
|
|
11
|
+
* @editorparams {name:endplaceholder,parameterType:string,defaultvalue:'',description:选择范围结束占位提示,van-field组件的placeholder属性}
|
|
12
|
+
* @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
|
|
15
13
|
* @ignoreprops autoFocus | overflowMode
|
|
16
14
|
* @ignoreemits infoTextChange | enter
|
|
17
15
|
*/
|
|
@@ -26,24 +26,42 @@ const IBizNumberRangePicker = /* @__PURE__ */ defineComponent({
|
|
|
26
26
|
if (editorModel.editorParams.maxValue) {
|
|
27
27
|
max = toNumber(editorModel.editorParams.maxValue);
|
|
28
28
|
}
|
|
29
|
+
if (editorModel.editorParams.maxvalue) {
|
|
30
|
+
max = toNumber(editorModel.editorParams.maxvalue);
|
|
31
|
+
}
|
|
29
32
|
if (editorModel.editorParams.minValue) {
|
|
30
33
|
min = toNumber(editorModel.editorParams.minValue);
|
|
31
34
|
}
|
|
35
|
+
if (editorModel.editorParams.minvalue) {
|
|
36
|
+
min = toNumber(editorModel.editorParams.minvalue);
|
|
37
|
+
}
|
|
32
38
|
if (editorModel.editorParams.precision) {
|
|
33
39
|
precision = toNumber(editorModel.editorParams.precision);
|
|
34
40
|
}
|
|
35
41
|
if (editorModel.editorParams.valueSeparator) {
|
|
36
42
|
valueSeparator = editorModel.editorParams.valueSeparator;
|
|
37
43
|
}
|
|
44
|
+
if (editorModel.editorParams.valueseparator) {
|
|
45
|
+
valueSeparator = editorModel.editorParams.valueseparator;
|
|
46
|
+
}
|
|
38
47
|
if (editorModel.editorParams.startPlaceHolder) {
|
|
39
48
|
startPlaceHolder = editorModel.editorParams.startPlaceHolder;
|
|
40
49
|
}
|
|
50
|
+
if (editorModel.editorParams.startplaceholder) {
|
|
51
|
+
startPlaceHolder = editorModel.editorParams.startplaceholder;
|
|
52
|
+
}
|
|
41
53
|
if (editorModel.editorParams.endPlaceHolder) {
|
|
42
54
|
endPlaceHolder = editorModel.editorParams.endPlaceHolder;
|
|
43
55
|
}
|
|
56
|
+
if (editorModel.editorParams.endplaceholder) {
|
|
57
|
+
endPlaceHolder = editorModel.editorParams.endplaceholder;
|
|
58
|
+
}
|
|
44
59
|
if (editorModel.editorParams.rangeSeparator) {
|
|
45
60
|
rangeSeparator = editorModel.editorParams.rangeSeparator;
|
|
46
61
|
}
|
|
62
|
+
if (editorModel.editorParams.rangeseparator) {
|
|
63
|
+
rangeSeparator = editorModel.editorParams.rangeseparator;
|
|
64
|
+
}
|
|
47
65
|
}
|
|
48
66
|
const refFormItem = ref([]);
|
|
49
67
|
const editorItems = editorModel.editorItems;
|
|
@@ -4,7 +4,8 @@ import './ibiz-rate.scss';
|
|
|
4
4
|
* 移动端评分器
|
|
5
5
|
* @primary
|
|
6
6
|
* @description 使用van-rate组件,用于给某些东西进行评分。支持编辑器类型包含:`移动端评分器`
|
|
7
|
-
* @editorparams {name:
|
|
7
|
+
* @editorparams {name:maxvalue,parameterType:number,defaultvalue:5,description:设置最大评分值,van-rate组件的count属性}
|
|
8
|
+
* @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
|
|
8
9
|
* @ignoreprops autoFocus | overflowMode
|
|
9
10
|
* @ignoreemits infoTextChange | enter
|
|
10
11
|
*/
|
|
@@ -20,6 +20,9 @@ const IBizRate = /* @__PURE__ */ defineComponent({
|
|
|
20
20
|
if (editorModel.editorParams.maxValue) {
|
|
21
21
|
max = toNumber(editorModel.editorParams.maxValue);
|
|
22
22
|
}
|
|
23
|
+
if (editorModel.editorParams.maxvalue) {
|
|
24
|
+
max = toNumber(editorModel.editorParams.maxvalue);
|
|
25
|
+
}
|
|
23
26
|
}
|
|
24
27
|
watch(() => props.value, (newVal, oldVal) => {
|
|
25
28
|
if (newVal !== oldVal) {
|
|
@@ -5,8 +5,8 @@ import './ibiz-raw.scss';
|
|
|
5
5
|
* 直接内容
|
|
6
6
|
* @primary
|
|
7
7
|
* @description 用于绘制配置的直接内容,如HTML内容、视频内容、图片内容等。支持编辑器类型包含:`直接内容`
|
|
8
|
-
* @editorparams {name:contenttype,parameterType:
|
|
9
|
-
* @editorparams {name:template,parameterType:string,description:配置的handlerBars
|
|
8
|
+
* @editorparams {name:contenttype,parameterType:'IMAGE' | 'TEXT' | 'RAW' | 'HEADING1' | 'HEADING2' | 'HEADING3' | 'HEADING4' | 'HEADING5' | 'HEADING6' | 'PARAGRAPH' | 'HTML' | 'VIDEO' | 'DIVIDER' | 'INFO' | 'WARNING' | 'ERROR' | 'MARKDOWN' | 'PLACEHOLDER',defaultvalue:'TEXT',description:定义组件展示的内容类型。包含`IMAGE`(图片)、`TEXT`(文本)、`RAW`(直接内容)、`HEADING1`-`HEADING6`(各级标题)、`PARAGRAPH`(段落)、`HTML`(Html内容)、`VIDEO`(视频)、`DIVIDER`(分割线)、`INFO`(常规提示)、`WARNING`(警告提示)、`ERROR`(错误提示)、`MARKDOWN`(Markdown内容)、`PLACEHOLDER`(占位)}
|
|
9
|
+
* @editorparams {name:template,parameterType:string,description:配置的handlerBars模板内容,用于将组件输入参数中的value值解析并转换为HTML内容,实现动态内容的渲染}
|
|
10
10
|
* @ignoreprops autoFocus | overflowMode
|
|
11
11
|
* @ignoreemits infoTextChange | enter
|
|
12
12
|
*/
|
|
@@ -5,9 +5,11 @@ import { SpanEditorController } from '../span-editor.controller';
|
|
|
5
5
|
* 标签
|
|
6
6
|
* @primary
|
|
7
7
|
* @description 直接呈现文本内容,可配置单位。支持编辑器类型包含:`标签`
|
|
8
|
-
* @editorparams {name:
|
|
9
|
-
* @editorparams {name:
|
|
10
|
-
* @editorparams {name:
|
|
8
|
+
* @editorparams {"name":"textseparator","parameterType":"string","defaultvalue":"','","description":"文本分隔符。如果是数组数据,在呈现时会使用文本分隔符拼接为字符串显示"}
|
|
9
|
+
* @editorparams {name:reversecolor,parameterType:boolean,description:是否反转颜色,即代码表项的color是否用于代码表项的背景色}
|
|
10
|
+
* @editorparams {name:showmode,parameterType:'DEFAULT' | 'ICON' | 'TEXT',defaultvalue:'DEFAULT',description:显示模式,即代码表项的显示情况,值为DEFAULT:显示图标和文本,值为ICON:只显示图标,值为TEXT:只显示文本}
|
|
11
|
+
* @editorparams {"name":"valuetype","parameterType":"string","description":"编辑器的值类型"}
|
|
12
|
+
* @editorparams {"name":"objectnamefield","parameterType":"string","defaultvalue":"'srfmajortext'","description":"值类型为OBJECT、OBJECTS时显示的对象属性"}
|
|
11
13
|
* @ignoreprops autoFocus | overflowMode
|
|
12
14
|
* @ignoreemits infoTextChange | enter | change | blur | focus
|
|
13
15
|
*/
|
|
@@ -20,12 +20,12 @@ const IBizSpan = /* @__PURE__ */ defineComponent({
|
|
|
20
20
|
setup(props, {
|
|
21
21
|
emit
|
|
22
22
|
}) {
|
|
23
|
-
var _a;
|
|
23
|
+
var _a, _b;
|
|
24
24
|
const ns = useNamespace("span");
|
|
25
25
|
const c = props.controller;
|
|
26
26
|
const text = ref("");
|
|
27
27
|
const codeList = c.codeList;
|
|
28
|
-
const textSeparator = c.model.textSeparator || ((_a = c.editorParams) == null ? void 0 : _a.TEXTSEPARATOR) || ",";
|
|
28
|
+
const textSeparator = c.model.textSeparator || ((_a = c.editorParams) == null ? void 0 : _a.TEXTSEPARATOR) || ((_b = c.editorParams) == null ? void 0 : _b.textseparator) || ",";
|
|
29
29
|
watch(() => props.value, (newVal, oldVal) => {
|
|
30
30
|
if (newVal !== oldVal) {
|
|
31
31
|
if (isNil(newVal)) {
|
|
@@ -109,14 +109,14 @@ const IBizSpan = /* @__PURE__ */ defineComponent({
|
|
|
109
109
|
};
|
|
110
110
|
},
|
|
111
111
|
render() {
|
|
112
|
-
var _a, _b;
|
|
112
|
+
var _a, _b, _c, _d;
|
|
113
113
|
let content = null;
|
|
114
114
|
if (this.c.codeList && this.items.length > 0) {
|
|
115
115
|
content = createVNode(resolveComponent("iBizCodeList"), {
|
|
116
|
-
"class": [this.ns.e("code-list"), this.ns.is("reverse-color", !!((_a = this.c.editorParams) == null ? void 0 : _a.REVERSECOLOR))],
|
|
116
|
+
"class": [this.ns.e("code-list"), this.ns.is("reverse-color", !!((_a = this.c.editorParams) == null ? void 0 : _a.REVERSECOLOR) || !!((_b = this.c.editorParams) == null ? void 0 : _b.reversecolor))],
|
|
117
117
|
"codeListItems": this.items,
|
|
118
118
|
"codeList": this.c.codeList,
|
|
119
|
-
"showMode": (
|
|
119
|
+
"showMode": ((_c = this.c.editorParams) == null ? void 0 : _c.SHOWMODE) || ((_d = this.c.editorParams) == null ? void 0 : _d.showmode),
|
|
120
120
|
"value": this.text
|
|
121
121
|
}, null);
|
|
122
122
|
} else if (this.text) {
|
|
@@ -5,10 +5,11 @@ import './ibiz-stepper.scss';
|
|
|
5
5
|
*
|
|
6
6
|
* @description 使用van-stepper组件,用于在一定范围内调整数字的场景。支持编辑器类型包含:`移动端步进器`
|
|
7
7
|
* @primary
|
|
8
|
-
* @editorparams {name:
|
|
8
|
+
* @editorparams {name:stepvalue,parameterType:number,defaultvalue:1,description:设置递增或递减的步长,van-stepper组件的step属性}
|
|
9
9
|
* @editorparams {name:precision,parameterType:number,defaultvalue:0,description:设置数值精度,van-stepper组件的decimal-length属性}
|
|
10
|
-
* @editorparams {name:
|
|
11
|
-
* @editorparams {name:
|
|
10
|
+
* @editorparams {name:maxvalue,parameterType:number,defaultvalue:Infinity,description:设置步进器允许的最大值,van-stepper组件的max属性}
|
|
11
|
+
* @editorparams {name:minvalue,parameterType:number,defaultvalue:-Infinity,description:设置步进器允许的最小值,van-stepper组件的min属性}
|
|
12
|
+
* @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
|
|
12
13
|
* @ignoreprops autoFocus | overflowMode
|
|
13
14
|
* @ignoreemits enter | infoTextChange
|
|
14
15
|
*/
|
|
@@ -25,15 +25,24 @@ const IBizStepper = /* @__PURE__ */ defineComponent({
|
|
|
25
25
|
if (editorModel.editorParams.stepValue) {
|
|
26
26
|
step = toNumber(editorModel.editorParams.stepValue);
|
|
27
27
|
}
|
|
28
|
+
if (editorModel.editorParams.stepvalue) {
|
|
29
|
+
step = toNumber(editorModel.editorParams.stepvalue);
|
|
30
|
+
}
|
|
28
31
|
if (editorModel.editorParams.precision) {
|
|
29
32
|
precision = toNumber(editorModel.editorParams.precision);
|
|
30
33
|
}
|
|
31
34
|
if (editorModel.editorParams.maxValue) {
|
|
32
35
|
max = toNumber(editorModel.editorParams.maxValue);
|
|
33
36
|
}
|
|
37
|
+
if (editorModel.editorParams.maxvalue) {
|
|
38
|
+
max = toNumber(editorModel.editorParams.maxvalue);
|
|
39
|
+
}
|
|
34
40
|
if (editorModel.editorParams.minValue) {
|
|
35
41
|
min = toNumber(editorModel.editorParams.minValue);
|
|
36
42
|
}
|
|
43
|
+
if (editorModel.editorParams.minvalue) {
|
|
44
|
+
min = toNumber(editorModel.editorParams.minvalue);
|
|
45
|
+
}
|
|
37
46
|
}
|
|
38
47
|
const handleChange = (e) => {
|
|
39
48
|
if (e == props.value) {
|
|
@@ -5,6 +5,7 @@ import { SwitchEditorController } from '../switch-editor.controller';
|
|
|
5
5
|
*
|
|
6
6
|
* @description 使用van-switch组件,表示两种相互对立的状态间的切换,多用于触发「开/关」。支持编辑器类型包含:`移动端开关部件`
|
|
7
7
|
* @primary
|
|
8
|
+
* @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
|
|
8
9
|
* @ignoreprops overflowMode | autoFocus
|
|
9
10
|
* @ignoreemits enter | infoTextChange
|
|
10
11
|
*/
|
|
@@ -5,7 +5,8 @@ import { TextBoxEditorController } from '../text-box-editor.controller';
|
|
|
5
5
|
*
|
|
6
6
|
* @description 使用van-field组件,用于仅允许输入标准的数字值的场景。支持编辑器类型包含:`移动端数值框`
|
|
7
7
|
* @primary
|
|
8
|
-
* @editorparams {name:precision,parameterType:number,description
|
|
8
|
+
* @editorparams {name:precision,parameterType:number,description:设置数值精度}
|
|
9
|
+
* @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
|
|
9
10
|
* @ignoreprops overflowMode
|
|
10
11
|
* @ignoreemits infoTextChange | enter
|
|
11
12
|
*/
|
|
@@ -5,6 +5,8 @@ import { TextBoxEditorController } from '../text-box-editor.controller';
|
|
|
5
5
|
*
|
|
6
6
|
* @description 使用van-field组件,用于数据录入,通过键盘输入字符。支持编辑器类型包含:`移动端文本框`、`移动端多行文本`、`移动端密码框`
|
|
7
7
|
* @primary
|
|
8
|
+
* @editorparams {name:enableshowpwd,parameterType:boolean,defaultvalue:false,description:控制密码框是否可以切换密码的显示与隐藏}
|
|
9
|
+
* @editorparams {name:readonly,parameterType:boolean,defaultvalue:false,description:设置编辑器是否为只读态}
|
|
8
10
|
* @ignoreprops overflowMode
|
|
9
11
|
* @ignoreemits infoTextChange
|
|
10
12
|
*/
|
|
@@ -28,9 +28,30 @@ export declare class UploadEditorController extends EditorController<IFileUpload
|
|
|
28
28
|
*/
|
|
29
29
|
exportParams?: IParams;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* @description 是否显示加载动画
|
|
32
|
+
* @readonly
|
|
33
|
+
* @type {boolean}
|
|
34
|
+
* @memberof UploadEditorController
|
|
35
|
+
*/
|
|
36
|
+
get showLoading(): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* @description 图片压缩范围(超过该范围进行压缩,单位kb)
|
|
39
|
+
* @readonly
|
|
40
|
+
* @memberof UploadEditorController
|
|
41
|
+
*/
|
|
42
|
+
get imgCompressLimit(): number;
|
|
43
|
+
/**
|
|
44
|
+
* @description 图片压缩质量(0-1,为0时不压缩,默认为0)
|
|
45
|
+
* @readonly
|
|
46
|
+
* @memberof UploadEditorController
|
|
47
|
+
*/
|
|
48
|
+
get imgCompressQuality(): number;
|
|
49
|
+
/**
|
|
50
|
+
* @description 压缩图片最大宽度,默认为1280px
|
|
51
|
+
* @readonly
|
|
52
|
+
* @memberof UploadEditorController
|
|
32
53
|
*/
|
|
33
|
-
|
|
54
|
+
get imgCompressMaxWidth(): number;
|
|
34
55
|
/**
|
|
35
56
|
* 文件类型
|
|
36
57
|
*
|
|
@@ -31,10 +31,6 @@ class UploadEditorController extends EditorController {
|
|
|
31
31
|
* 下载参数
|
|
32
32
|
*/
|
|
33
33
|
__publicField(this, "exportParams");
|
|
34
|
-
/**
|
|
35
|
-
* 显示加载动画
|
|
36
|
-
*/
|
|
37
|
-
__publicField(this, "showLoading", false);
|
|
38
34
|
/**
|
|
39
35
|
* 文件类型
|
|
40
36
|
*
|
|
@@ -86,6 +82,51 @@ class UploadEditorController extends EditorController {
|
|
|
86
82
|
["tar", "zip"]
|
|
87
83
|
]));
|
|
88
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* @description 是否显示加载动画
|
|
87
|
+
* @readonly
|
|
88
|
+
* @type {boolean}
|
|
89
|
+
* @memberof UploadEditorController
|
|
90
|
+
*/
|
|
91
|
+
get showLoading() {
|
|
92
|
+
if (this.editorParams.showloading) {
|
|
93
|
+
return Boolean(this.editorParams.showloading);
|
|
94
|
+
}
|
|
95
|
+
return ibiz.config.mob.showUploadLoading;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @description 图片压缩范围(超过该范围进行压缩,单位kb)
|
|
99
|
+
* @readonly
|
|
100
|
+
* @memberof UploadEditorController
|
|
101
|
+
*/
|
|
102
|
+
get imgCompressLimit() {
|
|
103
|
+
if (this.editorParams.imgcompresslimit) {
|
|
104
|
+
return Number(this.editorParams.imgcompresslimit);
|
|
105
|
+
}
|
|
106
|
+
return ibiz.config.imgCompressConfig.limit;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* @description 图片压缩质量(0-1,为0时不压缩,默认为0)
|
|
110
|
+
* @readonly
|
|
111
|
+
* @memberof UploadEditorController
|
|
112
|
+
*/
|
|
113
|
+
get imgCompressQuality() {
|
|
114
|
+
if (this.editorParams.imgcompressquality) {
|
|
115
|
+
return Number(this.editorParams.imgcompressquality);
|
|
116
|
+
}
|
|
117
|
+
return ibiz.config.imgCompressConfig.quality;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* @description 压缩图片最大宽度,默认为1280px
|
|
121
|
+
* @readonly
|
|
122
|
+
* @memberof UploadEditorController
|
|
123
|
+
*/
|
|
124
|
+
get imgCompressMaxWidth() {
|
|
125
|
+
if (this.editorParams.imgcompressmaxwidth) {
|
|
126
|
+
return Number(this.editorParams.imgcompressmaxwidth);
|
|
127
|
+
}
|
|
128
|
+
return ibiz.config.imgCompressConfig.maxWidth;
|
|
129
|
+
}
|
|
89
130
|
async onInit() {
|
|
90
131
|
var _a;
|
|
91
132
|
await super.onInit();
|
|
@@ -103,14 +144,7 @@ class UploadEditorController extends EditorController {
|
|
|
103
144
|
this.multiple = false;
|
|
104
145
|
}
|
|
105
146
|
if (this.editorParams) {
|
|
106
|
-
const {
|
|
107
|
-
isDrag,
|
|
108
|
-
multiple,
|
|
109
|
-
accept,
|
|
110
|
-
uploadParams,
|
|
111
|
-
exportParams,
|
|
112
|
-
showloading
|
|
113
|
-
} = this.editorParams;
|
|
147
|
+
const { isDrag, multiple, accept, uploadParams, exportParams } = this.editorParams;
|
|
114
148
|
if (isDrag) {
|
|
115
149
|
this.isDrag = Boolean(isDrag);
|
|
116
150
|
}
|
|
@@ -120,9 +154,6 @@ class UploadEditorController extends EditorController {
|
|
|
120
154
|
if (accept) {
|
|
121
155
|
this.accept = accept;
|
|
122
156
|
}
|
|
123
|
-
if (showloading) {
|
|
124
|
-
this.showLoading = Boolean(showloading);
|
|
125
|
-
}
|
|
126
157
|
if (uploadParams) {
|
|
127
158
|
try {
|
|
128
159
|
this.uploadParams = JSON.parse(uploadParams);
|
|
@@ -39,6 +39,22 @@ function useVanUpload(props, valueChange, c) {
|
|
|
39
39
|
if ((newVal == null ? void 0 : newVal.length) && downloadUrl.value) {
|
|
40
40
|
newVal.forEach((file) => {
|
|
41
41
|
file.url = file.url || downloadUrl.value.replace("%fileId%", file.id);
|
|
42
|
+
if (ibiz.config.common.enableDownloadTicket)
|
|
43
|
+
ibiz.util.file.getDownloadTicket(
|
|
44
|
+
c.context,
|
|
45
|
+
c.params,
|
|
46
|
+
props.data,
|
|
47
|
+
{
|
|
48
|
+
fileId: file.id
|
|
49
|
+
},
|
|
50
|
+
c.downloadTicketParams
|
|
51
|
+
).then((downloadTicket) => {
|
|
52
|
+
if (downloadTicket && downloadTicket.ticket)
|
|
53
|
+
file.url = downloadUrl.value.replace(
|
|
54
|
+
"%fileId%",
|
|
55
|
+
downloadTicket.ticket
|
|
56
|
+
);
|
|
57
|
+
});
|
|
42
58
|
});
|
|
43
59
|
}
|
|
44
60
|
},
|
|
@@ -67,8 +83,10 @@ function useVanUpload(props, valueChange, c) {
|
|
|
67
83
|
return true;
|
|
68
84
|
};
|
|
69
85
|
const onSuccess = (response) => {
|
|
70
|
-
if (!response)
|
|
86
|
+
if (!response)
|
|
71
87
|
return;
|
|
88
|
+
if (ibiz.config.common.enableDownloadTicket && response.ticket) {
|
|
89
|
+
ibiz.util.file.setDownloadTicket(response.id, response.ticket);
|
|
72
90
|
}
|
|
73
91
|
files.value.push({
|
|
74
92
|
name: response.filename,
|
|
@@ -92,9 +110,23 @@ function useVanUpload(props, valueChange, c) {
|
|
|
92
110
|
}
|
|
93
111
|
emitValue();
|
|
94
112
|
};
|
|
95
|
-
const uploadFile = (file) => {
|
|
113
|
+
const uploadFile = async (file) => {
|
|
114
|
+
const size = file.file.size;
|
|
115
|
+
const sizeKB = size / 1024;
|
|
116
|
+
let curFile = file.file;
|
|
117
|
+
if (c.imgCompressQuality && c.imgCompressLimit && sizeKB > c.imgCompressLimit) {
|
|
118
|
+
try {
|
|
119
|
+
curFile = await ibiz.util.file.compressImg(
|
|
120
|
+
curFile,
|
|
121
|
+
c.imgCompressMaxWidth,
|
|
122
|
+
c.imgCompressQuality
|
|
123
|
+
);
|
|
124
|
+
} catch (e) {
|
|
125
|
+
ibiz.log.error(ibiz.i18n.t("editor.upload.compressError"));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
96
128
|
const formData = new FormData();
|
|
97
|
-
formData.append("file",
|
|
129
|
+
formData.append("file", curFile);
|
|
98
130
|
return new Promise((resolve, reject) => {
|
|
99
131
|
ibiz.net.axios({
|
|
100
132
|
url: uploadUrl.value,
|
package/es/locale/en/index.d.ts
CHANGED
|
@@ -102,6 +102,7 @@ declare const _default: {
|
|
|
102
102
|
};
|
|
103
103
|
runtime: {
|
|
104
104
|
common: {
|
|
105
|
+
undefined: string;
|
|
105
106
|
unrealized: string;
|
|
106
107
|
noExplanation: string;
|
|
107
108
|
};
|
|
@@ -947,6 +948,7 @@ declare const _default: {
|
|
|
947
948
|
uploadJsonFormatErr: string;
|
|
948
949
|
exportJsonFormatErr: string;
|
|
949
950
|
cancelUpload: string;
|
|
951
|
+
compressError: string;
|
|
950
952
|
};
|
|
951
953
|
emojiPicker: {
|
|
952
954
|
addEmoji: string;
|