vxe-pc-ui 4.7.5 → 4.7.7
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/es/icon/style.css +1 -1
- package/es/language/ar-EG.js +19 -1
- package/es/language/de-DE.js +19 -1
- package/es/language/en-US.js +20 -2
- package/es/language/es-ES.js +19 -1
- package/es/language/fr-FR.js +19 -1
- package/es/language/hu-HU.js +19 -1
- package/es/language/hy-AM.js +18 -0
- package/es/language/id-ID.js +19 -1
- package/es/language/it-IT.js +19 -1
- package/es/language/ja-JP.js +19 -1
- package/es/language/ko-KR.js +19 -1
- package/es/language/ms-MY.js +19 -1
- package/es/language/nb-NO.js +19 -1
- package/es/language/pt-BR.js +19 -1
- package/es/language/ru-RU.js +19 -1
- package/es/language/th-TH.js +19 -1
- package/es/language/ug-CN.js +19 -1
- package/es/language/uk-UA.js +19 -1
- package/es/language/uz-UZ.js +19 -1
- package/es/language/vi-VN.js +19 -1
- package/es/language/zh-CHT.js +19 -1
- package/es/language/zh-CN.js +18 -0
- package/es/list/src/list.js +1 -1
- package/es/select/src/select.js +135 -42
- package/es/select/style.css +21 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +924 -407
- package/es/tree/src/util.js +32 -0
- package/es/tree/style.css +29 -26
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +227 -18
- package/es/tree-select/style.css +36 -1
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +19 -3
- package/es/ui/src/dom.js +9 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +21 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree/style.css +29 -26
- package/es/vxe-tree/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +36 -1
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +1512 -530
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +19 -1
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +19 -1
- package/lib/language/de-DE.js +19 -1
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +19 -1
- package/lib/language/en-US.js +20 -2
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +20 -2
- package/lib/language/es-ES.js +19 -1
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +19 -1
- package/lib/language/fr-FR.js +19 -1
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +19 -1
- package/lib/language/hu-HU.js +19 -1
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +19 -1
- package/lib/language/hy-AM.js +18 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +18 -0
- package/lib/language/id-ID.js +19 -1
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +19 -1
- package/lib/language/it-IT.js +19 -1
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +19 -1
- package/lib/language/ja-JP.js +19 -1
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +19 -1
- package/lib/language/ko-KR.js +19 -1
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +19 -1
- package/lib/language/ms-MY.js +19 -1
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +19 -1
- package/lib/language/nb-NO.js +19 -1
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +19 -1
- package/lib/language/pt-BR.js +19 -1
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +19 -1
- package/lib/language/ru-RU.js +19 -1
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +19 -1
- package/lib/language/th-TH.js +19 -1
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +19 -1
- package/lib/language/ug-CN.js +19 -1
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +19 -1
- package/lib/language/uk-UA.js +19 -1
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +19 -1
- package/lib/language/uz-UZ.js +19 -1
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +19 -1
- package/lib/language/vi-VN.js +19 -1
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +19 -1
- package/lib/language/zh-CHT.js +19 -1
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +19 -1
- package/lib/language/zh-CN.js +18 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +18 -0
- package/lib/list/src/list.js +1 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/select/src/select.js +139 -44
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +21 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +1154 -572
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/src/util.js +51 -0
- package/lib/tree/src/util.min.js +1 -0
- package/lib/tree/style/style.css +29 -26
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +237 -21
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +36 -1
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +19 -3
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +10 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-select/style/style.css +21 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +29 -26
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +36 -1
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +19 -1
- package/packages/language/de-DE.ts +19 -1
- package/packages/language/en-US.ts +20 -2
- package/packages/language/es-ES.ts +19 -1
- package/packages/language/fr-FR.ts +19 -1
- package/packages/language/hu-HU.ts +19 -1
- package/packages/language/hy-AM.ts +18 -0
- package/packages/language/id-ID.ts +19 -1
- package/packages/language/it-IT.ts +19 -1
- package/packages/language/ja-JP.ts +19 -1
- package/packages/language/ko-KR.ts +19 -1
- package/packages/language/ms-MY.ts +19 -1
- package/packages/language/nb-NO.ts +19 -1
- package/packages/language/pt-BR.ts +19 -1
- package/packages/language/ru-RU.ts +19 -1
- package/packages/language/th-TH.ts +19 -1
- package/packages/language/ug-CN.ts +19 -1
- package/packages/language/uk-UA.ts +19 -1
- package/packages/language/uz-UZ.ts +19 -1
- package/packages/language/vi-VN.ts +19 -1
- package/packages/language/zh-CHT.ts +19 -1
- package/packages/language/zh-CN.ts +18 -0
- package/packages/list/src/list.ts +1 -1
- package/packages/select/src/select.ts +146 -50
- package/packages/tree/src/tree.ts +947 -410
- package/packages/tree/src/util.ts +35 -0
- package/packages/tree-select/src/tree-select.ts +240 -19
- package/packages/ui/index.ts +18 -2
- package/packages/ui/src/dom.ts +10 -0
- package/styles/components/select.scss +19 -0
- package/styles/components/tree-select.scss +36 -1
- package/styles/components/tree.scss +34 -31
- package/types/components/button.d.ts +11 -1
- package/types/components/grid.d.ts +5 -0
- package/types/components/icon-picker.d.ts +11 -1
- package/types/components/input.d.ts +2 -2
- package/types/components/select.d.ts +28 -39
- package/types/components/tree-select.d.ts +73 -12
- package/types/components/tree.d.ts +125 -8
- /package/es/icon/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/es/icon/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/es/icon/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
- /package/es/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/es/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/es/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/lib/icon/style/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
- /package/lib/{iconfont.1752151733538.ttf → iconfont.1752462949194.ttf} +0 -0
- /package/lib/{iconfont.1752151733538.woff → iconfont.1752462949194.woff} +0 -0
- /package/lib/{iconfont.1752151733538.woff2 → iconfont.1752462949194.woff2} +0 -0
|
@@ -12,6 +12,7 @@ var _utils = require("../../ui/src/utils");
|
|
|
12
12
|
var _log = require("../../ui/src/log");
|
|
13
13
|
var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
14
14
|
var _input = _interopRequireDefault(require("../../input/src/input"));
|
|
15
|
+
var _button = _interopRequireDefault(require("../../button/src/button"));
|
|
15
16
|
var _tree = _interopRequireDefault(require("../../tree/src/tree"));
|
|
16
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
18
|
function getOptUniqueId() {
|
|
@@ -35,6 +36,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
35
36
|
type: Boolean,
|
|
36
37
|
default: null
|
|
37
38
|
},
|
|
39
|
+
filterable: Boolean,
|
|
40
|
+
filterConfig: Object,
|
|
38
41
|
multiple: Boolean,
|
|
39
42
|
className: [String, Function],
|
|
40
43
|
popupClassName: [String, Function],
|
|
@@ -44,18 +47,44 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
44
47
|
optionProps: Object,
|
|
45
48
|
size: {
|
|
46
49
|
type: String,
|
|
47
|
-
default: () => (0, _ui.getConfig)().
|
|
50
|
+
default: () => (0, _ui.getConfig)().treeSelect.size || (0, _ui.getConfig)().size
|
|
48
51
|
},
|
|
49
52
|
remote: Boolean,
|
|
50
|
-
|
|
53
|
+
remoteConfig: Function,
|
|
51
54
|
popupConfig: Object,
|
|
52
55
|
treeConfig: Object,
|
|
56
|
+
virtualYConfig: Object,
|
|
57
|
+
autoClose: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: () => (0, _ui.getConfig)().treeSelect.autoClose
|
|
60
|
+
},
|
|
61
|
+
showTotalButoon: {
|
|
62
|
+
type: Boolean,
|
|
63
|
+
default: () => (0, _ui.getConfig)().treeSelect.showTotalButoon
|
|
64
|
+
},
|
|
65
|
+
showCheckedButoon: {
|
|
66
|
+
type: Boolean,
|
|
67
|
+
default: () => (0, _ui.getConfig)().treeSelect.showCheckedButoon
|
|
68
|
+
},
|
|
69
|
+
showClearButton: {
|
|
70
|
+
type: Boolean,
|
|
71
|
+
default: () => (0, _ui.getConfig)().treeSelect.showClearButton
|
|
72
|
+
},
|
|
73
|
+
showExpandButton: {
|
|
74
|
+
type: Boolean,
|
|
75
|
+
default: () => (0, _ui.getConfig)().treeSelect.showExpandButton
|
|
76
|
+
},
|
|
53
77
|
transfer: {
|
|
54
78
|
type: Boolean,
|
|
55
79
|
default: null
|
|
56
|
-
}
|
|
80
|
+
},
|
|
81
|
+
/**
|
|
82
|
+
* 已废弃,被 remote-config.queryMethod 替换
|
|
83
|
+
* @deprecated
|
|
84
|
+
*/
|
|
85
|
+
remoteMethod: Function
|
|
57
86
|
},
|
|
58
|
-
emits: ['update:modelValue', 'change', 'clear', 'blur', 'focus', 'click', 'node-click'],
|
|
87
|
+
emits: ['update:modelValue', 'change', 'all-change', 'clear', 'blur', 'focus', 'click', 'node-click'],
|
|
59
88
|
setup(props, context) {
|
|
60
89
|
const {
|
|
61
90
|
emit,
|
|
@@ -72,12 +101,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
72
101
|
} = (0, _ui.useSize)(props);
|
|
73
102
|
const refElem = (0, _vue.ref)();
|
|
74
103
|
const refInput = (0, _vue.ref)();
|
|
104
|
+
const refInpSearch = (0, _vue.ref)();
|
|
75
105
|
const refTreeWrapper = (0, _vue.ref)();
|
|
76
106
|
const refOptionPanel = (0, _vue.ref)();
|
|
107
|
+
const refTree = (0, _vue.ref)();
|
|
77
108
|
const reactData = (0, _vue.reactive)({
|
|
78
109
|
initialized: false,
|
|
79
|
-
|
|
80
|
-
|
|
110
|
+
searchValue: '',
|
|
111
|
+
searchLoading: false,
|
|
81
112
|
panelIndex: 0,
|
|
82
113
|
panelStyle: {},
|
|
83
114
|
panelPlacement: null,
|
|
@@ -87,7 +118,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
87
118
|
isActivated: false
|
|
88
119
|
});
|
|
89
120
|
const internalData = {
|
|
90
|
-
hpTimeout: undefined
|
|
121
|
+
// hpTimeout: undefined,
|
|
122
|
+
fullOptionList: [],
|
|
123
|
+
fullNodeMaps: {}
|
|
91
124
|
};
|
|
92
125
|
const refMaps = {
|
|
93
126
|
refElem
|
|
@@ -188,15 +221,26 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
188
221
|
const propsOpts = computePropsOpts.value;
|
|
189
222
|
return propsOpts.hasChild || 'hasChild';
|
|
190
223
|
});
|
|
224
|
+
const computeVirtualYOpts = (0, _vue.computed)(() => {
|
|
225
|
+
return Object.assign({}, (0, _ui.getConfig)().treeSelect.virtualYConfig, props.virtualYConfig);
|
|
226
|
+
});
|
|
227
|
+
const computeRemoteOpts = (0, _vue.computed)(() => {
|
|
228
|
+
return Object.assign({}, (0, _ui.getConfig)().treeSelect.remoteConfig, props.remoteConfig);
|
|
229
|
+
});
|
|
230
|
+
const computeFilterOpts = (0, _vue.computed)(() => {
|
|
231
|
+
const treeOpts = computeTreeOpts.value;
|
|
232
|
+
return Object.assign({}, treeOpts.filterConfig, props.filterConfig);
|
|
233
|
+
});
|
|
191
234
|
const computeSelectLabel = (0, _vue.computed)(() => {
|
|
192
235
|
const {
|
|
193
236
|
modelValue
|
|
194
237
|
} = props;
|
|
195
238
|
const {
|
|
196
239
|
fullNodeMaps
|
|
197
|
-
} =
|
|
240
|
+
} = internalData;
|
|
198
241
|
const labelField = computeLabelField.value;
|
|
199
|
-
|
|
242
|
+
const selectVals = _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
|
|
243
|
+
return selectVals.map(val => {
|
|
200
244
|
const cacheItem = fullNodeMaps[val];
|
|
201
245
|
return cacheItem ? cacheItem.item[labelField] : val;
|
|
202
246
|
}).join(', ');
|
|
@@ -247,12 +291,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
247
291
|
const {
|
|
248
292
|
options
|
|
249
293
|
} = props;
|
|
294
|
+
const treeOpts = computeTreeOpts.value;
|
|
250
295
|
const nodeKeyField = computeNodeKeyField.value;
|
|
251
296
|
const childrenField = computeChildrenField.value;
|
|
252
297
|
const valueField = computeValueField.value;
|
|
298
|
+
const {
|
|
299
|
+
transform
|
|
300
|
+
} = treeOpts;
|
|
253
301
|
const nodeMaps = {};
|
|
254
302
|
const keyMaps = {};
|
|
255
|
-
|
|
303
|
+
const handleOptNode = (item, index, items, path, parent, nodes) => {
|
|
256
304
|
let nodeid = getNodeid(item);
|
|
257
305
|
if (!nodeid) {
|
|
258
306
|
nodeid = getOptUniqueId();
|
|
@@ -272,11 +320,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
272
320
|
parent,
|
|
273
321
|
nodes
|
|
274
322
|
};
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
323
|
+
};
|
|
324
|
+
if (options) {
|
|
325
|
+
if (transform) {
|
|
326
|
+
options.forEach((item, index, items) => {
|
|
327
|
+
handleOptNode(item, index, items, [], null, []);
|
|
328
|
+
});
|
|
329
|
+
} else {
|
|
330
|
+
_xeUtils.default.eachTree(options, handleOptNode, {
|
|
331
|
+
children: childrenField
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
internalData.fullOptionList = options || [];
|
|
336
|
+
internalData.fullNodeMaps = nodeMaps;
|
|
280
337
|
};
|
|
281
338
|
const updateZindex = () => {
|
|
282
339
|
if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
|
|
@@ -309,9 +366,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
309
366
|
};
|
|
310
367
|
const showOptionPanel = () => {
|
|
311
368
|
const {
|
|
312
|
-
loading
|
|
369
|
+
loading,
|
|
370
|
+
remote,
|
|
371
|
+
filterable
|
|
313
372
|
} = props;
|
|
373
|
+
const {
|
|
374
|
+
fullOptionList
|
|
375
|
+
} = internalData;
|
|
314
376
|
const isDisabled = computeIsDisabled.value;
|
|
377
|
+
const remoteOpts = computeRemoteOpts.value;
|
|
315
378
|
if (!loading && !isDisabled) {
|
|
316
379
|
clearTimeout(internalData.hpTimeout);
|
|
317
380
|
if (!reactData.initialized) {
|
|
@@ -319,8 +382,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
319
382
|
}
|
|
320
383
|
reactData.isActivated = true;
|
|
321
384
|
reactData.isAniVisible = true;
|
|
385
|
+
if (filterable) {
|
|
386
|
+
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullOptionList.length) {
|
|
387
|
+
handleSearchEvent();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
322
390
|
setTimeout(() => {
|
|
323
391
|
reactData.visiblePanel = true;
|
|
392
|
+
handleFocusSearch();
|
|
324
393
|
}, 10);
|
|
325
394
|
updateZindex();
|
|
326
395
|
updatePlacement();
|
|
@@ -335,7 +404,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
335
404
|
const changeEvent = (evnt, selectValue) => {
|
|
336
405
|
const {
|
|
337
406
|
fullNodeMaps
|
|
338
|
-
} =
|
|
407
|
+
} = internalData;
|
|
339
408
|
emitModel(selectValue);
|
|
340
409
|
if (selectValue !== props.modelValue) {
|
|
341
410
|
const cacheItem = fullNodeMaps[selectValue];
|
|
@@ -359,6 +428,65 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
359
428
|
clearValueEvent(evnt, null);
|
|
360
429
|
hideOptionPanel();
|
|
361
430
|
};
|
|
431
|
+
const allCheckedPanelEvent = params => {
|
|
432
|
+
const {
|
|
433
|
+
$event
|
|
434
|
+
} = params;
|
|
435
|
+
const {
|
|
436
|
+
multiple,
|
|
437
|
+
autoClose
|
|
438
|
+
} = props;
|
|
439
|
+
const $tree = refTree.value;
|
|
440
|
+
if (multiple) {
|
|
441
|
+
if ($tree) {
|
|
442
|
+
$tree.setAllCheckboxNode(true).then(({
|
|
443
|
+
checkNodeKeys
|
|
444
|
+
}) => {
|
|
445
|
+
changeEvent($event, checkNodeKeys);
|
|
446
|
+
dispatchEvent('all-change', {
|
|
447
|
+
value: checkNodeKeys
|
|
448
|
+
}, $event);
|
|
449
|
+
if (autoClose) {
|
|
450
|
+
hideOptionPanel();
|
|
451
|
+
}
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
const clearCheckedPanelEvent = params => {
|
|
457
|
+
const {
|
|
458
|
+
$event
|
|
459
|
+
} = params;
|
|
460
|
+
const {
|
|
461
|
+
multiple,
|
|
462
|
+
autoClose
|
|
463
|
+
} = props;
|
|
464
|
+
const $tree = refTree.value;
|
|
465
|
+
if ($tree) {
|
|
466
|
+
const value = multiple ? [] : null;
|
|
467
|
+
$tree.clearCheckboxNode().then(() => {
|
|
468
|
+
if (autoClose) {
|
|
469
|
+
hideOptionPanel();
|
|
470
|
+
}
|
|
471
|
+
});
|
|
472
|
+
changeEvent($event, value);
|
|
473
|
+
dispatchEvent('clear', {
|
|
474
|
+
value
|
|
475
|
+
}, $event);
|
|
476
|
+
}
|
|
477
|
+
};
|
|
478
|
+
const allExpandPanelEvent = () => {
|
|
479
|
+
const $tree = refTree.value;
|
|
480
|
+
if ($tree) {
|
|
481
|
+
$tree.setAllExpandNode(true);
|
|
482
|
+
}
|
|
483
|
+
};
|
|
484
|
+
const clearExpandPanelEvent = () => {
|
|
485
|
+
const $tree = refTree.value;
|
|
486
|
+
if ($tree) {
|
|
487
|
+
$tree.clearAllExpandNode();
|
|
488
|
+
}
|
|
489
|
+
};
|
|
362
490
|
const handleGlobalMousewheelEvent = evnt => {
|
|
363
491
|
const {
|
|
364
492
|
visiblePanel
|
|
@@ -400,6 +528,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
400
528
|
updatePlacement();
|
|
401
529
|
}
|
|
402
530
|
};
|
|
531
|
+
const handleFocusSearch = () => {
|
|
532
|
+
if (props.filterable) {
|
|
533
|
+
(0, _vue.nextTick)(() => {
|
|
534
|
+
const inpSearch = refInpSearch.value;
|
|
535
|
+
if (inpSearch) {
|
|
536
|
+
inpSearch.focus();
|
|
537
|
+
}
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
};
|
|
403
541
|
const focusEvent = evnt => {
|
|
404
542
|
const isDisabled = computeIsDisabled.value;
|
|
405
543
|
if (!isDisabled) {
|
|
@@ -421,6 +559,31 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
421
559
|
reactData.isActivated = false;
|
|
422
560
|
dispatchEvent('blur', {}, evnt);
|
|
423
561
|
};
|
|
562
|
+
const modelSearchEvent = value => {
|
|
563
|
+
reactData.searchValue = value;
|
|
564
|
+
};
|
|
565
|
+
const handleSearchEvent = () => {
|
|
566
|
+
const {
|
|
567
|
+
modelValue,
|
|
568
|
+
remote,
|
|
569
|
+
remoteMethod
|
|
570
|
+
} = props;
|
|
571
|
+
const {
|
|
572
|
+
searchValue
|
|
573
|
+
} = reactData;
|
|
574
|
+
const remoteOpts = computeRemoteOpts.value;
|
|
575
|
+
const queryMethod = remoteOpts.queryMethod || remoteMethod;
|
|
576
|
+
if (remote && queryMethod && remoteOpts.enabled) {
|
|
577
|
+
reactData.searchLoading = true;
|
|
578
|
+
Promise.resolve(queryMethod({
|
|
579
|
+
$treeSelect: $xeTreeSelect,
|
|
580
|
+
searchValue,
|
|
581
|
+
value: modelValue
|
|
582
|
+
})).then(() => (0, _vue.nextTick)()).catch(() => (0, _vue.nextTick)()).finally(() => {
|
|
583
|
+
reactData.searchLoading = false;
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
};
|
|
424
587
|
const togglePanelEvent = params => {
|
|
425
588
|
const {
|
|
426
589
|
$event
|
|
@@ -468,13 +631,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
468
631
|
modelValue,
|
|
469
632
|
multiple,
|
|
470
633
|
options,
|
|
471
|
-
loading
|
|
634
|
+
loading,
|
|
635
|
+
filterable,
|
|
636
|
+
showTotalButoon,
|
|
637
|
+
showCheckedButoon,
|
|
638
|
+
showClearButton,
|
|
639
|
+
showExpandButton
|
|
472
640
|
} = props;
|
|
473
641
|
const {
|
|
474
642
|
initialized,
|
|
475
643
|
isActivated,
|
|
476
644
|
isAniVisible,
|
|
477
|
-
visiblePanel
|
|
645
|
+
visiblePanel,
|
|
646
|
+
searchValue
|
|
478
647
|
} = reactData;
|
|
479
648
|
const vSize = computeSize.value;
|
|
480
649
|
const isDisabled = computeIsDisabled.value;
|
|
@@ -497,6 +666,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
497
666
|
const childrenField = computeChildrenField.value;
|
|
498
667
|
const parentField = computeParentField.value;
|
|
499
668
|
const hasChildField = computeHasChildField.value;
|
|
669
|
+
const virtualYOpts = computeVirtualYOpts.value;
|
|
670
|
+
const filterOpts = computeFilterOpts.value;
|
|
500
671
|
if (formReadonly) {
|
|
501
672
|
return (0, _vue.h)('div', {
|
|
502
673
|
ref: refElem,
|
|
@@ -505,12 +676,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
505
676
|
class: 'vxe-tree-select-label'
|
|
506
677
|
}, selectLabel)]);
|
|
507
678
|
}
|
|
679
|
+
const selectVals = _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
|
|
508
680
|
return (0, _vue.h)('div', {
|
|
509
681
|
ref: refElem,
|
|
510
682
|
class: ['vxe-tree-select', className ? _xeUtils.default.isFunction(className) ? className({
|
|
511
683
|
$treeSelect: $xeTreeSelect
|
|
512
684
|
}) : className : '', {
|
|
513
685
|
[`size--${vSize}`]: vSize,
|
|
686
|
+
'is--filterable': filterable,
|
|
514
687
|
'is--visible': visiblePanel,
|
|
515
688
|
'is--disabled': isDisabled,
|
|
516
689
|
'is--loading': loading,
|
|
@@ -526,6 +699,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
526
699
|
prefixIcon: props.prefixIcon,
|
|
527
700
|
suffixIcon: loading ? (0, _ui.getIcon)().TREE_SELECT_LOADED : visiblePanel ? (0, _ui.getIcon)().TREE_SELECT_OPEN : (0, _ui.getIcon)().TREE_SELECT_CLOSE,
|
|
528
701
|
modelValue: loading ? '' : selectLabel,
|
|
702
|
+
title: selectLabel,
|
|
529
703
|
onClear: clearEvent,
|
|
530
704
|
onClick: clickEvent,
|
|
531
705
|
onFocus: focusEvent,
|
|
@@ -550,16 +724,55 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
550
724
|
style: reactData.panelStyle
|
|
551
725
|
}, initialized ? [(0, _vue.h)('div', {
|
|
552
726
|
class: 'vxe-tree-select--panel-wrapper'
|
|
553
|
-
}, [
|
|
727
|
+
}, [filterable ? (0, _vue.h)('div', {
|
|
728
|
+
class: 'vxe-tree-select--panel-search'
|
|
729
|
+
}, [(0, _vue.h)(_input.default, {
|
|
730
|
+
ref: refInpSearch,
|
|
731
|
+
class: 'vxe-tree-select-search--input',
|
|
732
|
+
modelValue: searchValue,
|
|
733
|
+
clearable: true,
|
|
734
|
+
disabled: false,
|
|
735
|
+
readonly: false,
|
|
736
|
+
placeholder: (0, _ui.getI18n)('vxe.treeSelect.search'),
|
|
737
|
+
prefixIcon: (0, _ui.getIcon)().INPUT_SEARCH,
|
|
738
|
+
'onUpdate:modelValue': modelSearchEvent
|
|
739
|
+
})]) : (0, _ui.renderEmptyElement)($xeTreeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || showExpandButton || headerSlot ? (0, _vue.h)('div', {
|
|
554
740
|
class: 'vxe-tree-select--panel-header'
|
|
555
|
-
}, headerSlot({})
|
|
741
|
+
}, headerSlot ? headerSlot({}) : [(0, _vue.h)('div', {
|
|
742
|
+
class: 'vxe-tree-select--header-button'
|
|
743
|
+
}, [showTotalButoon ? (0, _vue.h)('div', {
|
|
744
|
+
class: 'vxe-tree-select--header-total'
|
|
745
|
+
}, (0, _ui.getI18n)('vxe.treeSelect.total', [selectVals.length])) : (0, _ui.renderEmptyElement)($xeTreeSelect), (0, _vue.h)('div', {
|
|
746
|
+
class: 'vxe-tree-select--header-btns'
|
|
747
|
+
}, [showCheckedButoon && multiple ? (0, _vue.h)(_button.default, {
|
|
748
|
+
content: (0, _ui.getI18n)('vxe.treeSelect.allChecked'),
|
|
749
|
+
mode: 'text',
|
|
750
|
+
onClick: allCheckedPanelEvent
|
|
751
|
+
}) : (0, _ui.renderEmptyElement)($xeTreeSelect), showClearButton ? (0, _vue.h)(_button.default, {
|
|
752
|
+
content: (0, _ui.getI18n)('vxe.treeSelect.clearChecked'),
|
|
753
|
+
mode: 'text',
|
|
754
|
+
onClick: clearCheckedPanelEvent
|
|
755
|
+
}) : (0, _ui.renderEmptyElement)($xeTreeSelect), showExpandButton ? (0, _vue.h)(_button.default, {
|
|
756
|
+
content: (0, _ui.getI18n)('vxe.treeSelect.allExpand'),
|
|
757
|
+
mode: 'text',
|
|
758
|
+
onClick: allExpandPanelEvent
|
|
759
|
+
}) : (0, _ui.renderEmptyElement)($xeTreeSelect), showExpandButton ? (0, _vue.h)(_button.default, {
|
|
760
|
+
content: (0, _ui.getI18n)('vxe.treeSelect.clearExpand'),
|
|
761
|
+
mode: 'text',
|
|
762
|
+
onClick: clearExpandPanelEvent
|
|
763
|
+
}) : (0, _ui.renderEmptyElement)($xeTreeSelect)])])]) : (0, _ui.renderEmptyElement)($xeTreeSelect), (0, _vue.h)('div', {
|
|
556
764
|
class: 'vxe-tree-select--panel-body'
|
|
557
765
|
}, [(0, _vue.h)('div', {
|
|
558
766
|
ref: refTreeWrapper,
|
|
559
767
|
class: 'vxe-tree-select-tree--wrapper',
|
|
560
768
|
style: popupWrapperStyle
|
|
561
769
|
}, [(0, _vue.h)(_tree.default, {
|
|
770
|
+
ref: refTree,
|
|
562
771
|
class: 'vxe-tree-select--tree',
|
|
772
|
+
height: popupOpts.height ? '100%' : treeOpts.height,
|
|
773
|
+
minHeight: treeOpts.minHeight,
|
|
774
|
+
maxHeight: popupOpts.height ? '' : treeOpts.maxHeight,
|
|
775
|
+
autoResize: true,
|
|
563
776
|
data: options,
|
|
564
777
|
indent: treeOpts.indent,
|
|
565
778
|
showRadio: !multiple,
|
|
@@ -587,6 +800,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
587
800
|
iconOpen: treeOpts.iconOpen,
|
|
588
801
|
iconLoaded: treeOpts.iconLoaded,
|
|
589
802
|
iconClose: treeOpts.iconClose,
|
|
803
|
+
filterValue: searchValue,
|
|
804
|
+
filterConfig: filterOpts,
|
|
805
|
+
virtualYConfig: virtualYOpts,
|
|
590
806
|
onNodeClick: nodeClickEvent,
|
|
591
807
|
onRadioChange: radioChangeEvent,
|
|
592
808
|
onCheckboxChange: checkboxChangeEvent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_tree=_interopRequireDefault(require("../../tree/src/tree"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},remote:Boolean,remoteMethod:Function,popupConfig:Object,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(w,e){const{emit:a,slots:N}=e,t=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),n=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var l=_xeUtils.default.uniqueId();const O=(0,_ui.useSize)(w)["computeSize"],q=(0,_vue.ref)(),j=(0,_vue.ref)(),k=(0,_vue.ref)(),z=(0,_vue.ref)(),A=(0,_vue.reactive)({initialized:!1,fullOptionList:[],fullNodeMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),r={hpTimeout:void 0},s={refElem:q},U=(0,_vue.computed)(()=>{var e=w["readonly"];return null===e?!!o&&o.props.readonly:e}),L=(0,_vue.computed)(()=>{var e=w["disabled"];return null===e?!!o&&o.props.disabled:e}),M=(0,_vue.computed)(()=>{var e=w["transfer"];if(null===e){var l=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(l))return l;if(n||t||i||o)return!0}return e}),V=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,w.popupConfig)),R=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,w.treeConfig,{data:void 0})),G=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({isHover:!0},e.nodeConfig)}),J=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),Q=(0,_vue.computed)(()=>{var e=R.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),d=(0,_vue.computed)(()=>w.optionProps||{}),$=(0,_vue.computed)(()=>{return R.value.keyField||"id"}),D=(0,_vue.computed)(()=>{return d.value.label||"label"}),B=(0,_vue.computed)(()=>{return d.value.value||"value"}),K=(0,_vue.computed)(()=>{return d.value.children||"children"}),W=(0,_vue.computed)(()=>{return d.value.parent||"parentField"}),X=(0,_vue.computed)(()=>{return d.value.hasChild||"hasChild"}),Y=(0,_vue.computed)(()=>{var e=w["modelValue"];const t=A["fullNodeMaps"],i=D.value;return(_xeUtils.default.isArray(e)?e:[e]).map(e=>{var l=t[e];return l?l.item[i]:e}).join(", ")}),ee=(0,_vue.computed)(()=>{var{height:e,width:l}=V.value,t={};return l&&(t.width=(0,_dom.toCssUnit)(l)),e&&(t.height=(0,_dom.toCssUnit)(e),t.maxHeight=(0,_dom.toCssUnit)(e)),t}),m={},H={xID:l,props:w,context:e,reactData:A,internalData:r,getRefMaps:()=>s,getComputeMaps:()=>m},c=(e,l,t)=>{a(e,(0,_ui.createEvent)(t,{$treeSelect:H},l))};l={dispatchEvent:c};const v=()=>{var e=w["options"];const r=$.value;var l=K.value;const s=B.value,d={},c={};_xeUtils.default.eachTree(e,(e,l,t,i,a,n)=>{let o=(e=>{e=e[$.value];return e?encodeURIComponent(e):""})(e);o=o||getOptUniqueId(),c[o]&&(0,_log.errLog)("vxe.error.repeatKey",[r,o]),c[o]=!0;var u=e[s];d[u]&&(0,_log.errLog)("vxe.error.repeatKey",[s,u]),d[u]={item:e,index:l,items:t,parent:a,nodes:n}},{children:l}),A.fullOptionList=e||[],A.fullNodeMaps=d},p=()=>{const t=w["placement"],i=A["panelIndex"],a=q.value,n=z.value,o=M.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(a,n,{placement:t,teleportTo:o}),l=Object.assign(e.style,{zIndex:i});A.panelStyle=l,A.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},_=()=>{var e=w["loading"],l=L.value;e||l||(clearTimeout(r.hpTimeout),A.initialized||(A.initialized=!0),A.isActivated=!0,A.isAniVisible=!0,setTimeout(()=>{A.visiblePanel=!0},10),A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)()),p())},g=()=>{A.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{A.isAniVisible=!1},350)},f=(e,l)=>{var t,i=A["fullNodeMaps"];t=l,a("update:modelValue",t),l!==w.modelValue&&(t=i[l],c("change",{value:l,option:t?t.item:null},e),o)&&u&&o.triggerItemEvent(e,u.itemConfig.field,l)},h=(e,l)=>{f(e,l),c("clear",{value:l},e)},le=(e,l)=>{h(l,null),g()},x=e=>{var l=A["visiblePanel"];L.value||l&&(l=z.value,((0,_dom.getEventTargetNode)(e,l).flag?p:g)())},b=e=>{var l,t,i=A["visiblePanel"];L.value||(l=q.value,t=z.value,A.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!A.isActivated&&g())},C=()=>{g()},E=()=>{var e=A["visiblePanel"];e&&p()},te=e=>{L.value||A.visiblePanel||(A.triggerFocusPanel=!0,_(),setTimeout(()=>{A.triggerFocusPanel=!1},150)),c("focus",{},e)},ie=e=>{Z(e),c("click",{},e)},ae=e=>{A.isActivated=!1,c("blur",{},e)},Z=e=>{e=e.$event;e.preventDefault(),A.triggerFocusPanel?A.triggerFocusPanel=!1:(A.visiblePanel?g:_)()},ne=e=>{var l=e["$event"];c("node-click",e,l)},oe=e=>{var{value:e,$event:l}=e;f(l,e),g()},ue=e=>{var{value:e,$event:l}=e;f(l,e)},re=()=>{v()};Object.assign(H,l,{});return(0,_vue.watch)(()=>w.options,()=>{v()}),v(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(H,"mousewheel",x),_ui.globalEvents.on(H,"mousedown",b),_ui.globalEvents.on(H,"blur",C),_ui.globalEvents.on(H,"resize",E)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(H,"mousewheel"),_ui.globalEvents.off(H,"mousedown"),_ui.globalEvents.off(H,"blur"),_ui.globalEvents.off(H,"resize")}),(0,_vue.provide)("$xeTreeSelect",H),H.renderVN=()=>{var{className:e,modelValue:l,multiple:t,options:i,loading:a}=w,{initialized:n,isActivated:o,isAniVisible:u,visiblePanel:r}=A,s=O.value,d=L.value,c=Y.value,v=M.value,p=U.value,_=ee.value,g=N.header,f=N.footer;const m=N.prefix;var h=V.value.className||w.popupClassName,x=R.value,b=G.value,C=J.value,E=Q.value,y=$.value,I=D.value,S=B.value,F=K.value,T=W.value,P=X.value;return p?(0,_vue.h)("div",{ref:q,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},c)]):(0,_vue.h)("div",{ref:q,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:H}):e:"",{["size--"+s]:s,"is--visible":r,"is--disabled":d,"is--loading":a,"is--active":o}]},[(0,_vue.h)(_input.default,{ref:j,clearable:w.clearable,placeholder:a?(0,_ui.getI18n)("vxe.select.loadingText"):w.placeholder,readonly:!0,disabled:d,type:"text",prefixIcon:w.prefixIcon,suffixIcon:a?(0,_ui.getIcon)().TREE_SELECT_LOADED:r?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:a?"":c,onClear:le,onClick:ie,onFocus:te,onBlur:ae,onSuffixClick:Z},m?{prefix:()=>m({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!v||!n},[(0,_vue.h)("div",{ref:z,class:["vxe-table--ignore-clear vxe-tree-select--panel",h?_xeUtils.default.isFunction(h)?h({$treeSelect:H}):h:"",{["size--"+s]:s,"is--transfer":v,"ani--leave":!a&&u,"ani--enter":!a&&r}],placement:A.panelPlacement,style:A.panelStyle},n?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[g?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},g({})):(0,_ui.renderEmptyElement)(H),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:k,class:"vxe-tree-select-tree--wrapper",style:_},[(0,_vue.h)(_tree.default,{class:"vxe-tree-select--tree",data:i,indent:x.indent,showRadio:!t,radioConfig:E,checkNodeKey:t?null:l,showCheckbox:!!t,checkNodeKeys:t?l:null,checkboxConfig:C,titleField:I,valueField:S,keyField:y,childrenField:x.childrenField||F,parentField:x.parentField||T,hasChildField:x.hasChildField||P,accordion:x.accordion,expandAll:x.expandAll,nodeConfig:b,lazy:x.lazy,loadMethod:x.loadMethod,toggleMethod:x.toggleMethod,transform:x.transform,trigger:x.trigger,showIcon:x.showIcon,showLine:x.showLine,iconOpen:x.iconOpen,iconLoaded:x.iconLoaded,iconClose:x.iconClose,onNodeClick:ne,onRadioChange:oe,onCheckboxChange:ue,onLoadSuccess:re})])]),f?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},f({})):(0,_ui.renderEmptyElement)(H)])]:[])])])},H},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils")),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button")),_tree=_interopRequireDefault(require("../../tree/src/tree"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function getOptUniqueId(){return _xeUtils.default.uniqueId("node_")}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>_xeUtils.default.eqNull((0,_ui.getConfig)().treeSelect.placeholder)?(0,_ui.getI18n)("vxe.base.pleaseSelect"):(0,_ui.getConfig)().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},filterable:Boolean,filterConfig:Object,multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>(0,_ui.getConfig)().treeSelect.size||(0,_ui.getConfig)().size},remote:Boolean,remoteConfig:Function,popupConfig:Object,treeConfig:Object,virtualYConfig:Object,autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.autoClose},showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showClearButton},showExpandButton:{type:Boolean,default:()=>(0,_ui.getConfig)().treeSelect.showExpandButton},transfer:{type:Boolean,default:null},remoteMethod:Function},emits:["update:modelValue","change","all-change","clear","blur","focus","click","node-click"],setup(U,e){const{emit:n,slots:L}=e,l=(0,_vue.inject)("$xeModal",null),a=(0,_vue.inject)("$xeDrawer",null),o=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const z=(0,_ui.useSize)(U)["computeSize"],M=(0,_vue.ref)(),R=(0,_vue.ref)(),$=(0,_vue.ref)(),ae=(0,_vue.ref)(),D=(0,_vue.ref)(),H=(0,_vue.ref)(),K=(0,_vue.reactive)({initialized:!1,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),v={fullOptionList:[],fullNodeMaps:{}},h={refElem:M},ne=(0,_vue.computed)(()=>{var e=U["readonly"];return null===e?!!i&&i.props.readonly:e}),Y=(0,_vue.computed)(()=>{var e=U["disabled"];return null===e?!!i&&i.props.disabled:e}),Z=(0,_vue.computed)(()=>{var e=U["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(o||l||a||i)return!0}return e}),G=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.popupConfig,U.popupConfig)),J=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.treeConfig,U.treeConfig,{data:void 0})),oe=(0,_vue.computed)(()=>{var e=J.value;return Object.assign({isHover:!0},e.nodeConfig)}),ie=(0,_vue.computed)(()=>{var e=J.value;return Object.assign({showIcon:!!e.showCheckbox},e.checkboxConfig,{trigger:"node"})}),ue=(0,_vue.computed)(()=>{var e=J.value;return Object.assign({showIcon:!!e.showRadio},e.radioConfig,{trigger:"node"})}),r=(0,_vue.computed)(()=>U.optionProps||{}),Q=(0,_vue.computed)(()=>{return J.value.keyField||"id"}),W=(0,_vue.computed)(()=>{return r.value.label||"label"}),X=(0,_vue.computed)(()=>{return r.value.value||"value"}),ee=(0,_vue.computed)(()=>{return r.value.children||"children"}),re=(0,_vue.computed)(()=>{return r.value.parent||"parentField"}),se=(0,_vue.computed)(()=>{return r.value.hasChild||"hasChild"}),ce=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.virtualYConfig,U.virtualYConfig)),s=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().treeSelect.remoteConfig,U.remoteConfig)),de=(0,_vue.computed)(()=>{var e=J.value;return Object.assign({},e.filterConfig,U.filterConfig)}),ve=(0,_vue.computed)(()=>{var e=U["modelValue"];const l=v["fullNodeMaps"],a=W.value;return(_xeUtils.default.eqNull(e)?[]:_xeUtils.default.isArray(e)?e:[e]).map(e=>{var t=l[e];return t?t.item[a]:e}).join(", ")}),pe=(0,_vue.computed)(()=>{var{height:e,width:t}=G.value,l={};return t&&(l.width=(0,_dom.toCssUnit)(t)),e&&(l.height=(0,_dom.toCssUnit)(e),l.maxHeight=(0,_dom.toCssUnit)(e)),l}),m={},te={xID:t,props:U,context:e,reactData:K,internalData:v,getRefMaps:()=>h,getComputeMaps:()=>m},c=(e,t,l)=>{n(e,(0,_ui.createEvent)(l,{$treeSelect:te},t))};t={dispatchEvent:c};const d=()=>{var e=U["options"],t=J.value;const r=Q.value;var l=ee.value;const s=X.value;t=t.transform;const c={},d={},a=(e,t,l,a,n,o)=>{let i=(e=>{e=e[Q.value];return e?encodeURIComponent(e):""})(e);i=i||getOptUniqueId(),d[i]&&(0,_log.errLog)("vxe.error.repeatKey",[r,i]),d[i]=!0;var u=e[s];c[u]&&(0,_log.errLog)("vxe.error.repeatKey",[s,u]),c[u]={item:e,index:t,items:l,parent:n,nodes:o}};e&&(t?e.forEach((e,t,l)=>{a(e,t,l,0,null,[])}):_xeUtils.default.eachTree(e,a,{children:l})),v.fullOptionList=e||[],v.fullNodeMaps=c},p=()=>{const l=U["placement"],a=K["panelIndex"],n=M.value,o=D.value,i=Z.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(n,o,{placement:l,teleportTo:i}),t=Object.assign(e.style,{zIndex:a});K.panelStyle=t,K.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},_=()=>{var{loading:e,remote:t,filterable:l}=U,a=v["fullOptionList"],n=Y.value,o=s.value;e||n||(clearTimeout(v.hpTimeout),K.initialized||(K.initialized=!0),K.isActivated=!0,K.isAniVisible=!0,l&&t&&o.enabled&&o.autoLoad&&!a.length&&({modelValue:e,remote:n,remoteMethod:l}=U,t=K["searchValue"],o=s.value,a=o.queryMethod||l,n)&&a&&o.enabled&&(K.searchLoading=!0,Promise.resolve(a({$treeSelect:te,searchValue:t,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{K.searchLoading=!1})),setTimeout(()=>{K.visiblePanel=!0,U.filterable&&(0,_vue.nextTick)(()=>{var e=$.value;e&&e.focus()})},10),K.panelIndex<(0,_utils.getLastZIndex)()&&(K.panelIndex=(0,_utils.nextZIndex)()),p())},g=()=>{K.visiblePanel=!1,v.hpTimeout=setTimeout(()=>{K.isAniVisible=!1},350)},f=(e,t)=>{var l,a=v["fullNodeMaps"];l=t,n("update:modelValue",l),t!==U.modelValue&&(l=a[t],c("change",{value:t,option:l?l.item:null},e),i)&&u&&i.triggerItemEvent(e,u.itemConfig.field,t)},x=(e,t)=>{f(e,t),c("clear",{value:t},e)},_e=(e,t)=>{x(t,null),g()},ge=e=>{const t=e["$event"],{multiple:l,autoClose:a}=U;e=H.value;l&&e&&e.setAllCheckboxNode(!0).then(({checkNodeKeys:e})=>{f(t,e),c("all-change",{value:e},t),a&&g()})},fe=e=>{e=e.$event;const{multiple:t,autoClose:l}=U;var a,n=H.value;n&&(a=t?[]:null,n.clearCheckboxNode().then(()=>{l&&g()}),f(e,a),c("clear",{value:a},e))},he=()=>{var e=H.value;e&&e.setAllExpandNode(!0)},me=()=>{var e=H.value;e&&e.clearAllExpandNode()},b=e=>{var t=K["visiblePanel"];Y.value||t&&(t=D.value,((0,_dom.getEventTargetNode)(e,t).flag?p:g)())},C=e=>{var t,l,a=K["visiblePanel"];Y.value||(t=M.value,l=D.value,K.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!K.isActivated&&g())},E=()=>{g()},y=()=>{var e=K["visiblePanel"];e&&p()},xe=e=>{Y.value||K.visiblePanel||(K.triggerFocusPanel=!0,_(),setTimeout(()=>{K.triggerFocusPanel=!1},150)),c("focus",{},e)},be=e=>{le(e),c("click",{},e)},Ce=e=>{K.isActivated=!1,c("blur",{},e)},Ee=e=>{K.searchValue=e},le=e=>{e=e.$event;e.preventDefault(),K.triggerFocusPanel?K.triggerFocusPanel=!1:(K.visiblePanel?g:_)()},ye=e=>{var t=e["$event"];c("node-click",e,t)},Se=e=>{var{value:e,$event:t}=e;f(t,e),g()},Ie=e=>{var{value:e,$event:t}=e;f(t,e)},ke=()=>{d()};Object.assign(te,t,{});return(0,_vue.watch)(()=>U.options,()=>{d()}),d(),(0,_vue.onMounted)(()=>{_ui.globalEvents.on(te,"mousewheel",b),_ui.globalEvents.on(te,"mousedown",C),_ui.globalEvents.on(te,"blur",E),_ui.globalEvents.on(te,"resize",y)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(te,"mousewheel"),_ui.globalEvents.off(te,"mousedown"),_ui.globalEvents.off(te,"blur"),_ui.globalEvents.off(te,"resize")}),(0,_vue.provide)("$xeTreeSelect",te),te.renderVN=()=>{var{className:e,modelValue:t,multiple:l,options:a,loading:n,filterable:o,showTotalButoon:i,showCheckedButoon:u,showClearButton:r,showExpandButton:s}=U,{initialized:c,isActivated:d,isAniVisible:v,visiblePanel:p,searchValue:_}=K,g=z.value,f=Y.value,h=ve.value,m=Z.value,x=ne.value,b=pe.value,C=L.header,E=L.footer;const y=L.prefix;var S=G.value,I=S.className||U.popupClassName,k=J.value,w=oe.value,T=ie.value,N=ue.value,B=Q.value,O=W.value,F=X.value,P=ee.value,V=re.value,q=se.value,j=ce.value,A=de.value;return x?(0,_vue.h)("div",{ref:M,class:["vxe-tree-select--readonly",e]},[(0,_vue.h)("span",{class:"vxe-tree-select-label"},h)]):(x=_xeUtils.default.eqNull(t)?[]:_xeUtils.default.isArray(t)?t:[t],(0,_vue.h)("div",{ref:M,class:["vxe-tree-select",e?_xeUtils.default.isFunction(e)?e({$treeSelect:te}):e:"",{["size--"+g]:g,"is--filterable":o,"is--visible":p,"is--disabled":f,"is--loading":n,"is--active":d}]},[(0,_vue.h)(_input.default,{ref:R,clearable:U.clearable,placeholder:n?(0,_ui.getI18n)("vxe.select.loadingText"):U.placeholder,readonly:!0,disabled:f,type:"text",prefixIcon:U.prefixIcon,suffixIcon:n?(0,_ui.getIcon)().TREE_SELECT_LOADED:p?(0,_ui.getIcon)().TREE_SELECT_OPEN:(0,_ui.getIcon)().TREE_SELECT_CLOSE,modelValue:n?"":h,title:h,onClear:_e,onClick:be,onFocus:xe,onBlur:Ce,onSuffixClick:le},y?{prefix:()=>y({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!m||!c},[(0,_vue.h)("div",{ref:D,class:["vxe-table--ignore-clear vxe-tree-select--panel",I?_xeUtils.default.isFunction(I)?I({$treeSelect:te}):I:"",{["size--"+g]:g,"is--transfer":m,"ani--leave":!n&&v,"ani--enter":!n&&p}],placement:K.panelPlacement,style:K.panelStyle},c?[(0,_vue.h)("div",{class:"vxe-tree-select--panel-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-tree-select--panel-search"},[(0,_vue.h)(_input.default,{ref:$,class:"vxe-tree-select-search--input",modelValue:_,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.treeSelect.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Ee})]):(0,_ui.renderEmptyElement)(te),i||u&&l||r||s||C?(0,_vue.h)("div",{class:"vxe-tree-select--panel-header"},C?C({}):[(0,_vue.h)("div",{class:"vxe-tree-select--header-button"},[i?(0,_vue.h)("div",{class:"vxe-tree-select--header-total"},(0,_ui.getI18n)("vxe.treeSelect.total",[x.length])):(0,_ui.renderEmptyElement)(te),(0,_vue.h)("div",{class:"vxe-tree-select--header-btns"},[u&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allChecked"),mode:"text",onClick:ge}):(0,_ui.renderEmptyElement)(te),r?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearChecked"),mode:"text",onClick:fe}):(0,_ui.renderEmptyElement)(te),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.allExpand"),mode:"text",onClick:he}):(0,_ui.renderEmptyElement)(te),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.treeSelect.clearExpand"),mode:"text",onClick:me}):(0,_ui.renderEmptyElement)(te)])])]):(0,_ui.renderEmptyElement)(te),(0,_vue.h)("div",{class:"vxe-tree-select--panel-body"},[(0,_vue.h)("div",{ref:ae,class:"vxe-tree-select-tree--wrapper",style:b},[(0,_vue.h)(_tree.default,{ref:H,class:"vxe-tree-select--tree",height:S.height?"100%":k.height,minHeight:k.minHeight,maxHeight:S.height?"":k.maxHeight,autoResize:!0,data:a,indent:k.indent,showRadio:!l,radioConfig:N,checkNodeKey:l?null:t,showCheckbox:!!l,checkNodeKeys:l?t:null,checkboxConfig:T,titleField:O,valueField:F,keyField:B,childrenField:k.childrenField||P,parentField:k.parentField||V,hasChildField:k.hasChildField||q,accordion:k.accordion,expandAll:k.expandAll,nodeConfig:w,lazy:k.lazy,loadMethod:k.loadMethod,toggleMethod:k.toggleMethod,transform:k.transform,trigger:k.trigger,showIcon:k.showIcon,showLine:k.showLine,iconOpen:k.iconOpen,iconLoaded:k.iconLoaded,iconClose:k.iconClose,filterValue:_,filterConfig:A,virtualYConfig:j,onNodeClick:ye,onRadioChange:Se,onCheckboxChange:Ie,onLoadSuccess:ke})])]),E?(0,_vue.h)("div",{class:"vxe-tree-select--panel-footer"},E({})):(0,_ui.renderEmptyElement)(te)])]:[])])]))},te},render(){return this.renderVN()}});
|
|
@@ -8,6 +8,12 @@
|
|
|
8
8
|
.vxe-tree-select > .vxe-input .vxe-input--inner {
|
|
9
9
|
cursor: pointer;
|
|
10
10
|
}
|
|
11
|
+
.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper {
|
|
12
|
+
padding-top: 0;
|
|
13
|
+
}
|
|
14
|
+
.vxe-tree-select.is--filterable .vxe-tree-select--panel-header {
|
|
15
|
+
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
16
|
+
}
|
|
11
17
|
.vxe-tree-select.is--disabled > .vxe-input .vxe-input--inner {
|
|
12
18
|
cursor: no-drop;
|
|
13
19
|
}
|
|
@@ -82,8 +88,30 @@
|
|
|
82
88
|
width: 100%;
|
|
83
89
|
}
|
|
84
90
|
|
|
91
|
+
.vxe-tree-select--header-button {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-direction: row;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.vxe-tree-select--header-total {
|
|
97
|
+
display: flex;
|
|
98
|
+
flex-direction: row;
|
|
99
|
+
align-items: center;
|
|
100
|
+
justify-content: center;
|
|
101
|
+
flex-shrink: 0;
|
|
102
|
+
padding-left: 0.8em;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.vxe-tree-select--header-btns {
|
|
106
|
+
display: flex;
|
|
107
|
+
flex-direction: row;
|
|
108
|
+
flex-grow: 1;
|
|
109
|
+
justify-content: right;
|
|
110
|
+
}
|
|
111
|
+
|
|
85
112
|
.vxe-tree-select--panel-wrapper {
|
|
86
113
|
display: inline-flex;
|
|
114
|
+
flex-direction: column;
|
|
87
115
|
position: relative;
|
|
88
116
|
border-radius: var(--vxe-ui-base-border-radius);
|
|
89
117
|
border: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
@@ -92,6 +120,14 @@
|
|
|
92
120
|
pointer-events: auto;
|
|
93
121
|
}
|
|
94
122
|
|
|
123
|
+
.vxe-tree-select--panel-search {
|
|
124
|
+
display: block;
|
|
125
|
+
padding: var(--vxe-ui-layout-padding-default);
|
|
126
|
+
}
|
|
127
|
+
.vxe-tree-select--panel-search .vxe-tree-select-search--input {
|
|
128
|
+
width: 100%;
|
|
129
|
+
}
|
|
130
|
+
|
|
95
131
|
.vxe-tree-select--panel-header {
|
|
96
132
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
97
133
|
}
|
|
@@ -109,7 +145,6 @@
|
|
|
109
145
|
position: relative;
|
|
110
146
|
overflow: auto;
|
|
111
147
|
padding: var(--vxe-ui-layout-padding-default);
|
|
112
|
-
max-height: 21em;
|
|
113
148
|
width: 30em;
|
|
114
149
|
outline: 0;
|
|
115
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--panel-wrapper{display:inline-flex;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-layout-padding-default);
|
|
1
|
+
.vxe-tree-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-tree-select.is--filterable .vxe-tree-select-tree--wrapper{padding-top:0}.vxe-tree-select.is--filterable .vxe-tree-select--panel-header{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-tree-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-tree-select>.vxe-input{width:100%}.vxe-tree-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-tree-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-tree-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-tree-select--panel:not(.is--transfer){min-width:100%}.vxe-tree-select--panel.is--transfer{position:fixed}.vxe-tree-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-tree-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-tree-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-tree-select--panel.ani--enter>div::after{display:none}.vxe-tree-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-tree-select--panel-search{display:block}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--header-button{display:flex;flex-direction:row}.vxe-tree-select--header-total{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-shrink:0;padding-left:.8em}.vxe-tree-select--header-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.vxe-tree-select--panel-wrapper{display:inline-flex;flex-direction:column;position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color);pointer-events:auto}.vxe-tree-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-tree-select--panel-search .vxe-tree-select-search--input{width:100%}.vxe-tree-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-tree-select--panel-footer,.vxe-tree-select--panel-header{padding:4px 0}.vxe-tree-select-tree--wrapper{position:relative;overflow:auto;padding:var(--vxe-ui-layout-padding-default);width:30em;outline:0}.vxe-tree-select--tree{width:100%}.vxe-tree-select--tree .vxe-tree--node-item.is-checkbox--checked>.vxe-tree--node-item-inner,.vxe-tree-select--tree .vxe-tree--node-item.is-radio--checked>.vxe-tree--node-item-inner{color:var(--vxe-ui-font-primary-color)}.vxe-tree-select--tree .vxe-tree--node-item-inner{cursor:pointer}.vxe-tree-select,.vxe-tree-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-tree-select--panel.size--medium,.vxe-tree-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-tree-select--panel.size--small,.vxe-tree-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-tree-select--panel.size--mini,.vxe-tree-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
package/lib/ui/index.js
CHANGED
|
@@ -26,7 +26,7 @@ Object.keys(_core).forEach(function (key) {
|
|
|
26
26
|
});
|
|
27
27
|
var _dynamics = require("../dynamics");
|
|
28
28
|
var _log = require("./src/log");
|
|
29
|
-
const version = exports.version = "4.7.
|
|
29
|
+
const version = exports.version = "4.7.7";
|
|
30
30
|
_core.VxeUI.uiVersion = version;
|
|
31
31
|
_core.VxeUI.dynamicApp = _dynamics.dynamicApp;
|
|
32
32
|
function config(options) {
|
|
@@ -316,7 +316,7 @@ _core.VxeUI.setup = setup;
|
|
|
316
316
|
},
|
|
317
317
|
virtualYConfig: {
|
|
318
318
|
enabled: true,
|
|
319
|
-
gt:
|
|
319
|
+
gt: 50,
|
|
320
320
|
oSize: 2
|
|
321
321
|
}
|
|
322
322
|
},
|
|
@@ -373,16 +373,32 @@ _core.VxeUI.setup = setup;
|
|
|
373
373
|
isArrow: true
|
|
374
374
|
},
|
|
375
375
|
tree: {
|
|
376
|
+
// autoResize: false,
|
|
376
377
|
indent: 20,
|
|
377
378
|
minHeight: 60,
|
|
378
379
|
radioConfig: {
|
|
379
380
|
strict: true
|
|
381
|
+
},
|
|
382
|
+
virtualYConfig: {
|
|
383
|
+
enabled: true,
|
|
384
|
+
gt: 50,
|
|
385
|
+
oSize: 2
|
|
380
386
|
}
|
|
381
387
|
},
|
|
382
388
|
treeSelect: {
|
|
389
|
+
autoClose: true,
|
|
390
|
+
virtualYConfig: {
|
|
391
|
+
enabled: true,
|
|
392
|
+
gt: 0,
|
|
393
|
+
oSize: 2
|
|
394
|
+
},
|
|
383
395
|
treeConfig: {
|
|
396
|
+
maxHeight: 300,
|
|
384
397
|
radioConfig: {},
|
|
385
|
-
checkboxConfig: {}
|
|
398
|
+
checkboxConfig: {},
|
|
399
|
+
filterConfig: {
|
|
400
|
+
autoExpandAll: true
|
|
401
|
+
}
|
|
386
402
|
}
|
|
387
403
|
},
|
|
388
404
|
upload: {
|