vxe-table 4.1.20 → 4.2.0-beta.2
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/README.en.md +2 -4
- package/README.md +2 -3
- package/README.zh-TW.md +2 -4
- package/es/button/index.js +1 -1
- package/es/checkbox/index.js +1 -1
- package/es/checkbox-group/index.js +1 -1
- package/es/colgroup/index.js +3 -2
- package/es/column/index.js +3 -2
- package/es/edit/src/hook.js +2 -1
- package/es/export/index.js +2 -2
- package/es/export/src/hook.js +2 -1
- package/es/export/src/util.js +3 -5
- package/es/filter/index.js +1 -1
- package/es/filter/src/hook.js +17 -10
- package/es/footer/index.js +1 -1
- package/es/footer/src/footer.js +3 -2
- package/es/form/index.js +1 -1
- package/es/form/src/form-gather.js +3 -3
- package/es/form/src/form-item.js +4 -4
- package/es/form/src/form.js +36 -43
- package/es/form/src/render.js +15 -10
- package/es/form/src/util.js +6 -0
- package/es/form-gather/index.js +1 -1
- package/es/form-item/index.js +1 -1
- package/es/grid/index.js +1 -1
- package/es/grid/src/grid.js +2 -1
- package/es/header/index.js +1 -1
- package/es/header/src/header.js +1 -1
- package/es/input/index.js +1 -1
- package/es/input/src/date.js +41 -0
- package/es/input/src/input.js +4 -51
- package/es/input/src/number.js +10 -0
- package/es/list/index.js +1 -1
- package/es/menu/index.js +1 -1
- package/es/modal/index.js +1 -1
- package/es/modal/src/modal.js +2 -1
- package/es/optgroup/index.js +1 -1
- package/es/option/index.js +1 -1
- package/es/pager/index.js +1 -1
- package/es/pager/src/pager.js +13 -2
- package/es/pulldown/index.js +1 -1
- package/es/radio/index.js +1 -1
- package/es/radio-button/index.js +1 -1
- package/es/radio-group/index.js +1 -1
- package/es/select/index.js +1 -1
- package/es/select/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/switch/index.js +1 -1
- package/es/table/index.js +1 -1
- package/es/table/src/body.js +32 -11
- package/es/table/src/cell.js +3 -3
- package/es/table/src/column.js +3 -1
- package/es/table/src/columnInfo.js +5 -4
- package/es/table/src/emits.js +5 -1
- package/es/table/src/props.js +5 -2
- package/es/table/src/table.js +120 -86
- package/es/table/src/util.js +5 -3
- package/es/textarea/index.js +1 -1
- package/es/toolbar/index.js +1 -1
- package/es/toolbar/src/toolbar.js +2 -1
- package/es/tools/dom.js +9 -0
- package/es/tools/log.js +13 -0
- package/es/tools/utils.js +0 -12
- package/es/tooltip/index.js +1 -1
- package/es/tooltip/src/tooltip.js +85 -45
- package/es/tooltip/style.css +1 -1
- package/es/v-x-e-table/index.js +1 -0
- package/es/v-x-e-table/src/conf.js +12 -7
- package/es/v-x-e-table/src/interceptor.js +1 -1
- package/es/v-x-e-table/src/renderer.js +2 -1
- package/es/v-x-e-table/src/store.js +1 -1
- package/helper/vetur/attributes.json +31 -11
- package/helper/vetur/tags.json +8 -3
- package/lib/button/index.js +3 -2
- package/lib/button/index.min.js +1 -1
- package/lib/checkbox/index.js +3 -2
- package/lib/checkbox/index.min.js +1 -1
- package/lib/checkbox-group/index.js +3 -2
- package/lib/checkbox-group/index.min.js +1 -1
- package/lib/colgroup/index.js +6 -4
- package/lib/colgroup/index.min.js +1 -1
- package/lib/column/index.js +6 -4
- package/lib/column/index.min.js +1 -1
- package/lib/edit/src/hook.js +7 -5
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/index.js +5 -4
- package/lib/export/index.min.js +1 -1
- package/lib/export/src/hook.js +14 -12
- package/lib/export/src/hook.min.js +1 -1
- package/lib/export/src/util.js +7 -9
- package/lib/export/src/util.min.js +1 -1
- package/lib/filter/index.js +3 -2
- package/lib/filter/index.min.js +1 -1
- package/lib/filter/src/hook.js +24 -13
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/footer/index.js +3 -2
- package/lib/footer/index.min.js +1 -1
- package/lib/footer/src/footer.js +7 -3
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/index.js +3 -2
- package/lib/form/index.min.js +1 -1
- package/lib/form/src/form-gather.js +3 -3
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +3 -3
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +45 -58
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +24 -10
- package/lib/form/src/render.min.js +1 -1
- package/lib/form/src/util.js +11 -0
- package/lib/form/src/util.min.js +1 -1
- package/lib/form-gather/index.js +3 -2
- package/lib/form-gather/index.min.js +1 -1
- package/lib/form-item/index.js +3 -2
- package/lib/form-item/index.min.js +1 -1
- package/lib/grid/index.js +3 -2
- package/lib/grid/index.min.js +1 -1
- package/lib/grid/src/grid.js +16 -14
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/index.js +3 -2
- package/lib/header/index.min.js +1 -1
- package/lib/header/src/header.js +1 -1
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +584 -415
- package/lib/index.umd.min.js +1 -2
- package/lib/input/index.js +3 -2
- package/lib/input/index.min.js +1 -1
- package/lib/input/src/date.js +56 -0
- package/lib/input/src/date.min.js +1 -0
- package/lib/input/src/input.js +13 -67
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/src/number.js +23 -0
- package/lib/input/src/number.min.js +1 -0
- package/lib/list/index.js +3 -2
- package/lib/list/index.min.js +1 -1
- package/lib/menu/index.js +3 -2
- package/lib/menu/index.min.js +1 -1
- package/lib/modal/index.js +3 -2
- package/lib/modal/index.min.js +1 -1
- package/lib/modal/src/modal.js +3 -1
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/optgroup/index.js +3 -2
- package/lib/optgroup/index.min.js +1 -1
- package/lib/option/index.js +3 -2
- package/lib/option/index.min.js +1 -1
- package/lib/pager/index.js +3 -2
- package/lib/pager/index.min.js +1 -1
- package/lib/pager/src/pager.js +15 -1
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/pulldown/index.js +3 -2
- package/lib/pulldown/index.min.js +1 -1
- package/lib/radio/index.js +3 -2
- package/lib/radio/index.min.js +1 -1
- package/lib/radio-button/index.js +3 -2
- package/lib/radio-button/index.min.js +1 -1
- package/lib/radio-group/index.js +3 -2
- package/lib/radio-group/index.min.js +1 -1
- package/lib/select/index.js +3 -2
- package/lib/select/index.min.js +1 -1
- package/lib/select/style/style.css +1 -1
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/switch/index.js +3 -2
- package/lib/switch/index.min.js +1 -1
- package/lib/table/index.js +3 -2
- package/lib/table/index.min.js +1 -1
- package/lib/table/src/body.js +32 -11
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +3 -3
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +3 -1
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +13 -9
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/props.js +5 -2
- package/lib/table/src/table.js +187 -148
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +5 -3
- package/lib/table/src/util.min.js +1 -1
- package/lib/textarea/index.js +3 -2
- package/lib/textarea/index.min.js +1 -1
- package/lib/toolbar/index.js +3 -2
- package/lib/toolbar/index.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +4 -2
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/tools/dom.js +12 -1
- package/lib/tools/dom.min.js +1 -1
- package/lib/tools/log.js +29 -0
- package/lib/tools/log.min.js +1 -0
- package/lib/tools/utils.js +0 -20
- package/lib/tools/utils.min.js +1 -1
- package/lib/tooltip/index.js +3 -3
- package/lib/tooltip/index.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +114 -60
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +1 -1
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/v-x-e-table/index.js +1 -0
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +12 -7
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/interceptor.js +3 -3
- package/lib/v-x-e-table/src/interceptor.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +3 -1
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +2 -2
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/package.json +4 -4
- package/packages/button/index.ts +2 -1
- package/packages/checkbox/index.ts +2 -1
- package/packages/checkbox-group/index.ts +2 -1
- package/packages/colgroup/index.ts +4 -2
- package/packages/column/index.ts +4 -2
- package/packages/edit/src/hook.ts +2 -1
- package/packages/export/index.ts +3 -2
- package/packages/export/src/hook.ts +2 -1
- package/packages/export/src/util.ts +4 -6
- package/packages/filter/index.ts +2 -1
- package/packages/filter/src/hook.ts +17 -10
- package/packages/footer/index.ts +2 -1
- package/packages/footer/src/footer.ts +3 -2
- package/packages/form/index.ts +2 -1
- package/packages/form/src/form-gather.ts +3 -3
- package/packages/form/src/form-item.ts +4 -4
- package/packages/form/src/form.ts +38 -46
- package/packages/form/src/render.ts +8 -6
- package/packages/form/src/util.ts +8 -1
- package/packages/form-gather/index.ts +2 -1
- package/packages/form-item/index.ts +2 -1
- package/packages/grid/index.ts +2 -1
- package/packages/grid/src/grid.ts +2 -1
- package/packages/header/index.ts +2 -1
- package/packages/header/src/header.ts +1 -1
- package/packages/input/index.ts +2 -1
- package/packages/input/src/date.ts +42 -0
- package/packages/input/src/input.ts +3 -51
- package/packages/input/src/number.ts +12 -0
- package/packages/list/index.ts +2 -1
- package/packages/menu/index.ts +2 -1
- package/packages/modal/index.ts +2 -1
- package/packages/modal/src/modal.ts +2 -1
- package/packages/optgroup/index.ts +2 -1
- package/packages/option/index.ts +2 -1
- package/packages/pager/index.ts +2 -1
- package/packages/pager/src/pager.ts +17 -3
- package/packages/pulldown/index.ts +2 -1
- package/packages/radio/index.ts +2 -1
- package/packages/radio-button/index.ts +2 -1
- package/packages/radio-group/index.ts +2 -1
- package/packages/select/index.ts +2 -1
- package/packages/switch/index.ts +2 -1
- package/packages/table/index.ts +2 -1
- package/packages/table/src/body.ts +33 -12
- package/packages/table/src/cell.ts +3 -3
- package/packages/table/src/column.ts +3 -1
- package/packages/table/src/columnInfo.ts +5 -3
- package/packages/table/src/emits.ts +5 -1
- package/packages/table/src/props.ts +5 -2
- package/packages/table/src/table.ts +120 -84
- package/packages/table/src/util.ts +5 -3
- package/packages/textarea/index.ts +2 -1
- package/packages/toolbar/index.ts +2 -1
- package/packages/toolbar/src/toolbar.ts +2 -1
- package/packages/tools/dom.ts +11 -0
- package/packages/tools/log.ts +16 -0
- package/packages/tools/utils.ts +0 -15
- package/packages/tooltip/index.ts +2 -1
- package/packages/tooltip/src/tooltip.ts +87 -46
- package/packages/v-x-e-table/index.ts +1 -0
- package/packages/v-x-e-table/src/conf.ts +12 -7
- package/packages/v-x-e-table/src/interceptor.ts +1 -1
- package/packages/v-x-e-table/src/renderer.ts +2 -1
- package/packages/v-x-e-table/src/store.ts +1 -1
- package/styles/select.scss +1 -1
- package/styles/tooltip.scss +1 -1
- package/types/all.d.ts +2 -2
- package/types/button.d.ts +54 -54
- package/types/checkbox-group.d.ts +21 -21
- package/types/checkbox.d.ts +30 -30
- package/types/colgroup.d.ts +16 -16
- package/types/column.d.ts +172 -161
- package/types/component.d.ts +9 -9
- package/types/edit.d.ts +35 -35
- package/types/export.d.ts +101 -101
- package/types/filter.d.ts +19 -19
- package/types/footer.d.ts +1 -1
- package/types/form-gather.d.ts +3 -3
- package/types/form-item.d.ts +68 -66
- package/types/form.d.ts +136 -131
- package/types/grid.d.ts +257 -257
- package/types/header.d.ts +1 -1
- package/types/icon.d.ts +1 -1
- package/types/input.d.ts +162 -162
- package/types/keyboard.d.ts +6 -6
- package/types/list.d.ts +54 -54
- package/types/menu.d.ts +33 -33
- package/types/modal.d.ts +160 -160
- package/types/optgroup.d.ts +5 -5
- package/types/option.d.ts +19 -19
- package/types/pager.d.ts +65 -61
- package/types/plugins/pro.d.ts +245 -215
- package/types/pulldown.d.ts +36 -36
- package/types/radio-button.d.ts +25 -25
- package/types/radio-group.d.ts +20 -20
- package/types/radio.d.ts +27 -27
- package/types/select.d.ts +82 -82
- package/types/switch.d.ts +40 -40
- package/types/table.d.ts +1422 -1336
- package/types/textarea.d.ts +71 -71
- package/types/toolbar.d.ts +65 -65
- package/types/tooltip.d.ts +50 -44
- package/types/v-x-e-table/commands.d.ts +12 -12
- package/types/v-x-e-table/formats.d.ts +10 -10
- package/types/v-x-e-table/hooks.d.ts +9 -9
- package/types/v-x-e-table/index.d.ts +51 -43
- package/types/v-x-e-table/interceptor.d.ts +26 -26
- package/types/v-x-e-table/menus.d.ts +13 -13
- package/types/v-x-e-table/renderer.d.ts +128 -128
- package/types/v-x-e-table/setup.d.ts +55 -55
- package/types/validator.d.ts +28 -28
|
@@ -14,12 +14,13 @@ export default defineComponent({
|
|
|
14
14
|
size: { type: String as PropType<VxeTooltipPropTypes.Size>, default: () => GlobalConfig.tooltip.size || GlobalConfig.size },
|
|
15
15
|
trigger: { type: String as PropType<VxeTooltipPropTypes.Trigger>, default: () => GlobalConfig.tooltip.trigger },
|
|
16
16
|
theme: { type: String as PropType<VxeTooltipPropTypes.Theme>, default: () => GlobalConfig.tooltip.theme },
|
|
17
|
-
content: [String, Number] as PropType<VxeTooltipPropTypes.Content>,
|
|
17
|
+
content: { type: [String, Number] as PropType<VxeTooltipPropTypes.Content>, default: null },
|
|
18
|
+
useHTML: Boolean as PropType<VxeTooltipPropTypes.UseHTML>,
|
|
18
19
|
zIndex: [String, Number] as PropType<VxeTooltipPropTypes.ZIndex>,
|
|
19
20
|
isArrow: { type: Boolean as PropType<VxeTooltipPropTypes.IsArrow>, default: true },
|
|
20
21
|
enterable: Boolean as PropType<VxeTooltipPropTypes.Enterable>,
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
enterDelay: { type: Number as PropType<VxeTooltipPropTypes.EnterDelay>, default: () => GlobalConfig.tooltip.enterDelay },
|
|
23
|
+
leaveDelay: { type: Number as PropType<VxeTooltipPropTypes.LeaveDelay>, default: () => GlobalConfig.tooltip.leaveDelay }
|
|
23
24
|
},
|
|
24
25
|
emits: [
|
|
25
26
|
'update:modelValue'
|
|
@@ -34,9 +35,9 @@ export default defineComponent({
|
|
|
34
35
|
const reactData = reactive<TooltipReactData>({
|
|
35
36
|
target: null,
|
|
36
37
|
isUpdate: false,
|
|
37
|
-
isHover: false,
|
|
38
38
|
visible: false,
|
|
39
|
-
|
|
39
|
+
tipContent: '',
|
|
40
|
+
tipActive: false,
|
|
40
41
|
tipTarget: null,
|
|
41
42
|
tipZindex: 0,
|
|
42
43
|
tipStore: {
|
|
@@ -62,8 +63,6 @@ export default defineComponent({
|
|
|
62
63
|
|
|
63
64
|
let tooltipMethods = {} as TooltipMethods
|
|
64
65
|
|
|
65
|
-
let targetActive: boolean
|
|
66
|
-
|
|
67
66
|
const updateTipStyle = () => {
|
|
68
67
|
const { tipTarget, tipStore } = reactData
|
|
69
68
|
if (tipTarget) {
|
|
@@ -117,10 +116,10 @@ export default defineComponent({
|
|
|
117
116
|
|
|
118
117
|
const targetMouseleaveEvent = () => {
|
|
119
118
|
const { trigger, enterable, leaveDelay } = props
|
|
120
|
-
|
|
119
|
+
reactData.tipActive = false
|
|
121
120
|
if (enterable && trigger === 'hover') {
|
|
122
121
|
setTimeout(() => {
|
|
123
|
-
if (!reactData.
|
|
122
|
+
if (!reactData.tipActive) {
|
|
124
123
|
tooltipMethods.close()
|
|
125
124
|
}
|
|
126
125
|
}, leaveDelay)
|
|
@@ -130,32 +129,54 @@ export default defineComponent({
|
|
|
130
129
|
}
|
|
131
130
|
|
|
132
131
|
const wrapperMouseenterEvent = () => {
|
|
133
|
-
reactData.
|
|
132
|
+
reactData.tipActive = true
|
|
134
133
|
}
|
|
135
134
|
|
|
136
|
-
const wrapperMouseleaveEvent = (
|
|
137
|
-
const {
|
|
138
|
-
reactData.
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
135
|
+
const wrapperMouseleaveEvent = () => {
|
|
136
|
+
const { trigger, enterable, leaveDelay } = props
|
|
137
|
+
reactData.tipActive = false
|
|
138
|
+
if (enterable && trigger === 'hover') {
|
|
139
|
+
setTimeout(() => {
|
|
140
|
+
if (!reactData.tipActive) {
|
|
141
|
+
tooltipMethods.close()
|
|
142
|
+
}
|
|
143
|
+
}, leaveDelay)
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
const showTip = () => {
|
|
148
|
+
const { tipStore } = reactData
|
|
149
|
+
const el = refElem.value
|
|
150
|
+
if (el) {
|
|
151
|
+
const parentNode = el.parentNode
|
|
152
|
+
if (!parentNode) {
|
|
153
|
+
document.body.appendChild(el)
|
|
146
154
|
}
|
|
147
155
|
}
|
|
156
|
+
updateValue(true)
|
|
157
|
+
updateZindex()
|
|
158
|
+
tipStore.placement = 'top'
|
|
159
|
+
tipStore.style = { width: 'auto', left: 0, top: 0, zIndex: props.zIndex || reactData.tipZindex }
|
|
160
|
+
tipStore.arrowStyle = { left: '50%' }
|
|
161
|
+
return tooltipMethods.updatePlacement()
|
|
148
162
|
}
|
|
149
163
|
|
|
164
|
+
const showDelayTip = XEUtils.debounce(() => {
|
|
165
|
+
if (reactData.tipActive) {
|
|
166
|
+
showTip()
|
|
167
|
+
}
|
|
168
|
+
}, props.enterDelay, { leading: false, trailing: true })
|
|
169
|
+
|
|
150
170
|
tooltipMethods = {
|
|
151
171
|
dispatchEvent (type, params, evnt) {
|
|
152
172
|
emit(type, Object.assign({ $tooltip: $xetooltip, $event: evnt }, params))
|
|
153
173
|
},
|
|
154
|
-
open (target?: HTMLElement,
|
|
155
|
-
return tooltipMethods.toVisible(target || reactData.target as HTMLElement,
|
|
174
|
+
open (target?: HTMLElement, content?: VxeTooltipPropTypes.Content) {
|
|
175
|
+
return tooltipMethods.toVisible(target || reactData.target as HTMLElement, content)
|
|
156
176
|
},
|
|
157
177
|
close () {
|
|
158
178
|
reactData.tipTarget = null
|
|
179
|
+
reactData.tipActive = false
|
|
159
180
|
Object.assign(reactData.tipStore, {
|
|
160
181
|
style: {},
|
|
161
182
|
placement: '',
|
|
@@ -164,25 +185,19 @@ export default defineComponent({
|
|
|
164
185
|
updateValue(false)
|
|
165
186
|
return nextTick()
|
|
166
187
|
},
|
|
167
|
-
toVisible (target: HTMLElement,
|
|
168
|
-
targetActive = true
|
|
188
|
+
toVisible (target: HTMLElement, content?: VxeTooltipPropTypes.Content) {
|
|
169
189
|
if (target) {
|
|
170
|
-
const {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
if (
|
|
174
|
-
|
|
190
|
+
const { trigger, enterDelay } = props
|
|
191
|
+
reactData.tipActive = true
|
|
192
|
+
reactData.tipTarget = target
|
|
193
|
+
if (content) {
|
|
194
|
+
reactData.tipContent = content
|
|
175
195
|
}
|
|
176
|
-
if (
|
|
177
|
-
|
|
196
|
+
if (enterDelay && trigger === 'hover') {
|
|
197
|
+
showDelayTip()
|
|
198
|
+
} else {
|
|
199
|
+
return showTip()
|
|
178
200
|
}
|
|
179
|
-
reactData.tipTarget = target
|
|
180
|
-
updateValue(true)
|
|
181
|
-
updateZindex()
|
|
182
|
-
tipStore.placement = 'top'
|
|
183
|
-
tipStore.style = { width: 'auto', left: 0, top: 0, zIndex: props.zIndex || reactData.tipZindex }
|
|
184
|
-
tipStore.arrowStyle = { left: '50%' }
|
|
185
|
-
return tooltipMethods.updatePlacement()
|
|
186
201
|
}
|
|
187
202
|
return nextTick()
|
|
188
203
|
},
|
|
@@ -195,13 +210,19 @@ export default defineComponent({
|
|
|
195
210
|
return nextTick().then(updateTipStyle)
|
|
196
211
|
}
|
|
197
212
|
})
|
|
213
|
+
},
|
|
214
|
+
isActived () {
|
|
215
|
+
return reactData.tipActive
|
|
216
|
+
},
|
|
217
|
+
setActived (actived) {
|
|
218
|
+
reactData.tipActive = !!actived
|
|
198
219
|
}
|
|
199
220
|
}
|
|
200
221
|
|
|
201
222
|
Object.assign($xetooltip, tooltipMethods)
|
|
202
223
|
|
|
203
224
|
watch(() => props.content, () => {
|
|
204
|
-
reactData.
|
|
225
|
+
reactData.tipContent = props.content
|
|
205
226
|
})
|
|
206
227
|
|
|
207
228
|
watch(() => props.modelValue, () => {
|
|
@@ -221,7 +242,7 @@ export default defineComponent({
|
|
|
221
242
|
const wrapperElem = refElem.value
|
|
222
243
|
const parentNode = wrapperElem.parentNode
|
|
223
244
|
if (parentNode) {
|
|
224
|
-
reactData.
|
|
245
|
+
reactData.tipContent = content
|
|
225
246
|
reactData.tipZindex = nextZIndex()
|
|
226
247
|
XEUtils.arrayEach(wrapperElem.children, (elem, index) => {
|
|
227
248
|
if (index > 1) {
|
|
@@ -235,8 +256,8 @@ export default defineComponent({
|
|
|
235
256
|
const { target } = reactData
|
|
236
257
|
if (target) {
|
|
237
258
|
if (trigger === 'hover') {
|
|
238
|
-
target.onmouseleave = targetMouseleaveEvent
|
|
239
259
|
target.onmouseenter = targetMouseenterEvent
|
|
260
|
+
target.onmouseleave = targetMouseleaveEvent
|
|
240
261
|
} else if (trigger === 'click') {
|
|
241
262
|
target.onclick = clickEvent
|
|
242
263
|
}
|
|
@@ -268,9 +289,31 @@ export default defineComponent({
|
|
|
268
289
|
}
|
|
269
290
|
})
|
|
270
291
|
|
|
292
|
+
const renderContent = () => {
|
|
293
|
+
const { useHTML } = props
|
|
294
|
+
const { tipContent } = reactData
|
|
295
|
+
if (slots.content) {
|
|
296
|
+
return h('div', {
|
|
297
|
+
key: 1,
|
|
298
|
+
class: 'vxe-table--tooltip-content'
|
|
299
|
+
}, slots.content({}))
|
|
300
|
+
}
|
|
301
|
+
if (useHTML) {
|
|
302
|
+
return h('div', {
|
|
303
|
+
key: 2,
|
|
304
|
+
class: 'vxe-table--tooltip-content',
|
|
305
|
+
innerHTML: tipContent
|
|
306
|
+
})
|
|
307
|
+
}
|
|
308
|
+
return h('div', {
|
|
309
|
+
key: 3,
|
|
310
|
+
class: 'vxe-table--tooltip-content'
|
|
311
|
+
}, formatText(tipContent))
|
|
312
|
+
}
|
|
313
|
+
|
|
271
314
|
const renderVN = () => {
|
|
272
315
|
const { theme, isArrow, enterable } = props
|
|
273
|
-
const {
|
|
316
|
+
const { tipActive, visible, tipStore } = reactData
|
|
274
317
|
const vSize = computeSize.value
|
|
275
318
|
let ons
|
|
276
319
|
if (enterable) {
|
|
@@ -287,14 +330,12 @@ export default defineComponent({
|
|
|
287
330
|
'is--enterable': enterable,
|
|
288
331
|
'is--visible': visible,
|
|
289
332
|
'is--arrow': isArrow,
|
|
290
|
-
'is--
|
|
333
|
+
'is--actived': tipActive
|
|
291
334
|
}],
|
|
292
335
|
style: tipStore.style,
|
|
293
336
|
...ons
|
|
294
337
|
}, [
|
|
295
|
-
|
|
296
|
-
class: 'vxe-table--tooltip-content'
|
|
297
|
-
}, slots.content ? slots.content({}) : formatText(message)),
|
|
338
|
+
renderContent(),
|
|
298
339
|
h('div', {
|
|
299
340
|
class: 'vxe-table--tooltip-arrow',
|
|
300
341
|
style: tipStore.arrowStyle
|
|
@@ -28,6 +28,9 @@ const GlobalConfig: VXETableGlobalConfig = {
|
|
|
28
28
|
// emptyRender: {
|
|
29
29
|
// name: ''
|
|
30
30
|
// },
|
|
31
|
+
// rowConfig: {
|
|
32
|
+
// keyField: '_X_ID' // 行数据的唯一主键字段名
|
|
33
|
+
// },
|
|
31
34
|
radioConfig: {
|
|
32
35
|
// trigger: 'default'
|
|
33
36
|
strict: true
|
|
@@ -36,10 +39,9 @@ const GlobalConfig: VXETableGlobalConfig = {
|
|
|
36
39
|
// trigger: 'default',
|
|
37
40
|
strict: true
|
|
38
41
|
},
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
// },
|
|
42
|
+
tooltipConfig: {
|
|
43
|
+
enterable: true
|
|
44
|
+
},
|
|
43
45
|
validConfig: {
|
|
44
46
|
showMessage: true,
|
|
45
47
|
message: 'default'
|
|
@@ -51,7 +53,6 @@ const GlobalConfig: VXETableGlobalConfig = {
|
|
|
51
53
|
// storage: false,
|
|
52
54
|
// checkMethod () {}
|
|
53
55
|
// },
|
|
54
|
-
// rowId: '_X_ID', // 行数据的唯一主键字段名
|
|
55
56
|
sortConfig: {
|
|
56
57
|
// remote: false,
|
|
57
58
|
// trigger: 'default',
|
|
@@ -230,6 +231,7 @@ const GlobalConfig: VXETableGlobalConfig = {
|
|
|
230
231
|
// size: null,
|
|
231
232
|
trigger: 'hover',
|
|
232
233
|
theme: 'dark',
|
|
234
|
+
enterDelay: 500,
|
|
233
235
|
leaveDelay: 300
|
|
234
236
|
},
|
|
235
237
|
pager: {
|
|
@@ -243,12 +245,15 @@ const GlobalConfig: VXETableGlobalConfig = {
|
|
|
243
245
|
},
|
|
244
246
|
form: {
|
|
245
247
|
// preventSubmit: false,
|
|
248
|
+
// size: null,
|
|
249
|
+
// colon: false,
|
|
246
250
|
validConfig: {
|
|
247
251
|
showMessage: true,
|
|
248
252
|
autoPos: true
|
|
249
253
|
},
|
|
250
|
-
|
|
251
|
-
|
|
254
|
+
tooltipConfig: {
|
|
255
|
+
enterable: true
|
|
256
|
+
},
|
|
252
257
|
titleAsterisk: true
|
|
253
258
|
},
|
|
254
259
|
input: {
|
|
@@ -2,7 +2,8 @@ import { h, resolveComponent, ComponentOptions } from 'vue'
|
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import GlobalConfig from './conf'
|
|
4
4
|
import { getCellValue, setCellValue } from '../../table/src/util'
|
|
5
|
-
import {
|
|
5
|
+
import { getFuncText, formatText, isEmptyValue } from '../../tools/utils'
|
|
6
|
+
import { warnLog } from '../../tools/log'
|
|
6
7
|
import { getOnName } from '../../tools/vn'
|
|
7
8
|
|
|
8
9
|
import { VxeGlobalRendererHandles, VxeGlobalRenderer, VxeColumnPropTypes } from '../../../types/all'
|
package/styles/select.scss
CHANGED
package/styles/tooltip.scss
CHANGED
package/types/all.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { App } from 'vue'
|
|
2
2
|
import { VXETableSetupOptions, VXETableCore } from './v-x-e-table'
|
|
3
3
|
|
|
4
|
-
export function install(app: App, options?: VXETableSetupOptions): void
|
|
4
|
+
export function install(app: App, options?: VXETableSetupOptions): void
|
|
5
5
|
|
|
6
6
|
declare global {
|
|
7
7
|
interface Window {
|
|
8
|
-
VXETable: VXETableCore
|
|
8
|
+
VXETable: VXETableCore
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
|
package/types/button.d.ts
CHANGED
|
@@ -5,117 +5,117 @@ import { VXEComponent, VxeComponentBase, VxeEvent, SizeType, ValueOf, VNodeStyle
|
|
|
5
5
|
* 组件 - 按钮
|
|
6
6
|
* @example import { Button as VxeButton } from 'vxe-table'
|
|
7
7
|
*/
|
|
8
|
-
export const Button: VXEComponent<VxeButtonProps, VxeButtonEventProps
|
|
8
|
+
export const Button: VXEComponent<VxeButtonProps, VxeButtonEventProps>
|
|
9
9
|
|
|
10
|
-
export type VxeButtonInstance = ComponentPublicInstance<VxeButtonProps, VxeButtonConstructor
|
|
10
|
+
export type VxeButtonInstance = ComponentPublicInstance<VxeButtonProps, VxeButtonConstructor>
|
|
11
11
|
|
|
12
12
|
export interface VxeButtonConstructor extends VxeComponentBase, VxeButtonMethods {
|
|
13
|
-
props: VxeButtonProps
|
|
14
|
-
context: SetupContext<VxeButtonEmits
|
|
15
|
-
reactData: ButtonReactData
|
|
16
|
-
internalData: ButtonInternalData
|
|
17
|
-
getRefMaps(): ButtonPrivateRef
|
|
18
|
-
renderVN: RenderFunction
|
|
13
|
+
props: VxeButtonProps
|
|
14
|
+
context: SetupContext<VxeButtonEmits>
|
|
15
|
+
reactData: ButtonReactData
|
|
16
|
+
internalData: ButtonInternalData
|
|
17
|
+
getRefMaps(): ButtonPrivateRef
|
|
18
|
+
renderVN: RenderFunction
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
export interface ButtonPrivateRef {
|
|
22
|
-
refElem: Ref<HTMLDivElement
|
|
22
|
+
refElem: Ref<HTMLDivElement>
|
|
23
23
|
}
|
|
24
24
|
export interface VxeButtonPrivateRef extends ButtonPrivateRef { }
|
|
25
25
|
|
|
26
26
|
export interface ButtonReactData {
|
|
27
|
-
inited: boolean
|
|
28
|
-
showPanel: boolean
|
|
29
|
-
animatVisible: boolean
|
|
30
|
-
panelIndex: number
|
|
31
|
-
panelStyle: VNodeStyle
|
|
32
|
-
panelPlacement: any
|
|
27
|
+
inited: boolean
|
|
28
|
+
showPanel: boolean
|
|
29
|
+
animatVisible: boolean
|
|
30
|
+
panelIndex: number
|
|
31
|
+
panelStyle: VNodeStyle
|
|
32
|
+
panelPlacement: any
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
export interface ButtonInternalData {
|
|
36
|
-
showTime: any
|
|
36
|
+
showTime: any
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
export namespace VxeButtonPropTypes {
|
|
40
|
-
export type Size = SizeType
|
|
41
|
-
export type Type = string
|
|
42
|
-
export type ClassName = string
|
|
43
|
-
export type Name = string | number
|
|
44
|
-
export type Content = string
|
|
45
|
-
export type Placement = string
|
|
46
|
-
export type Status = string
|
|
47
|
-
export type Icon = string
|
|
48
|
-
export type Round = boolean
|
|
49
|
-
export type Circle = boolean
|
|
50
|
-
export type Disabled = boolean
|
|
51
|
-
export type Loading = boolean
|
|
52
|
-
export type DestroyOnClose = boolean
|
|
53
|
-
export type Transfer = boolean
|
|
40
|
+
export type Size = SizeType
|
|
41
|
+
export type Type = string
|
|
42
|
+
export type ClassName = string
|
|
43
|
+
export type Name = string | number
|
|
44
|
+
export type Content = string
|
|
45
|
+
export type Placement = string
|
|
46
|
+
export type Status = string
|
|
47
|
+
export type Icon = string
|
|
48
|
+
export type Round = boolean
|
|
49
|
+
export type Circle = boolean
|
|
50
|
+
export type Disabled = boolean
|
|
51
|
+
export type Loading = boolean
|
|
52
|
+
export type DestroyOnClose = boolean
|
|
53
|
+
export type Transfer = boolean
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
export type VxeButtonProps = {
|
|
57
|
-
size?: VxeButtonPropTypes.Size
|
|
57
|
+
size?: VxeButtonPropTypes.Size
|
|
58
58
|
/**
|
|
59
59
|
* 按钮类型
|
|
60
60
|
*/
|
|
61
|
-
type?: VxeButtonPropTypes.Type
|
|
62
|
-
className?: VxeButtonPropTypes.ClassName
|
|
61
|
+
type?: VxeButtonPropTypes.Type
|
|
62
|
+
className?: VxeButtonPropTypes.ClassName
|
|
63
63
|
/**
|
|
64
64
|
* 用来标识这一项
|
|
65
65
|
*/
|
|
66
|
-
name?: VxeButtonPropTypes.Name
|
|
66
|
+
name?: VxeButtonPropTypes.Name
|
|
67
67
|
/**
|
|
68
68
|
* 按钮内容
|
|
69
69
|
*/
|
|
70
|
-
content?: VxeButtonPropTypes.Content
|
|
70
|
+
content?: VxeButtonPropTypes.Content
|
|
71
71
|
/**
|
|
72
72
|
* 固定显示下拉面板的方向
|
|
73
73
|
*/
|
|
74
|
-
placement?: VxeButtonPropTypes.Placement
|
|
74
|
+
placement?: VxeButtonPropTypes.Placement
|
|
75
75
|
/**
|
|
76
76
|
* 按钮状态
|
|
77
77
|
*/
|
|
78
|
-
status?: VxeButtonPropTypes.Status
|
|
78
|
+
status?: VxeButtonPropTypes.Status
|
|
79
79
|
/**
|
|
80
80
|
* 按钮的图标
|
|
81
81
|
*/
|
|
82
|
-
icon?: VxeButtonPropTypes.Icon
|
|
82
|
+
icon?: VxeButtonPropTypes.Icon
|
|
83
83
|
/**
|
|
84
84
|
* 圆角边框
|
|
85
85
|
*/
|
|
86
|
-
round?: VxeButtonPropTypes.Round
|
|
86
|
+
round?: VxeButtonPropTypes.Round
|
|
87
87
|
/**
|
|
88
88
|
* 圆角按钮
|
|
89
89
|
*/
|
|
90
|
-
circle?: VxeButtonPropTypes.Circle
|
|
90
|
+
circle?: VxeButtonPropTypes.Circle
|
|
91
91
|
/**
|
|
92
92
|
* 是否禁用
|
|
93
93
|
*/
|
|
94
|
-
disabled?: VxeButtonPropTypes.Disabled
|
|
94
|
+
disabled?: VxeButtonPropTypes.Disabled
|
|
95
95
|
/**
|
|
96
96
|
* 是否加载中
|
|
97
97
|
*/
|
|
98
|
-
loading?: VxeButtonPropTypes.Loading
|
|
98
|
+
loading?: VxeButtonPropTypes.Loading
|
|
99
99
|
/**
|
|
100
100
|
* 在下拉面板关闭时销毁内容
|
|
101
101
|
*/
|
|
102
|
-
destroyOnClose?: VxeButtonPropTypes.DestroyOnClose
|
|
102
|
+
destroyOnClose?: VxeButtonPropTypes.DestroyOnClose
|
|
103
103
|
/**
|
|
104
104
|
* 是否将弹框容器插入于 body 内
|
|
105
105
|
*/
|
|
106
|
-
transfer?: VxeButtonPropTypes.Transfer
|
|
106
|
+
transfer?: VxeButtonPropTypes.Transfer
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
export interface ButtonMethods {
|
|
110
|
-
dispatchEvent(type: ValueOf<VxeButtonEmits>, params: any, evnt: Event): void
|
|
110
|
+
dispatchEvent(type: ValueOf<VxeButtonEmits>, params: any, evnt: Event): void
|
|
111
111
|
/**
|
|
112
112
|
* 获取焦点
|
|
113
113
|
*/
|
|
114
|
-
focus(): Promise<any
|
|
114
|
+
focus(): Promise<any>
|
|
115
115
|
/**
|
|
116
116
|
* 失去焦点
|
|
117
117
|
*/
|
|
118
|
-
blur(): Promise<any
|
|
118
|
+
blur(): Promise<any>
|
|
119
119
|
}
|
|
120
120
|
export interface VxeButtonMethods extends ButtonMethods { }
|
|
121
121
|
|
|
@@ -129,7 +129,7 @@ export type VxeButtonEmits = [
|
|
|
129
129
|
|
|
130
130
|
export namespace VxeButtonDefines {
|
|
131
131
|
interface ButtonEventParams extends VxeEvent {
|
|
132
|
-
$button: VxeButtonConstructor
|
|
132
|
+
$button: VxeButtonConstructor
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
export interface ClickParams { }
|
|
@@ -140,16 +140,16 @@ export namespace VxeButtonDefines {
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
export type VxeButtonEventProps = {
|
|
143
|
-
onClick?: VxeButtonEvents.Click
|
|
144
|
-
onDropdownClick?: VxeButtonEvents.DropdownClick
|
|
143
|
+
onClick?: VxeButtonEvents.Click
|
|
144
|
+
onDropdownClick?: VxeButtonEvents.DropdownClick
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
export interface VxeButtonListeners {
|
|
148
|
-
click?: VxeButtonEvents.Click
|
|
149
|
-
dropdownClick?: VxeButtonEvents.DropdownClick
|
|
148
|
+
click?: VxeButtonEvents.Click
|
|
149
|
+
dropdownClick?: VxeButtonEvents.DropdownClick
|
|
150
150
|
}
|
|
151
151
|
|
|
152
152
|
export namespace VxeButtonEvents {
|
|
153
|
-
export type Click = (params: VxeButtonDefines.ClickEventParams) => void
|
|
154
|
-
export type DropdownClick = (params: VxeButtonDefines.DropdownClickParams) => void
|
|
153
|
+
export type Click = (params: VxeButtonDefines.ClickEventParams) => void
|
|
154
|
+
export type DropdownClick = (params: VxeButtonDefines.DropdownClickParams) => void
|
|
155
155
|
}
|
|
@@ -6,45 +6,45 @@ import { VxeCheckboxEvents, VxeCheckboxPropTypes } from './checkbox'
|
|
|
6
6
|
* 组件 - 复选框组
|
|
7
7
|
* @example import { CheckboxGroup as VxeCheckboxGroup } from 'vxe-table'
|
|
8
8
|
*/
|
|
9
|
-
export const CheckboxGroup: VXEComponent<VxeCheckboxGroupProps, VxeCheckboxGroupEventProps
|
|
9
|
+
export const CheckboxGroup: VXEComponent<VxeCheckboxGroupProps, VxeCheckboxGroupEventProps>
|
|
10
10
|
|
|
11
|
-
export type VxeCheckboxGroupInstance = ComponentPublicInstance<VxeCheckboxGroupProps, VxeCheckboxGroupConstructor
|
|
11
|
+
export type VxeCheckboxGroupInstance = ComponentPublicInstance<VxeCheckboxGroupProps, VxeCheckboxGroupConstructor>
|
|
12
12
|
|
|
13
13
|
export interface VxeCheckboxGroupConstructor extends VxeComponentBase, VxeCheckboxGroupMethods {
|
|
14
|
-
props: VxeCheckboxGroupProps
|
|
15
|
-
context: SetupContext<VxeCheckboxGroupEmits
|
|
16
|
-
renderVN: RenderFunction
|
|
14
|
+
props: VxeCheckboxGroupProps
|
|
15
|
+
context: SetupContext<VxeCheckboxGroupEmits>
|
|
16
|
+
renderVN: RenderFunction
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export type VxeCheckboxGroupProps = {
|
|
20
|
-
size?: VxeCheckboxGroupPropTypes.Size
|
|
20
|
+
size?: VxeCheckboxGroupPropTypes.Size
|
|
21
21
|
/**
|
|
22
22
|
* 绑定值
|
|
23
23
|
*/
|
|
24
|
-
modelValue?: VxeCheckboxGroupPropTypes.ModelValue
|
|
24
|
+
modelValue?: VxeCheckboxGroupPropTypes.ModelValue
|
|
25
25
|
/**
|
|
26
26
|
* 是否禁用
|
|
27
27
|
*/
|
|
28
|
-
disabled?: VxeCheckboxGroupPropTypes.Disabled
|
|
28
|
+
disabled?: VxeCheckboxGroupPropTypes.Disabled
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
export namespace VxeCheckboxGroupPropTypes {
|
|
32
|
-
export type Size = SizeType
|
|
33
|
-
export type ModelValue = any[]
|
|
34
|
-
export type Disabled = boolean
|
|
32
|
+
export type Size = SizeType
|
|
33
|
+
export type ModelValue = any[]
|
|
34
|
+
export type Disabled = boolean
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
export interface CheckboxGroupMethods {
|
|
38
|
-
dispatchEvent(type: ValueOf<VxeCheckboxGroupEmits>, params: any, evnt: Event): void
|
|
38
|
+
dispatchEvent(type: ValueOf<VxeCheckboxGroupEmits>, params: any, evnt: Event): void
|
|
39
39
|
}
|
|
40
40
|
export interface VxeCheckboxGroupMethods extends CheckboxGroupMethods { }
|
|
41
41
|
|
|
42
42
|
export interface CheckboxGroupPrivateMethods {
|
|
43
43
|
handleChecked(params: {
|
|
44
|
-
checked: boolean
|
|
45
|
-
value: VxeCheckboxPropTypes.ModelValue
|
|
46
|
-
label: VxeCheckboxPropTypes.Label
|
|
47
|
-
}, evnt: Event): void
|
|
44
|
+
checked: boolean
|
|
45
|
+
value: VxeCheckboxPropTypes.ModelValue
|
|
46
|
+
label: VxeCheckboxPropTypes.Label
|
|
47
|
+
}, evnt: Event): void
|
|
48
48
|
}
|
|
49
49
|
export interface VxeCheckboxGroupPrivateMethods extends CheckboxGroupPrivateMethods { }
|
|
50
50
|
|
|
@@ -55,23 +55,23 @@ export type VxeCheckboxGroupEmits = [
|
|
|
55
55
|
|
|
56
56
|
export namespace VxeCheckboxGroupDefines {
|
|
57
57
|
interface CheckboxGroupEventParams extends VxeEvent {
|
|
58
|
-
$checkboxGroup: VxeCheckboxGroupConstructor
|
|
58
|
+
$checkboxGroup: VxeCheckboxGroupConstructor
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
export type ChangeParams = {
|
|
62
|
-
checklist: any[]
|
|
62
|
+
checklist: any[]
|
|
63
63
|
}
|
|
64
64
|
export interface ChangeEventParams extends CheckboxGroupEventParams, ChangeParams { }
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
export type VxeCheckboxGroupEventProps = {
|
|
68
|
-
onChange?: VxeCheckboxGroupEvents.Change
|
|
68
|
+
onChange?: VxeCheckboxGroupEvents.Change
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
export interface VxeCheckboxGroupListeners {
|
|
72
|
-
change?: VxeCheckboxGroupEvents.Change
|
|
72
|
+
change?: VxeCheckboxGroupEvents.Change
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
export namespace VxeCheckboxGroupEvents {
|
|
76
|
-
export type Change = (params: VxeCheckboxGroupDefines.ChangeEventParams) => void
|
|
76
|
+
export type Change = (params: VxeCheckboxGroupDefines.ChangeEventParams) => void
|
|
77
77
|
}
|