vxe-pc-ui 4.20.15 → 4.20.17

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 (217) hide show
  1. package/dist/all.esm.js +1742 -1500
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/alert/src/alert.js +2 -1
  5. package/es/badge/src/badge.js +21 -4
  6. package/es/badge/style.css +24 -14
  7. package/es/badge/style.min.css +1 -1
  8. package/es/drawer/src/drawer.js +2 -1
  9. package/es/form/src/form.js +3 -2
  10. package/es/icon/style.css +1 -1
  11. package/es/language/ar-EG.js +4 -0
  12. package/es/language/de-DE.js +4 -0
  13. package/es/language/en-US.js +4 -0
  14. package/es/language/es-ES.js +4 -0
  15. package/es/language/fr-FR.js +7 -3
  16. package/es/language/hu-HU.js +4 -0
  17. package/es/language/hy-AM.js +4 -0
  18. package/es/language/id-ID.js +4 -0
  19. package/es/language/it-IT.js +4 -0
  20. package/es/language/ja-JP.js +4 -0
  21. package/es/language/ko-KR.js +4 -0
  22. package/es/language/ms-MY.js +4 -0
  23. package/es/language/nb-NO.js +4 -0
  24. package/es/language/pt-BR.js +4 -0
  25. package/es/language/ru-RU.js +4 -0
  26. package/es/language/th-TH.js +4 -0
  27. package/es/language/ug-CN.js +4 -0
  28. package/es/language/uk-UA.js +4 -0
  29. package/es/language/uz-UZ.js +4 -0
  30. package/es/language/vi-VN.js +4 -0
  31. package/es/language/zh-CHT.js +4 -0
  32. package/es/language/zh-CN.js +4 -0
  33. package/es/list/src/list.js +2 -2
  34. package/es/modal/src/modal.js +2 -1
  35. package/es/pager/src/pager.js +3 -2
  36. package/es/select/src/select.js +69 -7
  37. package/es/select/style.css +18 -0
  38. package/es/select/style.min.css +1 -1
  39. package/es/style.css +1 -1
  40. package/es/style.min.css +1 -1
  41. package/es/table-select/src/table-select.js +177 -31
  42. package/es/table-select/style.css +43 -16
  43. package/es/table-select/style.min.css +1 -1
  44. package/es/tree/src/tree.js +2 -2
  45. package/es/tree-select/src/tree-select.js +1 -1
  46. package/es/ui/index.js +9 -1
  47. package/es/ui/src/log.js +1 -1
  48. package/es/vxe-badge/style.css +24 -14
  49. package/es/vxe-badge/style.min.css +1 -1
  50. package/es/vxe-select/style.css +18 -0
  51. package/es/vxe-select/style.min.css +1 -1
  52. package/es/vxe-table-select/style.css +43 -16
  53. package/es/vxe-table-select/style.min.css +1 -1
  54. package/lib/alert/src/alert.js +14 -8
  55. package/lib/alert/src/alert.min.js +1 -1
  56. package/lib/badge/src/badge.js +24 -4
  57. package/lib/badge/src/badge.min.js +1 -1
  58. package/lib/badge/style/style.css +24 -14
  59. package/lib/badge/style/style.min.css +1 -1
  60. package/lib/drawer/src/drawer.js +61 -51
  61. package/lib/drawer/src/drawer.min.js +1 -1
  62. package/lib/form/src/form.js +34 -26
  63. package/lib/form/src/form.min.js +1 -1
  64. package/lib/icon/style/style.css +1 -1
  65. package/lib/icon/style/style.min.css +1 -1
  66. package/lib/index.umd.js +619 -305
  67. package/lib/index.umd.min.js +1 -1
  68. package/lib/language/ar-EG.js +4 -0
  69. package/lib/language/ar-EG.min.js +1 -1
  70. package/lib/language/ar-EG.umd.js +4 -0
  71. package/lib/language/de-DE.js +4 -0
  72. package/lib/language/de-DE.min.js +1 -1
  73. package/lib/language/de-DE.umd.js +4 -0
  74. package/lib/language/en-US.js +4 -0
  75. package/lib/language/en-US.min.js +1 -1
  76. package/lib/language/en-US.umd.js +4 -0
  77. package/lib/language/es-ES.js +4 -0
  78. package/lib/language/es-ES.min.js +1 -1
  79. package/lib/language/es-ES.umd.js +4 -0
  80. package/lib/language/fr-FR.js +4 -0
  81. package/lib/language/fr-FR.min.js +1 -1
  82. package/lib/language/fr-FR.umd.js +4 -0
  83. package/lib/language/hu-HU.js +4 -0
  84. package/lib/language/hu-HU.min.js +1 -1
  85. package/lib/language/hu-HU.umd.js +4 -0
  86. package/lib/language/hy-AM.js +4 -0
  87. package/lib/language/hy-AM.min.js +1 -1
  88. package/lib/language/hy-AM.umd.js +4 -0
  89. package/lib/language/id-ID.js +4 -0
  90. package/lib/language/id-ID.min.js +1 -1
  91. package/lib/language/id-ID.umd.js +4 -0
  92. package/lib/language/it-IT.js +4 -0
  93. package/lib/language/it-IT.min.js +1 -1
  94. package/lib/language/it-IT.umd.js +4 -0
  95. package/lib/language/ja-JP.js +4 -0
  96. package/lib/language/ja-JP.min.js +1 -1
  97. package/lib/language/ja-JP.umd.js +4 -0
  98. package/lib/language/ko-KR.js +4 -0
  99. package/lib/language/ko-KR.min.js +1 -1
  100. package/lib/language/ko-KR.umd.js +4 -0
  101. package/lib/language/ms-MY.js +4 -0
  102. package/lib/language/ms-MY.min.js +1 -1
  103. package/lib/language/ms-MY.umd.js +4 -0
  104. package/lib/language/nb-NO.js +4 -0
  105. package/lib/language/nb-NO.min.js +1 -1
  106. package/lib/language/nb-NO.umd.js +4 -0
  107. package/lib/language/pt-BR.js +4 -0
  108. package/lib/language/pt-BR.min.js +1 -1
  109. package/lib/language/pt-BR.umd.js +4 -0
  110. package/lib/language/ru-RU.js +4 -0
  111. package/lib/language/ru-RU.min.js +1 -1
  112. package/lib/language/ru-RU.umd.js +4 -0
  113. package/lib/language/th-TH.js +4 -0
  114. package/lib/language/th-TH.min.js +1 -1
  115. package/lib/language/th-TH.umd.js +4 -0
  116. package/lib/language/ug-CN.js +4 -0
  117. package/lib/language/ug-CN.min.js +1 -1
  118. package/lib/language/ug-CN.umd.js +4 -0
  119. package/lib/language/uk-UA.js +4 -0
  120. package/lib/language/uk-UA.min.js +1 -1
  121. package/lib/language/uk-UA.umd.js +4 -0
  122. package/lib/language/uz-UZ.js +4 -0
  123. package/lib/language/uz-UZ.min.js +1 -1
  124. package/lib/language/uz-UZ.umd.js +4 -0
  125. package/lib/language/vi-VN.js +4 -0
  126. package/lib/language/vi-VN.min.js +1 -1
  127. package/lib/language/vi-VN.umd.js +4 -0
  128. package/lib/language/zh-CHT.js +4 -0
  129. package/lib/language/zh-CHT.min.js +1 -1
  130. package/lib/language/zh-CHT.umd.js +4 -0
  131. package/lib/language/zh-CN.js +4 -0
  132. package/lib/language/zh-CN.min.js +1 -1
  133. package/lib/language/zh-CN.umd.js +4 -0
  134. package/lib/list/src/list.js +14 -12
  135. package/lib/list/src/list.min.js +1 -1
  136. package/lib/modal/src/modal.js +84 -74
  137. package/lib/modal/src/modal.min.js +1 -1
  138. package/lib/pager/src/pager.js +45 -36
  139. package/lib/pager/src/pager.min.js +1 -1
  140. package/lib/select/src/select.js +75 -15
  141. package/lib/select/src/select.min.js +1 -1
  142. package/lib/select/style/style.css +18 -0
  143. package/lib/select/style/style.min.css +1 -1
  144. package/lib/style.css +1 -1
  145. package/lib/style.min.css +1 -1
  146. package/lib/table-select/src/table-select.js +223 -53
  147. package/lib/table-select/src/table-select.min.js +1 -1
  148. package/lib/table-select/style/style.css +43 -16
  149. package/lib/table-select/style/style.min.css +1 -1
  150. package/lib/tree/src/tree.js +29 -23
  151. package/lib/tree/src/tree.min.js +1 -1
  152. package/lib/tree-select/src/tree-select.js +1 -1
  153. package/lib/tree-select/src/tree-select.min.js +1 -1
  154. package/lib/ui/index.js +9 -1
  155. package/lib/ui/index.min.js +1 -1
  156. package/lib/ui/src/log.js +1 -1
  157. package/lib/ui/src/log.min.js +1 -1
  158. package/lib/vxe-badge/style/style.css +24 -14
  159. package/lib/vxe-badge/style/style.min.css +1 -1
  160. package/lib/vxe-select/style/style.css +18 -0
  161. package/lib/vxe-select/style/style.min.css +1 -1
  162. package/lib/vxe-table-select/style/style.css +43 -16
  163. package/lib/vxe-table-select/style/style.min.css +1 -1
  164. package/package.json +1 -1
  165. package/packages/alert/src/alert.ts +3 -1
  166. package/packages/badge/src/badge.ts +22 -4
  167. package/packages/drawer/src/drawer.ts +3 -1
  168. package/packages/form/src/form.ts +4 -2
  169. package/packages/language/ar-EG.ts +4 -0
  170. package/packages/language/de-DE.ts +4 -0
  171. package/packages/language/en-US.ts +4 -0
  172. package/packages/language/es-ES.ts +4 -0
  173. package/packages/language/fr-FR.ts +907 -903
  174. package/packages/language/hu-HU.ts +4 -0
  175. package/packages/language/hy-AM.ts +4 -0
  176. package/packages/language/id-ID.ts +4 -0
  177. package/packages/language/it-IT.ts +4 -0
  178. package/packages/language/ja-JP.ts +4 -0
  179. package/packages/language/ko-KR.ts +4 -0
  180. package/packages/language/ms-MY.ts +4 -0
  181. package/packages/language/nb-NO.ts +4 -0
  182. package/packages/language/pt-BR.ts +4 -0
  183. package/packages/language/ru-RU.ts +4 -0
  184. package/packages/language/th-TH.ts +4 -0
  185. package/packages/language/ug-CN.ts +4 -0
  186. package/packages/language/uk-UA.ts +4 -0
  187. package/packages/language/uz-UZ.ts +4 -0
  188. package/packages/language/vi-VN.ts +4 -0
  189. package/packages/language/zh-CHT.ts +4 -0
  190. package/packages/language/zh-CN.ts +4 -0
  191. package/packages/list/src/list.ts +2 -2
  192. package/packages/modal/src/modal.ts +3 -1
  193. package/packages/pager/src/pager.ts +4 -2
  194. package/packages/select/src/select.ts +70 -7
  195. package/packages/table-select/src/table-select.ts +189 -32
  196. package/packages/tree/src/tree.ts +2 -2
  197. package/packages/tree-select/src/tree-select.ts +1 -1
  198. package/packages/ui/index.ts +8 -0
  199. package/styles/components/badge.scss +25 -16
  200. package/styles/components/select.scss +21 -0
  201. package/styles/components/table-select.scss +39 -13
  202. package/styles/theme/base.scss +4 -0
  203. package/types/components/badge.d.ts +4 -0
  204. package/types/components/select.d.ts +32 -2
  205. package/types/components/table-select.d.ts +53 -3
  206. /package/es/icon/{iconfont.1792662810345.ttf → iconfont.1792723048769.ttf} +0 -0
  207. /package/es/icon/{iconfont.1792662810345.woff → iconfont.1792723048769.woff} +0 -0
  208. /package/es/icon/{iconfont.1792662810345.woff2 → iconfont.1792723048769.woff2} +0 -0
  209. /package/es/{iconfont.1792662810345.ttf → iconfont.1792723048769.ttf} +0 -0
  210. /package/es/{iconfont.1792662810345.woff → iconfont.1792723048769.woff} +0 -0
  211. /package/es/{iconfont.1792662810345.woff2 → iconfont.1792723048769.woff2} +0 -0
  212. /package/lib/icon/style/{iconfont.1792662810345.ttf → iconfont.1792723048769.ttf} +0 -0
  213. /package/lib/icon/style/{iconfont.1792662810345.woff → iconfont.1792723048769.woff} +0 -0
  214. /package/lib/icon/style/{iconfont.1792662810345.woff2 → iconfont.1792723048769.woff2} +0 -0
  215. /package/lib/{iconfont.1792662810345.ttf → iconfont.1792723048769.ttf} +0 -0
  216. /package/lib/{iconfont.1792662810345.woff → iconfont.1792723048769.woff} +0 -0
  217. /package/lib/{iconfont.1792662810345.woff2 → iconfont.1792723048769.woff2} +0 -0
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Megy',
138
142
  gotoTitle: 'Oldalak száma',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: '前往',
138
142
  gotoTitle: '页数',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Pergi',
138
142
  gotoTitle: 'Jumlah halaman',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Andare',
138
142
  gotoTitle: 'Numero di pagine',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: 'すべて拡張します',
130
130
  clearExpand: 'すべてを閉じます',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '検索',
134
135
  emptyText: 'まだデータはありません'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: '行く',
138
142
  gotoTitle: 'ページ数',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '모든 것을 확장하십시오',
130
130
  clearExpand: '모두 닫으십시오',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '찾다',
134
135
  emptyText: '아직 데이터가 없습니다'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: '가다',
138
142
  gotoTitle: '페이지 수',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Pergi',
138
142
  gotoTitle: 'Bilangan halaman',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Gå',
138
142
  gotoTitle: 'Antall sider',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Ir',
138
142
  gotoTitle: 'Número de páginas',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: 'Расширить все',
130
130
  clearExpand: 'Закрыть все',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: 'поиск',
134
135
  emptyText: 'Нет данных пока'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Идти',
138
142
  gotoTitle: 'Количество страниц',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'ไป',
138
142
  gotoTitle: 'จำนวนหน้า',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'ئالغا',
138
142
  gotoTitle: 'بەت سانى',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Йти',
138
142
  gotoTitle: 'Кількість сторінок',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Bormoq',
138
142
  gotoTitle: 'Sahifalar soni',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: 'Mở rộng tất cả',
130
130
  clearExpand: 'Đóng tất cả',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: 'tìm kiếm',
134
135
  emptyText: 'Chưa có dữ liệu'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: 'Đi',
138
142
  gotoTitle: 'Số lượng trang',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展開',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜尋',
134
135
  emptyText: '暫無數據'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: '前往',
138
142
  gotoTitle: '頁數',
@@ -129,10 +129,14 @@ export default {
129
129
  allExpand: '全部展开',
130
130
  clearExpand: '全部收起',
131
131
  total: '已选 {0} 项',
132
+ filterCount: '共找到 {0} 条记录',
132
133
  close: '关闭',
133
134
  search: '搜索',
134
135
  emptyText: '暂无数据'
135
136
  },
137
+ tableSelect: {
138
+ filterCount: '共找到 {0} 条记录'
139
+ },
136
140
  pager: {
137
141
  goto: '前往',
138
142
  gotoTitle: '页数',
@@ -1,7 +1,7 @@
1
1
  import { h, PropType, ref, Ref, computed, onBeforeUnmount, watch, reactive, nextTick, onActivated, onMounted, VNode } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { VxeUI, createEvent, renderEmptyElement } from '../../ui'
4
+ import { VxeUI } from '../../ui'
5
5
  import { getCrossListDragRowInfo } from './store'
6
6
  import { isScale, removeClass, addClass, getTpImg, toCssUnit, hasClass } from '../../ui/src/dom'
7
7
  import { isEnableConf, getText, enModelValue, deModelValue, getDefaultConfig } from '../../ui/src/utils'
@@ -12,7 +12,7 @@ import VxeLoadingComponent from '../../loading'
12
12
 
13
13
  import type { VxeListConstructor, VxeListPropTypes, VxeListEmits, ListReactData, VxeListPrivateMethods, ListInternalData, VxeListDefines, ValueOf, ListMethods, ListPrivateMethods, ListPrivateRef, VxeComponentStyleType } from '../../../types'
14
14
 
15
- const { getConfig, getIcon, getI18n, domUtils, useFns, menus, globalEvents, globalResize } = VxeUI
15
+ const { getConfig, getIcon, getI18n, domUtils, useFns, menus, globalEvents, globalResize, createEvent, renderEmptyElement } = VxeUI
16
16
 
17
17
  const { warnLog, errLog } = createComponentLog('tree')
18
18
 
@@ -3,7 +3,7 @@ import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
4
  import { getEventTargetNode, getPopupContainer, getPopupWrapperElement, isScale, toCssUnit } from '../../ui/src/dom'
5
5
  import { getLastZIndex, nextZIndex, getSubLastZIndex, nextSubZIndex, getFuncText, handleBooleanDefaultValue, getDefaultConfig } from '../../ui/src/utils'
6
- import { VxeUI, getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useFns, renderEmptyElement } from '../../ui'
6
+ import { VxeUI } from '../../ui'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
8
8
  import { createComponentLog } from '../../ui/src/log'
9
9
  import { allActiveModals } from './store'
@@ -14,6 +14,8 @@ import VxeScrollbarComponent from '../../scrollbar'
14
14
  import type { VxeModalConstructor, VxeModalPropTypes, ModalReactData, ModalInternalData, VxeModalEmits, VxeModalPrivateComputed, ModalEventTypes, VxeButtonInstance, ModalMethods, ModalPrivateRef, VxeModalMethods, ValueOf, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods } from '../../../types'
15
15
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
16
16
 
17
+ const { getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useFns, renderEmptyElement } = VxeUI
18
+
17
19
  const { warnLog, errLog } = createComponentLog('modal')
18
20
 
19
21
  function createInternalData (): ModalInternalData {
@@ -1,7 +1,7 @@
1
1
  import { h, PropType, computed, inject, ref, Ref, reactive, nextTick, watch } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { getIcon, getConfig, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize } from '../../ui'
4
+ import { VxeUI } from '../../ui'
5
5
  import { createComponentLog } from '../../ui/src/log'
6
6
  import VxeSelectComponent from '../../select'
7
7
  import VxeNumberInputComponent from '../../number-input'
@@ -9,6 +9,8 @@ import VxeNumberInputComponent from '../../number-input'
9
9
  import type { VxePagerPropTypes, VxePagerConstructor, VxePagerEmits, VxeSelectEvents, ValueOf, PagerPrivateRef, PagerMethods, PagerPrivateMethods, VxePagerPrivateMethods, PagerReactData, VxeInputEvents, VxeSelectDefines } from '../../../types'
10
10
  import type { VxeGridConstructor, VxeGridPrivateMethods } from '../../../types/components/grid'
11
11
 
12
+ const { getIcon, getConfig, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useFns } = VxeUI
13
+
12
14
  const { warnLog, errLog } = createComponentLog('pager')
13
15
 
14
16
  export default defineVxeComponent({
@@ -100,7 +102,7 @@ export default defineVxeComponent({
100
102
 
101
103
  const xID = XEUtils.uniqueId()
102
104
 
103
- const { computeSize } = useSize(props)
105
+ const { computeSize } = useFns.useSize(props)
104
106
 
105
107
  const $xeGrid = inject<(VxeGridConstructor & VxeGridPrivateMethods) | null>('$xeGrid', null)
106
108
 
@@ -1,7 +1,7 @@
1
1
  import { h, Teleport, PropType, ref, inject, computed, provide, onUnmounted, reactive, nextTick, watch, onMounted, onBeforeUnmount } from 'vue'
2
2
  import { defineVxeComponent } from '../../ui/src/comp'
3
3
  import XEUtils from 'xe-utils'
4
- import { VxeUI, useFns } from '../../ui'
4
+ import { VxeUI } from '../../ui'
5
5
  import { getEventTargetNode, getPopupContainer, toCssUnit, updatePanelPlacement } from '../../ui/src/dom'
6
6
  import { getLastZIndex, nextZIndex, getFuncText, eqEmptyValue } from '../../ui/src/utils'
7
7
  import { getSlotVNs } from '../../ui/src/vn'
@@ -12,7 +12,7 @@ import VxeButtonComponent from '../../button'
12
12
  import type { VxeSelectPropTypes, VxeSelectConstructor, SelectInternalData, SelectReactData, VxeSelectDefines, VxeButtonEvents, ValueOf, VxeSelectEmits, VxeComponentSlotType, VxeInputConstructor, SelectMethods, SelectPrivateRef, VxeSelectMethods, VxeOptionProps, VxeDrawerConstructor, VxeDrawerMethods, VxeFormDefines, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods, VxeInputEvents, VxeComponentStyleType, VxeCardConstructor, VxeCardPrivateMethods } from '../../../types'
13
13
  import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
14
14
 
15
- const { getConfig, getIcon, getI18n, baseUtils, domUtils, globalEvents, GLOBAL_EVENT_KEYS, globalResize, createEvent, renderEmptyElement } = VxeUI
15
+ const { getConfig, getIcon, getI18n, baseUtils, domUtils, useFns, globalEvents, GLOBAL_EVENT_KEYS, globalResize, createEvent, renderEmptyElement } = VxeUI
16
16
  const { getDefVal } = baseUtils
17
17
 
18
18
  const { errLog } = createComponentLog('select')
@@ -165,6 +165,8 @@ export default defineVxeComponent({
165
165
  filterConfig: Object as PropType<VxeSelectPropTypes.FilterConfig>,
166
166
  remote: Boolean as PropType<VxeSelectPropTypes.Remote>,
167
167
  remoteConfig: Object as PropType<VxeSelectPropTypes.RemoteConfig>,
168
+ showBadge: Boolean as PropType<VxeSelectPropTypes.ShowBadge>,
169
+ badgeConfig: Object as PropType<VxeSelectPropTypes.BadgeConfig>,
168
170
  emptyText: String as PropType<VxeSelectPropTypes.EmptyText>,
169
171
  checkedClosable: {
170
172
  type: Boolean as PropType<VxeSelectPropTypes.CheckedClosable>,
@@ -390,6 +392,39 @@ export default defineVxeComponent({
390
392
  return Object.assign({}, getConfig().select.remoteConfig, props.remoteConfig)
391
393
  })
392
394
 
395
+ const computeBadgeOpts = computed(() => {
396
+ return Object.assign({}, getConfig().select.badgeConfig, props.badgeConfig)
397
+ })
398
+ const computeBadgeCountNum = computed(() => {
399
+ const { showBadge } = props
400
+ if (!showBadge) {
401
+ return 0
402
+ }
403
+ const badgeOpts = computeBadgeOpts.value
404
+ const { count } = badgeOpts
405
+ return count ? XEUtils.toNumber(count) : 0
406
+ })
407
+ const computeBadgeLabel = computed(() => {
408
+ const { showBadge } = props
409
+ if (!showBadge) {
410
+ return ''
411
+ }
412
+ const badgeOpts = computeBadgeOpts.value
413
+ const { dot, text, max } = badgeOpts
414
+ if (dot) {
415
+ return ''
416
+ }
417
+ if (text) {
418
+ return `${text}`
419
+ }
420
+ const countNum = computeBadgeCountNum.value
421
+ if (countNum) {
422
+ const maxNum = max ? XEUtils.toNumber(max) : 99
423
+ return countNum > maxNum ? `${maxNum}+` : `${countNum}`
424
+ }
425
+ return ''
426
+ })
427
+
393
428
  const computeFilterOpts = computed(() => {
394
429
  return Object.assign({}, getConfig().select.filterConfig, props.filterConfig)
395
430
  })
@@ -688,9 +723,20 @@ export default defineVxeComponent({
688
723
  avList = fullData.filter(isOptionVisible)
689
724
  } else {
690
725
  if (filterable && frMethod) {
691
- avList = fullData.filter(option => isOptionVisible(option) && frMethod({ $select: $xeSelect, group: null, option, searchValue, value: modelValue }))
726
+ avList = searchValue
727
+ ? fullData.filter(option => {
728
+ return isOptionVisible(option) && frMethod({
729
+ $select: $xeSelect,
730
+ group: null,
731
+ option,
732
+ filterValue: searchValue,
733
+ searchValue: searchValue,
734
+ value: modelValue
735
+ })
736
+ })
737
+ : fullData
692
738
  } else if (filterable) {
693
- avList = fullData.filter(option => isOptionVisible(option) && (!searchStr || `${option[labelField] || option[valueField]}`.toLowerCase().indexOf(searchStr) > -1))
739
+ avList = searchStr ? fullData.filter(option => isOptionVisible(option) && (`${option[labelField] || option[valueField]}`.toLowerCase().indexOf(searchStr) > -1)) : fullData
694
740
  } else {
695
741
  avList = fullData.filter(isOptionVisible)
696
742
  }
@@ -1787,7 +1833,7 @@ export default defineVxeComponent({
1787
1833
  }
1788
1834
 
1789
1835
  const renderVN = () => {
1790
- const { className, multiple, loading, filterable, showTotalButton, showCheckedButton, showClearButton, showCloseButton } = props
1836
+ const { className, multiple, loading, filterable, showTotalButton, showCheckedButton, showClearButton, showCloseButton, showBadge } = props
1791
1837
  const { initialized, isActivated, isAniVisible, optList, visiblePanel, bodyHeight, topSpaceHeight, xThumbWidth, yThumbHeight } = reactData
1792
1838
  const vSize = computeSize.value
1793
1839
  const isVScrollbar = computeIsVScrollbar.value
@@ -1797,11 +1843,16 @@ export default defineVxeComponent({
1797
1843
  const btnTransfer = computeBtnTransfer.value
1798
1844
  const formReadonly = computeFormReadonly.value
1799
1845
  const inpPlaceholder = computeInpPlaceholder.value
1846
+ const badgeOpts = computeBadgeOpts.value
1847
+ const badgeLabel = computeBadgeLabel.value
1800
1848
  const defaultSlot = slots.default
1801
1849
  if (formReadonly) {
1802
1850
  return h('div', {
1803
1851
  ref: refElem,
1804
- class: ['vxe-select--readonly', className]
1852
+ class: ['vxe-select--readonly', className, {
1853
+ 'is--badge': showBadge && badgeLabel,
1854
+ 'is--badge-dot': showBadge && badgeOpts.dot
1855
+ }]
1805
1856
  }, [
1806
1857
  h('div', {
1807
1858
  class: 'vxe-select-slots',
@@ -1810,7 +1861,12 @@ export default defineVxeComponent({
1810
1861
  h('span', {
1811
1862
  class: 'vxe-select-label',
1812
1863
  title: fullLabel
1813
- }, selectLabel)
1864
+ }, selectLabel),
1865
+ showBadge && badgeLabel
1866
+ ? h('div', {
1867
+ class: 'vxe-badge--label'
1868
+ }, badgeLabel)
1869
+ : renderEmptyElement($xeSelect)
1814
1870
  ])
1815
1871
  }
1816
1872
  const currStyle = computeCurrStyle.value
@@ -1834,6 +1890,8 @@ export default defineVxeComponent({
1834
1890
  ref: refElem,
1835
1891
  class: ['vxe-select', className ? (XEUtils.isFunction(className) ? className({ $select: $xeSelect }) : className) : '', {
1836
1892
  [`size--${vSize}`]: vSize,
1893
+ 'is--badge': showBadge && badgeLabel,
1894
+ 'is--badge-dot': showBadge && badgeOpts.dot,
1837
1895
  'is--visible': visiblePanel,
1838
1896
  'is--disabled': isDisabled,
1839
1897
  'is--filter': filterable,
@@ -1868,6 +1926,11 @@ export default defineVxeComponent({
1868
1926
  prefix: () => prefixSlot({})
1869
1927
  }
1870
1928
  : {}),
1929
+ showBadge && badgeLabel
1930
+ ? h('div', {
1931
+ class: 'vxe-badge--label'
1932
+ }, badgeLabel)
1933
+ : renderEmptyElement($xeSelect),
1871
1934
  h(Teleport, {
1872
1935
  to: getPopupContainer(appendTo),
1873
1936
  disabled: btnTransfer ? !initialized : true