vxe-pc-ui 3.15.13 → 3.15.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/button/style.css +11 -0
- package/es/button/style.min.css +1 -1
- package/es/checkbox/src/button.js +3 -1
- package/es/checkbox/src/group.js +6 -1
- package/es/checkbox-button/style.css +155 -9
- package/es/checkbox-button/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +165 -47
- package/es/icon-picker/style.css +29 -5
- package/es/icon-picker/style.min.css +1 -1
- package/es/language/ar-EG.js +3 -0
- package/es/language/de-DE.js +3 -0
- package/es/language/en-US.js +3 -0
- package/es/language/es-ES.js +3 -0
- package/es/language/fr-FR.js +3 -0
- package/es/language/hu-HU.js +3 -0
- package/es/language/hy-AM.js +3 -0
- package/es/language/id-ID.js +3 -0
- package/es/language/it-IT.js +3 -0
- package/es/language/ja-JP.js +3 -0
- package/es/language/ko-KR.js +3 -0
- package/es/language/ms-MY.js +3 -0
- package/es/language/nb-NO.js +3 -0
- package/es/language/pt-BR.js +3 -0
- package/es/language/ru-RU.js +3 -0
- package/es/language/th-TH.js +3 -0
- package/es/language/ug-CN.js +3 -0
- package/es/language/uk-UA.js +3 -0
- package/es/language/uz-UZ.js +3 -0
- package/es/language/vi-VN.js +3 -0
- package/es/language/zh-CHT.js +3 -0
- package/es/language/zh-CN.js +3 -0
- package/es/list/src/list.js +15 -1
- package/es/radio/src/button.js +3 -1
- package/es/radio/src/group.js +6 -1
- package/es/radio-button/style.css +155 -9
- package/es/radio-button/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +246 -4
- package/es/tree/src/util.js +15 -0
- package/es/ui/index.js +5 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-button/style.css +11 -0
- package/es/vxe-button/style.min.css +1 -1
- package/es/vxe-checkbox-button/style.css +155 -9
- package/es/vxe-checkbox-button/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +29 -5
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-radio-button/style.css +155 -9
- package/es/vxe-radio-button/style.min.css +1 -1
- package/lib/button/style/style.css +11 -0
- package/lib/button/style/style.min.css +1 -1
- package/lib/checkbox/src/button.js +3 -1
- package/lib/checkbox/src/button.min.js +1 -1
- package/lib/checkbox/src/group.js +13 -5
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/checkbox-button/style/style.css +155 -9
- package/lib/checkbox-button/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 +154 -28
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/icon-picker/style/style.css +29 -5
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +506 -43
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +3 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +3 -0
- package/lib/language/de-DE.js +3 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +3 -0
- package/lib/language/en-US.js +3 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +3 -0
- package/lib/language/es-ES.js +3 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +3 -0
- package/lib/language/fr-FR.js +3 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +3 -0
- package/lib/language/hu-HU.js +3 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +3 -0
- package/lib/language/hy-AM.js +3 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +3 -0
- package/lib/language/id-ID.js +3 -0
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +3 -0
- package/lib/language/it-IT.js +3 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +3 -0
- package/lib/language/ja-JP.js +3 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +3 -0
- package/lib/language/ko-KR.js +3 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +3 -0
- package/lib/language/ms-MY.js +3 -0
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +3 -0
- package/lib/language/nb-NO.js +3 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +3 -0
- package/lib/language/pt-BR.js +3 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +3 -0
- package/lib/language/ru-RU.js +3 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +3 -0
- package/lib/language/th-TH.js +3 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +3 -0
- package/lib/language/ug-CN.js +3 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +3 -0
- package/lib/language/uk-UA.js +3 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +3 -0
- package/lib/language/uz-UZ.js +3 -0
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +3 -0
- package/lib/language/vi-VN.js +3 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +3 -0
- package/lib/language/zh-CHT.js +3 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +3 -0
- package/lib/language/zh-CN.js +3 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +3 -0
- package/lib/list/src/list.js +18 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/radio/src/button.js +3 -1
- package/lib/radio/src/button.min.js +1 -1
- package/lib/radio/src/group.js +9 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/radio-button/style/style.css +155 -9
- package/lib/radio-button/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 +287 -6
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/src/util.js +16 -0
- package/lib/tree/src/util.min.js +1 -1
- package/lib/ui/index.js +5 -2
- 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-button/style/style.css +11 -0
- package/lib/vxe-button/style/style.min.css +1 -1
- package/lib/vxe-checkbox-button/style/style.css +155 -9
- package/lib/vxe-checkbox-button/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +29 -5
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-radio-button/style/style.css +155 -9
- package/lib/vxe-radio-button/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/checkbox/src/button.ts +3 -1
- package/packages/checkbox/src/group.ts +6 -1
- package/packages/icon-picker/src/icon-picker.ts +180 -45
- package/packages/language/ar-EG.ts +3 -0
- package/packages/language/de-DE.ts +3 -0
- package/packages/language/en-US.ts +3 -0
- package/packages/language/es-ES.ts +3 -0
- package/packages/language/fr-FR.ts +3 -0
- package/packages/language/hu-HU.ts +3 -0
- package/packages/language/hy-AM.ts +3 -0
- package/packages/language/id-ID.ts +3 -0
- package/packages/language/it-IT.ts +3 -0
- package/packages/language/ja-JP.ts +3 -0
- package/packages/language/ko-KR.ts +3 -0
- package/packages/language/ms-MY.ts +3 -0
- package/packages/language/nb-NO.ts +3 -0
- package/packages/language/pt-BR.ts +3 -0
- package/packages/language/ru-RU.ts +3 -0
- package/packages/language/th-TH.ts +3 -0
- package/packages/language/ug-CN.ts +3 -0
- package/packages/language/uk-UA.ts +3 -0
- package/packages/language/uz-UZ.ts +3 -0
- package/packages/language/vi-VN.ts +3 -0
- package/packages/language/zh-CHT.ts +3 -0
- package/packages/language/zh-CN.ts +3 -0
- package/packages/list/src/list.ts +15 -1
- package/packages/radio/src/button.ts +3 -1
- package/packages/radio/src/group.ts +6 -1
- package/packages/tree/src/tree.ts +251 -4
- package/packages/tree/src/util.ts +17 -1
- package/packages/ui/index.ts +4 -1
- package/styles/components/button.scss +24 -69
- package/styles/components/checkbox-button.scss +66 -14
- package/styles/components/icon-picker.scss +37 -11
- package/styles/components/radio-button.scss +66 -14
- package/styles/helpers/themeStatus.scss +58 -0
- package/types/all.d.ts +205 -0
- package/types/components/checkbox-group.d.ts +3 -1
- package/types/components/checkbox.d.ts +1 -1
- package/types/components/icon-picker.d.ts +27 -4
- package/types/components/list.d.ts +2 -2
- package/types/components/radio-group.d.ts +3 -1
- package/types/components/tree.d.ts +36 -0
- /package/es/icon/{iconfont.1782658257467.ttf → iconfont.1782742114089.ttf} +0 -0
- /package/es/icon/{iconfont.1782658257467.woff → iconfont.1782742114089.woff} +0 -0
- /package/es/icon/{iconfont.1782658257467.woff2 → iconfont.1782742114089.woff2} +0 -0
- /package/es/{iconfont.1782658257467.ttf → iconfont.1782742114089.ttf} +0 -0
- /package/es/{iconfont.1782658257467.woff → iconfont.1782742114089.woff} +0 -0
- /package/es/{iconfont.1782658257467.woff2 → iconfont.1782742114089.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.ttf → iconfont.1782742114089.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.woff → iconfont.1782742114089.woff} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.woff2 → iconfont.1782742114089.woff2} +0 -0
- /package/lib/{iconfont.1782658257467.ttf → iconfont.1782742114089.ttf} +0 -0
- /package/lib/{iconfont.1782658257467.woff → iconfont.1782742114089.woff} +0 -0
- /package/lib/{iconfont.1782658257467.woff2 → iconfont.1782742114089.woff2} +0 -0
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
3
|
import { getConfig, getIcon, getI18n, globalEvents, renderer, createEvent, globalMixins, GLOBAL_EVENT_KEYS, renderEmptyElement } from '../../ui';
|
|
4
|
-
import { getEventTargetNode, updatePanelPlacement } from '../../ui/src/dom';
|
|
4
|
+
import { getEventTargetNode, toCssUnit, updatePanelPlacement } from '../../ui/src/dom';
|
|
5
5
|
import { getLastZIndex, nextZIndex, getFuncText } from '../../ui/src/utils';
|
|
6
6
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
7
|
+
import VxeInputComponent from '../../input/src/input';
|
|
8
|
+
function createReactData() {
|
|
9
|
+
return {
|
|
10
|
+
initialized: false,
|
|
11
|
+
selectIcon: '',
|
|
12
|
+
panelIndex: 0,
|
|
13
|
+
panelStyle: {},
|
|
14
|
+
panelPlacement: null,
|
|
15
|
+
visiblePanel: false,
|
|
16
|
+
isAniVisible: false,
|
|
17
|
+
isActivated: false,
|
|
18
|
+
searchValue: '',
|
|
19
|
+
iconGroups: []
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function createInternalData() {
|
|
23
|
+
return {
|
|
24
|
+
fullList: []
|
|
25
|
+
// hpTimeout: undefined
|
|
26
|
+
};
|
|
27
|
+
}
|
|
7
28
|
export default {
|
|
8
29
|
name: 'VxeIconPicker',
|
|
9
30
|
mixins: [
|
|
@@ -39,6 +60,11 @@ export default {
|
|
|
39
60
|
type: Boolean,
|
|
40
61
|
default: null
|
|
41
62
|
},
|
|
63
|
+
filterable: {
|
|
64
|
+
type: Boolean,
|
|
65
|
+
default: () => getConfig().iconPicker.filterable
|
|
66
|
+
},
|
|
67
|
+
filterConfig: Object,
|
|
42
68
|
icons: Array,
|
|
43
69
|
placement: String,
|
|
44
70
|
popupConfig: Object,
|
|
@@ -72,24 +98,8 @@ export default {
|
|
|
72
98
|
};
|
|
73
99
|
},
|
|
74
100
|
data() {
|
|
75
|
-
const reactData =
|
|
76
|
-
|
|
77
|
-
selectIcon: '',
|
|
78
|
-
panelIndex: 0,
|
|
79
|
-
panelStyle: {},
|
|
80
|
-
panelPlacement: null,
|
|
81
|
-
visiblePanel: false,
|
|
82
|
-
isAniVisible: false,
|
|
83
|
-
isActivated: false
|
|
84
|
-
};
|
|
85
|
-
const internalData = {
|
|
86
|
-
hpTimeout: undefined
|
|
87
|
-
};
|
|
88
|
-
return {
|
|
89
|
-
xID: XEUtils.uniqueId(),
|
|
90
|
-
reactData,
|
|
91
|
-
internalData
|
|
92
|
-
};
|
|
101
|
+
const reactData = createReactData();
|
|
102
|
+
return Object.assign(Object.assign({}, {}), { xID: XEUtils.uniqueId(), reactData });
|
|
93
103
|
},
|
|
94
104
|
computed: Object.assign(Object.assign({}, {}), { computeFormReadonly() {
|
|
95
105
|
const $xeIconPicker = this;
|
|
@@ -153,6 +163,21 @@ export default {
|
|
|
153
163
|
}
|
|
154
164
|
return getI18n('vxe.base.pleaseSelect');
|
|
155
165
|
},
|
|
166
|
+
computePanelStyle() {
|
|
167
|
+
const $xeIconPicker = this;
|
|
168
|
+
const popupOpts = $xeIconPicker.computePopupOpts;
|
|
169
|
+
const { chunkSize, height, maxHeight } = popupOpts;
|
|
170
|
+
const stys = {
|
|
171
|
+
'--vxe-ui-icon-picker-item-width': `${100 / (chunkSize || 4)}%`
|
|
172
|
+
};
|
|
173
|
+
if (height) {
|
|
174
|
+
stys['--vxe-ui-icon-picker-panel-height'] = toCssUnit(height);
|
|
175
|
+
}
|
|
176
|
+
else if (maxHeight) {
|
|
177
|
+
stys['--vxe-ui-icon-picker-panel-max-height'] = toCssUnit(maxHeight);
|
|
178
|
+
}
|
|
179
|
+
return stys;
|
|
180
|
+
},
|
|
156
181
|
computeIconList() {
|
|
157
182
|
const $xeIconPicker = this;
|
|
158
183
|
const props = $xeIconPicker;
|
|
@@ -174,6 +199,11 @@ export default {
|
|
|
174
199
|
};
|
|
175
200
|
});
|
|
176
201
|
},
|
|
202
|
+
computeFilterOpts() {
|
|
203
|
+
const $xeIconPicker = this;
|
|
204
|
+
const props = $xeIconPicker;
|
|
205
|
+
return Object.assign({}, getConfig().iconPicker.filterConfig, props.filterConfig);
|
|
206
|
+
},
|
|
177
207
|
computePopupOpts() {
|
|
178
208
|
const $xeIconPicker = this;
|
|
179
209
|
const props = $xeIconPicker;
|
|
@@ -274,6 +304,7 @@ export default {
|
|
|
274
304
|
const panelElem = $xeIconPicker.$refs.refOptionPanel;
|
|
275
305
|
const btnTransfer = $xeIconPicker.computeBtnTransfer;
|
|
276
306
|
const popupOpts = $xeIconPicker.computePopupOpts;
|
|
307
|
+
const { width } = popupOpts;
|
|
277
308
|
const handleStyle = () => {
|
|
278
309
|
const ppObj = updatePanelPlacement(targetElem, panelElem, {
|
|
279
310
|
placement: popupOpts.placement || placement,
|
|
@@ -283,6 +314,12 @@ export default {
|
|
|
283
314
|
const panelStyle = Object.assign(ppObj.style, {
|
|
284
315
|
zIndex: panelIndex
|
|
285
316
|
});
|
|
317
|
+
if (width) {
|
|
318
|
+
Object.assign(panelStyle, {
|
|
319
|
+
width: toCssUnit(width),
|
|
320
|
+
minWidth: undefined
|
|
321
|
+
});
|
|
322
|
+
}
|
|
286
323
|
reactData.panelStyle = panelStyle;
|
|
287
324
|
reactData.panelPlacement = ppObj.placement;
|
|
288
325
|
};
|
|
@@ -329,6 +366,29 @@ export default {
|
|
|
329
366
|
reactData.isAniVisible = false;
|
|
330
367
|
}, 350);
|
|
331
368
|
},
|
|
369
|
+
handleData() {
|
|
370
|
+
const $xeIconPicker = this;
|
|
371
|
+
const props = $xeIconPicker;
|
|
372
|
+
const reactData = $xeIconPicker.reactData;
|
|
373
|
+
const { value: modelValue } = props;
|
|
374
|
+
const { searchValue } = reactData;
|
|
375
|
+
const filterOpts = $xeIconPicker.computeFilterOpts;
|
|
376
|
+
const { filterMethod } = filterOpts;
|
|
377
|
+
const popupOpts = $xeIconPicker.computePopupOpts;
|
|
378
|
+
const { chunkSize } = popupOpts;
|
|
379
|
+
const iconList = $xeIconPicker.computeIconList;
|
|
380
|
+
let visibleList = iconList;
|
|
381
|
+
if (searchValue) {
|
|
382
|
+
const searchTxt = `${searchValue}`.toLowerCase();
|
|
383
|
+
visibleList = iconList.filter(item => {
|
|
384
|
+
if (filterMethod) {
|
|
385
|
+
return filterMethod({ option: item, value: modelValue, searchValue: searchTxt, $iconPicker: $xeIconPicker });
|
|
386
|
+
}
|
|
387
|
+
return (item.title && `${item.title}`.toLowerCase().indexOf(searchTxt) > -1) || (item.icon && `${item.icon}`.indexOf(searchTxt) > -1);
|
|
388
|
+
});
|
|
389
|
+
}
|
|
390
|
+
reactData.iconGroups = XEUtils.chunk(visibleList, chunkSize || 4);
|
|
391
|
+
},
|
|
332
392
|
changeEvent(evnt, selectValue) {
|
|
333
393
|
const $xeIconPicker = this;
|
|
334
394
|
const props = $xeIconPicker;
|
|
@@ -491,6 +551,24 @@ export default {
|
|
|
491
551
|
$xeIconPicker.changeEvent(evnt, value);
|
|
492
552
|
$xeIconPicker.hideOptionPanel();
|
|
493
553
|
},
|
|
554
|
+
modelSearchEvent(value) {
|
|
555
|
+
const $xeIconPicker = this;
|
|
556
|
+
const reactData = $xeIconPicker.reactData;
|
|
557
|
+
reactData.searchValue = value;
|
|
558
|
+
},
|
|
559
|
+
focusSearchEvent() {
|
|
560
|
+
const $xeIconPicker = this;
|
|
561
|
+
const reactData = $xeIconPicker.reactData;
|
|
562
|
+
reactData.isActivated = true;
|
|
563
|
+
},
|
|
564
|
+
handleSearchEvent() {
|
|
565
|
+
const $xeIconPicker = this;
|
|
566
|
+
$xeIconPicker.handleData();
|
|
567
|
+
},
|
|
568
|
+
triggerSearchEvent: XEUtils.debounce(function () {
|
|
569
|
+
const $xeIconPicker = this;
|
|
570
|
+
$xeIconPicker.handleSearchEvent();
|
|
571
|
+
}, 350, { trailing: true }),
|
|
494
572
|
//
|
|
495
573
|
// Render
|
|
496
574
|
//
|
|
@@ -499,44 +577,47 @@ export default {
|
|
|
499
577
|
const props = $xeIconPicker;
|
|
500
578
|
const reactData = $xeIconPicker.reactData;
|
|
501
579
|
const { showIconTitle } = props;
|
|
502
|
-
const { selectIcon } = reactData;
|
|
503
|
-
const iconGroupList = $xeIconPicker.computeIconGroupList;
|
|
504
|
-
const isDisabled = $xeIconPicker.computeIsDisabled;
|
|
580
|
+
const { selectIcon, iconGroups } = reactData;
|
|
505
581
|
return h('div', {
|
|
506
582
|
class: 'vxe-ico-picker--list-wrapper'
|
|
507
|
-
},
|
|
583
|
+
}, iconGroups.map(list => {
|
|
508
584
|
return h('div', {
|
|
509
585
|
class: 'vxe-ico-picker--list'
|
|
510
586
|
}, list.map(item => {
|
|
511
587
|
const { iconRender } = item;
|
|
512
588
|
const compConf = iconRender ? renderer.get(iconRender.name) : null;
|
|
513
|
-
const
|
|
589
|
+
const iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null;
|
|
514
590
|
return h('div', {
|
|
515
591
|
class: ['vxe-ico-picker--item', {
|
|
516
592
|
'is--selected': selectIcon === item.icon
|
|
517
|
-
}]
|
|
518
|
-
on: {
|
|
519
|
-
click(evnt) {
|
|
520
|
-
if (!isDisabled) {
|
|
521
|
-
$xeIconPicker.handleClickIconEvent(evnt, item);
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
}
|
|
593
|
+
}]
|
|
525
594
|
}, [
|
|
526
595
|
h('div', {
|
|
527
|
-
class: 'vxe-ico-picker--item-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
596
|
+
class: 'vxe-ico-picker--item-inner',
|
|
597
|
+
on: {
|
|
598
|
+
click(evnt) {
|
|
599
|
+
const isDisabled = $xeIconPicker.computeIsDisabled;
|
|
600
|
+
if (!isDisabled) {
|
|
601
|
+
$xeIconPicker.handleClickIconEvent(evnt, item);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}, [
|
|
606
|
+
h('div', {
|
|
607
|
+
class: 'vxe-ico-picker--item-icon'
|
|
608
|
+
}, iconMethod && iconRender
|
|
609
|
+
? getSlotVNs(iconMethod(h, iconRender, { $iconPicker: $xeIconPicker, option: item }))
|
|
610
|
+
: [
|
|
611
|
+
h('i', {
|
|
612
|
+
class: item.icon || ''
|
|
613
|
+
})
|
|
614
|
+
]),
|
|
615
|
+
showIconTitle
|
|
616
|
+
? h('div', {
|
|
617
|
+
class: 'vxe-ico-picker--item-title'
|
|
618
|
+
}, `${item.title || ''}`)
|
|
619
|
+
: renderEmptyElement($xeIconPicker)
|
|
620
|
+
])
|
|
540
621
|
]);
|
|
541
622
|
}));
|
|
542
623
|
}));
|
|
@@ -570,13 +651,14 @@ export default {
|
|
|
570
651
|
const $xeIconPicker = this;
|
|
571
652
|
const props = $xeIconPicker;
|
|
572
653
|
const reactData = $xeIconPicker.reactData;
|
|
573
|
-
const { className, clearable } = props;
|
|
654
|
+
const { className, clearable, filterable } = props;
|
|
574
655
|
const { initialized, isActivated, isAniVisible, visiblePanel, selectIcon } = reactData;
|
|
575
656
|
const vSize = $xeIconPicker.computeSize;
|
|
576
657
|
const isDisabled = $xeIconPicker.computeIsDisabled;
|
|
577
658
|
const btnTransfer = $xeIconPicker.computeBtnTransfer;
|
|
578
659
|
const formReadonly = $xeIconPicker.computeFormReadonly;
|
|
579
660
|
const inpPlaceholder = $xeIconPicker.computeInpPlaceholder;
|
|
661
|
+
const panelStyle = $xeIconPicker.computePanelStyle;
|
|
580
662
|
const popupOpts = $xeIconPicker.computePopupOpts;
|
|
581
663
|
const ppClassName = popupOpts.className || props.popupClassName;
|
|
582
664
|
if (formReadonly) {
|
|
@@ -655,8 +737,34 @@ export default {
|
|
|
655
737
|
}, [
|
|
656
738
|
initialized && (visiblePanel || isAniVisible)
|
|
657
739
|
? h('div', {
|
|
658
|
-
class: 'vxe-ico-picker--panel-wrapper'
|
|
740
|
+
class: 'vxe-ico-picker--panel-wrapper',
|
|
741
|
+
style: panelStyle
|
|
659
742
|
}, [
|
|
743
|
+
filterable
|
|
744
|
+
? h('div', {
|
|
745
|
+
class: 'vxe-ico-picker--panel-search'
|
|
746
|
+
}, [
|
|
747
|
+
h(VxeInputComponent, {
|
|
748
|
+
ref: 'refInpSearch',
|
|
749
|
+
class: 'vxe-ico-picker-search--input',
|
|
750
|
+
props: {
|
|
751
|
+
value: reactData.searchValue,
|
|
752
|
+
type: 'text',
|
|
753
|
+
clearable: true,
|
|
754
|
+
disabled: false,
|
|
755
|
+
readonly: false,
|
|
756
|
+
placeholder: getI18n('vxe.iconPicker.search'),
|
|
757
|
+
prefixIcon: getIcon().INPUT_SEARCH
|
|
758
|
+
},
|
|
759
|
+
on: {
|
|
760
|
+
'model-value': $xeIconPicker.modelSearchEvent,
|
|
761
|
+
focus: $xeIconPicker.focusSearchEvent,
|
|
762
|
+
change: $xeIconPicker.triggerSearchEvent,
|
|
763
|
+
search: $xeIconPicker.triggerSearchEvent
|
|
764
|
+
}
|
|
765
|
+
})
|
|
766
|
+
])
|
|
767
|
+
: renderEmptyElement($xeIconPicker),
|
|
660
768
|
$xeIconPicker.renderIconWrapper(h)
|
|
661
769
|
])
|
|
662
770
|
: renderEmptyElement($xeIconPicker)
|
|
@@ -669,13 +777,19 @@ export default {
|
|
|
669
777
|
const $xeIconPicker = this;
|
|
670
778
|
const reactData = $xeIconPicker.reactData;
|
|
671
779
|
reactData.selectIcon = `${val || ''}`;
|
|
780
|
+
},
|
|
781
|
+
computeIconList() {
|
|
782
|
+
const $xeIconPicker = this;
|
|
783
|
+
$xeIconPicker.handleData();
|
|
672
784
|
}
|
|
673
785
|
},
|
|
674
786
|
created() {
|
|
675
787
|
const $xeIconPicker = this;
|
|
676
788
|
const props = $xeIconPicker;
|
|
677
789
|
const reactData = $xeIconPicker.reactData;
|
|
790
|
+
$xeIconPicker.internalData = createInternalData();
|
|
678
791
|
reactData.selectIcon = `${props.value || ''}`;
|
|
792
|
+
$xeIconPicker.handleData();
|
|
679
793
|
globalEvents.on($xeIconPicker, 'mousewheel', $xeIconPicker.handleGlobalMousewheelEvent);
|
|
680
794
|
globalEvents.on($xeIconPicker, 'mousedown', $xeIconPicker.handleGlobalMousedownEvent);
|
|
681
795
|
globalEvents.on($xeIconPicker, 'keydown', $xeIconPicker.handleGlobalKeydownEvent);
|
|
@@ -683,6 +797,8 @@ export default {
|
|
|
683
797
|
},
|
|
684
798
|
beforeDestroy() {
|
|
685
799
|
const $xeIconPicker = this;
|
|
800
|
+
const reactData = $xeIconPicker.reactData;
|
|
801
|
+
const internalData = $xeIconPicker.internalData;
|
|
686
802
|
const panelElem = $xeIconPicker.$refs.refOptionPanel;
|
|
687
803
|
if (panelElem && panelElem.parentNode) {
|
|
688
804
|
panelElem.parentNode.removeChild(panelElem);
|
|
@@ -691,6 +807,8 @@ export default {
|
|
|
691
807
|
globalEvents.off($xeIconPicker, 'mousedown');
|
|
692
808
|
globalEvents.off($xeIconPicker, 'keydown');
|
|
693
809
|
globalEvents.off($xeIconPicker, 'blur');
|
|
810
|
+
XEUtils.assign(reactData, createReactData());
|
|
811
|
+
XEUtils.assign(internalData, createInternalData());
|
|
694
812
|
},
|
|
695
813
|
render(h) {
|
|
696
814
|
return this.renderVN(h);
|
package/es/icon-picker/style.css
CHANGED
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
border-radius: var(--vxe-ui-base-border-radius);
|
|
8
8
|
background-color: var(--vxe-ui-layout-background-color);
|
|
9
9
|
}
|
|
10
|
+
.vxe-ico-picker.is--disabled {
|
|
11
|
+
background-color: var(--vxe-ui-input-disabled-background-color);
|
|
12
|
+
color: var(--vxe-ui-font-disabled-color);
|
|
13
|
+
cursor: no-drop;
|
|
14
|
+
}
|
|
10
15
|
.vxe-ico-picker.show--clear:hover .vxe-ico-picker--clear-icon {
|
|
11
16
|
display: block;
|
|
12
17
|
}
|
|
@@ -64,6 +69,15 @@
|
|
|
64
69
|
transition: transform 0.2s ease-in-out;
|
|
65
70
|
}
|
|
66
71
|
|
|
72
|
+
.vxe-ico-picker--panel-search {
|
|
73
|
+
display: block;
|
|
74
|
+
flex-shrink: 0;
|
|
75
|
+
padding: var(--vxe-ui-layout-padding-default);
|
|
76
|
+
}
|
|
77
|
+
.vxe-ico-picker--panel-search .vxe-ico-picker-search--input {
|
|
78
|
+
width: 100%;
|
|
79
|
+
}
|
|
80
|
+
|
|
67
81
|
.vxe-ico-picker--readonly {
|
|
68
82
|
color: var(--vxe-ui-font-color);
|
|
69
83
|
display: inline-flex;
|
|
@@ -83,10 +97,17 @@
|
|
|
83
97
|
color: var(--vxe-ui-font-primary-color);
|
|
84
98
|
}
|
|
85
99
|
|
|
100
|
+
.vxe-ico-picker--all-list {
|
|
101
|
+
display: flex;
|
|
102
|
+
flex-direction: row;
|
|
103
|
+
flex-wrap: wrap;
|
|
104
|
+
}
|
|
105
|
+
|
|
86
106
|
.vxe-ico-picker--list-wrapper {
|
|
87
107
|
overflow-x: hidden;
|
|
88
108
|
overflow-y: auto;
|
|
89
|
-
|
|
109
|
+
height: var(--vxe-ui-icon-picker-panel-height);
|
|
110
|
+
max-height: var(--vxe-ui-icon-picker-panel-max-height, var(--vxe-ui-icon-picker-panel-height, 22.3em));
|
|
90
111
|
padding: var(--vxe-ui-layout-padding-qtr);
|
|
91
112
|
}
|
|
92
113
|
|
|
@@ -98,17 +119,20 @@
|
|
|
98
119
|
.vxe-ico-picker--item {
|
|
99
120
|
display: flex;
|
|
100
121
|
flex-direction: column;
|
|
101
|
-
width: 4.8em;
|
|
122
|
+
min-width: 4.8em;
|
|
123
|
+
width: var(--vxe-ui-icon-picker-item-width, 4.8em);
|
|
124
|
+
padding: var(--vxe-ui-layout-padding-half);
|
|
125
|
+
}
|
|
126
|
+
.vxe-ico-picker--item .vxe-ico-picker--item-inner {
|
|
102
127
|
padding: 0.2em;
|
|
103
128
|
border: 1px solid var(--vxe-ui-input-border-color);
|
|
104
129
|
border-radius: var(--vxe-ui-base-border-radius);
|
|
105
|
-
margin: var(--vxe-ui-layout-padding-half);
|
|
106
130
|
cursor: pointer;
|
|
107
131
|
}
|
|
108
|
-
.vxe-ico-picker--item:hover {
|
|
132
|
+
.vxe-ico-picker--item .vxe-ico-picker--item-inner:hover {
|
|
109
133
|
background-color: var(--vxe-ui-base-hover-background-color);
|
|
110
134
|
}
|
|
111
|
-
.vxe-ico-picker--item.is--selected {
|
|
135
|
+
.vxe-ico-picker--item.is--selected .vxe-ico-picker--item-inner {
|
|
112
136
|
color: var(--vxe-ui-font-primary-color);
|
|
113
137
|
border-color: var(--vxe-ui-font-primary-color);
|
|
114
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-ico-picker{position:relative;display:inline-block;color:var(--vxe-ui-font-color);width:100px;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color)}.vxe-ico-picker.show--clear:hover .vxe-ico-picker--clear-icon{display:block}.vxe-ico-picker.is--active{border-color:var(--vxe-ui-font-primary-color)}.vxe-ico-picker--inner{display:flex;flex-direction:row;width:100%;padding:0 .5em}.vxe-ico-picker--input{position:absolute;z-index:-1;width:1px;height:1px;outline:0;border:0}.vxe-ico-picker--icon{flex-grow:1;display:inline-flex;flex-direction:row;align-items:center;justify-content:left;padding:0 .5em}.vxe-ico-picker--icon>svg{max-width:1em;max-height:1em;vertical-align:middle}.vxe-ico-picker--placeholder{flex-grow:1;color:var(--vxe-ui-input-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-ico-picker--suffix{display:flex;flex-direction:row;flex-shrink:0;color:var(--vxe-ui-input-placeholder-color);cursor:pointer}.vxe-ico-picker--suffix .vxe-ico-picker--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-ico-picker--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-ico-picker--clear-icon{display:none;padding-right:.5em;height:100%;color:var(--vxe-ui-input-placeholder-color);cursor:pointer}.vxe-ico-picker--clear-icon:hover{color:var(--vxe-ui-font-color)}.vxe-ico-picker--clear-icon:active{color:var(--vxe-ui-font-primary-color)}.vxe-ico-picker--list-wrapper{overflow-x:hidden;overflow-y:auto;max-height:22.3em;padding:var(--vxe-ui-layout-padding-qtr)}.vxe-ico-picker--list{display:flex;flex-direction:row}.vxe-ico-picker--item{display:flex;flex-direction:column;width:4.8em;padding:.2em;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);
|
|
1
|
+
.vxe-ico-picker{position:relative;display:inline-block;color:var(--vxe-ui-font-color);width:100px;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);background-color:var(--vxe-ui-layout-background-color)}.vxe-ico-picker.is--disabled{background-color:var(--vxe-ui-input-disabled-background-color);color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-ico-picker.show--clear:hover .vxe-ico-picker--clear-icon{display:block}.vxe-ico-picker.is--active{border-color:var(--vxe-ui-font-primary-color)}.vxe-ico-picker--inner{display:flex;flex-direction:row;width:100%;padding:0 .5em}.vxe-ico-picker--input{position:absolute;z-index:-1;width:1px;height:1px;outline:0;border:0}.vxe-ico-picker--icon{flex-grow:1;display:inline-flex;flex-direction:row;align-items:center;justify-content:left;padding:0 .5em}.vxe-ico-picker--icon>svg{max-width:1em;max-height:1em;vertical-align:middle}.vxe-ico-picker--placeholder{flex-grow:1;color:var(--vxe-ui-input-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-ico-picker--suffix{display:flex;flex-direction:row;flex-shrink:0;color:var(--vxe-ui-input-placeholder-color);cursor:pointer}.vxe-ico-picker--suffix .vxe-ico-picker--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-ico-picker--panel-search{display:block;flex-shrink:0;padding:var(--vxe-ui-layout-padding-default)}.vxe-ico-picker--panel-search .vxe-ico-picker-search--input{width:100%}.vxe-ico-picker--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-ico-picker--clear-icon{display:none;padding-right:.5em;height:100%;color:var(--vxe-ui-input-placeholder-color);cursor:pointer}.vxe-ico-picker--clear-icon:hover{color:var(--vxe-ui-font-color)}.vxe-ico-picker--clear-icon:active{color:var(--vxe-ui-font-primary-color)}.vxe-ico-picker--all-list{display:flex;flex-direction:row;flex-wrap:wrap}.vxe-ico-picker--list-wrapper{overflow-x:hidden;overflow-y:auto;height:var(--vxe-ui-icon-picker-panel-height);max-height:var(--vxe-ui-icon-picker-panel-max-height,var(--vxe-ui-icon-picker-panel-height,22.3em));padding:var(--vxe-ui-layout-padding-qtr)}.vxe-ico-picker--list{display:flex;flex-direction:row}.vxe-ico-picker--item{display:flex;flex-direction:column;min-width:4.8em;width:var(--vxe-ui-icon-picker-item-width,4.8em);padding:var(--vxe-ui-layout-padding-half)}.vxe-ico-picker--item .vxe-ico-picker--item-inner{padding:.2em;border:1px solid var(--vxe-ui-input-border-color);border-radius:var(--vxe-ui-base-border-radius);cursor:pointer}.vxe-ico-picker--item .vxe-ico-picker--item-inner:hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-ico-picker--item.is--selected .vxe-ico-picker--item-inner{color:var(--vxe-ui-font-primary-color);border-color:var(--vxe-ui-font-primary-color)}.vxe-ico-picker--item-icon{flex-grow:1;display:flex;flex-direction:row;align-items:center;justify-content:center;height:1.5em;font-size:1.4em}.vxe-ico-picker--item-icon>svg{max-width:1em;max-height:1em;vertical-align:middle}.vxe-ico-picker--item-title{padding:0 .2em;line-height:1.3em;flex-shrink:0;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9em}.vxe-ico-picker--item-icon,.vxe-ico-picker--item-title{width:100%}.vxe-ico-picker--panel-wrapper{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)}.vxe-ico-picker--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-ico-picker--panel:not(.is--transfer){min-width:100%}.vxe-ico-picker--panel.is--transfer{position:fixed}.vxe-ico-picker--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-ico-picker--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-ico-picker--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-ico-picker{height:var(--vxe-ui-input-height-default);line-height:var(--vxe-ui-input-height-default)}.vxe-ico-picker.size--medium{height:var(--vxe-ui-input-height-medium);line-height:var(--vxe-ui-input-height-medium)}.vxe-ico-picker.size--small{height:var(--vxe-ui-input-height-small);line-height:var(--vxe-ui-input-height-small)}.vxe-ico-picker.size--mini{height:var(--vxe-ui-input-height-mini);line-height:var(--vxe-ui-input-height-mini)}.vxe-ico-picker,.vxe-ico-picker--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-ico-picker--panel.size--medium,.vxe-ico-picker.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-ico-picker--panel.size--small,.vxe-ico-picker.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-ico-picker--panel.size--mini,.vxe-ico-picker.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
package/es/language/ar-EG.js
CHANGED
package/es/language/de-DE.js
CHANGED
package/es/language/en-US.js
CHANGED
package/es/language/es-ES.js
CHANGED
package/es/language/fr-FR.js
CHANGED
package/es/language/hu-HU.js
CHANGED
package/es/language/hy-AM.js
CHANGED
package/es/language/id-ID.js
CHANGED
package/es/language/it-IT.js
CHANGED
package/es/language/ja-JP.js
CHANGED
package/es/language/ko-KR.js
CHANGED
package/es/language/ms-MY.js
CHANGED
package/es/language/nb-NO.js
CHANGED
package/es/language/pt-BR.js
CHANGED
package/es/language/ru-RU.js
CHANGED
package/es/language/th-TH.js
CHANGED
package/es/language/ug-CN.js
CHANGED
package/es/language/uk-UA.js
CHANGED
package/es/language/uz-UZ.js
CHANGED
package/es/language/vi-VN.js
CHANGED