@ibiz-template/mob-vue3-components 0.7.41-alpha.13 → 0.7.41-alpha.14
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-Pq2AnubY.js +76 -0
- package/dist/index-Pq2AnubY.js.map +1 -0
- package/dist/index.min.css +9 -9
- package/dist/index.system.min.js +1 -1
- package/dist/{quill-wfN-3C_3.js → quill-QfnovuHC.js} +2 -2
- package/dist/{quill-wfN-3C_3.js.map → quill-QfnovuHC.js.map} +1 -1
- package/dist/{quill-editor-preview-G0MpMJzC.js → quill-editor-preview-0dI65Nu7.js} +2 -2
- package/dist/{quill-editor-preview-G0MpMJzC.js.map → quill-editor-preview-0dI65Nu7.js.map} +1 -1
- package/dist/{quill-editor-VqApoQJq.js → quill-editor-x-OFlakL.js} +2 -2
- package/dist/{quill-editor-VqApoQJq.js.map → quill-editor-x-OFlakL.js.map} +1 -1
- package/dist/tree-4CqtwsXL.js +2 -0
- package/dist/tree-4CqtwsXL.js.map +1 -0
- package/es/_virtual/index12.mjs +2 -2
- package/es/_virtual/index13.mjs +2 -2
- package/es/common/action-group/action-group.css +1 -0
- package/es/common/action-group/action-group.d.ts +54 -0
- package/es/common/action-group/action-group.mjs +165 -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/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/upload/use/use-van-upload.mjs +19 -1
- package/es/node_modules/.pnpm/dingtalk-jsapi@3.0.38/node_modules/dingtalk-jsapi/lib/packages/frame-talk-client-pc/index.mjs +1 -1
- package/es/node_modules/.pnpm/dingtalk-jsapi@3.0.38/node_modules/dingtalk-jsapi/lib/sdk/middlewares/index.mjs +1 -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/lib/_virtual/index12.cjs +2 -2
- package/lib/_virtual/index13.cjs +2 -2
- package/lib/common/action-group/action-group.cjs +167 -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/span/span/span.cjs +5 -5
- package/lib/editor/upload/use/use-van-upload.cjs +19 -1
- package/lib/node_modules/.pnpm/dingtalk-jsapi@3.0.38/node_modules/dingtalk-jsapi/lib/packages/frame-talk-client-pc/index.cjs +1 -1
- package/lib/node_modules/.pnpm/dingtalk-jsapi@3.0.38/node_modules/dingtalk-jsapi/lib/sdk/middlewares/index.cjs +1 -1
- package/lib/panel-component/panel-button-list/panel-button-list.controller.cjs +18 -17
- package/package.json +5 -5
- 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,4 +1,4 @@
|
|
|
1
|
-
import { ref, computed,
|
|
1
|
+
import { ref, computed, createVNode, resolveComponent, defineComponent } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import '../../util/index.mjs';
|
|
4
4
|
import './button-list.css';
|
|
@@ -29,6 +29,36 @@ const IBizButtonList = /* @__PURE__ */ defineComponent({
|
|
|
29
29
|
}) {
|
|
30
30
|
const ns = useNamespace("button-list");
|
|
31
31
|
const showPopover = ref(false);
|
|
32
|
+
const buttonRef = ref();
|
|
33
|
+
const childPopover = ref(false);
|
|
34
|
+
const details = computed(() => {
|
|
35
|
+
const {
|
|
36
|
+
buttonListType,
|
|
37
|
+
uiactionGroup
|
|
38
|
+
} = props.model;
|
|
39
|
+
if (buttonListType === "UIACTIONGROUP")
|
|
40
|
+
return (uiactionGroup == null ? void 0 : uiactionGroup.uiactionGroupDetails) || [];
|
|
41
|
+
return props.model.panelButtons || props.model.deformButtons || [];
|
|
42
|
+
});
|
|
43
|
+
const placement = computed(() => {
|
|
44
|
+
if (!buttonRef.value)
|
|
45
|
+
return "bottom";
|
|
46
|
+
const {
|
|
47
|
+
innerWidth,
|
|
48
|
+
innerHeight
|
|
49
|
+
} = window;
|
|
50
|
+
const {
|
|
51
|
+
offsetLeft: x,
|
|
52
|
+
offsetTop: y,
|
|
53
|
+
offsetWidth: width
|
|
54
|
+
} = buttonRef.value.$el;
|
|
55
|
+
const centerX = innerWidth - width - 128;
|
|
56
|
+
const centerY = details.value.length ? innerHeight - details.value.length * 44 : innerHeight / 2;
|
|
57
|
+
if (y > centerY) {
|
|
58
|
+
return x > centerX ? "top-end" : "top-start";
|
|
59
|
+
}
|
|
60
|
+
return x > centerX ? "bottom-end" : "bottom-start";
|
|
61
|
+
});
|
|
32
62
|
const buttonListStyle = computed(() => {
|
|
33
63
|
const {
|
|
34
64
|
itemStyle,
|
|
@@ -37,102 +67,90 @@ const IBizButtonList = /* @__PURE__ */ defineComponent({
|
|
|
37
67
|
return itemStyle || detailStyle || "DEFAULT";
|
|
38
68
|
});
|
|
39
69
|
const handleClick = (item, e) => {
|
|
70
|
+
e == null ? void 0 : e.stopPropagation();
|
|
40
71
|
emit("click", item.id, e);
|
|
41
72
|
};
|
|
42
73
|
const onChangePopover = (e) => {
|
|
43
74
|
e.stopPropagation();
|
|
44
75
|
showPopover.value = !showPopover.value;
|
|
45
76
|
};
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const actions = computed(() => {
|
|
56
|
-
return details.value.filter((detail) => {
|
|
57
|
-
var _a;
|
|
58
|
-
return ((_a = props.buttonsState[detail.id]) == null ? void 0 : _a.visible) !== false;
|
|
59
|
-
}).map((detail) => {
|
|
60
|
-
var _a, _b;
|
|
61
|
-
return {
|
|
62
|
-
...detail,
|
|
63
|
-
disabled: (_a = props.buttonsState[detail.id]) == null ? void 0 : _a.disabled,
|
|
64
|
-
className: (_b = detail.sysCss) == null ? void 0 : _b.cssName
|
|
65
|
-
};
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
const renderActions = () => {
|
|
69
|
-
return createVNode("div", {
|
|
70
|
-
"class": ns.e("content")
|
|
71
|
-
}, [details.value.map((item) => {
|
|
77
|
+
const renderSeparator = (visible) => {
|
|
78
|
+
if (visible)
|
|
79
|
+
return createVNode("div", {
|
|
80
|
+
"class": ns.e("separator")
|
|
81
|
+
}, null);
|
|
82
|
+
};
|
|
83
|
+
const renderActions = (direction) => {
|
|
84
|
+
const showSeparator = direction === "vertical";
|
|
85
|
+
return details.value.map((item) => {
|
|
72
86
|
var _a, _b, _c, _d;
|
|
73
|
-
if (
|
|
74
|
-
return
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
"
|
|
85
|
-
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
87
|
+
if (item.detailType === "DEUIACTIONGROUP")
|
|
88
|
+
return [renderSeparator(item.addSeparator && showSeparator), createVNode(resolveComponent("iBizActionGroup"), {
|
|
89
|
+
"actionDetail": item,
|
|
90
|
+
"onActionClick": handleClick,
|
|
91
|
+
"actionsState": props.buttonsState,
|
|
92
|
+
"popoverClassName": ns.b("action-group"),
|
|
93
|
+
"onPopoverVisibleChange": (visible) => childPopover.value = visible,
|
|
94
|
+
"direction": direction === "horizontal" ? "vertical" : "horizontal"
|
|
95
|
+
}, null)];
|
|
96
|
+
if ((_a = props.buttonsState[item.id]) == null ? void 0 : _a.visible)
|
|
97
|
+
return [renderSeparator(item.addSeparator && showSeparator), createVNode(resolveComponent("van-button"), {
|
|
98
|
+
"size": "small",
|
|
99
|
+
"class": [ns.e("item"), ns.em("item", `${(_b = item.id) == null ? void 0 : _b.toLowerCase()}`), (_c = item.sysCss) == null ? void 0 : _c.cssName],
|
|
100
|
+
"type": convertBtnType(item.buttonStyle),
|
|
101
|
+
"disabled": ((_d = props.buttonsState[item.id]) == null ? void 0 : _d.disabled) || props.disabled,
|
|
102
|
+
"onClick": (event) => handleClick(item, event)
|
|
103
|
+
}, {
|
|
104
|
+
default: () => [item.showIcon !== false && createVNode(resolveComponent("iBizIcon"), {
|
|
105
|
+
"icon": item.sysImage,
|
|
106
|
+
"class": ns.em("item", "icon")
|
|
107
|
+
}, null), item.showCaption && createVNode("span", {
|
|
108
|
+
"class": ns.em("item", "caption")
|
|
109
|
+
}, [item.caption])]
|
|
110
|
+
})];
|
|
111
|
+
return null;
|
|
112
|
+
});
|
|
90
113
|
};
|
|
91
114
|
const renderDropdown = () => {
|
|
92
115
|
return createVNode(resolveComponent("van-popover"), {
|
|
93
116
|
"class": ns.e("popover"),
|
|
94
|
-
"placement":
|
|
95
|
-
"actions": actions.value,
|
|
117
|
+
"placement": placement.value,
|
|
96
118
|
"show": showPopover.value,
|
|
97
119
|
"onUpdate:show": ($event) => showPopover.value = $event,
|
|
98
|
-
"
|
|
120
|
+
"close-on-click-outside": !childPopover.value
|
|
99
121
|
}, {
|
|
100
|
-
action: ({
|
|
101
|
-
action
|
|
102
|
-
}) => {
|
|
103
|
-
return createVNode("span", {
|
|
104
|
-
"class": ns.em("popover", "item")
|
|
105
|
-
}, [action.showIcon !== false && action.sysImage && createVNode(resolveComponent("iBizIcon"), {
|
|
106
|
-
"icon": action.sysImage
|
|
107
|
-
}, null), action.showCaption && action.caption]);
|
|
108
|
-
},
|
|
109
122
|
reference: () => {
|
|
110
123
|
const {
|
|
111
124
|
caption,
|
|
112
|
-
sysImage
|
|
113
|
-
showCaption
|
|
125
|
+
sysImage
|
|
114
126
|
} = props.model;
|
|
115
127
|
return createVNode(resolveComponent("van-button"), {
|
|
116
128
|
"size": "small",
|
|
129
|
+
"ref": "buttonRef",
|
|
130
|
+
"class": ns.e("button"),
|
|
117
131
|
"disabled": props.disabled,
|
|
118
132
|
"onClick": onChangePopover,
|
|
119
133
|
"type": convertBtnType(buttonListStyle.value)
|
|
120
134
|
}, {
|
|
121
135
|
default: () => [sysImage && createVNode(resolveComponent("iBizIcon"), {
|
|
122
|
-
"class": ns.em("
|
|
136
|
+
"class": ns.em("button", "icon"),
|
|
123
137
|
"icon": sysImage
|
|
124
|
-
}, null),
|
|
125
|
-
"class": ns.em("
|
|
138
|
+
}, null), caption && createVNode("span", {
|
|
139
|
+
"class": ns.em("button", "caption")
|
|
126
140
|
}, [caption, createVNode("ion-icon", {
|
|
127
141
|
"name": "chevron-down-outline",
|
|
128
|
-
"class": ns.em("
|
|
142
|
+
"class": ns.em("button", "more")
|
|
129
143
|
}, null)])]
|
|
130
144
|
});
|
|
145
|
+
},
|
|
146
|
+
default: () => {
|
|
147
|
+
return renderActions("vertical");
|
|
131
148
|
}
|
|
132
149
|
});
|
|
133
150
|
};
|
|
134
151
|
return {
|
|
135
152
|
ns,
|
|
153
|
+
buttonRef,
|
|
136
154
|
renderDropdown,
|
|
137
155
|
renderActions
|
|
138
156
|
};
|
|
@@ -142,7 +160,9 @@ const IBizButtonList = /* @__PURE__ */ defineComponent({
|
|
|
142
160
|
return createVNode("div", {
|
|
143
161
|
"class": [this.ns.b(), this.ns.m(this.model.id), this.ns.m((_a = this.model.actionGroupExtractMode) == null ? void 0 : _a.toLowerCase())],
|
|
144
162
|
"style": this.model.cssStyle
|
|
145
|
-
}, [this.model.actionGroupExtractMode === "ITEM" || this.model.buttonListType === "BUTTONS" ?
|
|
163
|
+
}, [this.model.actionGroupExtractMode === "ITEM" || this.model.buttonListType === "BUTTONS" ? createVNode("div", {
|
|
164
|
+
"class": this.ns.e("content")
|
|
165
|
+
}, [this.renderActions("horizontal")]) : this.renderDropdown()]);
|
|
146
166
|
}
|
|
147
167
|
});
|
|
148
168
|
|
package/es/common/index.mjs
CHANGED
|
@@ -16,10 +16,12 @@ import { IBizMdCtrlSetting } from './md-ctrl-setting/md-ctrl-setting.mjs';
|
|
|
16
16
|
import { IBizPreviewImage } from './preview-image/preview-image.mjs';
|
|
17
17
|
import { IBizDateRangeCalendar } from './date-range-picker/date-range-picker.mjs';
|
|
18
18
|
import { IBizCropping } from './cropping/cropping.mjs';
|
|
19
|
+
import { IBizActionGroup } from './action-group/action-group.mjs';
|
|
19
20
|
|
|
20
21
|
"use strict";
|
|
21
22
|
const IBizCommonComponents = {
|
|
22
23
|
install: (v) => {
|
|
24
|
+
v.component(IBizActionGroup.name, IBizActionGroup);
|
|
23
25
|
v.component(IBizDateRangeCalendar.name, IBizDateRangeCalendar);
|
|
24
26
|
v.component(IBizViewShell.name, IBizViewShell);
|
|
25
27
|
v.component(IBizRow.name, IBizRow);
|
|
@@ -85,7 +85,7 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
if (["TEXT", "HEADING1", "HEADING2", "HEADING3", "HEADING4", "HEADING5", "HEADING6", "PARAGRAPH", "HTML"].includes(rawItemType.value)) {
|
|
88
|
+
if (["TEXT", "HEADING1", "HEADING2", "HEADING3", "HEADING4", "HEADING5", "HEADING6", "PARAGRAPH", "HTML", "RAW"].includes(rawItemType.value)) {
|
|
89
89
|
rawItemText.value = rawItemContent.value;
|
|
90
90
|
if (typeof rawItemText.value === "string") {
|
|
91
91
|
rawItemText.value = rawItemText.value.replaceAll("<", "<");
|
|
@@ -161,7 +161,7 @@ const IBizRawItem = /* @__PURE__ */ defineComponent({
|
|
|
161
161
|
"icon": this.rawItemContent
|
|
162
162
|
}, null);
|
|
163
163
|
}
|
|
164
|
-
if (this.rawItemType === "TEXT") {
|
|
164
|
+
if (this.rawItemType === "TEXT" || this.rawItemType === "RAW") {
|
|
165
165
|
return createVNode("span", {
|
|
166
166
|
"class": this.ns.e("text")
|
|
167
167
|
}, [this.rawItemText]);
|
|
@@ -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,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) {
|
|
@@ -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,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { commonjsGlobal } from '../../../../../../../../_virtual/_commonjsHelpers.mjs';
|
|
2
|
-
import { __module as frameTalkClientPc$1 } from '../../../../../../../../_virtual/
|
|
2
|
+
import { __module as frameTalkClientPc$1 } from '../../../../../../../../_virtual/index12.mjs';
|
|
3
3
|
|
|
4
4
|
var frameTalkClientPc = frameTalkClientPc$1.exports;
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { commonjsGlobal } from '../../../../../../../../_virtual/_commonjsHelpers.mjs';
|
|
2
|
-
import { __exports as middlewares } from '../../../../../../../../_virtual/
|
|
2
|
+
import { __exports as middlewares } from '../../../../../../../../_virtual/index13.mjs';
|
|
3
3
|
import '../../../../../../../../_virtual/bridge.mjs';
|
|
4
4
|
import { __require as requireRetry } from './retry.mjs';
|
|
5
5
|
import '../../../../../../../../_virtual/dealParamsAndResult.mjs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PanelController,
|
|
1
|
+
import { PanelController, PanelNotifyState, PanelItemController } from '@ibiz-template/runtime';
|
|
2
2
|
import { IPanelButtonList } from '@ibiz/model-core';
|
|
3
3
|
import { PanelButtonListState } from './panel-button-list.state';
|
|
4
4
|
/**
|