@ibiz-template/vue3-components 0.7.40 → 0.7.41-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/{index-8ZkS4CI0.js → index-4CBJktLS.js} +1 -1
  2. package/dist/{index-WNFQFxQd.js → index-QL7Ukex9.js} +1 -1
  3. package/dist/index-toTw1DLN.js +4 -0
  4. package/dist/index.min.css +1 -1
  5. package/dist/index.system.min.js +1 -1
  6. package/dist/{wang-editor-f_OOMd4x.js → wang-editor-GTNgz_em.js} +1 -1
  7. package/dist/{xlsx-util-3T0fByLw.js → xlsx-util-_sLiqD2S.js} +1 -1
  8. package/es/control/drbar/drbar.controller.mjs +4 -3
  9. package/es/control/grid/grid/grid-control.util.mjs +48 -2
  10. package/es/control/grid/row-edit-popover/row-edit-popover.css +1 -1
  11. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -0
  12. package/es/editor/data-picker/ibiz-transfer-picker/components/index.d.ts +1 -0
  13. package/es/editor/data-picker/ibiz-transfer-picker/components/index.mjs +3 -0
  14. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/icon.d.ts +2 -0
  15. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/icon.mjs +19 -0
  16. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/interface.d.ts +99 -0
  17. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/interface.mjs +89 -0
  18. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer-util.d.ts +17 -0
  19. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer-util.mjs +103 -0
  20. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer.css +1 -0
  21. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer.d.ts +182 -0
  22. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer.mjs +146 -0
  23. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/icon.d.ts +1 -0
  24. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/icon.mjs +12 -0
  25. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/interface.d.ts +60 -0
  26. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/interface.mjs +52 -0
  27. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel-util.d.ts +14 -0
  28. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel-util.mjs +130 -0
  29. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel.css +1 -0
  30. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel.d.ts +108 -0
  31. package/es/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel.mjs +116 -0
  32. package/es/editor/data-picker/ibiz-transfer-picker/ibiz-transfer-picker.css +1 -0
  33. package/es/editor/data-picker/ibiz-transfer-picker/ibiz-transfer-picker.d.ts +97 -0
  34. package/es/editor/data-picker/ibiz-transfer-picker/ibiz-transfer-picker.mjs +279 -0
  35. package/es/editor/data-picker/index.d.ts +1 -0
  36. package/es/editor/data-picker/index.mjs +1 -0
  37. package/es/editor/data-picker/picker-editor.provider.mjs +3 -0
  38. package/es/editor/dropdown-list/dropdown-list-editor.provider.mjs +3 -0
  39. package/es/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.css +1 -0
  40. package/es/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.d.ts +93 -0
  41. package/es/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.mjs +292 -0
  42. package/es/editor/dropdown-list/index.d.ts +1 -0
  43. package/es/editor/dropdown-list/index.mjs +1 -0
  44. package/es/editor/index.mjs +12 -0
  45. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +3 -0
  46. package/es/locale/en/index.d.ts +10 -0
  47. package/es/locale/en/index.mjs +10 -0
  48. package/es/locale/zh-CN/index.d.ts +10 -0
  49. package/es/locale/zh-CN/index.mjs +10 -0
  50. package/es/panel-component/app-switch/app-switch.controller.mjs +11 -1
  51. package/es/panel-component/panel-tab-panel/panel-tab-panel.css +1 -1
  52. package/es/panel-component/searchform-buttons/searchform-buttons.css +1 -1
  53. package/lib/control/drbar/drbar.controller.cjs +4 -3
  54. package/lib/control/grid/grid/grid-control.util.cjs +48 -2
  55. package/lib/control/grid/row-edit-popover/row-edit-popover.css +1 -1
  56. package/lib/editor/data-picker/ibiz-transfer-picker/components/index.cjs +7 -0
  57. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer/icon.cjs +22 -0
  58. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer/interface.cjs +99 -0
  59. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer-util.cjs +108 -0
  60. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer.cjs +148 -0
  61. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer/transfer.css +1 -0
  62. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/icon.cjs +14 -0
  63. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/interface.cjs +58 -0
  64. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel-util.cjs +133 -0
  65. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel.cjs +118 -0
  66. package/lib/editor/data-picker/ibiz-transfer-picker/components/transfer-panel/transfer-panel.css +1 -0
  67. package/lib/editor/data-picker/ibiz-transfer-picker/ibiz-transfer-picker.cjs +281 -0
  68. package/lib/editor/data-picker/ibiz-transfer-picker/ibiz-transfer-picker.css +1 -0
  69. package/lib/editor/data-picker/index.cjs +2 -0
  70. package/lib/editor/data-picker/picker-editor.provider.cjs +3 -0
  71. package/lib/editor/dropdown-list/dropdown-list-editor.provider.cjs +3 -0
  72. package/lib/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.cjs +294 -0
  73. package/lib/editor/dropdown-list/ibiz-tree-picker/ibiz-tree-picker.css +1 -0
  74. package/lib/editor/dropdown-list/index.cjs +2 -0
  75. package/lib/editor/index.cjs +12 -0
  76. package/lib/locale/en/index.cjs +10 -0
  77. package/lib/locale/zh-CN/index.cjs +10 -0
  78. package/lib/panel-component/app-switch/app-switch.controller.cjs +11 -1
  79. package/lib/panel-component/panel-tab-panel/panel-tab-panel.css +1 -1
  80. package/lib/panel-component/searchform-buttons/searchform-buttons.css +1 -1
  81. package/package.json +4 -4
  82. package/dist/index-azhHVxuV.js +0 -4
@@ -0,0 +1,97 @@
1
+ import { Ref, VNode } from 'vue';
2
+ import { PickerEditorController } from '../picker-editor.controller';
3
+ import './ibiz-transfer-picker.scss';
4
+ /**
5
+ * 穿梭框选择(扩展)
6
+ *
7
+ * @description 用于通过穿梭框样式区分未选数据和已选数据。基于`数据选择`编辑器进行扩展,编辑器样式代码名称为:TRANSFER_PICKER
8
+ * @primary
9
+ * @editorparams {"name":"titles","parameterType":"string[]","defaultvalue":"[\"可选列表\",\"已选列表\"]","description":"用于自定义列表标题,该值为字符串数组。其中下标为 0 的字符串对应穿梭框左侧列表的标题,下标为 1 的字符串对应穿梭框右侧列表的标题"}
10
+ * @editorparams {"name":"buttontexts","parameterType":"string[]","defaultvalue":"[\"删除\",\"添加\"]","description":"用于自定义按钮显示文字,该值为字符串数组。其中下标为 0 的字符串对应左侧按钮文字,下标为 1 的字符串对应右侧按钮文字"}
11
+ * @editorparams {"name":"remotesearch","parameterType":"boolean","defaultvalue":"false","description":"是否启用远程过滤搜索功能。左侧列表默认采用本地过滤搜索,若此值为 true,则会开启远程过滤搜索"}
12
+ * @ignoreprops autoFocus | overflowMode | controlParams
13
+ * @ignoreemits blur | focus | enter
14
+ */
15
+ export declare const IBizTransferPicker: import("vue").DefineComponent<{
16
+ value: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
17
+ controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<PickerEditorController>, undefined, undefined>;
18
+ data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<import("@ibiz-template/core").IApiData>, undefined, undefined>;
19
+ disabled: {
20
+ type: BooleanConstructor;
21
+ };
22
+ readonly: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
26
+ autoFocus: {
27
+ type: BooleanConstructor;
28
+ default: boolean;
29
+ };
30
+ overflowMode: {
31
+ type: StringConstructor;
32
+ };
33
+ controlParams: {
34
+ type: ObjectConstructor;
35
+ required: boolean;
36
+ };
37
+ }, {
38
+ c: PickerEditorController;
39
+ ns: import("@ibiz-template/core").Namespace;
40
+ ns2: import("@ibiz-template/core").Namespace;
41
+ items: Ref<import("@ibiz-template/core").IApiData[]>;
42
+ loading: Ref<boolean>;
43
+ curValue: Ref<string[]>;
44
+ valueText: import("vue").ComputedRef<string>;
45
+ editorRef: Ref<any>;
46
+ curIndexs: Ref<string[]>;
47
+ leftChecked: Ref<string[]>;
48
+ rightChecked: Ref<string[]>;
49
+ titles: string[];
50
+ buttonTexts: string[];
51
+ enableRemoteSearch: boolean;
52
+ onSearch: (...args: unknown[]) => Promise<void>;
53
+ filterMethod: (query: string, item: IData) => boolean;
54
+ onRightChange: (selectKeys: Array<string | number>) => void;
55
+ onLeftCheckChange: (selectKeys: Array<string | number>) => void;
56
+ onRightCheckChange: (selectKeys: Array<string | number>) => void;
57
+ renderContentItem: (h: (type: string, vNodeProps: IParams | null, children?: string) => VNode, option: IParams) => VNode;
58
+ onLeftAcSearch: (query: string) => void;
59
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
60
+ change: (_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => boolean;
61
+ blur: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
62
+ focus: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
63
+ enter: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
64
+ infoTextChange: (_text: string) => boolean;
65
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
66
+ value: (ArrayConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
67
+ controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<PickerEditorController>, undefined, undefined>;
68
+ data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<import("@ibiz-template/core").IApiData>, undefined, undefined>;
69
+ disabled: {
70
+ type: BooleanConstructor;
71
+ };
72
+ readonly: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
76
+ autoFocus: {
77
+ type: BooleanConstructor;
78
+ default: boolean;
79
+ };
80
+ overflowMode: {
81
+ type: StringConstructor;
82
+ };
83
+ controlParams: {
84
+ type: ObjectConstructor;
85
+ required: boolean;
86
+ };
87
+ }>> & {
88
+ onFocus?: ((_event?: import("@ibiz-template/core").IApiData | undefined) => any) | undefined;
89
+ onBlur?: ((_event?: import("@ibiz-template/core").IApiData | undefined) => any) | undefined;
90
+ onChange?: ((_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => any) | undefined;
91
+ onInfoTextChange?: ((_text: string) => any) | undefined;
92
+ onEnter?: ((_event?: import("@ibiz-template/core").IApiData | undefined) => any) | undefined;
93
+ }, {
94
+ disabled: boolean;
95
+ readonly: boolean;
96
+ autoFocus: boolean;
97
+ }, {}>;
@@ -0,0 +1,279 @@
1
+ import { ref, watch, computed, onMounted, mergeProps, createVNode, defineComponent } from 'vue';
2
+ import { getDataPickerProps, getEditorEmits, useNamespace } from '@ibiz-template/vue3-util';
3
+ import { debounce } from '@ibiz-template/core';
4
+ import { clone } from 'lodash-es';
5
+ import './components/index.mjs';
6
+ import './ibiz-transfer-picker.css';
7
+ import { TransferSelect } from './components/transfer/transfer.mjs';
8
+
9
+ "use strict";
10
+ const IBizTransferPicker = /* @__PURE__ */ defineComponent({
11
+ name: "IBizTransferPicker",
12
+ props: getDataPickerProps(),
13
+ emits: getEditorEmits(),
14
+ setup(props, {
15
+ emit
16
+ }) {
17
+ const ns = useNamespace("picker");
18
+ const ns2 = useNamespace("transfer-picker");
19
+ const c = props.controller;
20
+ const editorModel = c.model;
21
+ const curValue = ref([]);
22
+ const items = ref([]);
23
+ const selectItems = ref([]);
24
+ const loading = ref(false);
25
+ const editorRef = ref();
26
+ const curIndexs = ref([]);
27
+ const leftChecked = ref([]);
28
+ const rightChecked = ref([]);
29
+ const rightSelects = ref([]);
30
+ const valueType = c.model.valueType;
31
+ const valueSeparator = c.model.valueSeparator || ",";
32
+ let titles = [ibiz.i18n.t("editor.transferPicker.optionalList"), ibiz.i18n.t("editor.transferPicker.selectedList")];
33
+ let buttonTexts = [ibiz.i18n.t("app.delete"), ibiz.i18n.t("app.add")];
34
+ let enableRemoteSearch = false;
35
+ if (editorModel.editorParams) {
36
+ const {
37
+ editorParams
38
+ } = editorModel;
39
+ if (editorParams.titles) {
40
+ try {
41
+ titles = JSON.parse(editorParams.titles);
42
+ } catch (error) {
43
+ ibiz.log.info(error);
44
+ }
45
+ }
46
+ if (editorParams.buttontexts) {
47
+ try {
48
+ buttonTexts = JSON.parse(editorParams.buttontexts);
49
+ } catch (error) {
50
+ ibiz.log.info(error);
51
+ }
52
+ }
53
+ if (editorParams.remotesearch)
54
+ enableRemoteSearch = editorParams.remotesearch === "true";
55
+ }
56
+ watch(() => props.value, (newVal) => {
57
+ curValue.value = [];
58
+ selectItems.value = [];
59
+ if (newVal) {
60
+ if (valueType === "OBJECTS") {
61
+ newVal.forEach((item) => {
62
+ const _item = clone(item);
63
+ Object.assign(_item, {
64
+ [c.keyName]: item[c.objectIdField],
65
+ [c.textName]: item[c.objectNameField]
66
+ });
67
+ if (c.objectValueField) {
68
+ Object.assign(_item, {
69
+ ...item[c.objectValueField]
70
+ });
71
+ delete _item[c.objectValueField];
72
+ }
73
+ if (_item[c.keyName]) {
74
+ selectItems.value.push(_item);
75
+ }
76
+ });
77
+ } else if (c.objectIdField && valueSeparator) {
78
+ const values = newVal.split(valueSeparator);
79
+ values.forEach((value) => {
80
+ selectItems.value.push({
81
+ [c.keyName]: value
82
+ });
83
+ });
84
+ } else {
85
+ try {
86
+ selectItems.value = JSON.parse(newVal);
87
+ } catch (error) {
88
+ ibiz.log.error("SIMPLE\u7C7B\u578B\u5730\u5740\u680F\u503C\u683C\u5F0F".concat(newVal, "\u4E0D\u7B26\u5408JSON\u5B57\u7B26\u4E32\u8981\u6C42"));
89
+ }
90
+ }
91
+ selectItems.value.forEach((item) => {
92
+ curValue.value.push(item[c.keyName]);
93
+ const index = items.value.findIndex((i) => Object.is(i[c.keyName], item[c.keyName]));
94
+ if (index < 0) {
95
+ items.value.push({
96
+ [c.keyName]: item[c.keyName],
97
+ [c.textName]: item[c.textName]
98
+ });
99
+ }
100
+ });
101
+ }
102
+ }, {
103
+ immediate: true,
104
+ deep: true
105
+ });
106
+ watch(editorRef, (newVal) => {
107
+ if (props.autoFocus && newVal && newVal.focus) {
108
+ newVal.focus();
109
+ }
110
+ });
111
+ const handleRightChange = (result) => {
112
+ const selects = [];
113
+ if (result && Array.isArray(result)) {
114
+ result.forEach((select) => {
115
+ Object.assign(select, {
116
+ [c.keyName]: select[c.keyName] ? select[c.keyName] : select.srfkey,
117
+ [c.textName]: select[c.textName] ? select[c.textName] : select.srfmajortext
118
+ });
119
+ if (valueType === "OBJECTS") {
120
+ selects.push(c.handleObjectParams(select));
121
+ } else if (c.objectIdField) {
122
+ selects.push(select[c.keyName]);
123
+ } else {
124
+ selects.push({
125
+ [c.keyName]: select[c.keyName],
126
+ [c.textName]: select[c.textName]
127
+ });
128
+ }
129
+ const index = items.value.findIndex((item) => Object.is(item[c.keyName], select[c.keyName]));
130
+ if (index < 0) {
131
+ items.value.push(select);
132
+ }
133
+ });
134
+ }
135
+ let value = null;
136
+ if (selects.length > 0) {
137
+ if (valueType === "OBJECTS") {
138
+ value = selects;
139
+ } else {
140
+ value = c.objectIdField ? selects.join(valueSeparator) : JSON.stringify(selects);
141
+ }
142
+ }
143
+ emit("change", value);
144
+ };
145
+ const filterMethod = (query, item) => {
146
+ const textName = item[c.textName];
147
+ return !query || (textName == null ? void 0 : textName.toLowerCase().includes(query == null ? void 0 : query.toLowerCase()));
148
+ };
149
+ const onRightChange = (selectKeys) => {
150
+ const selects = selectKeys.map((key) => {
151
+ const selcetItem = items.value.find((item) => item[c.keyName] === key);
152
+ return selcetItem || {};
153
+ });
154
+ handleRightChange(selects);
155
+ };
156
+ const onLeftCheckChange = (selectKeys) => {
157
+ leftChecked.value = selectKeys;
158
+ };
159
+ const onRightCheckChange = (selectKeys) => {
160
+ rightChecked.value = selectKeys;
161
+ };
162
+ const getServiceData = async (query) => {
163
+ let data = [];
164
+ if (c.model.appDataEntityId) {
165
+ try {
166
+ const trimQuery = query.trim();
167
+ const res = await c.getServiceData(trimQuery, props.data);
168
+ if (res) {
169
+ data = res.data;
170
+ }
171
+ } catch (error) {
172
+ ibiz.log.error(error);
173
+ }
174
+ }
175
+ return data;
176
+ };
177
+ const onSearch = async (...args) => {
178
+ rightSelects.value = items.value.filter((item) => !!selectItems.value.find((item2) => item2[c.keyName] === item[c.keyName]));
179
+ const query = args[0] || "";
180
+ loading.value = true;
181
+ const data = await getServiceData(query);
182
+ if (data) {
183
+ items.value = [...rightSelects.value, ...data.filter((item) => !rightSelects.value.find((item2) => item2[c.keyName] === item[c.keyName]))];
184
+ }
185
+ rightChecked.value = [...rightChecked.value];
186
+ leftChecked.value = [...leftChecked.value];
187
+ loading.value = false;
188
+ };
189
+ const debounceSearch = debounce(onSearch, 1e3);
190
+ const onLeftAcSearch = (query) => {
191
+ debounceSearch(query);
192
+ };
193
+ const valueText = computed(() => {
194
+ return selectItems.value.map((item) => {
195
+ return item[c.textName];
196
+ }).join(",");
197
+ });
198
+ watch(valueText, (newVal, oldVal) => {
199
+ if (newVal !== oldVal) {
200
+ emit("infoTextChange", newVal);
201
+ }
202
+ }, {
203
+ immediate: true
204
+ });
205
+ onMounted(() => {
206
+ if (c.objectNameField) {
207
+ items.value = [];
208
+ onSearch("");
209
+ }
210
+ });
211
+ const renderContentItem = (h, option) => {
212
+ return h("span", {
213
+ title: option[c.textName]
214
+ }, option[c.textName]);
215
+ };
216
+ return {
217
+ c,
218
+ ns,
219
+ ns2,
220
+ items,
221
+ loading,
222
+ curValue,
223
+ valueText,
224
+ editorRef,
225
+ curIndexs,
226
+ leftChecked,
227
+ rightChecked,
228
+ titles,
229
+ buttonTexts,
230
+ enableRemoteSearch,
231
+ onSearch,
232
+ filterMethod,
233
+ onRightChange,
234
+ onLeftCheckChange,
235
+ onRightCheckChange,
236
+ renderContentItem,
237
+ onLeftAcSearch
238
+ };
239
+ },
240
+ render() {
241
+ const editContent = createVNode("div", {
242
+ "class": [this.ns.e("autocomplete")]
243
+ }, [createVNode(TransferSelect, mergeProps({
244
+ "ref": "editorRef",
245
+ "modelValue": this.curValue,
246
+ "onUpdate:modelValue": ($event) => this.curValue = $event,
247
+ "data": this.items,
248
+ "readonly": this.readonly || this.disabled,
249
+ "left-default-checked": this.leftChecked,
250
+ "right-default-checked": this.rightChecked,
251
+ "props": {
252
+ key: this.c.keyName,
253
+ label: this.c.textName
254
+ },
255
+ "filterable": true,
256
+ "filter-placeholder": this.c.placeHolder,
257
+ "enableRemoteSearch": this.enableRemoteSearch,
258
+ "titles": this.titles,
259
+ "button-texts": this.buttonTexts,
260
+ "format": {
261
+ noChecked: "${total}",
262
+ hasChecked: "${checked}/${total}"
263
+ },
264
+ "target-order": this.enableRemoteSearch ? "push" : "original",
265
+ "loading": this.loading,
266
+ "filterMethod": this.filterMethod,
267
+ "renderContent": this.renderContentItem,
268
+ "onChange": this.onRightChange,
269
+ "onLeftCheckChange": this.onLeftCheckChange,
270
+ "onRightCheckChange": this.onRightCheckChange,
271
+ "onLeftAcSearch": this.onLeftAcSearch
272
+ }, this.$attrs), null)]);
273
+ return createVNode("div", {
274
+ "class": [this.ns.b(), this.ns2.b(), this.disabled ? this.ns.m("disabled") : ""]
275
+ }, [editContent]);
276
+ }
277
+ });
278
+
279
+ export { IBizTransferPicker };
@@ -4,5 +4,6 @@ export { IBizPickerDropDown } from './ibiz-picker-dropdown/ibiz-picker-dropdown'
4
4
  export { IBizPickerLink } from './ibiz-picker-link/ibiz-picker-link';
5
5
  export { IBizPickerEmbedView } from './ibiz-picker-embed-view/ibiz-picker-embed-view';
6
6
  export { IBizPickerSelectView } from './ibiz-picker-select-view/ibiz-picker-select-view';
7
+ export { IBizTransferPicker } from './ibiz-transfer-picker/ibiz-transfer-picker';
7
8
  export * from './picker-editor.controller';
8
9
  export * from './picker-editor.provider';
@@ -4,6 +4,7 @@ export { IBizPickerDropDown } from './ibiz-picker-dropdown/ibiz-picker-dropdown.
4
4
  export { IBizPickerLink } from './ibiz-picker-link/ibiz-picker-link.mjs';
5
5
  export { IBizPickerEmbedView } from './ibiz-picker-embed-view/ibiz-picker-embed-view.mjs';
6
6
  export { IBizPickerSelectView } from './ibiz-picker-select-view/ibiz-picker-select-view.mjs';
7
+ export { IBizTransferPicker } from './ibiz-transfer-picker/ibiz-transfer-picker.mjs';
7
8
  export { PickerEditorController } from './picker-editor.controller.mjs';
8
9
  export { DataPickerEditorProvider } from './picker-editor.provider.mjs';
9
10
 
@@ -32,6 +32,9 @@ class DataPickerEditorProvider {
32
32
  case "PICKUPVIEW":
33
33
  componentName = "IBizPickerEmbedView";
34
34
  break;
35
+ case "TRANSFER_PICKER":
36
+ componentName = "IBizTransferPicker";
37
+ break;
35
38
  default:
36
39
  }
37
40
  this.formEditor = componentName;
@@ -19,6 +19,9 @@ class DropDownListEditorProvider {
19
19
  case "VIRTUALIZED_LIST":
20
20
  componentName = "IBizVirtualizedList";
21
21
  break;
22
+ case "TREE_PICKER":
23
+ componentName = "IBizTreePicker";
24
+ break;
22
25
  default:
23
26
  }
24
27
  this.formEditor = componentName;
@@ -0,0 +1 @@
1
+ .ibiz-tree-picker{--ibiz-tree-picker-font-size:var(--ibiz-editor-default-text-size);display:flex;flex-direction:column;width:100%;height:100%;max-height:100%}.ibiz-tree-picker__search .el-input{--el-input-height:var(--ibiz-height-control-default);--el-font-size-base:var(--ibiz-tree-picker-font-size);margin:var(--ibiz-spacing-tight) 0}.ibiz-tree-picker__tree{--ibiz-font-size-regular:var(--ibiz-tree-picker-font-size);height:100%;overflow:auto}.ibiz-tree-picker__tree .el-checkbox.el-checkbox.el-checkbox .el-checkbox__inner{width:var(--ibiz-tree-picker-font-size);height:var(--ibiz-tree-picker-font-size)}
@@ -0,0 +1,93 @@
1
+ import { Ref } from 'vue';
2
+ import { DropDownListEditorController } from '../dropdown-list-editor.controller';
3
+ import './ibiz-tree-picker.scss';
4
+ /**
5
+ * 树形多选(扩展)
6
+ *
7
+ * @description 用于以树形样式呈现选择项,支持搜索过滤、全选、取消全选、全展开及全收起功能,常用于绘制树形结构的代码表数据。基于`下拉列表框(多选)`编辑器进行扩展,编辑器样式代码名称为:TREE_PICKER
8
+ * @primary
9
+ * @editorparams {"name":"showtoolbar","parameterType":"boolean","defaultvalue":"false","description":"是否显示头部工具栏。默认不显示,若此值为 true,则会在头部呈现快捷工具栏,该工具栏可用于执行全选、取消全选、全展开以及全收起操作"}
10
+ * @ignoreprops autoFocus | overflowMode | controlParams
11
+ * @ignoreemits blur | focus | enter | infoTextChange
12
+ */
13
+ export declare const IBizTreePicker: import("vue").DefineComponent<{
14
+ value: (StringConstructor | NumberConstructor)[];
15
+ controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<DropDownListEditorController>, undefined, undefined>;
16
+ data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<import("@ibiz-template/core").IApiData>, undefined, undefined>;
17
+ disabled: {
18
+ type: BooleanConstructor;
19
+ };
20
+ readonly: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
24
+ autoFocus: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ overflowMode: {
29
+ type: StringConstructor;
30
+ };
31
+ controlParams: {
32
+ type: ObjectConstructor;
33
+ required: boolean;
34
+ };
35
+ }, {
36
+ ns: import("@ibiz-template/core").Namespace;
37
+ c: DropDownListEditorController;
38
+ items: Ref<readonly import("@ibiz-template/core").IApiData[]>;
39
+ treeRef: Ref<any>;
40
+ filterText: Ref<string>;
41
+ treeNodes: Ref<import("@ibiz-template/core").IApiData[]>;
42
+ isCancel: Ref<boolean>;
43
+ defaultCheckedKeys: Ref<string[]>;
44
+ expandedKeys: Ref<string[]>;
45
+ showToolbar: boolean;
46
+ onNodeExpand: (...args: IData[]) => void;
47
+ onNodeCollapse: (...args: IData[]) => void;
48
+ filterNode: (value: string, data: IData) => boolean;
49
+ customNodeClass: (data: IData) => string | null;
50
+ onAllExpand: () => void;
51
+ onAllCollapse: () => void;
52
+ onAllSelect: () => void;
53
+ onAllCancel: () => void;
54
+ onCheck: (...args: IData[]) => void;
55
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
56
+ change: (_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => boolean;
57
+ blur: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
58
+ focus: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
59
+ enter: (_event?: import("@ibiz-template/core").IApiData | undefined) => boolean;
60
+ infoTextChange: (_text: string) => boolean;
61
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
62
+ value: (StringConstructor | NumberConstructor)[];
63
+ controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<DropDownListEditorController>, undefined, undefined>;
64
+ data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<import("@ibiz-template/core").IApiData>, undefined, undefined>;
65
+ disabled: {
66
+ type: BooleanConstructor;
67
+ };
68
+ readonly: {
69
+ type: BooleanConstructor;
70
+ default: boolean;
71
+ };
72
+ autoFocus: {
73
+ type: BooleanConstructor;
74
+ default: boolean;
75
+ };
76
+ overflowMode: {
77
+ type: StringConstructor;
78
+ };
79
+ controlParams: {
80
+ type: ObjectConstructor;
81
+ required: boolean;
82
+ };
83
+ }>> & {
84
+ onFocus?: ((_event?: import("@ibiz-template/core").IApiData | undefined) => any) | undefined;
85
+ onBlur?: ((_event?: import("@ibiz-template/core").IApiData | undefined) => any) | undefined;
86
+ onChange?: ((_value: unknown, _name?: string | undefined, _ignore?: boolean | undefined) => any) | undefined;
87
+ onInfoTextChange?: ((_text: string) => any) | undefined;
88
+ onEnter?: ((_event?: import("@ibiz-template/core").IApiData | undefined) => any) | undefined;
89
+ }, {
90
+ disabled: boolean;
91
+ readonly: boolean;
92
+ autoFocus: boolean;
93
+ }, {}>;