vxe-table 3.20.4 → 3.20.6

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.
Files changed (155) hide show
  1. package/LICENSE +20 -20
  2. package/README.md +106 -106
  3. package/es/grid/style.css +4 -0
  4. package/es/grid/style.min.css +1 -1
  5. package/es/index.css +1 -1
  6. package/es/index.esm.js +1 -2
  7. package/es/index.min.css +1 -1
  8. package/es/style.css +1 -1
  9. package/es/style.min.css +1 -1
  10. package/es/table/src/methods.js +51 -22
  11. package/es/table/src/table.js +36 -0
  12. package/es/table/src/util.js +3 -4
  13. package/es/table/style.css +48 -18
  14. package/es/ui/index.js +1 -1
  15. package/es/ui/src/log.js +1 -1
  16. package/es/vxe-grid/style.css +4 -0
  17. package/es/vxe-grid/style.min.css +1 -1
  18. package/es/vxe-table/style.css +48 -18
  19. package/lib/grid/style/style.css +4 -0
  20. package/lib/grid/style/style.min.css +1 -1
  21. package/lib/index.common.js +1 -2
  22. package/lib/index.css +1 -1
  23. package/lib/index.min.css +1 -1
  24. package/lib/index.umd.js +3252 -1877
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/style.css +1 -1
  27. package/lib/style.min.css +1 -1
  28. package/lib/table/src/methods.js +4 -3
  29. package/lib/table/src/methods.min.js +1 -1
  30. package/lib/table/src/table.js +44 -0
  31. package/lib/table/src/table.min.js +1 -1
  32. package/lib/table/src/util.js +4 -6
  33. package/lib/table/src/util.min.js +1 -1
  34. package/lib/table/style/style.css +48 -18
  35. package/lib/ui/index.js +1 -1
  36. package/lib/ui/index.min.js +1 -1
  37. package/lib/ui/src/log.js +1 -1
  38. package/lib/ui/src/log.min.js +1 -1
  39. package/lib/v-x-e-table/index.js +1 -2
  40. package/lib/v-x-e-table/index.min.js +1 -1
  41. package/lib/vxe-colgroup/index.js +1 -2
  42. package/lib/vxe-colgroup/index.min.js +1 -1
  43. package/lib/vxe-column/index.js +1 -2
  44. package/lib/vxe-column/index.min.js +1 -1
  45. package/lib/vxe-grid/index.js +1 -2
  46. package/lib/vxe-grid/index.min.js +1 -1
  47. package/lib/vxe-grid/style/style.css +4 -0
  48. package/lib/vxe-grid/style/style.min.css +1 -1
  49. package/lib/vxe-table/index.js +1 -2
  50. package/lib/vxe-table/index.min.js +1 -1
  51. package/lib/vxe-table/style/style.css +48 -18
  52. package/lib/vxe-toolbar/index.js +1 -2
  53. package/lib/vxe-toolbar/index.min.js +1 -1
  54. package/lib/vxe-ui/index.js +1 -2
  55. package/lib/vxe-ui/index.min.js +1 -1
  56. package/lib/vxe-v-x-e-table/index.js +1 -2
  57. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  58. package/package.json +93 -93
  59. package/packages/colgroup/index.ts +22 -22
  60. package/packages/column/index.ts +22 -22
  61. package/packages/components.ts +42 -42
  62. package/packages/grid/index.ts +22 -22
  63. package/packages/grid/src/grid.ts +1935 -1935
  64. package/packages/index.ts +4 -4
  65. package/packages/locale/lang/ar-EG.ts +832 -832
  66. package/packages/locale/lang/de-DE.ts +832 -832
  67. package/packages/locale/lang/en-US.ts +832 -832
  68. package/packages/locale/lang/es-ES.ts +832 -832
  69. package/packages/locale/lang/fr-FR.ts +832 -832
  70. package/packages/locale/lang/hu-HU.ts +832 -832
  71. package/packages/locale/lang/hy-AM.ts +832 -832
  72. package/packages/locale/lang/id-ID.ts +832 -832
  73. package/packages/locale/lang/it-IT.ts +832 -832
  74. package/packages/locale/lang/ja-JP.ts +832 -832
  75. package/packages/locale/lang/ko-KR.ts +832 -832
  76. package/packages/locale/lang/ms-MY.ts +832 -832
  77. package/packages/locale/lang/nb-NO.ts +832 -832
  78. package/packages/locale/lang/pt-BR.ts +832 -832
  79. package/packages/locale/lang/ru-RU.ts +832 -832
  80. package/packages/locale/lang/th-TH.ts +832 -832
  81. package/packages/locale/lang/ug-CN.ts +832 -832
  82. package/packages/locale/lang/uk-UA.ts +832 -832
  83. package/packages/locale/lang/uz-UZ.ts +832 -832
  84. package/packages/locale/lang/vi-VN.ts +832 -832
  85. package/packages/locale/lang/zh-CHT.ts +832 -832
  86. package/packages/locale/lang/zh-CN.ts +832 -832
  87. package/packages/locale/lang/zh-HK.ts +3 -3
  88. package/packages/locale/lang/zh-MO.ts +3 -3
  89. package/packages/locale/lang/zh-TC.ts +3 -3
  90. package/packages/locale/lang/zh-TW.ts +3 -3
  91. package/packages/table/index.ts +49 -49
  92. package/packages/table/module/custom/mixin.ts +369 -369
  93. package/packages/table/module/custom/panel.ts +1461 -1461
  94. package/packages/table/module/edit/mixin.ts +1123 -1123
  95. package/packages/table/module/export/export-panel.ts +658 -658
  96. package/packages/table/module/export/import-panel.ts +319 -319
  97. package/packages/table/module/export/mixin.ts +1693 -1693
  98. package/packages/table/module/export/util.ts +24 -24
  99. package/packages/table/module/filter/mixin.ts +507 -507
  100. package/packages/table/module/filter/panel.ts +329 -329
  101. package/packages/table/module/keyboard/mixin.ts +513 -513
  102. package/packages/table/module/menu/mixin.ts +329 -329
  103. package/packages/table/module/menu/panel.ts +212 -212
  104. package/packages/table/module/validator/mixin.ts +626 -626
  105. package/packages/table/render/index.ts +1456 -1456
  106. package/packages/table/src/body.ts +969 -969
  107. package/packages/table/src/cell.ts +1285 -1285
  108. package/packages/table/src/column.ts +205 -205
  109. package/packages/table/src/columnInfo.ts +228 -228
  110. package/packages/table/src/footer.ts +388 -388
  111. package/packages/table/src/group.ts +51 -51
  112. package/packages/table/src/header.ts +602 -602
  113. package/packages/table/src/methods.ts +12939 -12912
  114. package/packages/table/src/props.ts +311 -311
  115. package/packages/table/src/store.ts +15 -15
  116. package/packages/table/src/table.ts +2502 -2460
  117. package/packages/table/src/util.ts +1012 -1012
  118. package/packages/toolbar/index.ts +18 -18
  119. package/packages/toolbar/src/toolbar.ts +856 -856
  120. package/packages/ui/index.ts +530 -530
  121. package/packages/ui/src/anime.ts +52 -52
  122. package/packages/ui/src/comp.ts +3 -3
  123. package/packages/ui/src/dom.ts +236 -236
  124. package/packages/ui/src/log.ts +8 -8
  125. package/packages/ui/src/utils.ts +56 -56
  126. package/packages/ui/src/vn.ts +65 -65
  127. package/packages/v-x-e-table/index.ts +4 -4
  128. package/styles/all.scss +7 -7
  129. package/styles/base.scss +16 -16
  130. package/styles/components/grid.scss +89 -85
  131. package/styles/components/icon.scss +225 -225
  132. package/styles/components/old-icon.scss +715 -715
  133. package/styles/components/table-module/all.scss +6 -6
  134. package/styles/components/table-module/custom.scss +527 -527
  135. package/styles/components/table-module/export.scss +130 -130
  136. package/styles/components/table-module/filter.scss +130 -130
  137. package/styles/components/table-module/menu.scss +81 -81
  138. package/styles/components/table.scss +2679 -2679
  139. package/styles/components/toolbar.scss +119 -119
  140. package/styles/default.scss +2 -2
  141. package/styles/helpers/baseMixin.scss +95 -95
  142. package/styles/index.scss +3 -3
  143. package/styles/modules.scss +5 -5
  144. package/styles/theme/base.scss +93 -93
  145. package/styles/theme/dark.scss +49 -49
  146. package/styles/theme/light.scss +44 -44
  147. package/styles/variable.scss +43 -43
  148. package/types/all.d.ts +53 -53
  149. package/types/index.d.ts +4 -4
  150. /package/es/{iconfont.1773644050430.ttf → iconfont.1773972972913.ttf} +0 -0
  151. /package/es/{iconfont.1773644050430.woff → iconfont.1773972972913.woff} +0 -0
  152. /package/es/{iconfont.1773644050430.woff2 → iconfont.1773972972913.woff2} +0 -0
  153. /package/lib/{iconfont.1773644050430.ttf → iconfont.1773972972913.ttf} +0 -0
  154. /package/lib/{iconfont.1773644050430.woff → iconfont.1773972972913.woff} +0 -0
  155. /package/lib/{iconfont.1773644050430.woff2 → iconfont.1773972972913.woff2} +0 -0
@@ -1,212 +1,212 @@
1
- import { CreateElement } from 'vue'
2
- import { defineVxeComponent } from '../../../ui/src/comp'
3
- import { VxeUI } from '../../../ui'
4
- import XEUtils from 'xe-utils'
5
- import { getFuncText } from '../../../ui/src/utils'
6
- import { getSlotVNs } from '../../../ui/src/vn'
7
-
8
- import type { VxeTableConstructor, VxeTablePrivateMethods, TableReactData } from '../../../../types'
9
-
10
- const { getIcon, getI18n, renderEmptyElement } = VxeUI
11
-
12
- export default /* define-vxe-component start */ defineVxeComponent({
13
- name: 'VxeTableMenuPanel',
14
- inject: {
15
- $xeTable: {
16
- default: null
17
- }
18
- },
19
- computed: {
20
- ...({} as {
21
- $xeTable(): VxeTableConstructor & VxeTablePrivateMethods
22
- })
23
- },
24
- mounted () {
25
- const $xeMenuPanel = this
26
- const $xeTable = $xeMenuPanel.$xeTable
27
- const menuOpts = $xeTable.computeMenuOpts
28
- const { transfer } = menuOpts
29
- const el = $xeMenuPanel.$refs.refElem as HTMLDivElement
30
-
31
- if (transfer && el) {
32
- document.body.appendChild(el)
33
- }
34
- },
35
- beforeDestroy () {
36
- const $xeMenuPanel = this
37
- const el = $xeMenuPanel.$refs.refElem as HTMLDivElement
38
-
39
- if (el && el.parentNode) {
40
- el.parentNode.removeChild(el)
41
- }
42
- },
43
- methods: {
44
- renderVN (h: CreateElement) {
45
- const $xeMenuPanel = this
46
- const $xeTable = $xeMenuPanel.$xeTable
47
- const tableReactData = $xeTable as unknown as TableReactData
48
-
49
- const { ctxMenuStore } = tableReactData
50
- const menuOpts = $xeTable.computeMenuOpts
51
- const { destroyOnClose } = menuOpts
52
- const { visible, list, className } = ctxMenuStore
53
- return h('div', {
54
- ref: 'refElem',
55
- class: ['vxe-table--context-menu-wrapper', className, {
56
- 'is--visible': visible
57
- }],
58
- style: ctxMenuStore.style
59
- }, (destroyOnClose ? visible : true)
60
- ? list.map((options, gIndex) => {
61
- return options.every((item) => item.visible === false)
62
- ? renderEmptyElement($xeTable)
63
- : h('ul', {
64
- class: 'vxe-context-menu--option-wrapper',
65
- key: gIndex
66
- }, options.map((item, index) => {
67
- const { children, loading } = item
68
- const hasChildMenus = children && children.some((child) => child.visible !== false)
69
- const prefixOpts = Object.assign({}, item.prefixConfig)
70
- const prefixIcon = prefixOpts.icon || item.prefixIcon
71
- const suffixOpts = Object.assign({}, item.suffixConfig)
72
- const suffixIcon = suffixOpts.icon || item.suffixIcon
73
- const menuContent = getFuncText(item.name)
74
- return item.visible === false
75
- ? renderEmptyElement($xeTable)
76
- : h('li', {
77
- class: [item.className, {
78
- 'link--loading': loading,
79
- 'link--disabled': item.disabled,
80
- 'link--active': item === ctxMenuStore.selected
81
- }],
82
- key: `${gIndex}_${index}`
83
- }, [
84
- h('a', {
85
- class: 'vxe-context-menu--link',
86
- on: {
87
- click (evnt: Event) {
88
- $xeTable.ctxMenuLinkEvent(evnt, item)
89
- },
90
- mouseover (evnt: Event) {
91
- $xeTable.ctxMenuMouseoverEvent(evnt, item)
92
- },
93
- mouseout (evnt: Event) {
94
- $xeTable.ctxMenuMouseoutEvent(evnt, item)
95
- }
96
- }
97
- }, [
98
- h('div', {
99
- class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
100
- }, [
101
- loading
102
- ? h('span', {
103
- class: getIcon('TABLE_MENU_OPTION_LOADING')
104
- })
105
- : (prefixIcon && XEUtils.isFunction(prefixIcon)
106
- ? h('span', {}, getSlotVNs(prefixIcon.call($xeTable, {})))
107
- : h('span', {}, [
108
- h('i', {
109
- class: prefixIcon
110
- })
111
- ])),
112
- prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)
113
- ]),
114
- h('span', {
115
- class: 'vxe-context-menu--link-content',
116
- attrs: {
117
- title: menuContent
118
- }
119
- }, loading ? getI18n('vxe.table.menuLoading') : menuContent),
120
- h('div', {
121
- class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
122
- }, [
123
- suffixIcon && XEUtils.isFunction(suffixIcon)
124
- ? h('span', {}, getSlotVNs(suffixIcon.call($xeTable, {})))
125
- : h('i', {
126
- class: suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
127
- }),
128
- suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
129
- ])
130
- ]),
131
- hasChildMenus && item.children
132
- ? h('ul', {
133
- class: ['vxe-table--context-menu-clild-wrapper', {
134
- 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
135
- }]
136
- }, item.children.map((child, cIndex) => {
137
- const { loading: childLoading } = child
138
- const childPrefixOpts = Object.assign({}, child.prefixConfig)
139
- const childPrefixIcon = childPrefixOpts.icon || child.prefixIcon
140
- const childSuffixOpts = Object.assign({}, child.suffixConfig)
141
- const childSuffixIcon = childSuffixOpts.icon || child.suffixIcon
142
- const childMenuContent = getFuncText(child.name)
143
- return child.visible === false
144
- ? null
145
- : h('li', {
146
- class: [child.className, {
147
- 'link--loading': childLoading,
148
- 'link--disabled': child.disabled,
149
- 'link--active': child === ctxMenuStore.selectChild
150
- }],
151
- key: `${gIndex}_${index}_${cIndex}`
152
- }, [
153
- h('a', {
154
- class: 'vxe-context-menu--link',
155
- on: {
156
- click (evnt: Event) {
157
- $xeTable.ctxMenuLinkEvent(evnt, child)
158
- },
159
- mouseover (evnt: Event) {
160
- $xeTable.ctxMenuMouseoverEvent(evnt, item, child)
161
- },
162
- mouseout (evnt: Event) {
163
- $xeTable.ctxMenuMouseoutEvent(evnt, item)
164
- }
165
- }
166
- }, [
167
- h('div', {
168
- class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
169
- }, [
170
- child.loading
171
- ? h('span', {
172
- class: getIcon('TABLE_MENU_OPTION_LOADING')
173
- })
174
- : (childPrefixIcon && XEUtils.isFunction(childPrefixIcon)
175
- ? h('span', {}, getSlotVNs(childPrefixIcon({})))
176
- : h('span', {}, [
177
- h('i', {
178
- class: childPrefixIcon
179
- })
180
- ])),
181
- childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)
182
- ]),
183
- h('span', {
184
- class: 'vxe-context-menu--link-content',
185
- attrs: {
186
- title: childMenuContent
187
- }
188
- }, childLoading ? getI18n('vxe.table.menuLoading') : childMenuContent),
189
- h('div', {
190
- class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
191
- }, [
192
- childSuffixIcon && XEUtils.isFunction(childSuffixIcon)
193
- ? h('span', {}, getSlotVNs(childSuffixIcon.call($xeTable, {})))
194
- : h('i', {
195
- class: childSuffixIcon
196
- }),
197
- childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
198
- ])
199
- ])
200
- ])
201
- }))
202
- : null
203
- ])
204
- }))
205
- })
206
- : [])
207
- }
208
- },
209
- render (h: CreateElement) {
210
- return (this as any).renderVN(h)
211
- }
212
- }) /* define-vxe-component end */
1
+ import { CreateElement } from 'vue'
2
+ import { defineVxeComponent } from '../../../ui/src/comp'
3
+ import { VxeUI } from '../../../ui'
4
+ import XEUtils from 'xe-utils'
5
+ import { getFuncText } from '../../../ui/src/utils'
6
+ import { getSlotVNs } from '../../../ui/src/vn'
7
+
8
+ import type { VxeTableConstructor, VxeTablePrivateMethods, TableReactData } from '../../../../types'
9
+
10
+ const { getIcon, getI18n, renderEmptyElement } = VxeUI
11
+
12
+ export default /* define-vxe-component start */ defineVxeComponent({
13
+ name: 'VxeTableMenuPanel',
14
+ inject: {
15
+ $xeTable: {
16
+ default: null
17
+ }
18
+ },
19
+ computed: {
20
+ ...({} as {
21
+ $xeTable(): VxeTableConstructor & VxeTablePrivateMethods
22
+ })
23
+ },
24
+ mounted () {
25
+ const $xeMenuPanel = this
26
+ const $xeTable = $xeMenuPanel.$xeTable
27
+ const menuOpts = $xeTable.computeMenuOpts
28
+ const { transfer } = menuOpts
29
+ const el = $xeMenuPanel.$refs.refElem as HTMLDivElement
30
+
31
+ if (transfer && el) {
32
+ document.body.appendChild(el)
33
+ }
34
+ },
35
+ beforeDestroy () {
36
+ const $xeMenuPanel = this
37
+ const el = $xeMenuPanel.$refs.refElem as HTMLDivElement
38
+
39
+ if (el && el.parentNode) {
40
+ el.parentNode.removeChild(el)
41
+ }
42
+ },
43
+ methods: {
44
+ renderVN (h: CreateElement) {
45
+ const $xeMenuPanel = this
46
+ const $xeTable = $xeMenuPanel.$xeTable
47
+ const tableReactData = $xeTable as unknown as TableReactData
48
+
49
+ const { ctxMenuStore } = tableReactData
50
+ const menuOpts = $xeTable.computeMenuOpts
51
+ const { destroyOnClose } = menuOpts
52
+ const { visible, list, className } = ctxMenuStore
53
+ return h('div', {
54
+ ref: 'refElem',
55
+ class: ['vxe-table--context-menu-wrapper', className, {
56
+ 'is--visible': visible
57
+ }],
58
+ style: ctxMenuStore.style
59
+ }, (destroyOnClose ? visible : true)
60
+ ? list.map((options, gIndex) => {
61
+ return options.every((item) => item.visible === false)
62
+ ? renderEmptyElement($xeTable)
63
+ : h('ul', {
64
+ class: 'vxe-context-menu--option-wrapper',
65
+ key: gIndex
66
+ }, options.map((item, index) => {
67
+ const { children, loading } = item
68
+ const hasChildMenus = children && children.some((child) => child.visible !== false)
69
+ const prefixOpts = Object.assign({}, item.prefixConfig)
70
+ const prefixIcon = prefixOpts.icon || item.prefixIcon
71
+ const suffixOpts = Object.assign({}, item.suffixConfig)
72
+ const suffixIcon = suffixOpts.icon || item.suffixIcon
73
+ const menuContent = getFuncText(item.name)
74
+ return item.visible === false
75
+ ? renderEmptyElement($xeTable)
76
+ : h('li', {
77
+ class: [item.className, {
78
+ 'link--loading': loading,
79
+ 'link--disabled': item.disabled,
80
+ 'link--active': item === ctxMenuStore.selected
81
+ }],
82
+ key: `${gIndex}_${index}`
83
+ }, [
84
+ h('a', {
85
+ class: 'vxe-context-menu--link',
86
+ on: {
87
+ click (evnt: Event) {
88
+ $xeTable.ctxMenuLinkEvent(evnt, item)
89
+ },
90
+ mouseover (evnt: Event) {
91
+ $xeTable.ctxMenuMouseoverEvent(evnt, item)
92
+ },
93
+ mouseout (evnt: Event) {
94
+ $xeTable.ctxMenuMouseoutEvent(evnt, item)
95
+ }
96
+ }
97
+ }, [
98
+ h('div', {
99
+ class: ['vxe-context-menu--link-prefix', prefixOpts.className || '']
100
+ }, [
101
+ loading
102
+ ? h('span', {
103
+ class: getIcon('TABLE_MENU_OPTION_LOADING')
104
+ })
105
+ : (prefixIcon && XEUtils.isFunction(prefixIcon)
106
+ ? h('span', {}, getSlotVNs(prefixIcon.call($xeTable, {})))
107
+ : h('span', {}, [
108
+ h('i', {
109
+ class: prefixIcon
110
+ })
111
+ ])),
112
+ prefixOpts.content ? h('span', {}, `${prefixOpts.content}`) : renderEmptyElement($xeTable)
113
+ ]),
114
+ h('span', {
115
+ class: 'vxe-context-menu--link-content',
116
+ attrs: {
117
+ title: menuContent
118
+ }
119
+ }, loading ? getI18n('vxe.table.menuLoading') : menuContent),
120
+ h('div', {
121
+ class: ['vxe-context-menu--link-suffix', suffixOpts.className || '']
122
+ }, [
123
+ suffixIcon && XEUtils.isFunction(suffixIcon)
124
+ ? h('span', {}, getSlotVNs(suffixIcon.call($xeTable, {})))
125
+ : h('i', {
126
+ class: suffixIcon || (hasChildMenus ? getIcon().TABLE_MENU_OPTIONS : '')
127
+ }),
128
+ suffixOpts.content ? h('span', `${suffixOpts.content}`) : renderEmptyElement($xeTable)
129
+ ])
130
+ ]),
131
+ hasChildMenus && item.children
132
+ ? h('ul', {
133
+ class: ['vxe-table--context-menu-clild-wrapper', {
134
+ 'is--show': item === ctxMenuStore.selected && ctxMenuStore.showChild
135
+ }]
136
+ }, item.children.map((child, cIndex) => {
137
+ const { loading: childLoading } = child
138
+ const childPrefixOpts = Object.assign({}, child.prefixConfig)
139
+ const childPrefixIcon = childPrefixOpts.icon || child.prefixIcon
140
+ const childSuffixOpts = Object.assign({}, child.suffixConfig)
141
+ const childSuffixIcon = childSuffixOpts.icon || child.suffixIcon
142
+ const childMenuContent = getFuncText(child.name)
143
+ return child.visible === false
144
+ ? null
145
+ : h('li', {
146
+ class: [child.className, {
147
+ 'link--loading': childLoading,
148
+ 'link--disabled': child.disabled,
149
+ 'link--active': child === ctxMenuStore.selectChild
150
+ }],
151
+ key: `${gIndex}_${index}_${cIndex}`
152
+ }, [
153
+ h('a', {
154
+ class: 'vxe-context-menu--link',
155
+ on: {
156
+ click (evnt: Event) {
157
+ $xeTable.ctxMenuLinkEvent(evnt, child)
158
+ },
159
+ mouseover (evnt: Event) {
160
+ $xeTable.ctxMenuMouseoverEvent(evnt, item, child)
161
+ },
162
+ mouseout (evnt: Event) {
163
+ $xeTable.ctxMenuMouseoutEvent(evnt, item)
164
+ }
165
+ }
166
+ }, [
167
+ h('div', {
168
+ class: ['vxe-context-menu--link-prefix', childPrefixOpts.className || '']
169
+ }, [
170
+ child.loading
171
+ ? h('span', {
172
+ class: getIcon('TABLE_MENU_OPTION_LOADING')
173
+ })
174
+ : (childPrefixIcon && XEUtils.isFunction(childPrefixIcon)
175
+ ? h('span', {}, getSlotVNs(childPrefixIcon({})))
176
+ : h('span', {}, [
177
+ h('i', {
178
+ class: childPrefixIcon
179
+ })
180
+ ])),
181
+ childPrefixOpts.content ? h('span', `${childPrefixOpts.content}`) : renderEmptyElement($xeTable)
182
+ ]),
183
+ h('span', {
184
+ class: 'vxe-context-menu--link-content',
185
+ attrs: {
186
+ title: childMenuContent
187
+ }
188
+ }, childLoading ? getI18n('vxe.table.menuLoading') : childMenuContent),
189
+ h('div', {
190
+ class: ['vxe-context-menu--link-suffix', childSuffixOpts.className || '']
191
+ }, [
192
+ childSuffixIcon && XEUtils.isFunction(childSuffixIcon)
193
+ ? h('span', {}, getSlotVNs(childSuffixIcon.call($xeTable, {})))
194
+ : h('i', {
195
+ class: childSuffixIcon
196
+ }),
197
+ childSuffixOpts.content ? h('span', `${childSuffixOpts.content}`) : renderEmptyElement($xeTable)
198
+ ])
199
+ ])
200
+ ])
201
+ }))
202
+ : null
203
+ ])
204
+ }))
205
+ })
206
+ : [])
207
+ }
208
+ },
209
+ render (h: CreateElement) {
210
+ return (this as any).renderVN(h)
211
+ }
212
+ }) /* define-vxe-component end */