vxe-pc-ui 3.20.9 → 3.20.11
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/date-panel/src/date-panel.js +70 -39
- package/es/date-panel/style.css +22 -20
- package/es/date-panel/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +11 -3
- package/es/icon-picker/style.css +9 -3
- package/es/icon-picker/style.min.css +1 -1
- package/es/list/src/list.js +12 -183
- package/es/scrollbar/src/scrollbar.js +24 -188
- package/es/select/src/select.js +276 -8
- package/es/select/style.css +44 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tooltip/src/tooltip.js +2 -4
- package/es/tooltip/style.css +2 -0
- package/es/tooltip/style.min.css +1 -1
- package/es/tree/src/tree.js +21 -191
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-date-panel/style.css +22 -20
- package/es/vxe-date-panel/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +9 -3
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-select/style.css +44 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -0
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/date-panel/src/date-panel.js +74 -43
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-panel/style/style.css +22 -20
- package/lib/date-panel/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +56 -38
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +9 -3
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +726 -743
- package/lib/index.umd.min.js +1 -1
- package/lib/list/src/list.js +10 -189
- package/lib/list/src/list.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +21 -192
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/select/src/select.js +325 -69
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +44 -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/tooltip/src/tooltip.js +2 -4
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -0
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/tree/src/tree.js +20 -197
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-date-panel/style/style.css +22 -20
- package/lib/vxe-date-panel/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +9 -3
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-select/style/style.css +44 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -0
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/date-panel/src/date-panel.ts +70 -39
- package/packages/icon-picker/src/icon-picker.ts +12 -3
- package/packages/list/src/list.ts +15 -203
- package/packages/scrollbar/src/scrollbar.ts +24 -199
- package/packages/select/src/select.ts +307 -11
- package/packages/tabs/src/tabs.ts +2 -4
- package/packages/tooltip/src/tooltip.ts +2 -4
- package/packages/tree/src/tree.ts +24 -212
- package/styles/components/date-panel.scss +31 -29
- package/styles/components/icon-picker.scss +9 -3
- package/styles/components/select.scss +77 -0
- package/styles/components/tooltip.scss +1 -0
- package/types/components/gantt-module/gantt-view.d.ts +17 -17
- package/types/components/icon-picker.d.ts +21 -1
- package/types/components/list.d.ts +4 -0
- package/types/components/scrollbar.d.ts +7 -14
- package/types/components/select.d.ts +28 -3
- package/types/components/table.d.ts +30 -20
- package/types/components/tree.d.ts +7 -16
- /package/es/icon/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/es/icon/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/es/icon/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
- /package/es/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/es/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/es/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
- /package/lib/{iconfont.1792139429655.ttf → iconfont.1792226835421.ttf} +0 -0
- /package/lib/{iconfont.1792139429655.woff → iconfont.1792226835421.woff} +0 -0
- /package/lib/{iconfont.1792139429655.woff2 → iconfont.1792226835421.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -18,6 +18,17 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
18
18
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
20
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
+
var getConfig = _ui.VxeUI.getConfig,
|
|
22
|
+
getIcon = _ui.VxeUI.getIcon,
|
|
23
|
+
getI18n = _ui.VxeUI.getI18n,
|
|
24
|
+
baseUtils = _ui.VxeUI.baseUtils,
|
|
25
|
+
domUtils = _ui.VxeUI.domUtils,
|
|
26
|
+
globalEvents = _ui.VxeUI.globalEvents,
|
|
27
|
+
GLOBAL_EVENT_KEYS = _ui.VxeUI.GLOBAL_EVENT_KEYS,
|
|
28
|
+
globalResize = _ui.VxeUI.globalResize,
|
|
29
|
+
createEvent = _ui.VxeUI.createEvent,
|
|
30
|
+
renderEmptyElement = _ui.VxeUI.renderEmptyElement;
|
|
31
|
+
var getDefVal = baseUtils.getDefVal;
|
|
21
32
|
var _createComponentLog = (0, _log.createComponentLog)('select'),
|
|
22
33
|
errLog = _createComponentLog.errLog;
|
|
23
34
|
function isOptionVisible(option) {
|
|
@@ -38,6 +49,9 @@ function createReactData() {
|
|
|
38
49
|
currentOption: null,
|
|
39
50
|
searchValue: '',
|
|
40
51
|
searchLoading: false,
|
|
52
|
+
// 滚动条
|
|
53
|
+
yThumbHeight: 0,
|
|
54
|
+
xThumbWidth: 0,
|
|
41
55
|
panelIndex: 0,
|
|
42
56
|
panelStyle: {},
|
|
43
57
|
panelPlacement: null,
|
|
@@ -57,8 +71,14 @@ function createInternalData() {
|
|
|
57
71
|
optGroupKeyMaps: {},
|
|
58
72
|
optFullValMaps: {},
|
|
59
73
|
remoteValMaps: {},
|
|
60
|
-
|
|
74
|
+
// 滚动条
|
|
75
|
+
// scrollObserver: undefined,
|
|
76
|
+
// isThumbDrag: false,
|
|
77
|
+
thumbDragOffset: 0,
|
|
78
|
+
yThumbTop: 0,
|
|
79
|
+
xThumbLeft: 0,
|
|
61
80
|
lastScrollTop: 0,
|
|
81
|
+
lastScrollLeft: 0,
|
|
62
82
|
scrollYStore: {
|
|
63
83
|
startIndex: 0,
|
|
64
84
|
endIndex: 0,
|
|
@@ -72,7 +92,7 @@ function createInternalData() {
|
|
|
72
92
|
}
|
|
73
93
|
var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
|
|
74
94
|
name: 'VxeSelect',
|
|
75
|
-
mixins: [_ui.globalMixins.sizeMixin],
|
|
95
|
+
mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.vScrollbarMixin, _ui.globalMixins.initVScrollbarMixin],
|
|
76
96
|
model: {
|
|
77
97
|
prop: 'value',
|
|
78
98
|
event: 'modelValue'
|
|
@@ -83,13 +103,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
83
103
|
emptyValue: {
|
|
84
104
|
type: [String, Number, Boolean, Array],
|
|
85
105
|
default: function _default() {
|
|
86
|
-
return
|
|
106
|
+
return getConfig().select.emptyValue;
|
|
87
107
|
}
|
|
88
108
|
},
|
|
89
109
|
clearable: {
|
|
90
110
|
type: Boolean,
|
|
91
111
|
default: function _default() {
|
|
92
|
-
return
|
|
112
|
+
return getConfig().select.clearable;
|
|
93
113
|
}
|
|
94
114
|
},
|
|
95
115
|
placeholder: String,
|
|
@@ -106,14 +126,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
106
126
|
multiCharOverflow: {
|
|
107
127
|
type: [Number, String],
|
|
108
128
|
default: function _default() {
|
|
109
|
-
return
|
|
129
|
+
return getConfig().select.multiCharOverflow;
|
|
110
130
|
}
|
|
111
131
|
},
|
|
112
132
|
prefixIcon: String,
|
|
113
133
|
allowCreate: {
|
|
114
134
|
type: Boolean,
|
|
115
135
|
default: function _default() {
|
|
116
|
-
return
|
|
136
|
+
return getConfig().select.allowCreate;
|
|
117
137
|
}
|
|
118
138
|
},
|
|
119
139
|
placement: String,
|
|
@@ -137,14 +157,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
137
157
|
showRadio: {
|
|
138
158
|
type: Boolean,
|
|
139
159
|
default: function _default() {
|
|
140
|
-
return
|
|
160
|
+
return getConfig().select.showRadio;
|
|
141
161
|
}
|
|
142
162
|
},
|
|
143
163
|
radioConfig: Object,
|
|
144
164
|
showCheckbox: {
|
|
145
165
|
type: Boolean,
|
|
146
166
|
default: function _default() {
|
|
147
|
-
return
|
|
167
|
+
return getConfig().select.showCheckedButton;
|
|
148
168
|
}
|
|
149
169
|
},
|
|
150
170
|
checkboxConfig: Object,
|
|
@@ -156,7 +176,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
156
176
|
size: {
|
|
157
177
|
type: String,
|
|
158
178
|
default: function _default() {
|
|
159
|
-
return
|
|
179
|
+
return getConfig().select.size || getConfig().size;
|
|
160
180
|
}
|
|
161
181
|
},
|
|
162
182
|
filterable: Boolean,
|
|
@@ -172,37 +192,37 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
172
192
|
checkedClosable: {
|
|
173
193
|
type: Boolean,
|
|
174
194
|
default: function _default() {
|
|
175
|
-
return
|
|
195
|
+
return getConfig().select.checkedClosable;
|
|
176
196
|
}
|
|
177
197
|
},
|
|
178
198
|
clearClosable: {
|
|
179
199
|
type: Boolean,
|
|
180
200
|
default: function _default() {
|
|
181
|
-
return
|
|
201
|
+
return getConfig().select.clearClosable;
|
|
182
202
|
}
|
|
183
203
|
},
|
|
184
204
|
showCloseButton: {
|
|
185
205
|
type: Boolean,
|
|
186
206
|
default: function _default() {
|
|
187
|
-
return
|
|
207
|
+
return getConfig().select.showCloseButton;
|
|
188
208
|
}
|
|
189
209
|
},
|
|
190
210
|
showTotalButton: {
|
|
191
211
|
type: Boolean,
|
|
192
212
|
default: function _default() {
|
|
193
|
-
return
|
|
213
|
+
return getConfig().select.showTotalButton;
|
|
194
214
|
}
|
|
195
215
|
},
|
|
196
216
|
showCheckedButton: {
|
|
197
217
|
type: Boolean,
|
|
198
218
|
default: function _default() {
|
|
199
|
-
return
|
|
219
|
+
return getConfig().select.showCheckedButton;
|
|
200
220
|
}
|
|
201
221
|
},
|
|
202
222
|
showClearButton: {
|
|
203
223
|
type: Boolean,
|
|
204
224
|
default: function _default() {
|
|
205
|
-
return
|
|
225
|
+
return getConfig().select.showClearButton;
|
|
206
226
|
}
|
|
207
227
|
},
|
|
208
228
|
transfer: {
|
|
@@ -212,6 +232,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
212
232
|
popupConfig: Object,
|
|
213
233
|
virtualYConfig: Object,
|
|
214
234
|
scrollY: Object,
|
|
235
|
+
useScrollbar: {
|
|
236
|
+
type: Boolean,
|
|
237
|
+
default: function _default() {
|
|
238
|
+
return getDefVal(getConfig().select.useScrollbar, getConfig().useScrollbar);
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
scrollbarConfig: Object,
|
|
215
242
|
/**
|
|
216
243
|
* 已废弃,被 remote-config.queryMethod 替换
|
|
217
244
|
* @deprecated
|
|
@@ -224,7 +251,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
224
251
|
optionId: {
|
|
225
252
|
type: String,
|
|
226
253
|
default: function _default() {
|
|
227
|
-
return
|
|
254
|
+
return getConfig().select.optionId;
|
|
228
255
|
}
|
|
229
256
|
},
|
|
230
257
|
/**
|
|
@@ -262,7 +289,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
262
289
|
var reactData = createReactData();
|
|
263
290
|
return Object.assign(Object.assign({}, {}), {
|
|
264
291
|
xID: xID,
|
|
265
|
-
reactData: reactData
|
|
292
|
+
reactData: reactData,
|
|
293
|
+
reLayoutFlag: 0,
|
|
294
|
+
reScrollFlag: 0
|
|
266
295
|
});
|
|
267
296
|
},
|
|
268
297
|
computed: Object.assign(Object.assign({}, {}), {
|
|
@@ -306,7 +335,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
306
335
|
return popupOpts.transfer;
|
|
307
336
|
}
|
|
308
337
|
if (transfer === null) {
|
|
309
|
-
var globalTransfer =
|
|
338
|
+
var globalTransfer = getConfig().select.transfer;
|
|
310
339
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
311
340
|
return globalTransfer;
|
|
312
341
|
}
|
|
@@ -323,11 +352,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
323
352
|
if (placeholder) {
|
|
324
353
|
return (0, _utils.getFuncText)(placeholder);
|
|
325
354
|
}
|
|
326
|
-
var globalPlaceholder =
|
|
355
|
+
var globalPlaceholder = getConfig().select.placeholder;
|
|
327
356
|
if (globalPlaceholder) {
|
|
328
357
|
return (0, _utils.getFuncText)(globalPlaceholder);
|
|
329
358
|
}
|
|
330
|
-
return
|
|
359
|
+
return getI18n('vxe.base.pleaseSelect');
|
|
331
360
|
},
|
|
332
361
|
computeDefaultOpts: function computeDefaultOpts() {
|
|
333
362
|
var $xeSelect = this;
|
|
@@ -372,37 +401,37 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
372
401
|
computePopupOpts: function computePopupOpts() {
|
|
373
402
|
var $xeSelect = this;
|
|
374
403
|
var props = $xeSelect;
|
|
375
|
-
return Object.assign({},
|
|
404
|
+
return Object.assign({}, getConfig().select.popupConfig, props.popupConfig);
|
|
376
405
|
},
|
|
377
406
|
computeVirtualYOpts: function computeVirtualYOpts() {
|
|
378
407
|
var $xeSelect = this;
|
|
379
408
|
var props = $xeSelect;
|
|
380
|
-
return Object.assign({},
|
|
409
|
+
return Object.assign({}, getConfig().select.virtualYConfig || getConfig().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
381
410
|
},
|
|
382
411
|
computeRemoteOpts: function computeRemoteOpts() {
|
|
383
412
|
var $xeSelect = this;
|
|
384
413
|
var props = $xeSelect;
|
|
385
|
-
return Object.assign({},
|
|
414
|
+
return Object.assign({}, getConfig().select.remoteConfig, props.remoteConfig);
|
|
386
415
|
},
|
|
387
416
|
computeFilterOpts: function computeFilterOpts() {
|
|
388
417
|
var $xeSelect = this;
|
|
389
418
|
var props = $xeSelect;
|
|
390
|
-
return Object.assign({},
|
|
419
|
+
return Object.assign({}, getConfig().select.filterConfig, props.filterConfig);
|
|
391
420
|
},
|
|
392
421
|
computeOptionOpts: function computeOptionOpts() {
|
|
393
422
|
var $xeSelect = this;
|
|
394
423
|
var props = $xeSelect;
|
|
395
|
-
return Object.assign({},
|
|
424
|
+
return Object.assign({}, getConfig().select.optionConfig, props.optionConfig);
|
|
396
425
|
},
|
|
397
426
|
computeRadioOpts: function computeRadioOpts() {
|
|
398
427
|
var $xeSelect = this;
|
|
399
428
|
var props = $xeSelect;
|
|
400
|
-
return Object.assign({},
|
|
429
|
+
return Object.assign({}, getConfig().select.radioConfig, props.radioConfig);
|
|
401
430
|
},
|
|
402
431
|
computeCheckboxOpts: function computeCheckboxOpts() {
|
|
403
432
|
var $xeSelect = this;
|
|
404
433
|
var props = $xeSelect;
|
|
405
|
-
return Object.assign({},
|
|
434
|
+
return Object.assign({}, getConfig().select.checkboxConfig, props.checkboxConfig);
|
|
406
435
|
},
|
|
407
436
|
computeIsGroup: function computeIsGroup() {
|
|
408
437
|
var $xeSelect = this;
|
|
@@ -497,6 +526,83 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
497
526
|
return "".concat(labels.slice(0, multiMaxCharNum), "...");
|
|
498
527
|
}
|
|
499
528
|
return labels.join(', ');
|
|
529
|
+
},
|
|
530
|
+
computeScrollbarOpts: function computeScrollbarOpts() {
|
|
531
|
+
var $xeSelect = this;
|
|
532
|
+
var props = $xeSelect;
|
|
533
|
+
return Object.assign({}, getConfig().tree.scrollbarConfig, props.scrollbarConfig);
|
|
534
|
+
},
|
|
535
|
+
computeScrollbarXOpts: function computeScrollbarXOpts() {
|
|
536
|
+
var $xeSelect = this;
|
|
537
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
538
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
|
|
539
|
+
visible: false
|
|
540
|
+
});
|
|
541
|
+
},
|
|
542
|
+
computeScrollbarYOpts: function computeScrollbarYOpts() {
|
|
543
|
+
var $xeSelect = this;
|
|
544
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
545
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
546
|
+
},
|
|
547
|
+
computeScrollXHeight: function computeScrollXHeight() {
|
|
548
|
+
var $xeSelect = this;
|
|
549
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
550
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
551
|
+
return getDefVal(getDefVal(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
552
|
+
},
|
|
553
|
+
computeScrollYWidth: function computeScrollYWidth() {
|
|
554
|
+
var $xeSelect = this;
|
|
555
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
556
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
557
|
+
return getDefVal(getDefVal(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
558
|
+
},
|
|
559
|
+
computeScrollXVisible: function computeScrollXVisible() {
|
|
560
|
+
var $xeSelect = this;
|
|
561
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
562
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
563
|
+
return getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
564
|
+
},
|
|
565
|
+
computeScrollYVisible: function computeScrollYVisible() {
|
|
566
|
+
var $xeSelect = this;
|
|
567
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
568
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
569
|
+
return getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
570
|
+
},
|
|
571
|
+
computeScrollXAutoHide: function computeScrollXAutoHide() {
|
|
572
|
+
var $xeSelect = this;
|
|
573
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
574
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
575
|
+
return getDefVal(getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
576
|
+
},
|
|
577
|
+
computeScrollYAutoHide: function computeScrollYAutoHide() {
|
|
578
|
+
var $xeSelect = this;
|
|
579
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
580
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
581
|
+
return getDefVal(getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
582
|
+
},
|
|
583
|
+
computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
|
|
584
|
+
var $xeSelect = this;
|
|
585
|
+
var reactData = $xeSelect.reactData;
|
|
586
|
+
var yThumbHeight = reactData.yThumbHeight,
|
|
587
|
+
xThumbWidth = reactData.xThumbWidth;
|
|
588
|
+
var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
|
|
589
|
+
var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
|
|
590
|
+
var scrollXVisible = $xeSelect.computeScrollXVisible;
|
|
591
|
+
var scrollYVisible = $xeSelect.computeScrollYVisible;
|
|
592
|
+
return domUtils.buildClass(['vxe-scrollbar is--virtual', "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible'), "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible'), "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom'), "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right')], {
|
|
593
|
+
'overflow-y': yThumbHeight,
|
|
594
|
+
'overflow-x': xThumbWidth
|
|
595
|
+
});
|
|
596
|
+
},
|
|
597
|
+
computeScrollbarXToTop: function computeScrollbarXToTop() {
|
|
598
|
+
var $xeSelect = this;
|
|
599
|
+
var scrollbarXOpts = $xeSelect.computeScrollbarXOpts;
|
|
600
|
+
return scrollbarXOpts.position === 'top';
|
|
601
|
+
},
|
|
602
|
+
computeScrollbarYToLeft: function computeScrollbarYToLeft() {
|
|
603
|
+
var $xeSelect = this;
|
|
604
|
+
var scrollbarYOpts = $xeSelect.computeScrollbarYOpts;
|
|
605
|
+
return scrollbarYOpts.position === 'left';
|
|
500
606
|
}
|
|
501
607
|
}),
|
|
502
608
|
methods: {
|
|
@@ -505,7 +611,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
505
611
|
//
|
|
506
612
|
dispatchEvent: function dispatchEvent(type, params, evnt) {
|
|
507
613
|
var $xeSelect = this;
|
|
508
|
-
$xeSelect.$emit(type,
|
|
614
|
+
$xeSelect.$emit(type, createEvent(evnt, {
|
|
509
615
|
$select: $xeSelect
|
|
510
616
|
}, params));
|
|
511
617
|
},
|
|
@@ -525,6 +631,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
525
631
|
value: value
|
|
526
632
|
}, null);
|
|
527
633
|
},
|
|
634
|
+
getScrollViewElem: function getScrollViewElem() {
|
|
635
|
+
var $xeSelect = this;
|
|
636
|
+
var viewEl = $xeSelect.$refs.refVirtualWrapper;
|
|
637
|
+
return viewEl || null;
|
|
638
|
+
},
|
|
528
639
|
isPanelVisible: function isPanelVisible() {
|
|
529
640
|
var $xeSelect = this;
|
|
530
641
|
var reactData = $xeSelect.reactData;
|
|
@@ -998,7 +1109,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
998
1109
|
if ($xeSelect.checkMaxLimit(currVlas)) {
|
|
999
1110
|
if (_ui.VxeUI) {
|
|
1000
1111
|
_ui.VxeUI.modal.message({
|
|
1001
|
-
content:
|
|
1112
|
+
content: getI18n('vxe.select.overSizeErr', [max]),
|
|
1002
1113
|
status: 'warning'
|
|
1003
1114
|
});
|
|
1004
1115
|
}
|
|
@@ -1183,12 +1294,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1183
1294
|
var popupOpts = $xeSelect.computePopupOpts;
|
|
1184
1295
|
var trigger = popupOpts.trigger;
|
|
1185
1296
|
if (!isDisabled) {
|
|
1186
|
-
var isTab =
|
|
1187
|
-
var isEnter =
|
|
1188
|
-
var isEsc =
|
|
1189
|
-
var isUpArrow =
|
|
1190
|
-
var isDwArrow =
|
|
1191
|
-
var isDel =
|
|
1297
|
+
var isTab = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.TAB);
|
|
1298
|
+
var isEnter = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER);
|
|
1299
|
+
var isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
|
|
1300
|
+
var isUpArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
1301
|
+
var isDwArrow = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
1302
|
+
var isDel = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.DELETE);
|
|
1192
1303
|
if (isTab) {
|
|
1193
1304
|
reactData.isActivated = false;
|
|
1194
1305
|
}
|
|
@@ -1561,6 +1672,17 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1561
1672
|
}
|
|
1562
1673
|
});
|
|
1563
1674
|
},
|
|
1675
|
+
updateScrollbar: function updateScrollbar() {
|
|
1676
|
+
var $xeSelect = this;
|
|
1677
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1678
|
+
if (isVScrollbar) {
|
|
1679
|
+
return $xeSelect.$nextTick().then(function () {
|
|
1680
|
+
$xeSelect.updateThumbSize();
|
|
1681
|
+
$xeSelect.updateThumbOffset();
|
|
1682
|
+
});
|
|
1683
|
+
}
|
|
1684
|
+
return Promise.resolve();
|
|
1685
|
+
},
|
|
1564
1686
|
/**
|
|
1565
1687
|
* 重新计算列表
|
|
1566
1688
|
*/
|
|
@@ -1568,7 +1690,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1568
1690
|
var $xeSelect = this;
|
|
1569
1691
|
var el = $xeSelect.$refs.refElem;
|
|
1570
1692
|
if (el && el.clientWidth && el.clientHeight) {
|
|
1571
|
-
return $xeSelect.computeScrollLoad()
|
|
1693
|
+
return $xeSelect.computeScrollLoad().then(function () {
|
|
1694
|
+
return $xeSelect.updateScrollbar();
|
|
1695
|
+
});
|
|
1572
1696
|
}
|
|
1573
1697
|
return Promise.resolve();
|
|
1574
1698
|
},
|
|
@@ -1609,6 +1733,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1609
1733
|
var scrollBodyElem = evnt.target;
|
|
1610
1734
|
var scrollTop = scrollBodyElem.scrollTop;
|
|
1611
1735
|
var scrollLeft = scrollBodyElem.scrollLeft;
|
|
1736
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1737
|
+
if (isVScrollbar) {
|
|
1738
|
+
$xeSelect.updateThumbOffset();
|
|
1739
|
+
}
|
|
1612
1740
|
var isX = scrollLeft !== internalData.lastScrollLeft;
|
|
1613
1741
|
var isY = scrollTop !== internalData.lastScrollTop;
|
|
1614
1742
|
internalData.lastScrollTop = scrollTop;
|
|
@@ -1705,6 +1833,29 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1705
1833
|
var optGroupKeyMaps = internalData.optGroupKeyMaps;
|
|
1706
1834
|
return !!optGroupKeyMaps[optid];
|
|
1707
1835
|
},
|
|
1836
|
+
// 滚动条
|
|
1837
|
+
bindScrollbarResize: function bindScrollbarResize() {
|
|
1838
|
+
var $xeSelect = this;
|
|
1839
|
+
var internalData = $xeSelect.internalData;
|
|
1840
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1841
|
+
var scrollObserver = internalData.scrollObserver;
|
|
1842
|
+
if (isVScrollbar) {
|
|
1843
|
+
if (!scrollObserver) {
|
|
1844
|
+
var el = $xeSelect.$refs.refElem;
|
|
1845
|
+
var viewInnerEl = $xeSelect.$refs.refVirtualSpaceElem;
|
|
1846
|
+
var _scrollObserver = globalResize.create(function () {
|
|
1847
|
+
$xeSelect.reScrollFlag++;
|
|
1848
|
+
});
|
|
1849
|
+
if (el) {
|
|
1850
|
+
_scrollObserver.observe(el);
|
|
1851
|
+
}
|
|
1852
|
+
if (viewInnerEl) {
|
|
1853
|
+
_scrollObserver.observe(viewInnerEl);
|
|
1854
|
+
}
|
|
1855
|
+
internalData.scrollObserver = _scrollObserver;
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
},
|
|
1708
1859
|
//
|
|
1709
1860
|
// Render
|
|
1710
1861
|
//
|
|
@@ -1714,7 +1865,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1714
1865
|
var showIcon = radioOpts.showIcon,
|
|
1715
1866
|
trigger = radioOpts.trigger;
|
|
1716
1867
|
if (isOptGroup || showIcon === false) {
|
|
1717
|
-
return
|
|
1868
|
+
return renderEmptyElement($xeSelect);
|
|
1718
1869
|
}
|
|
1719
1870
|
var ons = {};
|
|
1720
1871
|
if (!trigger || trigger === 'default') {
|
|
@@ -1732,7 +1883,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1732
1883
|
}],
|
|
1733
1884
|
on: ons
|
|
1734
1885
|
}, [h('span', {
|
|
1735
|
-
class: ['vxe-radio--icon', isChecked ?
|
|
1886
|
+
class: ['vxe-radio--icon', isChecked ? getIcon().RADIO_CHECKED : isDisabled ? getIcon().RADIO_DISABLED_UNCHECKED : getIcon().RADIO_UNCHECKED]
|
|
1736
1887
|
})]);
|
|
1737
1888
|
},
|
|
1738
1889
|
renderCheckbox: function renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
|
|
@@ -1741,7 +1892,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1741
1892
|
var showIcon = checkboxOpts.showIcon,
|
|
1742
1893
|
trigger = checkboxOpts.trigger;
|
|
1743
1894
|
if (isOptGroup || showIcon === false) {
|
|
1744
|
-
return
|
|
1895
|
+
return renderEmptyElement($xeSelect);
|
|
1745
1896
|
}
|
|
1746
1897
|
var ons = {};
|
|
1747
1898
|
if (!trigger || trigger === 'default') {
|
|
@@ -1759,7 +1910,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1759
1910
|
}],
|
|
1760
1911
|
on: ons
|
|
1761
1912
|
}, [h('span', {
|
|
1762
|
-
class: ['vxe-checkbox--icon', isChecked ?
|
|
1913
|
+
class: ['vxe-checkbox--icon', isChecked ? getIcon().CHECKBOX_CHECKED : isDisabled ? getIcon().CHECKBOX_DISABLED_UNCHECKED : getIcon().CHECKBOX_UNCHECKED]
|
|
1763
1914
|
})]);
|
|
1764
1915
|
},
|
|
1765
1916
|
renderOption: function renderOption(h, list) {
|
|
@@ -1866,8 +2017,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1866
2017
|
key: 2,
|
|
1867
2018
|
class: 'vxe-select-option--add-icon'
|
|
1868
2019
|
}, [h('i', {
|
|
1869
|
-
class:
|
|
1870
|
-
})]) :
|
|
2020
|
+
class: getIcon().SELECT_ADD_OPTION
|
|
2021
|
+
})]) : renderEmptyElement($xeSelect)] : optVNs) : renderEmptyElement($xeSelect);
|
|
1871
2022
|
});
|
|
1872
2023
|
},
|
|
1873
2024
|
renderOpts: function renderOpts(h) {
|
|
@@ -1880,17 +2031,17 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1880
2031
|
return [h('div', {
|
|
1881
2032
|
class: 'vxe-select--search-loading'
|
|
1882
2033
|
}, [h('i', {
|
|
1883
|
-
class: ['vxe-select--search-icon',
|
|
2034
|
+
class: ['vxe-select--search-icon', getIcon().SELECT_LOADED]
|
|
1884
2035
|
}), h('span', {
|
|
1885
2036
|
class: 'vxe-select--search-text'
|
|
1886
|
-
},
|
|
2037
|
+
}, getI18n('vxe.select.loadingText'))])];
|
|
1887
2038
|
}
|
|
1888
2039
|
if (optList.length) {
|
|
1889
2040
|
return $xeSelect.renderOption(h, optList);
|
|
1890
2041
|
}
|
|
1891
2042
|
return [h('div', {
|
|
1892
2043
|
class: 'vxe-select--empty-placeholder'
|
|
1893
|
-
}, props.emptyText ||
|
|
2044
|
+
}, props.emptyText || getI18n('vxe.select.emptyText'))];
|
|
1894
2045
|
},
|
|
1895
2046
|
renderVN: function renderVN(h) {
|
|
1896
2047
|
var $xeSelect = this;
|
|
@@ -1911,8 +2062,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1911
2062
|
optList = reactData.optList,
|
|
1912
2063
|
visiblePanel = reactData.visiblePanel,
|
|
1913
2064
|
bodyHeight = reactData.bodyHeight,
|
|
1914
|
-
topSpaceHeight = reactData.topSpaceHeight
|
|
2065
|
+
topSpaceHeight = reactData.topSpaceHeight,
|
|
2066
|
+
xThumbWidth = reactData.xThumbWidth,
|
|
2067
|
+
yThumbHeight = reactData.yThumbHeight;
|
|
1915
2068
|
var vSize = $xeSelect.computeSize;
|
|
2069
|
+
var isVScrollbar = $xeSelect.computeIsVScrollbar;
|
|
1916
2070
|
var isDisabled = $xeSelect.computeIsDisabled;
|
|
1917
2071
|
var selectLabel = $xeSelect.computeSelectLabel;
|
|
1918
2072
|
var fullLabel = $xeSelect.computeFullLabel;
|
|
@@ -1942,6 +2096,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1942
2096
|
var footerSlot = slots.footer;
|
|
1943
2097
|
var prefixSlot = slots.prefix;
|
|
1944
2098
|
var ppClassName = popupOpts.className || props.popupClassName;
|
|
2099
|
+
var scrollbarOpts = $xeSelect.computeScrollbarOpts;
|
|
2100
|
+
var scrollXVisible = $xeSelect.computeScrollXVisible;
|
|
2101
|
+
var scrollYVisible = $xeSelect.computeScrollYVisible;
|
|
2102
|
+
var scrollbarXToTop = $xeSelect.computeScrollbarXToTop;
|
|
2103
|
+
var scrollbarYToLeft = $xeSelect.computeScrollbarYToLeft;
|
|
2104
|
+
var scrollXAutoHide = $xeSelect.computeScrollXAutoHide;
|
|
2105
|
+
var scrollYAutoHide = $xeSelect.computeScrollYAutoHide;
|
|
2106
|
+
var scrollbarWrapperClss = $xeSelect.computeScrollbarWrapperClss;
|
|
1945
2107
|
return h('div', {
|
|
1946
2108
|
ref: 'refElem',
|
|
1947
2109
|
class: ['vxe-select', className ? _xeUtils.default.isFunction(className) ? className({
|
|
@@ -1960,7 +2122,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1960
2122
|
disabled: isDisabled,
|
|
1961
2123
|
type: 'text',
|
|
1962
2124
|
prefixIcon: props.prefixIcon,
|
|
1963
|
-
suffixIcon: loading ?
|
|
2125
|
+
suffixIcon: loading ? getIcon().SELECT_LOADED : visiblePanel ? getIcon().SELECT_OPEN : getIcon().SELECT_CLOSE,
|
|
1964
2126
|
autoFocus: false,
|
|
1965
2127
|
title: fullLabel,
|
|
1966
2128
|
value: selectLabel
|
|
@@ -2000,8 +2162,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2000
2162
|
clearable: true,
|
|
2001
2163
|
disabled: false,
|
|
2002
2164
|
readonly: false,
|
|
2003
|
-
placeholder:
|
|
2004
|
-
prefixIcon:
|
|
2165
|
+
placeholder: getI18n('vxe.select.search'),
|
|
2166
|
+
prefixIcon: getIcon().INPUT_SEARCH
|
|
2005
2167
|
},
|
|
2006
2168
|
on: {
|
|
2007
2169
|
'model-value': $xeSelect.modelSearchEvent,
|
|
@@ -2009,7 +2171,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2009
2171
|
change: $xeSelect.triggerSearchEvent,
|
|
2010
2172
|
search: $xeSelect.triggerSearchEvent
|
|
2011
2173
|
}
|
|
2012
|
-
})]) :
|
|
2174
|
+
})]) : renderEmptyElement($xeSelect), showCheckedButton && multiple || showClearButton || headerSlot ? h('div', {
|
|
2013
2175
|
class: 'vxe-select--panel-header'
|
|
2014
2176
|
}, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
|
|
2015
2177
|
class: 'vxe-tree-select--header-button'
|
|
@@ -2017,22 +2179,29 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2017
2179
|
class: 'vxe-tree-select--header-btns'
|
|
2018
2180
|
}, [showCheckedButton && multiple ? h(_button.default, {
|
|
2019
2181
|
props: {
|
|
2020
|
-
content:
|
|
2182
|
+
content: getI18n('vxe.select.allChecked'),
|
|
2021
2183
|
mode: 'text'
|
|
2022
2184
|
},
|
|
2023
2185
|
on: {
|
|
2024
2186
|
click: $xeSelect.allCheckedPanelEvent
|
|
2025
2187
|
}
|
|
2026
|
-
}) :
|
|
2188
|
+
}) : renderEmptyElement($xeSelect), showClearButton ? h(_button.default, {
|
|
2027
2189
|
props: {
|
|
2028
|
-
content:
|
|
2190
|
+
content: getI18n('vxe.select.clear'),
|
|
2029
2191
|
mode: 'text'
|
|
2030
2192
|
},
|
|
2031
2193
|
on: {
|
|
2032
2194
|
click: $xeSelect.clearCheckedPanelEvent
|
|
2033
2195
|
}
|
|
2034
|
-
}) :
|
|
2035
|
-
class: 'vxe-select--panel-body'
|
|
2196
|
+
}) : renderEmptyElement($xeSelect)])])]) : renderEmptyElement($xeSelect), h('div', {
|
|
2197
|
+
class: ['vxe-select--panel-body', isVScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', isVScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', {
|
|
2198
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2199
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
2200
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
2201
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
2202
|
+
'overflow-y': yThumbHeight,
|
|
2203
|
+
'overflow-x': xThumbWidth
|
|
2204
|
+
}]
|
|
2036
2205
|
}, [h('div', {
|
|
2037
2206
|
ref: 'refVirtualWrapper',
|
|
2038
2207
|
class: 'vxe-select-option--wrapper',
|
|
@@ -2040,6 +2209,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2040
2209
|
scroll: $xeSelect.scrollEvent
|
|
2041
2210
|
}
|
|
2042
2211
|
}, [h('div', {
|
|
2212
|
+
ref: 'refVirtualSpaceElem',
|
|
2043
2213
|
class: 'vxe-select--y-space',
|
|
2044
2214
|
style: {
|
|
2045
2215
|
height: bodyHeight ? "".concat(bodyHeight, "px") : ''
|
|
@@ -2050,23 +2220,61 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2050
2220
|
style: {
|
|
2051
2221
|
transform: "translateY(".concat(topSpaceHeight, "px)")
|
|
2052
2222
|
}
|
|
2053
|
-
}, $xeSelect.renderOpts(h))])
|
|
2223
|
+
}, $xeSelect.renderOpts(h))]),
|
|
2224
|
+
/**
|
|
2225
|
+
* 滚动条
|
|
2226
|
+
*/
|
|
2227
|
+
isVScrollbar ? h('div', {
|
|
2228
|
+
class: scrollbarWrapperClss
|
|
2229
|
+
}, [scrollXVisible === false ? renderEmptyElement($xeSelect) : h('div', {
|
|
2230
|
+
ref: 'refTrackXElem',
|
|
2231
|
+
class: 'vxe-scrollbar--track-x',
|
|
2232
|
+
on: {
|
|
2233
|
+
click: $xeSelect.clickTrackXEvent
|
|
2234
|
+
}
|
|
2235
|
+
}, [h('div', {
|
|
2236
|
+
ref: 'refThumbXElem',
|
|
2237
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
2238
|
+
on: {
|
|
2239
|
+
pointerdown: $xeSelect.pointerdownThumbXEvent,
|
|
2240
|
+
pointermove: $xeSelect.pointermoveThumbXEvent,
|
|
2241
|
+
pointerup: $xeSelect.cleatPointerThumbEvent,
|
|
2242
|
+
pointercancel: $xeSelect.cleatPointerThumbEvent,
|
|
2243
|
+
lostpointercapture: $xeSelect.cleatPointerThumbEvent
|
|
2244
|
+
}
|
|
2245
|
+
})]), scrollYVisible === false ? renderEmptyElement($xeSelect) : h('div', {
|
|
2246
|
+
ref: 'refTrackYElem',
|
|
2247
|
+
class: 'vxe-scrollbar--track-y',
|
|
2248
|
+
on: {
|
|
2249
|
+
click: $xeSelect.clickTrackYEvent
|
|
2250
|
+
}
|
|
2251
|
+
}, [h('div', {
|
|
2252
|
+
ref: 'refThumbYElem',
|
|
2253
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
2254
|
+
on: {
|
|
2255
|
+
pointerdown: $xeSelect.pointerdownThumbYEvent,
|
|
2256
|
+
pointermove: $xeSelect.pointermoveThumbYEvent,
|
|
2257
|
+
pointerup: $xeSelect.cleatPointerThumbEvent,
|
|
2258
|
+
pointercancel: $xeSelect.cleatPointerThumbEvent,
|
|
2259
|
+
lostpointercapture: $xeSelect.cleatPointerThumbEvent
|
|
2260
|
+
}
|
|
2261
|
+
})])]) : renderEmptyElement($xeSelect)]), footerSlot || showTotalButton || showCloseButton && multiple ? h('div', {
|
|
2054
2262
|
class: 'vxe-select--panel-footer'
|
|
2055
2263
|
}, footerSlot ? $xeSelect.callSlot(footerSlot, {}, h) : [h('div', {
|
|
2056
2264
|
class: 'vxe-select--footer-button'
|
|
2057
2265
|
}, [showTotalButton ? h('div', {
|
|
2058
2266
|
class: 'vxe-select--total-btns'
|
|
2059
|
-
},
|
|
2267
|
+
}, getI18n('vxe.select.total', [selectVals.length, optList.length])) : renderEmptyElement($xeSelect), showCloseButton && multiple ? h('div', {
|
|
2060
2268
|
class: 'vxe-select--oper-btns'
|
|
2061
2269
|
}, [h(_button.default, {
|
|
2062
2270
|
props: {
|
|
2063
|
-
content:
|
|
2271
|
+
content: getI18n('vxe.select.close'),
|
|
2064
2272
|
mode: 'text'
|
|
2065
2273
|
},
|
|
2066
2274
|
on: {
|
|
2067
2275
|
click: $xeSelect.closePanelEvent
|
|
2068
2276
|
}
|
|
2069
|
-
})]) :
|
|
2277
|
+
})]) : renderEmptyElement($xeSelect)])]) : renderEmptyElement($xeSelect)])] : [])]);
|
|
2070
2278
|
}
|
|
2071
2279
|
},
|
|
2072
2280
|
watch: {
|
|
@@ -2081,6 +2289,47 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2081
2289
|
optionGroups: function optionGroups(val) {
|
|
2082
2290
|
var $xeSelect = this;
|
|
2083
2291
|
$xeSelect.loadData(val);
|
|
2292
|
+
},
|
|
2293
|
+
computeIsVScrollbar: function computeIsVScrollbar() {
|
|
2294
|
+
var $xeSelect = this;
|
|
2295
|
+
$xeSelect.$nextTick(function () {
|
|
2296
|
+
$xeSelect.bindScrollbarResize();
|
|
2297
|
+
$xeSelect.$nextTick(function () {
|
|
2298
|
+
$xeSelect.reLayoutFlag++;
|
|
2299
|
+
});
|
|
2300
|
+
});
|
|
2301
|
+
},
|
|
2302
|
+
computeScrollYWidth: function computeScrollYWidth() {
|
|
2303
|
+
var $xeSelect = this;
|
|
2304
|
+
$xeSelect.reLayoutFlag++;
|
|
2305
|
+
},
|
|
2306
|
+
computeScrollXHeight: function computeScrollXHeight() {
|
|
2307
|
+
var $xeSelect = this;
|
|
2308
|
+
$xeSelect.reLayoutFlag++;
|
|
2309
|
+
},
|
|
2310
|
+
computeScrollXVisible: function computeScrollXVisible() {
|
|
2311
|
+
var $xeSelect = this;
|
|
2312
|
+
$xeSelect.$nextTick(function () {
|
|
2313
|
+
$xeSelect.reLayoutFlag++;
|
|
2314
|
+
});
|
|
2315
|
+
},
|
|
2316
|
+
computeScrollYVisible: function computeScrollYVisible() {
|
|
2317
|
+
var $xeSelect = this;
|
|
2318
|
+
$xeSelect.$nextTick(function () {
|
|
2319
|
+
$xeSelect.reLayoutFlag++;
|
|
2320
|
+
});
|
|
2321
|
+
},
|
|
2322
|
+
reLayoutFlag: function reLayoutFlag() {
|
|
2323
|
+
var $xeSelect = this;
|
|
2324
|
+
$xeSelect.recalculate().then(function () {
|
|
2325
|
+
$xeSelect.recalculate();
|
|
2326
|
+
});
|
|
2327
|
+
},
|
|
2328
|
+
reScrollFlag: function reScrollFlag() {
|
|
2329
|
+
var $xeSelect = this;
|
|
2330
|
+
$xeSelect.updateScrollbar().then(function () {
|
|
2331
|
+
$xeSelect.updateScrollbar();
|
|
2332
|
+
});
|
|
2084
2333
|
}
|
|
2085
2334
|
},
|
|
2086
2335
|
created: function created() {
|
|
@@ -2099,23 +2348,30 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2099
2348
|
$xeSelect.loadData(options);
|
|
2100
2349
|
}
|
|
2101
2350
|
});
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2351
|
+
$xeSelect.reLayoutFlag++;
|
|
2352
|
+
$xeSelect.bindScrollbarResize();
|
|
2353
|
+
globalEvents.on($xeSelect, 'mousedown', $xeSelect.handleGlobalMousedownEvent);
|
|
2354
|
+
globalEvents.on($xeSelect, 'keydown', $xeSelect.handleGlobalKeydownEvent);
|
|
2355
|
+
globalEvents.on($xeSelect, 'blur', $xeSelect.handleGlobalBlurEvent);
|
|
2356
|
+
globalEvents.on($xeSelect, 'resize', $xeSelect.handleGlobalResizeEvent);
|
|
2357
|
+
globalEvents.on($xeSelect, 'scroll', $xeSelect.handleGlobalScrollEvent);
|
|
2107
2358
|
},
|
|
2108
2359
|
beforeDestroy: function beforeDestroy() {
|
|
2109
2360
|
var $xeSelect = this;
|
|
2361
|
+
var internalData = $xeSelect.internalData;
|
|
2362
|
+
var scrollObserver = internalData.scrollObserver;
|
|
2110
2363
|
var panelElem = $xeSelect.$refs.refOptionPanel;
|
|
2111
2364
|
if (panelElem && panelElem.parentNode) {
|
|
2112
2365
|
panelElem.parentNode.removeChild(panelElem);
|
|
2113
2366
|
}
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2367
|
+
if (scrollObserver) {
|
|
2368
|
+
scrollObserver.disconnect();
|
|
2369
|
+
}
|
|
2370
|
+
globalEvents.off($xeSelect, 'mousedown');
|
|
2371
|
+
globalEvents.off($xeSelect, 'keydown');
|
|
2372
|
+
globalEvents.off($xeSelect, 'blur');
|
|
2373
|
+
globalEvents.off($xeSelect, 'resize');
|
|
2374
|
+
globalEvents.off($xeSelect, 'scroll');
|
|
2119
2375
|
},
|
|
2120
2376
|
destroyed: function destroyed() {
|
|
2121
2377
|
var $xeSelect = this;
|