vxe-pc-ui 3.15.13 → 3.15.15
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 +42 -72
- package/es/button/style.min.css +1 -1
- package/es/calendar/style.css +2 -2
- package/es/calendar/style.min.css +1 -1
- package/es/cascader/style.css +38 -40
- package/es/cascader/style.min.css +1 -1
- package/es/checkbox/src/button.js +3 -1
- package/es/checkbox/src/group.js +6 -1
- package/es/checkbox/style.css +22 -28
- package/es/checkbox/style.min.css +1 -1
- package/es/checkbox-button/style.css +155 -9
- package/es/checkbox-button/style.min.css +1 -1
- package/es/context-menu/style.css +14 -13
- package/es/context-menu/style.min.css +1 -1
- package/es/date-picker/src/date-picker.js +1 -1
- package/es/form/style.css +49 -95
- package/es/form/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 +49 -23
- 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/list/style.css +26 -28
- package/es/list/style.min.css +1 -1
- package/es/menu/style.css +22 -30
- package/es/menu/style.min.css +1 -1
- package/es/radio/src/button.js +3 -1
- package/es/radio/src/group.js +6 -1
- package/es/radio/style.css +22 -30
- package/es/radio/style.min.css +1 -1
- package/es/radio-button/style.css +155 -9
- package/es/radio-button/style.min.css +1 -1
- package/es/select/style.css +42 -59
- 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 +246 -4
- package/es/tree/src/util.js +15 -0
- package/es/tree/style.css +26 -25
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/style.css +27 -31
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +5 -2
- package/es/ui/src/log.js +1 -1
- package/es/upload/style.css +30 -41
- package/es/upload/style.min.css +1 -1
- package/es/vxe-button/style.css +42 -72
- package/es/vxe-button/style.min.css +1 -1
- package/es/vxe-calendar/style.css +2 -2
- package/es/vxe-calendar/style.min.css +1 -1
- package/es/vxe-cascader/style.css +38 -40
- package/es/vxe-cascader/style.min.css +1 -1
- package/es/vxe-checkbox/style.css +22 -28
- package/es/vxe-checkbox/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-context-menu/style.css +14 -13
- package/es/vxe-context-menu/style.min.css +1 -1
- package/es/vxe-form/style.css +49 -95
- package/es/vxe-form/style.min.css +1 -1
- package/es/vxe-icon-picker/style.css +49 -23
- package/es/vxe-icon-picker/style.min.css +1 -1
- package/es/vxe-list/style.css +26 -28
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-menu/style.css +22 -30
- package/es/vxe-menu/style.min.css +1 -1
- package/es/vxe-radio/style.css +22 -30
- package/es/vxe-radio/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/es/vxe-select/style.css +42 -59
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree/style.css +26 -25
- package/es/vxe-tree/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +27 -31
- package/es/vxe-tree-select/style.min.css +1 -1
- package/es/vxe-upload/style.css +30 -41
- package/es/vxe-upload/style.min.css +1 -1
- package/lib/button/style/style.css +42 -72
- package/lib/button/style/style.min.css +1 -1
- package/lib/calendar/style/style.css +2 -2
- package/lib/calendar/style/style.min.css +1 -1
- package/lib/cascader/style/style.css +38 -40
- package/lib/cascader/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/style/style.css +22 -28
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/checkbox-button/style/style.css +155 -9
- package/lib/checkbox-button/style/style.min.css +1 -1
- package/lib/context-menu/style/style.css +14 -13
- package/lib/context-menu/style/style.min.css +1 -1
- package/lib/date-picker/src/date-picker.js +1 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/form/style/style.css +49 -95
- package/lib/form/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 +49 -23
- package/lib/icon-picker/style/style.min.css +1 -1
- package/lib/index.umd.js +507 -44
- 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/list/style/style.css +26 -28
- package/lib/list/style/style.min.css +1 -1
- package/lib/menu/style/style.css +22 -30
- package/lib/menu/style/style.min.css +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/style/style.css +22 -30
- package/lib/radio/style/style.min.css +1 -1
- package/lib/radio-button/style/style.css +155 -9
- package/lib/radio-button/style/style.min.css +1 -1
- package/lib/select/style/style.css +42 -59
- 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 +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/tree/style/style.css +26 -25
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/style/style.css +27 -31
- package/lib/tree-select/style/style.min.css +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/upload/style/style.css +30 -41
- package/lib/upload/style/style.min.css +1 -1
- package/lib/vxe-button/style/style.css +42 -72
- package/lib/vxe-button/style/style.min.css +1 -1
- package/lib/vxe-calendar/style/style.css +2 -2
- package/lib/vxe-calendar/style/style.min.css +1 -1
- package/lib/vxe-cascader/style/style.css +38 -40
- package/lib/vxe-cascader/style/style.min.css +1 -1
- package/lib/vxe-checkbox/style/style.css +22 -28
- package/lib/vxe-checkbox/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-context-menu/style/style.css +14 -13
- package/lib/vxe-context-menu/style/style.min.css +1 -1
- package/lib/vxe-form/style/style.css +49 -95
- package/lib/vxe-form/style/style.min.css +1 -1
- package/lib/vxe-icon-picker/style/style.css +49 -23
- package/lib/vxe-icon-picker/style/style.min.css +1 -1
- package/lib/vxe-list/style/style.css +26 -28
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-menu/style/style.css +22 -30
- package/lib/vxe-menu/style/style.min.css +1 -1
- package/lib/vxe-radio/style/style.css +22 -30
- package/lib/vxe-radio/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/lib/vxe-select/style/style.css +42 -59
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +26 -25
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +27 -31
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/lib/vxe-upload/style/style.css +30 -41
- package/lib/vxe-upload/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/date-picker/src/date-picker.ts +1 -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 +56 -137
- package/styles/components/cascader.scss +33 -34
- package/styles/components/checkbox-button.scss +66 -14
- package/styles/components/checkbox.scss +22 -24
- package/styles/components/context-menu.scss +15 -13
- package/styles/components/form.scss +49 -120
- package/styles/components/icon-picker.scss +56 -27
- package/styles/components/link.scss +1 -1
- package/styles/components/list.scss +24 -26
- package/styles/components/menu.scss +23 -26
- package/styles/components/radio-button.scss +66 -14
- package/styles/components/radio.scss +22 -23
- package/styles/components/select.scss +36 -62
- package/styles/components/tree-select.scss +26 -27
- package/styles/components/tree.scss +16 -14
- package/styles/components/upload.scss +28 -30
- package/styles/helpers/baseMixin.scss +2 -2
- package/styles/helpers/themeStatus.scss +58 -0
- package/styles/theme/base.scss +11 -3
- 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 +28 -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.1782810544397.ttf} +0 -0
- /package/es/icon/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/es/icon/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
- /package/es/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/es/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/es/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/lib/icon/style/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
- /package/lib/{iconfont.1782658257467.ttf → iconfont.1782810544397.ttf} +0 -0
- /package/lib/{iconfont.1782658257467.woff → iconfont.1782810544397.woff} +0 -0
- /package/lib/{iconfont.1782658257467.woff2 → iconfont.1782810544397.woff2} +0 -0
|
@@ -16,7 +16,7 @@ import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types
|
|
|
16
16
|
|
|
17
17
|
const { warnLog, errLog } = createComponentLog('date-picker')
|
|
18
18
|
|
|
19
|
-
const defaultMaskPlaceholder = '
|
|
19
|
+
const defaultMaskPlaceholder = '_'
|
|
20
20
|
const maskedTypes = ['year', 'month', 'date', 'datetime', 'time']
|
|
21
21
|
const inputMaskedKeys = ['y', 'M', 'd', 'H', 'm', 'n', 's']
|
|
22
22
|
const parseInputKayMaps: Record<string, boolean> = {}
|
|
@@ -2,13 +2,36 @@ import { PropType, CreateElement, VNode } from 'vue'
|
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
4
|
import { getConfig, getIcon, getI18n, globalEvents, renderer, createEvent, globalMixins, GLOBAL_EVENT_KEYS, renderEmptyElement } from '../../ui'
|
|
5
|
-
import { getEventTargetNode, updatePanelPlacement } from '../../ui/src/dom'
|
|
5
|
+
import { getEventTargetNode, toCssUnit, updatePanelPlacement } from '../../ui/src/dom'
|
|
6
6
|
import { getLastZIndex, nextZIndex, getFuncText } from '../../ui/src/utils'
|
|
7
7
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
8
|
+
import VxeInputComponent from '../../input/src/input'
|
|
8
9
|
|
|
9
|
-
import type { VxeIconPickerPropTypes, IconPickerInternalData, ValueOf, IconPickerReactData, VxeInputConstructor, VxeComponentSizeType, VxeIconPickerEmits, VxeIconPickerDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods } from '../../../types'
|
|
10
|
+
import type { VxeIconPickerPropTypes, IconPickerInternalData, ValueOf, IconPickerReactData, VxeInputConstructor, VxeComponentSizeType, VxeIconPickerEmits, VxeIconPickerDefines, VxeDrawerConstructor, VxeDrawerMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeComponentStyleType } from '../../../types'
|
|
10
11
|
import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
|
|
11
12
|
|
|
13
|
+
function createReactData (): IconPickerReactData {
|
|
14
|
+
return {
|
|
15
|
+
initialized: false,
|
|
16
|
+
selectIcon: '',
|
|
17
|
+
panelIndex: 0,
|
|
18
|
+
panelStyle: {},
|
|
19
|
+
panelPlacement: null,
|
|
20
|
+
visiblePanel: false,
|
|
21
|
+
isAniVisible: false,
|
|
22
|
+
isActivated: false,
|
|
23
|
+
searchValue: '',
|
|
24
|
+
iconGroups: []
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function createInternalData (): IconPickerInternalData {
|
|
29
|
+
return {
|
|
30
|
+
fullList: []
|
|
31
|
+
// hpTimeout: undefined
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
12
35
|
export default /* define-vxe-component start */ defineVxeComponent({
|
|
13
36
|
name: 'VxeIconPicker',
|
|
14
37
|
mixins: [
|
|
@@ -44,6 +67,11 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
44
67
|
type: Boolean as PropType<VxeIconPickerPropTypes.Disabled>,
|
|
45
68
|
default: null
|
|
46
69
|
},
|
|
70
|
+
filterable: {
|
|
71
|
+
type: Boolean as PropType<VxeIconPickerPropTypes.Filterable>,
|
|
72
|
+
default: () => getConfig().iconPicker.filterable
|
|
73
|
+
},
|
|
74
|
+
filterConfig: Object as PropType<VxeIconPickerPropTypes.FilterConfig>,
|
|
47
75
|
icons: Array as PropType<VxeIconPickerPropTypes.Icons>,
|
|
48
76
|
placement: String as PropType<VxeIconPickerPropTypes.Placement>,
|
|
49
77
|
popupConfig: Object as PropType<VxeIconPickerPropTypes.PopupConfig>,
|
|
@@ -77,23 +105,13 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
77
105
|
}
|
|
78
106
|
},
|
|
79
107
|
data () {
|
|
80
|
-
const reactData
|
|
81
|
-
initialized: false,
|
|
82
|
-
selectIcon: '',
|
|
83
|
-
panelIndex: 0,
|
|
84
|
-
panelStyle: {},
|
|
85
|
-
panelPlacement: null,
|
|
86
|
-
visiblePanel: false,
|
|
87
|
-
isAniVisible: false,
|
|
88
|
-
isActivated: false
|
|
89
|
-
}
|
|
90
|
-
const internalData: IconPickerInternalData = {
|
|
91
|
-
hpTimeout: undefined
|
|
92
|
-
}
|
|
108
|
+
const reactData = createReactData()
|
|
93
109
|
return {
|
|
110
|
+
...({} as {
|
|
111
|
+
internalData: IconPickerInternalData,
|
|
112
|
+
}),
|
|
94
113
|
xID: XEUtils.uniqueId(),
|
|
95
|
-
reactData
|
|
96
|
-
internalData
|
|
114
|
+
reactData
|
|
97
115
|
}
|
|
98
116
|
},
|
|
99
117
|
computed: {
|
|
@@ -171,6 +189,21 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
171
189
|
}
|
|
172
190
|
return getI18n('vxe.base.pleaseSelect')
|
|
173
191
|
},
|
|
192
|
+
computePanelStyle () {
|
|
193
|
+
const $xeIconPicker = this
|
|
194
|
+
|
|
195
|
+
const popupOpts = $xeIconPicker.computePopupOpts
|
|
196
|
+
const { chunkSize, height, maxHeight } = popupOpts
|
|
197
|
+
const stys: VxeComponentStyleType = {
|
|
198
|
+
'--vxe-ui-icon-picker-item-width': `${100 / (chunkSize || 4)}%`
|
|
199
|
+
}
|
|
200
|
+
if (height) {
|
|
201
|
+
stys['--vxe-ui-icon-picker-panel-height'] = toCssUnit(height)
|
|
202
|
+
} else if (maxHeight) {
|
|
203
|
+
stys['--vxe-ui-icon-picker-panel-max-height'] = toCssUnit(maxHeight)
|
|
204
|
+
}
|
|
205
|
+
return stys
|
|
206
|
+
},
|
|
174
207
|
computeIconList () {
|
|
175
208
|
const $xeIconPicker = this
|
|
176
209
|
const props = $xeIconPicker
|
|
@@ -193,6 +226,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
193
226
|
}
|
|
194
227
|
})
|
|
195
228
|
},
|
|
229
|
+
computeFilterOpts () {
|
|
230
|
+
const $xeIconPicker = this
|
|
231
|
+
const props = $xeIconPicker
|
|
232
|
+
|
|
233
|
+
return Object.assign({}, getConfig().iconPicker.filterConfig, props.filterConfig)
|
|
234
|
+
},
|
|
196
235
|
computePopupOpts () {
|
|
197
236
|
const $xeIconPicker = this
|
|
198
237
|
const props = $xeIconPicker
|
|
@@ -312,6 +351,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
312
351
|
const panelElem = $xeIconPicker.$refs.refOptionPanel as HTMLDivElement
|
|
313
352
|
const btnTransfer = $xeIconPicker.computeBtnTransfer
|
|
314
353
|
const popupOpts = $xeIconPicker.computePopupOpts
|
|
354
|
+
const { width } = popupOpts
|
|
315
355
|
const handleStyle = () => {
|
|
316
356
|
const ppObj = updatePanelPlacement(targetElem, panelElem, {
|
|
317
357
|
placement: popupOpts.placement || placement,
|
|
@@ -321,6 +361,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
321
361
|
const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
|
|
322
362
|
zIndex: panelIndex
|
|
323
363
|
})
|
|
364
|
+
if (width) {
|
|
365
|
+
Object.assign(panelStyle, {
|
|
366
|
+
width: toCssUnit(width),
|
|
367
|
+
minWidth: undefined
|
|
368
|
+
})
|
|
369
|
+
}
|
|
324
370
|
reactData.panelStyle = panelStyle
|
|
325
371
|
reactData.panelPlacement = ppObj.placement
|
|
326
372
|
}
|
|
@@ -369,6 +415,30 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
369
415
|
reactData.isAniVisible = false
|
|
370
416
|
}, 350)
|
|
371
417
|
},
|
|
418
|
+
handleData () {
|
|
419
|
+
const $xeIconPicker = this
|
|
420
|
+
const props = $xeIconPicker
|
|
421
|
+
const reactData = $xeIconPicker.reactData
|
|
422
|
+
|
|
423
|
+
const { value: modelValue } = props
|
|
424
|
+
const { searchValue } = reactData
|
|
425
|
+
const filterOpts = $xeIconPicker.computeFilterOpts
|
|
426
|
+
const { filterMethod } = filterOpts
|
|
427
|
+
const popupOpts = $xeIconPicker.computePopupOpts
|
|
428
|
+
const { chunkSize } = popupOpts
|
|
429
|
+
const iconList = $xeIconPicker.computeIconList
|
|
430
|
+
let visibleList = iconList
|
|
431
|
+
if (searchValue) {
|
|
432
|
+
const searchTxt = `${searchValue}`.toLowerCase()
|
|
433
|
+
visibleList = iconList.filter(item => {
|
|
434
|
+
if (filterMethod) {
|
|
435
|
+
return filterMethod({ option: item, value: modelValue, searchValue: searchTxt, $iconPicker: $xeIconPicker })
|
|
436
|
+
}
|
|
437
|
+
return (item.title && `${item.title}`.toLowerCase().indexOf(searchTxt) > -1) || (item.icon && `${item.icon}`.indexOf(searchTxt) > -1)
|
|
438
|
+
})
|
|
439
|
+
}
|
|
440
|
+
reactData.iconGroups = XEUtils.chunk(visibleList, chunkSize || 4)
|
|
441
|
+
},
|
|
372
442
|
changeEvent (evnt: Event, selectValue: any) {
|
|
373
443
|
const $xeIconPicker = this
|
|
374
444
|
const props = $xeIconPicker
|
|
@@ -537,6 +607,28 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
537
607
|
$xeIconPicker.changeEvent(evnt, value)
|
|
538
608
|
$xeIconPicker.hideOptionPanel()
|
|
539
609
|
},
|
|
610
|
+
modelSearchEvent (value: string) {
|
|
611
|
+
const $xeIconPicker = this
|
|
612
|
+
const reactData = $xeIconPicker.reactData
|
|
613
|
+
|
|
614
|
+
reactData.searchValue = value
|
|
615
|
+
},
|
|
616
|
+
focusSearchEvent () {
|
|
617
|
+
const $xeIconPicker = this
|
|
618
|
+
const reactData = $xeIconPicker.reactData
|
|
619
|
+
|
|
620
|
+
reactData.isActivated = true
|
|
621
|
+
},
|
|
622
|
+
handleSearchEvent () {
|
|
623
|
+
const $xeIconPicker = this
|
|
624
|
+
|
|
625
|
+
$xeIconPicker.handleData()
|
|
626
|
+
},
|
|
627
|
+
triggerSearchEvent: XEUtils.debounce(function (this: any) {
|
|
628
|
+
const $xeIconPicker = this
|
|
629
|
+
|
|
630
|
+
$xeIconPicker.handleSearchEvent()
|
|
631
|
+
}, 350, { trailing: true }),
|
|
540
632
|
|
|
541
633
|
//
|
|
542
634
|
// Render
|
|
@@ -547,45 +639,48 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
547
639
|
const reactData = $xeIconPicker.reactData
|
|
548
640
|
|
|
549
641
|
const { showIconTitle } = props
|
|
550
|
-
const { selectIcon } = reactData
|
|
551
|
-
const iconGroupList = $xeIconPicker.computeIconGroupList
|
|
552
|
-
const isDisabled = $xeIconPicker.computeIsDisabled
|
|
642
|
+
const { selectIcon, iconGroups } = reactData
|
|
553
643
|
|
|
554
644
|
return h('div', {
|
|
555
645
|
class: 'vxe-ico-picker--list-wrapper'
|
|
556
|
-
},
|
|
646
|
+
}, iconGroups.map(list => {
|
|
557
647
|
return h('div', {
|
|
558
648
|
class: 'vxe-ico-picker--list'
|
|
559
649
|
}, list.map(item => {
|
|
560
650
|
const { iconRender } = item
|
|
561
651
|
const compConf = iconRender ? renderer.get(iconRender.name) : null
|
|
562
|
-
const
|
|
652
|
+
const iconMethod = compConf ? compConf.renderIconPickerOptionIcon : null
|
|
563
653
|
return h('div', {
|
|
564
654
|
class: ['vxe-ico-picker--item', {
|
|
565
655
|
'is--selected': selectIcon === item.icon
|
|
566
|
-
}]
|
|
567
|
-
on: {
|
|
568
|
-
click (evnt: MouseEvent) {
|
|
569
|
-
if (!isDisabled) {
|
|
570
|
-
$xeIconPicker.handleClickIconEvent(evnt, item)
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
}
|
|
656
|
+
}]
|
|
574
657
|
}, [
|
|
575
658
|
h('div', {
|
|
576
|
-
class: 'vxe-ico-picker--item-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
659
|
+
class: 'vxe-ico-picker--item-inner',
|
|
660
|
+
on: {
|
|
661
|
+
click (evnt: MouseEvent) {
|
|
662
|
+
const isDisabled = $xeIconPicker.computeIsDisabled
|
|
663
|
+
if (!isDisabled) {
|
|
664
|
+
$xeIconPicker.handleClickIconEvent(evnt, item)
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
}, [
|
|
669
|
+
h('div', {
|
|
670
|
+
class: 'vxe-ico-picker--item-icon'
|
|
671
|
+
}, iconMethod && iconRender
|
|
672
|
+
? getSlotVNs(iconMethod(h, iconRender, { $iconPicker: $xeIconPicker, option: item }))
|
|
673
|
+
: [
|
|
674
|
+
h('i', {
|
|
675
|
+
class: item.icon || ''
|
|
676
|
+
})
|
|
677
|
+
]),
|
|
678
|
+
showIconTitle
|
|
679
|
+
? h('div', {
|
|
680
|
+
class: 'vxe-ico-picker--item-title'
|
|
681
|
+
}, `${item.title || ''}`)
|
|
682
|
+
: renderEmptyElement($xeIconPicker)
|
|
683
|
+
])
|
|
589
684
|
])
|
|
590
685
|
}))
|
|
591
686
|
}))
|
|
@@ -621,13 +716,14 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
621
716
|
const props = $xeIconPicker
|
|
622
717
|
const reactData = $xeIconPicker.reactData
|
|
623
718
|
|
|
624
|
-
const { className, clearable } = props
|
|
719
|
+
const { className, clearable, filterable } = props
|
|
625
720
|
const { initialized, isActivated, isAniVisible, visiblePanel, selectIcon } = reactData
|
|
626
721
|
const vSize = $xeIconPicker.computeSize
|
|
627
722
|
const isDisabled = $xeIconPicker.computeIsDisabled
|
|
628
723
|
const btnTransfer = $xeIconPicker.computeBtnTransfer
|
|
629
724
|
const formReadonly = $xeIconPicker.computeFormReadonly
|
|
630
725
|
const inpPlaceholder = $xeIconPicker.computeInpPlaceholder
|
|
726
|
+
const panelStyle = $xeIconPicker.computePanelStyle
|
|
631
727
|
const popupOpts = $xeIconPicker.computePopupOpts
|
|
632
728
|
const ppClassName = popupOpts.className || props.popupClassName
|
|
633
729
|
|
|
@@ -707,8 +803,34 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
707
803
|
}, [
|
|
708
804
|
initialized && (visiblePanel || isAniVisible)
|
|
709
805
|
? h('div', {
|
|
710
|
-
class: 'vxe-ico-picker--panel-wrapper'
|
|
806
|
+
class: 'vxe-ico-picker--panel-wrapper',
|
|
807
|
+
style: panelStyle
|
|
711
808
|
}, [
|
|
809
|
+
filterable
|
|
810
|
+
? h('div', {
|
|
811
|
+
class: 'vxe-ico-picker--panel-search'
|
|
812
|
+
}, [
|
|
813
|
+
h(VxeInputComponent, {
|
|
814
|
+
ref: 'refInpSearch',
|
|
815
|
+
class: 'vxe-ico-picker-search--input',
|
|
816
|
+
props: {
|
|
817
|
+
value: reactData.searchValue,
|
|
818
|
+
type: 'text',
|
|
819
|
+
clearable: true,
|
|
820
|
+
disabled: false,
|
|
821
|
+
readonly: false,
|
|
822
|
+
placeholder: getI18n('vxe.iconPicker.search'),
|
|
823
|
+
prefixIcon: getIcon().INPUT_SEARCH
|
|
824
|
+
},
|
|
825
|
+
on: {
|
|
826
|
+
'model-value': $xeIconPicker.modelSearchEvent,
|
|
827
|
+
focus: $xeIconPicker.focusSearchEvent,
|
|
828
|
+
change: $xeIconPicker.triggerSearchEvent,
|
|
829
|
+
search: $xeIconPicker.triggerSearchEvent
|
|
830
|
+
}
|
|
831
|
+
})
|
|
832
|
+
])
|
|
833
|
+
: renderEmptyElement($xeIconPicker),
|
|
712
834
|
$xeIconPicker.renderIconWrapper(h)
|
|
713
835
|
])
|
|
714
836
|
: renderEmptyElement($xeIconPicker)
|
|
@@ -722,6 +844,11 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
722
844
|
const reactData = $xeIconPicker.reactData
|
|
723
845
|
|
|
724
846
|
reactData.selectIcon = `${val || ''}`
|
|
847
|
+
},
|
|
848
|
+
computeIconList () {
|
|
849
|
+
const $xeIconPicker = this
|
|
850
|
+
|
|
851
|
+
$xeIconPicker.handleData()
|
|
725
852
|
}
|
|
726
853
|
},
|
|
727
854
|
created () {
|
|
@@ -729,7 +856,11 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
729
856
|
const props = $xeIconPicker
|
|
730
857
|
const reactData = $xeIconPicker.reactData
|
|
731
858
|
|
|
859
|
+
$xeIconPicker.internalData = createInternalData()
|
|
860
|
+
|
|
732
861
|
reactData.selectIcon = `${props.value || ''}`
|
|
862
|
+
$xeIconPicker.handleData()
|
|
863
|
+
|
|
733
864
|
globalEvents.on($xeIconPicker, 'mousewheel', $xeIconPicker.handleGlobalMousewheelEvent)
|
|
734
865
|
globalEvents.on($xeIconPicker, 'mousedown', $xeIconPicker.handleGlobalMousedownEvent)
|
|
735
866
|
globalEvents.on($xeIconPicker, 'keydown', $xeIconPicker.handleGlobalKeydownEvent)
|
|
@@ -737,6 +868,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
737
868
|
},
|
|
738
869
|
beforeDestroy () {
|
|
739
870
|
const $xeIconPicker = this
|
|
871
|
+
const reactData = $xeIconPicker.reactData
|
|
872
|
+
const internalData = $xeIconPicker.internalData
|
|
740
873
|
|
|
741
874
|
const panelElem = $xeIconPicker.$refs.refOptionPanel as HTMLElement | undefined
|
|
742
875
|
if (panelElem && panelElem.parentNode) {
|
|
@@ -746,6 +879,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
746
879
|
globalEvents.off($xeIconPicker, 'mousedown')
|
|
747
880
|
globalEvents.off($xeIconPicker, 'keydown')
|
|
748
881
|
globalEvents.off($xeIconPicker, 'blur')
|
|
882
|
+
XEUtils.assign(reactData, createReactData())
|
|
883
|
+
XEUtils.assign(internalData, createInternalData())
|
|
749
884
|
},
|
|
750
885
|
render (this: any, h) {
|
|
751
886
|
return this.renderVN(h)
|
|
@@ -1343,13 +1343,19 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1343
1343
|
},
|
|
1344
1344
|
handleRowClickEvent (evnt: MouseEvent, row: any) {
|
|
1345
1345
|
const $xeList = this
|
|
1346
|
+
const props = $xeList
|
|
1346
1347
|
const reactData = $xeList.reactData
|
|
1347
1348
|
const internalData = $xeList.internalData
|
|
1348
1349
|
|
|
1350
|
+
const { showRadio, showCheckbox } = props
|
|
1349
1351
|
const { currentRow } = internalData
|
|
1352
|
+
const radioOpts = $xeList.computeRadioOpts
|
|
1353
|
+
const checkboxOpts = $xeList.computeCheckboxOpts
|
|
1350
1354
|
const rowOpts = $xeList.computeRowOpts
|
|
1351
1355
|
const { isCurrent } = rowOpts
|
|
1352
1356
|
let triggerCurrent = false
|
|
1357
|
+
let triggerRadio = false
|
|
1358
|
+
let triggerCheckbox = false
|
|
1353
1359
|
if (isCurrent) {
|
|
1354
1360
|
triggerCurrent = true
|
|
1355
1361
|
$xeList.changeCurrentEvent(evnt, row)
|
|
@@ -1357,7 +1363,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1357
1363
|
internalData.currentRow = null
|
|
1358
1364
|
reactData.currRowFlag++
|
|
1359
1365
|
}
|
|
1360
|
-
|
|
1366
|
+
if (showRadio && radioOpts.trigger === 'row') {
|
|
1367
|
+
triggerRadio = true
|
|
1368
|
+
$xeList.changeRadioEvent(evnt, row)
|
|
1369
|
+
}
|
|
1370
|
+
if (showCheckbox && checkboxOpts.trigger === 'row') {
|
|
1371
|
+
triggerCheckbox = true
|
|
1372
|
+
$xeList.changeCheckboxEvent(evnt, row)
|
|
1373
|
+
}
|
|
1374
|
+
$xeList.dispatchEvent('row-click', { row, triggerCurrent, triggerRadio, triggerCheckbox }, evnt)
|
|
1361
1375
|
},
|
|
1362
1376
|
handleRowDblclickEvent (evnt: MouseEvent, row: any) {
|
|
1363
1377
|
const $xeList = this
|
|
@@ -231,7 +231,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
231
231
|
}
|
|
232
232
|
}),
|
|
233
233
|
h('span', {
|
|
234
|
-
class: 'vxe-radio--label'
|
|
234
|
+
class: ['vxe-radio--label', {
|
|
235
|
+
'is--disabled': isDisabled
|
|
236
|
+
}]
|
|
235
237
|
}, defaultSlot ? defaultSlot({}) : getFuncText(content))
|
|
236
238
|
])
|
|
237
239
|
}
|