@ibiz-template/vue3-components 0.7.41-alpha.112 → 0.7.41-alpha.114
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-BLBroBhu.js → index-B3O6yu1f.js} +1 -1
- package/dist/index-BugLIX5r.js +339 -0
- package/dist/{index-C-9vEACb.js → index-qO4rCmKY.js} +1 -1
- package/dist/{index.es-Dsu1bPbQ.js → index.es-EGP1S-jJ.js} +1 -1
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{wang-editor-4OTQfjW9.js → wang-editor-CBp2ammw.js} +1 -1
- package/dist/{xlsx-util--TUzshNx.js → xlsx-util-NIbtpljc.js} +1 -1
- package/es/common/button-list/button-list.mjs +6 -1
- package/es/common/data-import/data-import.mjs +11 -8
- package/es/control/calendar/components/calendar-user2/calendar-user2.mjs +2 -2
- package/es/control/calendar/components/custom-calendar/custom-calendar.mjs +1 -2
- package/es/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.mjs +2 -0
- package/es/control/drtab/drtab-control.util.mjs +1 -1
- package/es/control/drtab/drtab.controller.mjs +48 -13
- package/es/control/drtab/drtab.mjs +1 -1
- package/es/control/drtab/flow-drtab.mjs +9 -9
- package/es/control/exp-bar/render-util.mjs +2 -2
- package/es/control/medit-view-panel/medit-view-panel.mjs +1 -1
- package/es/control/toolbar/toolbar.mjs +3 -0
- package/es/control/tree/tree.mjs +1 -1
- package/es/control/tree-grid-ex/tree-grid-ex.mjs +1 -0
- package/es/editor/check-box-list/checkbox-list-editor.controller.mjs +11 -1
- package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +9 -4
- package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.mjs +2 -1
- package/es/editor/date-range-select/date-range-select-picker/date-range-select.mjs +4 -4
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +1 -1
- package/es/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.mjs +17 -1
- package/es/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.mjs +19 -4
- package/es/editor/list-box/ibiz-list-box/ibiz-list-box.mjs +24 -7
- package/es/editor/list-box/list-box-editor.controller.mjs +11 -0
- package/es/editor/list-box/list-box-picker-editor.controller.mjs +11 -0
- package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +7 -0
- package/es/editor/radio-button-list/radio-button-list.controller.mjs +11 -1
- package/es/locale/en/index.mjs +1 -0
- package/es/locale/zh-CN/index.mjs +1 -0
- package/es/panel-component/global-search/global-search.mjs +2 -1
- package/es/panel-component/nav-tabs/nav-tabs.mjs +12 -3
- package/es/panel-component/short-cut/short-cut.mjs +2 -1
- package/es/panel-component/user-message/user-message.mjs +1 -0
- package/es/util/ai-chat-util/ai-chat-util.mjs +11 -0
- package/es/util/fullscreen/fullscreen-util.mjs +1 -1
- package/lib/common/button-list/button-list.cjs +6 -1
- package/lib/common/data-import/data-import.cjs +11 -8
- package/lib/control/calendar/components/calendar-user2/calendar-user2.cjs +2 -2
- package/lib/control/calendar/components/custom-calendar/custom-calendar.cjs +1 -2
- package/lib/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.cjs +2 -0
- package/lib/control/drtab/drtab-control.util.cjs +1 -1
- package/lib/control/drtab/drtab.cjs +1 -1
- package/lib/control/drtab/drtab.controller.cjs +48 -13
- package/lib/control/drtab/flow-drtab.cjs +9 -9
- package/lib/control/exp-bar/render-util.cjs +2 -2
- package/lib/control/medit-view-panel/medit-view-panel.cjs +1 -1
- package/lib/control/toolbar/toolbar.cjs +3 -0
- package/lib/control/tree/tree.cjs +1 -1
- package/lib/control/tree-grid-ex/tree-grid-ex.cjs +1 -0
- package/lib/editor/check-box-list/checkbox-list-editor.controller.cjs +11 -1
- package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +9 -4
- package/lib/editor/date-picker/ibiz-date-picker/ibiz-date-picker.cjs +2 -1
- package/lib/editor/date-range-select/date-range-select-picker/date-range-select.cjs +4 -4
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +1 -1
- package/lib/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.cjs +17 -1
- package/lib/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.cjs +19 -4
- package/lib/editor/list-box/ibiz-list-box/ibiz-list-box.cjs +24 -7
- package/lib/editor/list-box/list-box-editor.controller.cjs +11 -0
- package/lib/editor/list-box/list-box-picker-editor.controller.cjs +11 -0
- package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +7 -0
- package/lib/editor/radio-button-list/radio-button-list.controller.cjs +11 -1
- package/lib/locale/en/index.cjs +1 -0
- package/lib/locale/zh-CN/index.cjs +1 -0
- package/lib/panel-component/global-search/global-search.cjs +2 -1
- package/lib/panel-component/nav-tabs/nav-tabs.cjs +12 -3
- package/lib/panel-component/short-cut/short-cut.cjs +2 -1
- package/lib/panel-component/user-message/user-message.cjs +1 -0
- package/lib/util/ai-chat-util/ai-chat-util.cjs +11 -0
- package/lib/util/fullscreen/fullscreen-util.cjs +1 -1
- package/package.json +5 -5
- package/src/common/button-list/button-list.tsx +4 -1
- package/src/common/data-import/data-import.tsx +16 -9
- package/src/control/calendar/components/calendar-user2/calendar-user2.tsx +2 -2
- package/src/control/calendar/components/custom-calendar/custom-calendar.tsx +1 -1
- package/src/control/dashboard/portlet/menu-portlet/app-menu-portlet/app-menu-portlet.tsx +2 -0
- package/src/control/drtab/drtab.controller.ts +54 -14
- package/src/control/drtab/drtab.tsx +1 -1
- package/src/control/drtab/flow-drtab.tsx +9 -9
- package/src/control/exp-bar/render-util.tsx +3 -3
- package/src/control/medit-view-panel/medit-view-panel.tsx +1 -1
- package/src/control/toolbar/toolbar.tsx +1 -0
- package/src/control/tree/tree.tsx +1 -1
- package/src/control/tree-grid-ex/tree-grid-ex.tsx +1 -0
- package/src/editor/check-box-list/checkbox-list-editor.controller.ts +11 -0
- package/src/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.tsx +28 -6
- package/src/editor/date-picker/ibiz-date-picker/ibiz-date-picker.tsx +1 -0
- package/src/editor/date-range-select/date-range-select-picker/date-range-select.tsx +8 -5
- package/src/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.tsx +3 -1
- package/src/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.tsx +28 -1
- package/src/editor/dropdown-list/ibiz-virtualized-list/ibiz-virtualized-list.tsx +31 -4
- package/src/editor/list-box/ibiz-list-box/ibiz-list-box.tsx +45 -9
- package/src/editor/list-box/list-box-editor.controller.ts +11 -0
- package/src/editor/list-box/list-box-picker-editor.controller.ts +11 -0
- package/src/editor/radio-button-list/ibiz-radio/ibiz-radio.tsx +13 -0
- package/src/editor/radio-button-list/radio-button-list.controller.ts +11 -0
- package/src/locale/en/index.ts +1 -0
- package/src/locale/zh-CN/index.ts +1 -0
- package/src/panel-component/global-search/global-search.tsx +1 -0
- package/src/panel-component/nav-tabs/nav-tabs.tsx +9 -0
- package/src/panel-component/short-cut/short-cut.tsx +1 -0
- package/src/panel-component/user-message/user-message.tsx +1 -0
- package/src/util/ai-chat-util/ai-chat-util.ts +13 -0
- package/dist/index-XI8ySm9i.js +0 -339
- /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.117_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.119_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
- /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.41-alpha.117_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.41-alpha.119_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
|
@@ -169,7 +169,12 @@ const IBizButtonList = /* @__PURE__ */ defineComponent({
|
|
|
169
169
|
}
|
|
170
170
|
}]
|
|
171
171
|
},
|
|
172
|
-
"popper-style":
|
|
172
|
+
"popper-style": {
|
|
173
|
+
zIndex: zIndex.zIndex,
|
|
174
|
+
...props.semantic.semanticStyle("popup", {
|
|
175
|
+
model: detail
|
|
176
|
+
})
|
|
177
|
+
}
|
|
173
178
|
}, {
|
|
174
179
|
reference: () => {
|
|
175
180
|
var _a2, _b;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isVNode, defineComponent, withDirectives, createVNode, resolveComponent, resolveDirective, ref } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
-
import './data-import.css';
|
|
4
3
|
import { downloadImportTemplate, selectAndImport } from '@ibiz-template/runtime';
|
|
4
|
+
import './data-import.css';
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
function _isSlot(s) {
|
|
@@ -32,6 +32,7 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
setup(props) {
|
|
35
|
+
var _a;
|
|
35
36
|
const ns = useNamespace("data-import");
|
|
36
37
|
const message = ref({
|
|
37
38
|
state: "ready",
|
|
@@ -39,11 +40,12 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
39
40
|
});
|
|
40
41
|
const errorMessage = ref("");
|
|
41
42
|
const isLoading = ref(false);
|
|
43
|
+
const importTemplName = ibiz.config.common.importTemplNameMode === "custom" ? "".concat((_a = props.dataImport) == null ? void 0 : _a.name).concat(ibiz.i18n.t("component.dataImport.template")) : "".concat(props.appDataEntity.logicName).concat(ibiz.i18n.t("component.dataImport.templateFile"));
|
|
42
44
|
const onCancelButtonClick = () => {
|
|
43
45
|
props.dismiss();
|
|
44
46
|
};
|
|
45
47
|
const onLinkClick = async () => {
|
|
46
|
-
downloadImportTemplate(props.appDataEntity, props.dataImport, props.context, props.params);
|
|
48
|
+
downloadImportTemplate(props.appDataEntity, props.dataImport, props.context, props.params, ibiz.config.common.importTemplNameMode === "custom" ? importTemplName : void 0);
|
|
47
49
|
};
|
|
48
50
|
const selectFile = async () => {
|
|
49
51
|
isLoading.value = true;
|
|
@@ -84,12 +86,13 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
84
86
|
};
|
|
85
87
|
return {
|
|
86
88
|
ns,
|
|
87
|
-
onLinkClick,
|
|
88
|
-
selectFile,
|
|
89
|
-
onCancelButtonClick,
|
|
90
|
-
isLoading,
|
|
91
89
|
message,
|
|
92
|
-
|
|
90
|
+
isLoading,
|
|
91
|
+
errorMessage,
|
|
92
|
+
importTemplName,
|
|
93
|
+
selectFile,
|
|
94
|
+
onLinkClick,
|
|
95
|
+
onCancelButtonClick
|
|
93
96
|
};
|
|
94
97
|
},
|
|
95
98
|
render() {
|
|
@@ -124,7 +127,7 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
124
127
|
}, [createVNode("ion-icon", {
|
|
125
128
|
"class": this.ns.e("link-icon"),
|
|
126
129
|
"name": "link"
|
|
127
|
-
}, null), this.
|
|
130
|
+
}, null), this.importTemplName])]), createVNode("div", {
|
|
128
131
|
"class": this.ns.e("button-bar")
|
|
129
132
|
}, [createVNode(resolveComponent("el-button"), {
|
|
130
133
|
"onClick": this.onCancelButtonClick
|
|
@@ -122,11 +122,11 @@ const CalendarUser2 = /* @__PURE__ */ defineComponent({
|
|
|
122
122
|
"class": [this.ns.e("title"), this.ns.em("header", "left"), this.semanticClass("title")],
|
|
123
123
|
"style": this.semanticStyle("title")
|
|
124
124
|
}, [this.title]), createVNode("div", {
|
|
125
|
-
"class": [this.ns.e("legend"), this.ns.em("header", "legend"), this.
|
|
125
|
+
"class": [this.ns.e("legend"), this.ns.em("header", "legend"), this.semanticClass("legend")],
|
|
126
126
|
"style": this.semanticStyle("legend")
|
|
127
127
|
}, [this.legends.length > 1 && this.legends.map((legend) => {
|
|
128
128
|
return createVNode("div", {
|
|
129
|
-
"class": [this.ns.e("legend-item"), this.ns.em("legend", "item"), this.
|
|
129
|
+
"class": [this.ns.e("legend-item"), this.ns.em("legend", "item"), this.semanticClass("legend.item")],
|
|
130
130
|
"style": this.semanticStyle("legend.item"),
|
|
131
131
|
"onClick": () => this.$emit("legendClick", legend)
|
|
132
132
|
}, [createVNode("div", {
|
|
@@ -107,8 +107,7 @@ const CustomCalendar = /* @__PURE__ */ defineComponent({
|
|
|
107
107
|
const renderDay = () => {
|
|
108
108
|
var _a;
|
|
109
109
|
return createVNode("div", {
|
|
110
|
-
"class": ns.e("calendar-day")
|
|
111
|
-
"style": props.semanticStyle("day")
|
|
110
|
+
"class": ns.e("calendar-day")
|
|
112
111
|
}, [(slots == null ? void 0 : slots.header) ? createVNode("div", {
|
|
113
112
|
"class": [ns.e("header"), ns.em("calendar-day", "header"), props.semanticClass("header")],
|
|
114
113
|
"style": props.semanticStyle("header")
|
|
@@ -171,6 +171,7 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
|
|
|
171
171
|
let _slot;
|
|
172
172
|
content = createVNode(resolveComponent("el-collapse"), {
|
|
173
173
|
"class": [this.ns.e("content"), this.semanticClass("content")],
|
|
174
|
+
"style": this.semanticStyle("content"),
|
|
174
175
|
"modelValue": this.defaultOpens,
|
|
175
176
|
"onUpdate:modelValue": ($event) => this.defaultOpens = $event
|
|
176
177
|
}, _isSlot(_slot = model.appMenuItems.map((item) => {
|
|
@@ -184,6 +185,7 @@ const AppMenuPortletControl = /* @__PURE__ */ defineComponent({
|
|
|
184
185
|
}
|
|
185
186
|
return createVNode(resolveComponent("iBizControlBase"), {
|
|
186
187
|
"class": [this.ns.b(), this.semanticClass("root")],
|
|
188
|
+
"style": this.semanticStyle("root"),
|
|
187
189
|
"controller": this.c
|
|
188
190
|
}, _isSlot(content) ? content : {
|
|
189
191
|
default: () => [content]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref, watch, watchEffect, onUnmounted } from 'vue';
|
|
2
|
-
import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.
|
|
2
|
+
import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.41-alpha.119_axios@1.12.2_lodash-es@4.17.21_qs@6.14.0_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
|
|
3
3
|
|
|
4
4
|
"use strict";
|
|
5
5
|
function useAppDRTab(c, controlRef, counterData) {
|
|
@@ -32,6 +32,12 @@ class DRTabController extends ControlController {
|
|
|
32
32
|
* @memberof DRTabController
|
|
33
33
|
*/
|
|
34
34
|
__publicField(this, "srfCacheKeyTempl", "");
|
|
35
|
+
/**
|
|
36
|
+
* @description 显示位置
|
|
37
|
+
* @type {(string | undefined)}
|
|
38
|
+
* @memberof DRTabController
|
|
39
|
+
*/
|
|
40
|
+
__publicField(this, "tabPosition");
|
|
35
41
|
/**
|
|
36
42
|
* Router 对象
|
|
37
43
|
*
|
|
@@ -146,6 +152,7 @@ class DRTabController extends ControlController {
|
|
|
146
152
|
super.initState();
|
|
147
153
|
this.state.drTabPages = [];
|
|
148
154
|
this.state.showMore = false;
|
|
155
|
+
this.state.expViewParams = {};
|
|
149
156
|
this.state.hideEditItem = !!this.model.hideEditItem;
|
|
150
157
|
}
|
|
151
158
|
/**
|
|
@@ -155,6 +162,8 @@ class DRTabController extends ControlController {
|
|
|
155
162
|
* @memberof DRTabController
|
|
156
163
|
*/
|
|
157
164
|
async onCreated() {
|
|
165
|
+
var _a;
|
|
166
|
+
this.tabPosition = (_a = this.view.model.tabLayout) == null ? void 0 : _a.toLowerCase();
|
|
158
167
|
await super.onCreated();
|
|
159
168
|
await this.initCounter();
|
|
160
169
|
this.srfCacheKeyTempl = this.controlParams.srfcachekeytempl || "";
|
|
@@ -360,7 +369,7 @@ class DRTabController extends ControlController {
|
|
|
360
369
|
testScriptCode,
|
|
361
370
|
counterMode
|
|
362
371
|
} = item;
|
|
363
|
-
|
|
372
|
+
const drTabPage = {
|
|
364
373
|
tag: item.id,
|
|
365
374
|
caption: item.caption,
|
|
366
375
|
sysImage: item.sysImage,
|
|
@@ -372,7 +381,15 @@ class DRTabController extends ControlController {
|
|
|
372
381
|
testAppDELogicId,
|
|
373
382
|
testScriptCode,
|
|
374
383
|
counterMode
|
|
375
|
-
}
|
|
384
|
+
};
|
|
385
|
+
if (this.tabPosition === "flow_noheader" || this.tabPosition === "flow") {
|
|
386
|
+
const { context, params } = this.prepareParams(item);
|
|
387
|
+
Object.assign(drTabPage, {
|
|
388
|
+
context,
|
|
389
|
+
params
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
drTabPages.push(drTabPage);
|
|
376
393
|
});
|
|
377
394
|
this.state.drTabPages = drTabPages;
|
|
378
395
|
this.state.defaultName = drTabPages[0].tag;
|
|
@@ -449,12 +466,12 @@ class DRTabController extends ControlController {
|
|
|
449
466
|
/**
|
|
450
467
|
* 准备参数
|
|
451
468
|
*
|
|
452
|
-
* @param {IDEDRCtrlItem}
|
|
469
|
+
* @param {IDEDRCtrlItem} drTabPage 关系分页
|
|
453
470
|
* @return {*}
|
|
454
471
|
* @memberof DRTabController
|
|
455
472
|
*/
|
|
456
|
-
prepareParams(
|
|
457
|
-
const { navigateContexts, navigateParams } =
|
|
473
|
+
prepareParams(drTabPage) {
|
|
474
|
+
const { navigateContexts, navigateParams } = drTabPage;
|
|
458
475
|
const model = {
|
|
459
476
|
navContexts: navigateContexts,
|
|
460
477
|
navParams: navigateParams
|
|
@@ -466,9 +483,13 @@ class DRTabController extends ControlController {
|
|
|
466
483
|
};
|
|
467
484
|
const { resultContext, resultParams } = calcNavParams(model, originParams);
|
|
468
485
|
const context = Object.assign(this.context.clone(), resultContext, {
|
|
469
|
-
currentSrfNav:
|
|
486
|
+
currentSrfNav: drTabPage.id
|
|
470
487
|
});
|
|
471
|
-
const params = {
|
|
488
|
+
const params = {
|
|
489
|
+
...this.params,
|
|
490
|
+
...resultParams,
|
|
491
|
+
...this.state.expViewParams
|
|
492
|
+
};
|
|
472
493
|
return { context, params };
|
|
473
494
|
}
|
|
474
495
|
/**
|
|
@@ -476,20 +497,20 @@ class DRTabController extends ControlController {
|
|
|
476
497
|
*
|
|
477
498
|
* @author lxm
|
|
478
499
|
* @date 2023-12-21 05:40:07
|
|
479
|
-
* @param {IDEDRCtrlItem}
|
|
500
|
+
* @param {IDEDRCtrlItem} drTabPage
|
|
480
501
|
* @param {boolean} [isRoutePushed=false]
|
|
481
502
|
* @return {*} {Promise<void>}
|
|
482
503
|
*/
|
|
483
|
-
async openNavPosView(
|
|
504
|
+
async openNavPosView(drTabPage, isRoutePushed = false, navViewKey) {
|
|
484
505
|
var _a;
|
|
485
|
-
const { context, params } = this.prepareParams(
|
|
486
|
-
if (!
|
|
506
|
+
const { context, params } = this.prepareParams(drTabPage);
|
|
507
|
+
if (!drTabPage.appViewId)
|
|
487
508
|
return;
|
|
488
509
|
(_a = this.navPos) == null ? void 0 : _a.openView({
|
|
489
|
-
key: navViewKey ||
|
|
510
|
+
key: navViewKey || drTabPage.id,
|
|
490
511
|
context,
|
|
491
512
|
params,
|
|
492
|
-
viewId:
|
|
513
|
+
viewId: drTabPage.appViewId,
|
|
493
514
|
isRoutePushed
|
|
494
515
|
});
|
|
495
516
|
}
|
|
@@ -524,6 +545,20 @@ class DRTabController extends ControlController {
|
|
|
524
545
|
*/
|
|
525
546
|
async refresh() {
|
|
526
547
|
var _a;
|
|
548
|
+
if (this.tabPosition === "flow_noheader" || this.tabPosition === "flow") {
|
|
549
|
+
this.state.drTabPages.forEach((tabPageState) => {
|
|
550
|
+
var _a2;
|
|
551
|
+
const dedrtabPage = (_a2 = this.model.dedrtabPages) == null ? void 0 : _a2.find(
|
|
552
|
+
(item) => item.id === tabPageState.tag
|
|
553
|
+
);
|
|
554
|
+
if (dedrtabPage) {
|
|
555
|
+
const { context, params } = this.prepareParams(dedrtabPage);
|
|
556
|
+
tabPageState.context = context;
|
|
557
|
+
tabPageState.params = params;
|
|
558
|
+
}
|
|
559
|
+
});
|
|
560
|
+
return;
|
|
561
|
+
}
|
|
527
562
|
const { activeName } = this.state;
|
|
528
563
|
const drBarItem = (_a = this.model.dedrtabPages) == null ? void 0 : _a.find(
|
|
529
564
|
(item) => item.id === activeName
|
|
@@ -259,7 +259,7 @@ const DRTabControl = /* @__PURE__ */ defineComponent({
|
|
|
259
259
|
"style": this.semanticStyle("root"),
|
|
260
260
|
"semanticClass": this.semanticClass,
|
|
261
261
|
"semanticStyle": this.semanticStyle,
|
|
262
|
-
"
|
|
262
|
+
"pagesState": this.visibleItems,
|
|
263
263
|
"drtabpages": this.modelData.dedrtabPages,
|
|
264
264
|
"context": this.c.context,
|
|
265
265
|
"params": this.c.params,
|
|
@@ -8,7 +8,7 @@ import './flow-drtab.css';
|
|
|
8
8
|
const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
9
9
|
name: "FlowDrtab",
|
|
10
10
|
props: {
|
|
11
|
-
|
|
11
|
+
pagesState: {
|
|
12
12
|
type: Array,
|
|
13
13
|
default: () => []
|
|
14
14
|
},
|
|
@@ -71,7 +71,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
|
71
71
|
navbarpos.value = c.navbarpos;
|
|
72
72
|
navBarWidth.value = c.navbarwidth;
|
|
73
73
|
const allVisibleViews = computed(() => {
|
|
74
|
-
return props.
|
|
74
|
+
return props.pagesState.filter((item) => {
|
|
75
75
|
const target = props.drtabpages.find((page) => {
|
|
76
76
|
return page.id === item.tag;
|
|
77
77
|
});
|
|
@@ -79,8 +79,8 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
|
79
79
|
}).length;
|
|
80
80
|
});
|
|
81
81
|
const allNavTags = computed(() => {
|
|
82
|
-
if (props.
|
|
83
|
-
return props.
|
|
82
|
+
if (props.pagesState) {
|
|
83
|
+
return props.pagesState.map((item) => {
|
|
84
84
|
const target = props.drtabpages.find((page) => {
|
|
85
85
|
return page.id === item.tag;
|
|
86
86
|
});
|
|
@@ -172,7 +172,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
|
172
172
|
});
|
|
173
173
|
completedViews.value += 1;
|
|
174
174
|
if (completedViews.value === allVisibleViews.value && !navtag.value) {
|
|
175
|
-
navtag.value = "".concat(target == null ? void 0 : target.appViewId, "_").concat(props.
|
|
175
|
+
navtag.value = "".concat(target == null ? void 0 : target.appViewId, "_").concat(props.pagesState[0].tag);
|
|
176
176
|
}
|
|
177
177
|
const el = document.getElementById("".concat(target == null ? void 0 : target.appViewId, "_").concat(item.tag));
|
|
178
178
|
if (el) {
|
|
@@ -263,7 +263,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
|
263
263
|
"ref": (el) => {
|
|
264
264
|
navbarRef.value = el;
|
|
265
265
|
}
|
|
266
|
-
}, [props.
|
|
266
|
+
}, [props.pagesState.map((item) => {
|
|
267
267
|
const target = props.drtabpages.find((page) => {
|
|
268
268
|
return page.id === item.tag;
|
|
269
269
|
});
|
|
@@ -303,7 +303,7 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
|
303
303
|
},
|
|
304
304
|
render() {
|
|
305
305
|
var _a, _b;
|
|
306
|
-
const tabs = this.
|
|
306
|
+
const tabs = this.pagesState.map((item) => {
|
|
307
307
|
const counterNum = item.counterId ? this.counterData[item.counterId] : void 0;
|
|
308
308
|
const viewShell = resolveComponent("IBizViewShell");
|
|
309
309
|
const target = this.drtabpages.find((page) => {
|
|
@@ -359,8 +359,8 @@ const FlowDrtab = /* @__PURE__ */ defineComponent({
|
|
|
359
359
|
})
|
|
360
360
|
}
|
|
361
361
|
}, [h(viewShell, {
|
|
362
|
-
context: this.context,
|
|
363
|
-
params: this.params,
|
|
362
|
+
context: item.context || this.context,
|
|
363
|
+
params: item.params || this.params,
|
|
364
364
|
viewId: target.appViewId,
|
|
365
365
|
onMounted: () => this.onViewMounted(item)
|
|
366
366
|
})])]);
|
|
@@ -32,11 +32,11 @@ function useExpBarRender(c, ns) {
|
|
|
32
32
|
"style": semanticStyle("title"),
|
|
33
33
|
"class": [ns.b("caption"), expBarNs.b("caption"), semanticClass("title")]
|
|
34
34
|
}, [model.sysImage && createVNode(resolveComponent("iBizIcon"), {
|
|
35
|
+
"class": [expBarNs.be("caption", "icon"), semanticClass("title.icon")],
|
|
35
36
|
"style": semanticStyle("title.icon"),
|
|
36
|
-
"class": [expBarNs.be("caption", "icon"), semanticStyle("title.icon")],
|
|
37
37
|
"icon": model.sysImage
|
|
38
38
|
}, null), title && createVNode("span", {
|
|
39
|
-
"class": [ns.be("caption", "text"), expBarNs.be("caption", "text"),
|
|
39
|
+
"class": [ns.be("caption", "text"), expBarNs.be("caption", "text"), semanticClass("title.text")],
|
|
40
40
|
"style": semanticStyle("title.text")
|
|
41
41
|
}, [title])]);
|
|
42
42
|
};
|
|
@@ -142,7 +142,7 @@ const MEditViewPanelControl = /* @__PURE__ */ defineComponent({
|
|
|
142
142
|
"class": [this.ns.be("tab-label", "remove"), this.semanticClass("tab.remove", {
|
|
143
143
|
item
|
|
144
144
|
})],
|
|
145
|
-
"style": this.
|
|
145
|
+
"style": this.semanticStyle("tab.remove", {
|
|
146
146
|
item
|
|
147
147
|
}),
|
|
148
148
|
"name": "close-outline",
|
|
@@ -304,6 +304,9 @@ const ToolbarControl = /* @__PURE__ */ defineComponent({
|
|
|
304
304
|
"popper-class": [ns2.b("popper"), ns2.b("dropdown-popper"), ns2.bm("dropdown-popper", toolbarStyle), ns2.em("dropdown-popper", groupButtonStyle.toLowerCase()), ns2.bm("dropdown-popper", calcCssName(item)), semanticClass("popup", {
|
|
305
305
|
item
|
|
306
306
|
})],
|
|
307
|
+
"popper-style": semanticStyle("popup", {
|
|
308
|
+
item
|
|
309
|
+
}),
|
|
307
310
|
"placement": "right-start",
|
|
308
311
|
"teleported": false,
|
|
309
312
|
"popper-options": {
|
package/es/control/tree/tree.mjs
CHANGED
|
@@ -964,7 +964,7 @@ const TreeControl = /* @__PURE__ */ defineComponent({
|
|
|
964
964
|
"ref": "treeviewRef",
|
|
965
965
|
"controller": this.c,
|
|
966
966
|
"class": this.semanticClass("root"),
|
|
967
|
-
"style": this.
|
|
967
|
+
"style": this.semanticStyle("root"),
|
|
968
968
|
"element-loading-text": this.c.state.loadingText
|
|
969
969
|
}, _isSlot(slots) ? slots : {
|
|
970
970
|
default: () => [slots]
|
|
@@ -297,6 +297,7 @@ const TreeGridExControl = /* @__PURE__ */ defineComponent({
|
|
|
297
297
|
"ref": "tableRef",
|
|
298
298
|
"key": this.tableRefreshKey,
|
|
299
299
|
"class": [this.ns.e("table"), this.semanticClass("content")],
|
|
300
|
+
"style": this.semanticStyle("content"),
|
|
300
301
|
"border": true,
|
|
301
302
|
"row-key": "id",
|
|
302
303
|
"data": this.elTableData,
|
|
@@ -24,9 +24,14 @@ class CheckBoxListEditorController extends CodeListEditorController {
|
|
|
24
24
|
* @type {(number | undefined)}
|
|
25
25
|
*/
|
|
26
26
|
__publicField(this, "rowNumber");
|
|
27
|
+
/**
|
|
28
|
+
* @description 自动选中第一个
|
|
29
|
+
* @memberof CheckBoxListEditorController
|
|
30
|
+
*/
|
|
31
|
+
__publicField(this, "autoSelectFirstOption", false);
|
|
27
32
|
}
|
|
28
33
|
async onInit() {
|
|
29
|
-
var _a, _b;
|
|
34
|
+
var _a, _b, _c;
|
|
30
35
|
super.onInit();
|
|
31
36
|
if (this.model.appCodeListId) {
|
|
32
37
|
const app = await ibiz.hub.getApp(this.context.srfappid);
|
|
@@ -38,6 +43,11 @@ class CheckBoxListEditorController extends CodeListEditorController {
|
|
|
38
43
|
if ((_b = this.editorParams) == null ? void 0 : _b.rownumber) {
|
|
39
44
|
this.rowNumber = Number(this.editorParams.rownumber);
|
|
40
45
|
}
|
|
46
|
+
if ((_c = this.editorParams) == null ? void 0 : _c.autoselectfirstoption) {
|
|
47
|
+
this.autoSelectFirstOption = this.toBoolean(
|
|
48
|
+
this.editorParams.autoselectfirstoption
|
|
49
|
+
);
|
|
50
|
+
}
|
|
41
51
|
}
|
|
42
52
|
}
|
|
43
53
|
|
|
@@ -55,10 +55,19 @@ const IBizCheckboxList = /* @__PURE__ */ defineComponent({
|
|
|
55
55
|
}
|
|
56
56
|
return false;
|
|
57
57
|
});
|
|
58
|
+
const valueSeparator = (codeList == null ? void 0 : codeList.valueSeparator) || ",";
|
|
58
59
|
const items = ref([]);
|
|
60
|
+
const autoSelectFirstOption = () => {
|
|
61
|
+
const item = items.value[0];
|
|
62
|
+
if (!c.autoSelectFirstOption || props.value || !item)
|
|
63
|
+
return;
|
|
64
|
+
const selections = c.allItems ? items.value.filter((_item) => _item.value !== c.allItemsValue).map((_item) => _item.value) : [item.value];
|
|
65
|
+
emit("change", c.model.valueType === "SIMPLES" ? selections : selections.join(valueSeparator), void 0, true);
|
|
66
|
+
};
|
|
59
67
|
watch(() => props.data, (newVal) => {
|
|
60
68
|
c.loadCodeList(newVal).then((_codeList) => {
|
|
61
69
|
items.value = c.handleCodeListAllItems(_codeList);
|
|
70
|
+
autoSelectFirstOption();
|
|
62
71
|
});
|
|
63
72
|
}, {
|
|
64
73
|
immediate: true,
|
|
@@ -80,10 +89,6 @@ const IBizCheckboxList = /* @__PURE__ */ defineComponent({
|
|
|
80
89
|
items.value = c.handleCodeListAllItems(data);
|
|
81
90
|
};
|
|
82
91
|
useCodeListListen(c.model.appCodeListId, c.context.srfappid, fn);
|
|
83
|
-
let valueSeparator = ",";
|
|
84
|
-
if (codeList && codeList.valueSeparator) {
|
|
85
|
-
valueSeparator = codeList.valueSeparator;
|
|
86
|
-
}
|
|
87
92
|
const {
|
|
88
93
|
useInFocusAndBlur,
|
|
89
94
|
useInValueChange
|
|
@@ -189,7 +189,8 @@ const IBizDatePicker = /* @__PURE__ */ defineComponent({
|
|
|
189
189
|
}, this.$attrs), null);
|
|
190
190
|
const readonlyContent = this.formatValue;
|
|
191
191
|
const formDefaultContent = createVNode("div", {
|
|
192
|
-
"class": [this.ns.e("content"), this.ns.b("form-default-content"), this.semanticClass("editor.content")]
|
|
192
|
+
"class": [this.ns.e("content"), this.ns.b("form-default-content"), this.semanticClass("editor.content")],
|
|
193
|
+
"style": this.semanticStyle("editor.content")
|
|
193
194
|
}, [this.formatValue ? this.formatValue : createVNode(resolveComponent("iBizEditorEmptyText"), {
|
|
194
195
|
"showPlaceholder": this.c.emptyShowPlaceholder,
|
|
195
196
|
"placeHolder": this.c.placeHolder
|
|
@@ -132,8 +132,8 @@ const IBizDateRangeSelect = /* @__PURE__ */ defineComponent({
|
|
|
132
132
|
"onUpdate:modelValue": ($event) => unitValue.value = $event,
|
|
133
133
|
"onChange": unitChange,
|
|
134
134
|
"class": ns.em("date-unit", "editor-select"),
|
|
135
|
-
"popper-class": [ns.b("popper"), semanticClass("editor.popup")],
|
|
136
|
-
"popper-style": semanticStyle("editor.popup")
|
|
135
|
+
"popper-class": [ns.b("date-unit-popper"), semanticClass("editor.dateUnit.popup")],
|
|
136
|
+
"popper-style": semanticStyle("editor.dateUnit.popup")
|
|
137
137
|
}, _isSlot(_slot = units.map((item) => {
|
|
138
138
|
return createVNode(resolveComponent("el-option"), {
|
|
139
139
|
"class": [ns.em("date-unit", "item"), semanticClass("editor.dateUnit.popup.item", {
|
|
@@ -272,8 +272,8 @@ const IBizDateRangeSelect = /* @__PURE__ */ defineComponent({
|
|
|
272
272
|
"visible": popVisible.value.ALL || popVisible.value.DYNAMIC || popVisible.value.STATIC,
|
|
273
273
|
"trigger": "click",
|
|
274
274
|
"width": "240px",
|
|
275
|
-
"popper-class": [ns.b("popper"), ns.b("date-range-select"), semanticClass("editor.popup")],
|
|
276
|
-
"popper-style": semanticStyle("editor.popup")
|
|
275
|
+
"popper-class": [ns.b("date-type-popper"), ns.b("date-range-select"), semanticClass("editor.dateType.popup")],
|
|
276
|
+
"popper-style": semanticStyle("editor.dateType.popup")
|
|
277
277
|
}, {
|
|
278
278
|
reference: () => {
|
|
279
279
|
return createVNode("div", {
|
|
@@ -149,7 +149,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
|
|
|
149
149
|
if (!c.autoSelectFirstOption || props.value || !item)
|
|
150
150
|
return;
|
|
151
151
|
if (c.multiple) {
|
|
152
|
-
const value = c.allItems && !hasChildren.value ?
|
|
152
|
+
const value = c.allItems && !hasChildren.value ? items.value.filter((_item) => _item.value !== c.allItemsValue).map((_item) => _item.value) : [item.value];
|
|
153
153
|
emit("change", c.model.valueType === "SIMPLES" ? value : value.join(valueSeparator), void 0, true);
|
|
154
154
|
} else if (editorItems && editorItems.length > 0) {
|
|
155
155
|
emit("change", item.value, editorItems[0].id, true);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isVNode, defineComponent, createVNode, resolveComponent, withDirectives, resolveDirective, ref, watch, onMounted } from 'vue';
|
|
2
|
+
import { recursiveIterate } from '@ibiz-template/core';
|
|
2
3
|
import { useNamespace, useSemanticNode, useCodeListListen, getEditorEmits, getDropdownProps } from '@ibiz-template/vue3-util';
|
|
3
4
|
import { isArray, isString } from 'lodash-es';
|
|
4
5
|
import './ibiz-tree-picker.css';
|
|
@@ -108,6 +109,20 @@ const IBizTreePicker = /* @__PURE__ */ defineComponent({
|
|
|
108
109
|
});
|
|
109
110
|
return list;
|
|
110
111
|
};
|
|
112
|
+
const autoSelectFirstOption = () => {
|
|
113
|
+
const item = items.value[0];
|
|
114
|
+
if (!c.autoSelectFirstOption || props.value || !item)
|
|
115
|
+
return;
|
|
116
|
+
const selections = [];
|
|
117
|
+
recursiveIterate({
|
|
118
|
+
children: [item]
|
|
119
|
+
}, (_item) => {
|
|
120
|
+
selections.push(_item.value);
|
|
121
|
+
}, {
|
|
122
|
+
childrenFields: ["children"]
|
|
123
|
+
});
|
|
124
|
+
emit("change", c.model.valueType === "SIMPLES" ? selections : selections.join(valueSeparator), void 0, true);
|
|
125
|
+
};
|
|
111
126
|
const afterLoadCodeList = (codeList) => {
|
|
112
127
|
items.value = [];
|
|
113
128
|
codeListItems.value = [];
|
|
@@ -123,6 +138,7 @@ const IBizTreePicker = /* @__PURE__ */ defineComponent({
|
|
|
123
138
|
break;
|
|
124
139
|
}
|
|
125
140
|
}
|
|
141
|
+
autoSelectFirstOption();
|
|
126
142
|
};
|
|
127
143
|
const loadCodeList = async () => {
|
|
128
144
|
if (c.model.appCodeListId) {
|
|
@@ -149,7 +165,7 @@ const IBizTreePicker = /* @__PURE__ */ defineComponent({
|
|
|
149
165
|
} else if (isString(newVal)) {
|
|
150
166
|
val = newVal.split(valueSeparator);
|
|
151
167
|
}
|
|
152
|
-
defaultCheckedKeys.value = val.filter((_key) => codeListItems.value.find((item) => item.value === _key && item.
|
|
168
|
+
defaultCheckedKeys.value = val.filter((_key) => codeListItems.value.find((item) => item.value === _key && !item.children));
|
|
153
169
|
}
|
|
154
170
|
}, {
|
|
155
171
|
immediate: true
|
|
@@ -94,6 +94,10 @@ const IBizVirtualizedList = /* @__PURE__ */ defineComponent({
|
|
|
94
94
|
const isLoading = ref(false);
|
|
95
95
|
let editorState = "";
|
|
96
96
|
const codeItemValueNumber = ref(false);
|
|
97
|
+
const {
|
|
98
|
+
getSelection,
|
|
99
|
+
getSelectionValue
|
|
100
|
+
} = useCodeListSelection(c.allItemsValue);
|
|
97
101
|
const handleTreeNodes = (nodes) => {
|
|
98
102
|
if (nodes.length === 0) {
|
|
99
103
|
return [];
|
|
@@ -121,6 +125,20 @@ const IBizVirtualizedList = /* @__PURE__ */ defineComponent({
|
|
|
121
125
|
});
|
|
122
126
|
return list;
|
|
123
127
|
};
|
|
128
|
+
const autoSelectFirstOption = () => {
|
|
129
|
+
const item = items.value[0];
|
|
130
|
+
if (!c.autoSelectFirstOption || props.value || !item)
|
|
131
|
+
return;
|
|
132
|
+
if (c.multiple) {
|
|
133
|
+
const value = c.allItems && !hasChildren.value ? getSelectionValue(item.value).map((v) => "".concat(v)) : [item.value];
|
|
134
|
+
emit("change", c.model.valueType === "SIMPLES" ? value : value.join(","), void 0, true);
|
|
135
|
+
} else if (editorItems && editorItems.length > 0) {
|
|
136
|
+
emit("change", item.value, editorItems[0].id, true);
|
|
137
|
+
emit("change", item.text, void 0, true);
|
|
138
|
+
} else {
|
|
139
|
+
emit("change", item.value, void 0, true);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
124
142
|
const afterLoadCodeList = (codeList) => {
|
|
125
143
|
items.value = [];
|
|
126
144
|
codeListItems.value = [];
|
|
@@ -143,6 +161,7 @@ const IBizVirtualizedList = /* @__PURE__ */ defineComponent({
|
|
|
143
161
|
break;
|
|
144
162
|
}
|
|
145
163
|
}
|
|
164
|
+
autoSelectFirstOption();
|
|
146
165
|
};
|
|
147
166
|
const loadCodeList = async () => {
|
|
148
167
|
if (c.model.appCodeListId) {
|
|
@@ -194,10 +213,6 @@ const IBizVirtualizedList = /* @__PURE__ */ defineComponent({
|
|
|
194
213
|
const list = hasChildren.value ? codeListItems.value : items.value;
|
|
195
214
|
return list.find((item) => item.value === value);
|
|
196
215
|
};
|
|
197
|
-
const {
|
|
198
|
-
getSelection,
|
|
199
|
-
getSelectionValue
|
|
200
|
-
} = useCodeListSelection(c.allItemsValue);
|
|
201
216
|
const curValue = computed({
|
|
202
217
|
get() {
|
|
203
218
|
var _a, _b, _c;
|
|
@@ -64,16 +64,31 @@ const IBizListBox = /* @__PURE__ */ defineComponent({
|
|
|
64
64
|
});
|
|
65
65
|
const codeList = c.codeList;
|
|
66
66
|
const editorType = editorModel.editorType;
|
|
67
|
+
const valueSeparator = (codeList == null ? void 0 : codeList.valueSeparator) || ",";
|
|
67
68
|
const items = ref([]);
|
|
69
|
+
const autoSelectFirstOption = () => {
|
|
70
|
+
const item = items.value[0];
|
|
71
|
+
if (!c.autoSelectFirstOption || props.value || !item)
|
|
72
|
+
return;
|
|
73
|
+
let value;
|
|
74
|
+
if (multiple) {
|
|
75
|
+
const selections = c.allItems ? items.value.filter((_item) => _item.value !== c.allItemsValue).map((_item) => _item.value) : [item.value];
|
|
76
|
+
value = c.model.valueType === "SIMPLES" ? selections : selections.join(valueSeparator);
|
|
77
|
+
} else {
|
|
78
|
+
value = item.value;
|
|
79
|
+
}
|
|
80
|
+
emit("change", value, void 0, true);
|
|
81
|
+
};
|
|
68
82
|
const loadListBoxItems = async () => {
|
|
69
83
|
if (Object.is("LISTBOX", editorType)) {
|
|
70
84
|
const controller = c;
|
|
71
85
|
controller.loadCodeList(props.data).then((_codeList) => {
|
|
72
86
|
if (multiple) {
|
|
73
87
|
items.value = controller.handleCodeListAllItems(_codeList);
|
|
74
|
-
|
|
88
|
+
} else {
|
|
89
|
+
items.value = _codeList;
|
|
75
90
|
}
|
|
76
|
-
|
|
91
|
+
autoSelectFirstOption();
|
|
77
92
|
});
|
|
78
93
|
} else if (Object.is("LISTBOXPICKUP", editorType)) {
|
|
79
94
|
const controller = c;
|
|
@@ -84,11 +99,17 @@ const IBizListBox = /* @__PURE__ */ defineComponent({
|
|
|
84
99
|
value: item[controller.keyName],
|
|
85
100
|
text: item[controller.textName]
|
|
86
101
|
}));
|
|
102
|
+
autoSelectFirstOption();
|
|
87
103
|
}
|
|
88
104
|
}
|
|
89
105
|
}
|
|
90
106
|
};
|
|
91
|
-
|
|
107
|
+
watch(() => props.data, () => {
|
|
108
|
+
loadListBoxItems();
|
|
109
|
+
}, {
|
|
110
|
+
immediate: true,
|
|
111
|
+
deep: true
|
|
112
|
+
});
|
|
92
113
|
const fn = (data) => {
|
|
93
114
|
if (data) {
|
|
94
115
|
if (Object.is("LISTBOX", editorType) && multiple) {
|
|
@@ -106,10 +127,6 @@ const IBizListBox = /* @__PURE__ */ defineComponent({
|
|
|
106
127
|
return "STR";
|
|
107
128
|
});
|
|
108
129
|
const calcOrMode = useCalcOrMode(currentMode.value, c.model.valueType);
|
|
109
|
-
let valueSeparator = ",";
|
|
110
|
-
if (codeList && codeList.valueSeparator) {
|
|
111
|
-
valueSeparator = codeList.valueSeparator;
|
|
112
|
-
}
|
|
113
130
|
const {
|
|
114
131
|
getSelection,
|
|
115
132
|
getSelectionValue
|