vxe-table 3.8.23 → 3.9.0-rc.0

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 (1081) hide show
  1. package/README.md +47 -77
  2. package/es/colgroup/index.js +17 -0
  3. package/es/column/index.js +17 -0
  4. package/es/components.js +33 -0
  5. package/es/grid/index.js +13 -0
  6. package/es/grid/src/grid.js +1100 -0
  7. package/es/grid/style.css +61 -0
  8. package/es/grid/style.min.css +1 -0
  9. package/es/iconfont.1725953896189.ttf +0 -0
  10. package/es/iconfont.1725953896189.woff +0 -0
  11. package/es/iconfont.1725953896189.woff2 +0 -0
  12. package/es/index.esm.js +3 -0
  13. package/es/locale/lang/en-US.d.ts +2 -0
  14. package/es/locale/lang/en-US.js +673 -0
  15. package/es/locale/lang/es-ES.d.ts +2 -0
  16. package/es/locale/lang/es-ES.js +673 -0
  17. package/es/locale/lang/hu-HU.js +671 -0
  18. package/es/locale/lang/ja-JP.d.ts +2 -0
  19. package/es/locale/lang/ja-JP.js +673 -0
  20. package/es/locale/lang/ko-KR.js +673 -0
  21. package/es/locale/lang/pt-BR.d.ts +2 -0
  22. package/es/locale/lang/pt-BR.js +673 -0
  23. package/es/locale/lang/ru-RU.js +673 -0
  24. package/es/locale/lang/vi-VN.js +673 -0
  25. package/es/locale/lang/zh-CN.d.ts +2 -0
  26. package/es/locale/lang/zh-CN.js +673 -0
  27. package/es/locale/lang/zh-HK.d.ts +2 -0
  28. package/es/locale/lang/zh-HK.js +2 -0
  29. package/es/locale/lang/zh-MO.d.ts +2 -0
  30. package/es/locale/lang/zh-MO.js +2 -0
  31. package/es/locale/lang/zh-TC.d.ts +2 -0
  32. package/es/locale/lang/zh-TC.js +673 -0
  33. package/es/locale/lang/zh-TW.d.ts +2 -0
  34. package/es/locale/lang/zh-TW.js +2 -0
  35. package/es/style.css +1 -0
  36. package/es/style.min.css +1 -0
  37. package/es/table/index.js +14 -0
  38. package/es/table/module/custom/mixin.js +87 -0
  39. package/es/table/module/custom/panel.js +974 -0
  40. package/es/table/module/edit/mixin.js +810 -0
  41. package/es/table/module/export/export-panel.js +448 -0
  42. package/es/table/module/export/import-panel.js +185 -0
  43. package/es/table/module/export/mixin.js +1463 -0
  44. package/es/table/module/export/util.js +20 -0
  45. package/es/table/module/filter/mixin.js +276 -0
  46. package/es/table/module/filter/panel.js +219 -0
  47. package/es/table/module/keyboard/mixin.js +376 -0
  48. package/es/table/module/menu/mixin.js +282 -0
  49. package/es/table/module/menu/panel.js +138 -0
  50. package/es/table/module/validator/mixin.js +487 -0
  51. package/es/table/render/index.js +796 -0
  52. package/es/table/src/body.js +771 -0
  53. package/es/table/src/cell.js +846 -0
  54. package/es/table/src/column.js +139 -0
  55. package/es/table/src/columnInfo.js +158 -0
  56. package/es/table/src/footer.js +279 -0
  57. package/es/table/src/group.js +11 -0
  58. package/es/table/src/header.js +302 -0
  59. package/es/table/src/methods.js +5640 -0
  60. package/es/table/src/props.js +170 -0
  61. package/es/table/src/table.js +1132 -0
  62. package/es/table/src/util.js +384 -0
  63. package/es/table/style.css +2805 -0
  64. package/es/table/style.min.css +1 -0
  65. package/es/toolbar/index.js +13 -0
  66. package/es/toolbar/src/toolbar.js +675 -0
  67. package/es/toolbar/style.css +91 -0
  68. package/es/toolbar/style.min.css +1 -0
  69. package/es/ui/index.js +377 -0
  70. package/es/ui/src/comp.js +1 -0
  71. package/es/ui/src/dom.js +141 -0
  72. package/es/ui/src/log.js +5 -0
  73. package/es/ui/src/utils.js +44 -0
  74. package/es/ui/src/vn.js +10 -0
  75. package/es/v-x-e-table/index.js +3 -0
  76. package/es/vxe-colgroup/index.js +3 -0
  77. package/es/vxe-column/index.js +3 -0
  78. package/es/vxe-grid/index.js +3 -0
  79. package/es/vxe-grid/style.css +61 -0
  80. package/es/vxe-grid/style.min.css +1 -0
  81. package/es/vxe-table/index.js +3 -0
  82. package/es/vxe-table/style.css +2805 -0
  83. package/es/vxe-table/style.min.css +1 -0
  84. package/es/vxe-toolbar/index.js +3 -0
  85. package/es/vxe-toolbar/style.css +91 -0
  86. package/es/vxe-toolbar/style.min.css +1 -0
  87. package/es/vxe-ui/index.js +3 -0
  88. package/es/vxe-v-x-e-table/index.js +3 -0
  89. package/helper/vetur/attributes.json +1 -1
  90. package/helper/vetur/tags.json +1 -1
  91. package/lib/colgroup/index.js +12 -7
  92. package/lib/colgroup/index.min.js +1 -1
  93. package/lib/colgroup/style/style.css +0 -26
  94. package/lib/column/index.js +12 -7
  95. package/lib/column/index.min.js +1 -1
  96. package/lib/column/style/style.css +0 -26
  97. package/lib/components.js +101 -0
  98. package/lib/components.min.js +1 -0
  99. package/lib/grid/index.js +9 -8
  100. package/lib/grid/index.min.js +1 -1
  101. package/lib/grid/src/grid.js +114 -121
  102. package/lib/grid/src/grid.min.js +1 -1
  103. package/lib/grid/style/style.css +6 -32
  104. package/lib/grid/style/style.min.css +1 -1
  105. package/lib/iconfont.1725953896189.ttf +0 -0
  106. package/lib/iconfont.1725953896189.woff +0 -0
  107. package/lib/iconfont.1725953896189.woff2 +0 -0
  108. package/lib/index.common.js +5 -5
  109. package/lib/index.umd.js +18867 -29242
  110. package/lib/index.umd.min.js +1 -1
  111. package/lib/locale/lang/en-US.d.ts +2 -8
  112. package/lib/locale/lang/en-US.js +11 -6
  113. package/lib/locale/lang/en-US.min.js +1 -1
  114. package/lib/locale/lang/en-US.umd.js +11 -6
  115. package/lib/locale/lang/es-ES.d.ts +2 -8
  116. package/lib/locale/lang/es-ES.js +11 -6
  117. package/lib/locale/lang/es-ES.min.js +1 -1
  118. package/lib/locale/lang/es-ES.umd.js +11 -6
  119. package/lib/locale/lang/hu-HU.js +677 -0
  120. package/lib/locale/lang/hu-HU.min.js +1 -0
  121. package/lib/locale/lang/ja-JP.d.ts +2 -8
  122. package/lib/locale/lang/ja-JP.js +11 -6
  123. package/lib/locale/lang/ja-JP.min.js +1 -1
  124. package/lib/locale/lang/ja-JP.umd.js +11 -6
  125. package/lib/locale/lang/ko-KR.js +679 -0
  126. package/lib/locale/lang/ko-KR.min.js +1 -0
  127. package/lib/locale/lang/pt-BR.d.ts +2 -8
  128. package/lib/locale/lang/pt-BR.js +11 -6
  129. package/lib/locale/lang/pt-BR.min.js +1 -1
  130. package/lib/locale/lang/pt-BR.umd.js +11 -6
  131. package/lib/locale/lang/ru-RU.js +679 -0
  132. package/lib/locale/lang/ru-RU.min.js +1 -0
  133. package/lib/locale/lang/vi-VN.js +679 -0
  134. package/lib/locale/lang/vi-VN.min.js +1 -0
  135. package/lib/locale/lang/zh-CN.d.ts +2 -8
  136. package/lib/locale/lang/zh-CN.js +11 -6
  137. package/lib/locale/lang/zh-CN.min.js +1 -1
  138. package/lib/locale/lang/zh-CN.umd.js +11 -6
  139. package/lib/locale/lang/zh-HK.d.ts +2 -8
  140. package/lib/locale/lang/zh-HK.js +1 -1
  141. package/lib/locale/lang/zh-HK.min.js +1 -1
  142. package/lib/locale/lang/zh-HK.umd.js +11 -6
  143. package/lib/locale/lang/zh-MO.d.ts +2 -8
  144. package/lib/locale/lang/zh-MO.js +1 -1
  145. package/lib/locale/lang/zh-MO.min.js +1 -1
  146. package/lib/locale/lang/zh-MO.umd.js +11 -6
  147. package/lib/locale/lang/zh-TC.d.ts +2 -8
  148. package/lib/locale/lang/zh-TC.js +11 -6
  149. package/lib/locale/lang/zh-TC.min.js +1 -1
  150. package/lib/locale/lang/zh-TC.umd.js +11 -6
  151. package/lib/locale/lang/zh-TW.d.ts +2 -8
  152. package/lib/locale/lang/zh-TW.js +1 -1
  153. package/lib/locale/lang/zh-TW.min.js +1 -1
  154. package/lib/locale/lang/zh-TW.umd.js +11 -6
  155. package/lib/style.css +1 -1
  156. package/lib/style.min.css +1 -1
  157. package/lib/table/index.js +10 -31
  158. package/lib/table/index.min.js +1 -1
  159. package/lib/table/module/custom/mixin.js +117 -0
  160. package/lib/table/module/custom/mixin.min.js +1 -0
  161. package/lib/table/module/custom/panel.js +910 -0
  162. package/lib/table/module/custom/panel.min.js +1 -0
  163. package/lib/table/module/edit/mixin.js +975 -0
  164. package/lib/table/module/edit/mixin.min.js +1 -0
  165. package/lib/table/module/export/export-panel.js +412 -0
  166. package/lib/table/module/export/export-panel.min.js +1 -0
  167. package/lib/table/module/export/import-panel.js +177 -0
  168. package/lib/table/module/export/import-panel.min.js +1 -0
  169. package/lib/table/module/export/mixin.js +1735 -0
  170. package/lib/table/module/export/mixin.min.js +1 -0
  171. package/lib/table/module/export/util.js +18 -0
  172. package/lib/table/module/export/util.min.js +1 -0
  173. package/lib/table/module/filter/mixin.js +329 -0
  174. package/lib/table/module/filter/mixin.min.js +1 -0
  175. package/lib/table/module/filter/panel.js +213 -0
  176. package/lib/table/module/filter/panel.min.js +1 -0
  177. package/lib/table/module/keyboard/mixin.js +410 -0
  178. package/lib/table/module/keyboard/mixin.min.js +1 -0
  179. package/lib/table/module/menu/mixin.js +329 -0
  180. package/lib/table/module/menu/mixin.min.js +1 -0
  181. package/lib/table/module/menu/panel.js +117 -0
  182. package/lib/table/module/menu/panel.min.js +1 -0
  183. package/lib/table/module/validator/mixin.js +550 -0
  184. package/lib/table/module/validator/mixin.min.js +1 -0
  185. package/lib/table/render/index.js +895 -0
  186. package/lib/table/render/index.min.js +1 -0
  187. package/lib/table/src/body.js +38 -44
  188. package/lib/table/src/body.min.js +1 -1
  189. package/lib/table/src/cell.js +83 -87
  190. package/lib/table/src/cell.min.js +1 -1
  191. package/lib/table/src/column.js +5 -5
  192. package/lib/table/src/column.min.js +1 -1
  193. package/lib/table/src/columnInfo.js +13 -21
  194. package/lib/table/src/columnInfo.min.js +1 -1
  195. package/lib/table/src/footer.js +14 -14
  196. package/lib/table/src/footer.min.js +1 -1
  197. package/lib/table/src/group.js +1 -1
  198. package/lib/table/src/group.min.js +1 -1
  199. package/lib/table/src/header.js +19 -23
  200. package/lib/table/src/header.min.js +1 -1
  201. package/lib/table/src/methods.js +608 -599
  202. package/lib/table/src/methods.min.js +1 -1
  203. package/lib/table/src/props.js +296 -0
  204. package/lib/table/src/props.min.js +1 -0
  205. package/lib/table/src/table.js +150 -419
  206. package/lib/table/src/table.min.js +1 -1
  207. package/lib/table/src/util.js +73 -23
  208. package/lib/table/src/util.min.js +1 -1
  209. package/lib/table/style/style.css +1715 -361
  210. package/lib/table/style/style.min.css +1 -1
  211. package/lib/toolbar/index.js +9 -6
  212. package/lib/toolbar/index.min.js +1 -1
  213. package/lib/toolbar/src/toolbar.js +579 -413
  214. package/lib/toolbar/src/toolbar.min.js +1 -1
  215. package/lib/toolbar/style/style.css +11 -37
  216. package/lib/toolbar/style/style.min.css +1 -1
  217. package/lib/ui/index.js +382 -16
  218. package/lib/ui/index.min.js +1 -1
  219. package/lib/ui/src/comp.js +9 -0
  220. package/lib/ui/src/comp.min.js +1 -0
  221. package/lib/ui/src/dom.js +184 -0
  222. package/lib/ui/src/dom.min.js +1 -0
  223. package/lib/ui/src/log.js +11 -0
  224. package/lib/ui/src/log.min.js +1 -0
  225. package/lib/ui/src/utils.js +63 -0
  226. package/lib/ui/src/utils.min.js +1 -0
  227. package/lib/ui/src/vn.js +18 -0
  228. package/lib/ui/src/vn.min.js +1 -0
  229. package/lib/v-x-e-table/index.js +10 -277
  230. package/lib/v-x-e-table/index.min.js +1 -1
  231. package/lib/v-x-e-table/style/style.css +0 -1630
  232. package/lib/v-x-e-table/style/style.min.css +0 -1
  233. package/lib/vxe-colgroup/index.min.js +1 -1
  234. package/lib/vxe-colgroup/style/style.css +0 -26
  235. package/lib/vxe-column/index.min.js +1 -1
  236. package/lib/vxe-column/style/style.css +0 -26
  237. package/lib/vxe-grid/index.min.js +1 -1
  238. package/lib/vxe-grid/style/style.css +6 -32
  239. package/lib/vxe-grid/style/style.min.css +1 -1
  240. package/lib/vxe-table/index.min.js +1 -1
  241. package/lib/vxe-table/style/style.css +1715 -361
  242. package/lib/vxe-table/style/style.min.css +1 -1
  243. package/lib/vxe-toolbar/index.min.js +1 -1
  244. package/lib/vxe-toolbar/style/style.css +11 -37
  245. package/lib/vxe-toolbar/style/style.min.css +1 -1
  246. package/lib/vxe-ui/index.js +23 -0
  247. package/lib/vxe-ui/index.min.js +1 -0
  248. package/lib/vxe-v-x-e-table/index.js +23 -0
  249. package/lib/vxe-v-x-e-table/index.min.js +1 -0
  250. package/lib/vxe-v-x-e-table/style/style.css +0 -0
  251. package/lib/vxe-v-x-e-table/style/style.min.css +0 -0
  252. package/package.json +18 -25
  253. package/packages/colgroup/index.ts +22 -0
  254. package/packages/column/index.ts +22 -0
  255. package/packages/components.ts +43 -0
  256. package/packages/grid/index.ts +18 -0
  257. package/packages/grid/src/grid.ts +1129 -0
  258. package/packages/index.ts +4 -0
  259. package/packages/locale/lang/en-US.ts +675 -0
  260. package/packages/locale/lang/es-ES.ts +675 -0
  261. package/packages/locale/lang/hu-HU.ts +673 -0
  262. package/packages/locale/lang/ja-JP.ts +675 -0
  263. package/packages/locale/lang/ko-KR.ts +675 -0
  264. package/packages/locale/lang/pt-BR.ts +675 -0
  265. package/packages/locale/lang/ru-RU.ts +675 -0
  266. package/packages/locale/lang/vi-VN.ts +675 -0
  267. package/packages/locale/lang/zh-CN.ts +675 -0
  268. package/packages/locale/lang/zh-TC.ts +675 -0
  269. package/packages/table/index.ts +19 -0
  270. package/packages/table/module/custom/mixin.ts +87 -0
  271. package/packages/table/module/custom/panel.ts +984 -0
  272. package/packages/table/module/edit/mixin.ts +797 -0
  273. package/packages/table/module/export/export-panel.ts +452 -0
  274. package/packages/table/module/export/import-panel.ts +188 -0
  275. package/packages/table/module/export/mixin.ts +1504 -0
  276. package/packages/table/module/export/util.ts +24 -0
  277. package/packages/table/module/filter/mixin.ts +273 -0
  278. package/packages/table/module/filter/panel.ts +220 -0
  279. package/packages/table/module/keyboard/mixin.ts +355 -0
  280. package/packages/table/module/menu/mixin.ts +272 -0
  281. package/packages/table/module/menu/panel.ts +141 -0
  282. package/packages/table/module/validator/mixin.ts +475 -0
  283. package/packages/table/render/index.ts +863 -0
  284. package/packages/table/src/body.ts +842 -0
  285. package/packages/table/src/cell.ts +872 -0
  286. package/packages/table/src/column.ts +141 -0
  287. package/packages/table/src/columnInfo.ts +169 -0
  288. package/packages/table/src/footer.ts +300 -0
  289. package/packages/table/src/header.ts +304 -0
  290. package/packages/table/src/methods.ts +5559 -0
  291. package/packages/table/src/props.ts +173 -0
  292. package/packages/table/src/table.ts +1186 -0
  293. package/packages/table/src/util.ts +410 -0
  294. package/packages/toolbar/index.ts +18 -0
  295. package/packages/toolbar/src/toolbar.ts +733 -0
  296. package/packages/ui/index.ts +397 -0
  297. package/packages/ui/src/comp.ts +3 -0
  298. package/packages/ui/src/dom.ts +163 -0
  299. package/packages/ui/src/log.ts +8 -0
  300. package/packages/ui/src/utils.ts +54 -0
  301. package/packages/ui/src/vn.ts +14 -0
  302. package/packages/v-x-e-table/index.ts +4 -0
  303. package/styles/all.scss +6 -32
  304. package/styles/base.scss +16 -0
  305. package/styles/components/colgroup.scss +0 -0
  306. package/styles/components/column.scss +0 -0
  307. package/styles/components/grid.scss +62 -0
  308. package/styles/components/icon.scss +187 -0
  309. package/styles/components/old-icon.scss +717 -0
  310. package/styles/components/table-module/all.scss +7 -0
  311. package/styles/components/table-module/custom.scss +381 -0
  312. package/styles/components/table-module/edit.scss +0 -0
  313. package/styles/components/table-module/export.scss +127 -0
  314. package/styles/components/table-module/filter.scss +112 -0
  315. package/styles/components/table-module/keyboard.scss +0 -0
  316. package/styles/components/table-module/menu.scss +86 -0
  317. package/styles/components/table-module/validator.scss +0 -0
  318. package/styles/components/table.scss +1492 -0
  319. package/styles/components/toolbar.scss +102 -0
  320. package/styles/components/ui.scss +0 -0
  321. package/styles/components/v-x-e-table.scss +0 -0
  322. package/styles/cssvar.scss +3 -2
  323. package/styles/default.scss +2 -0
  324. package/styles/helpers/mixin.scss +16 -13
  325. package/styles/icon/iconfont.ttf +0 -0
  326. package/styles/icon/iconfont.woff +0 -0
  327. package/styles/icon/iconfont.woff2 +0 -0
  328. package/styles/modules.scss +6 -33
  329. package/styles/theme/base.scss +89 -0
  330. package/styles/theme/dark.scss +41 -0
  331. package/styles/theme/light.scss +39 -0
  332. package/styles/variable.scss +2 -275
  333. package/types/all.d.ts +45 -70
  334. package/types/index.d.ts +2 -7
  335. package/lib/all.js +0 -459
  336. package/lib/all.min.js +0 -1
  337. package/lib/button/index.d.ts +0 -4
  338. package/lib/button/index.js +0 -17
  339. package/lib/button/index.min.js +0 -1
  340. package/lib/button/src/button.js +0 -512
  341. package/lib/button/src/button.min.js +0 -1
  342. package/lib/button/src/group.js +0 -71
  343. package/lib/button/src/group.min.js +0 -1
  344. package/lib/button/style/style.css +0 -571
  345. package/lib/button/style/style.min.css +0 -1
  346. package/lib/button-group/index.d.ts +0 -4
  347. package/lib/button-group/index.js +0 -17
  348. package/lib/button-group/index.min.js +0 -1
  349. package/lib/button-group/style/style.css +0 -29
  350. package/lib/button-group/style/style.min.css +0 -1
  351. package/lib/checkbox/index.d.ts +0 -4
  352. package/lib/checkbox/index.js +0 -17
  353. package/lib/checkbox/index.min.js +0 -1
  354. package/lib/checkbox/src/checkbox.js +0 -138
  355. package/lib/checkbox/src/checkbox.min.js +0 -1
  356. package/lib/checkbox/src/group.js +0 -105
  357. package/lib/checkbox/src/group.min.js +0 -1
  358. package/lib/checkbox/style/index.js +0 -1
  359. package/lib/checkbox/style/style.css +0 -292
  360. package/lib/checkbox/style/style.min.css +0 -1
  361. package/lib/checkbox-group/index.d.ts +0 -4
  362. package/lib/checkbox-group/index.js +0 -17
  363. package/lib/checkbox-group/index.min.js +0 -1
  364. package/lib/checkbox-group/style/style.css +0 -26
  365. package/lib/colgroup/index.d.ts +0 -4
  366. package/lib/column/index.d.ts +0 -4
  367. package/lib/custom/index.d.ts +0 -4
  368. package/lib/custom/index.js +0 -21
  369. package/lib/custom/index.min.js +0 -1
  370. package/lib/custom/src/mixin.js +0 -117
  371. package/lib/custom/src/mixin.min.js +0 -1
  372. package/lib/custom/src/panel.js +0 -865
  373. package/lib/custom/src/panel.min.js +0 -1
  374. package/lib/custom/style/index.js +0 -1
  375. package/lib/custom/style/style.css +0 -629
  376. package/lib/custom/style/style.min.css +0 -1
  377. package/lib/edit/index.d.ts +0 -4
  378. package/lib/edit/index.js +0 -18
  379. package/lib/edit/index.min.js +0 -1
  380. package/lib/edit/src/mixin.js +0 -973
  381. package/lib/edit/src/mixin.min.js +0 -1
  382. package/lib/edit/style/index.js +0 -1
  383. package/lib/edit/style/style.css +0 -26
  384. package/lib/export/index.d.ts +0 -4
  385. package/lib/export/index.js +0 -59
  386. package/lib/export/index.min.js +0 -1
  387. package/lib/export/src/export-panel.js +0 -413
  388. package/lib/export/src/export-panel.min.js +0 -1
  389. package/lib/export/src/import-panel.js +0 -176
  390. package/lib/export/src/import-panel.min.js +0 -1
  391. package/lib/export/src/mixin.js +0 -1762
  392. package/lib/export/src/mixin.min.js +0 -1
  393. package/lib/export/style/index.js +0 -1
  394. package/lib/export/style/style.css +0 -219
  395. package/lib/export/style/style.min.css +0 -1
  396. package/lib/filter/index.d.ts +0 -4
  397. package/lib/filter/index.js +0 -21
  398. package/lib/filter/index.min.js +0 -1
  399. package/lib/filter/src/mixin.js +0 -328
  400. package/lib/filter/src/mixin.min.js +0 -1
  401. package/lib/filter/src/panel.js +0 -215
  402. package/lib/filter/src/panel.min.js +0 -1
  403. package/lib/filter/style/index.js +0 -1
  404. package/lib/filter/style/style.css +0 -166
  405. package/lib/filter/style/style.min.css +0 -1
  406. package/lib/form/index.d.ts +0 -4
  407. package/lib/form/index.js +0 -17
  408. package/lib/form/index.min.js +0 -1
  409. package/lib/form/src/form-config-item.js +0 -194
  410. package/lib/form/src/form-config-item.min.js +0 -1
  411. package/lib/form/src/form-gather.js +0 -36
  412. package/lib/form/src/form-gather.min.js +0 -1
  413. package/lib/form/src/form-item.js +0 -259
  414. package/lib/form/src/form-item.min.js +0 -1
  415. package/lib/form/src/form.js +0 -764
  416. package/lib/form/src/form.min.js +0 -1
  417. package/lib/form/src/render.js +0 -81
  418. package/lib/form/src/render.min.js +0 -1
  419. package/lib/form/src/util.js +0 -148
  420. package/lib/form/src/util.min.js +0 -1
  421. package/lib/form/style/index.js +0 -1
  422. package/lib/form/style/style.css +0 -444
  423. package/lib/form/style/style.min.css +0 -1
  424. package/lib/form-gather/index.d.ts +0 -4
  425. package/lib/form-gather/index.js +0 -17
  426. package/lib/form-gather/index.min.js +0 -1
  427. package/lib/form-gather/style/index.js +0 -1
  428. package/lib/form-gather/style/style.css +0 -26
  429. package/lib/form-item/index.d.ts +0 -4
  430. package/lib/form-item/index.js +0 -17
  431. package/lib/form-item/index.min.js +0 -1
  432. package/lib/form-item/style/index.js +0 -1
  433. package/lib/form-item/style/style.css +0 -26
  434. package/lib/grid/index.d.ts +0 -4
  435. package/lib/icon/index.d.ts +0 -4
  436. package/lib/icon/index.js +0 -17
  437. package/lib/icon/index.min.js +0 -1
  438. package/lib/icon/src/icon.js +0 -32
  439. package/lib/icon/src/icon.min.js +0 -1
  440. package/lib/icon/style/iconfont.1724894779531.ttf +0 -0
  441. package/lib/icon/style/iconfont.1724894779531.woff +0 -0
  442. package/lib/icon/style/iconfont.1724894779531.woff2 +0 -0
  443. package/lib/icon/style/index.js +0 -1
  444. package/lib/icon/style/style.css +0 -1550
  445. package/lib/icon/style/style.min.css +0 -1550
  446. package/lib/iconfont.1724894779531.ttf +0 -0
  447. package/lib/iconfont.1724894779531.woff +0 -0
  448. package/lib/iconfont.1724894779531.woff2 +0 -0
  449. package/lib/index.common.min.js +0 -1
  450. package/lib/index.css +0 -1
  451. package/lib/input/index.d.ts +0 -4
  452. package/lib/input/index.js +0 -17
  453. package/lib/input/index.min.js +0 -1
  454. package/lib/input/src/date.js +0 -44
  455. package/lib/input/src/date.min.js +0 -1
  456. package/lib/input/src/input.js +0 -2481
  457. package/lib/input/src/input.min.js +0 -1
  458. package/lib/input/src/number.js +0 -18
  459. package/lib/input/src/number.min.js +0 -1
  460. package/lib/input/style/index.js +0 -1
  461. package/lib/input/style/style.css +0 -1039
  462. package/lib/input/style/style.min.css +0 -1
  463. package/lib/keyboard/index.d.ts +0 -4
  464. package/lib/keyboard/index.js +0 -18
  465. package/lib/keyboard/index.min.js +0 -1
  466. package/lib/keyboard/src/mixin.js +0 -413
  467. package/lib/keyboard/src/mixin.min.js +0 -1
  468. package/lib/keyboard/style/index.js +0 -1
  469. package/lib/keyboard/style/style.css +0 -26
  470. package/lib/list/index.d.ts +0 -4
  471. package/lib/list/index.js +0 -17
  472. package/lib/list/index.min.js +0 -1
  473. package/lib/list/src/list.js +0 -356
  474. package/lib/list/src/list.min.js +0 -1
  475. package/lib/list/style/index.js +0 -1
  476. package/lib/list/style/style.css +0 -52
  477. package/lib/list/style/style.min.css +0 -1
  478. package/lib/loading/index.d.ts +0 -4
  479. package/lib/loading/index.js +0 -17
  480. package/lib/loading/index.min.js +0 -1
  481. package/lib/loading/src/loading.js +0 -46
  482. package/lib/loading/src/loading.min.js +0 -1
  483. package/lib/loading/style/index.js +0 -1
  484. package/lib/loading/style/style.css +0 -104
  485. package/lib/loading/style/style.min.css +0 -1
  486. package/lib/locale/lang/language.d.ts +0 -5
  487. package/lib/menu/index.d.ts +0 -4
  488. package/lib/menu/index.js +0 -21
  489. package/lib/menu/index.min.js +0 -1
  490. package/lib/menu/src/mixin.js +0 -331
  491. package/lib/menu/src/mixin.min.js +0 -1
  492. package/lib/menu/src/panel.js +0 -117
  493. package/lib/menu/src/panel.min.js +0 -1
  494. package/lib/menu/style/index.js +0 -1
  495. package/lib/menu/style/style.css +0 -126
  496. package/lib/menu/style/style.min.css +0 -1
  497. package/lib/mixins/size.js +0 -15
  498. package/lib/mixins/size.min.js +0 -1
  499. package/lib/modal/index.d.ts +0 -4
  500. package/lib/modal/index.js +0 -131
  501. package/lib/modal/index.min.js +0 -1
  502. package/lib/modal/src/modal.js +0 -1114
  503. package/lib/modal/src/modal.min.js +0 -1
  504. package/lib/modal/style/index.js +0 -1
  505. package/lib/modal/style/style.css +0 -354
  506. package/lib/modal/style/style.min.css +0 -1
  507. package/lib/optgroup/index.d.ts +0 -4
  508. package/lib/optgroup/index.js +0 -17
  509. package/lib/optgroup/index.min.js +0 -1
  510. package/lib/optgroup/style/index.js +0 -1
  511. package/lib/optgroup/style/style.css +0 -26
  512. package/lib/option/index.d.ts +0 -4
  513. package/lib/option/index.js +0 -17
  514. package/lib/option/index.min.js +0 -1
  515. package/lib/option/style/index.js +0 -1
  516. package/lib/option/style/style.css +0 -26
  517. package/lib/pager/index.d.ts +0 -4
  518. package/lib/pager/index.js +0 -17
  519. package/lib/pager/index.min.js +0 -1
  520. package/lib/pager/src/pager.js +0 -550
  521. package/lib/pager/src/pager.min.js +0 -1
  522. package/lib/pager/style/index.js +0 -1
  523. package/lib/pager/style/style.css +0 -329
  524. package/lib/pager/style/style.min.css +0 -1
  525. package/lib/pulldown/index.d.ts +0 -4
  526. package/lib/pulldown/index.js +0 -17
  527. package/lib/pulldown/index.min.js +0 -1
  528. package/lib/pulldown/src/pulldown.js +0 -316
  529. package/lib/pulldown/src/pulldown.min.js +0 -1
  530. package/lib/pulldown/style/index.js +0 -1
  531. package/lib/pulldown/style/style.css +0 -85
  532. package/lib/pulldown/style/style.min.css +0 -1
  533. package/lib/radio/index.d.ts +0 -4
  534. package/lib/radio/index.js +0 -17
  535. package/lib/radio/index.min.js +0 -1
  536. package/lib/radio/src/button.js +0 -128
  537. package/lib/radio/src/button.min.js +0 -1
  538. package/lib/radio/src/group.js +0 -97
  539. package/lib/radio/src/group.min.js +0 -1
  540. package/lib/radio/src/radio.js +0 -133
  541. package/lib/radio/src/radio.min.js +0 -1
  542. package/lib/radio/style/index.js +0 -1
  543. package/lib/radio/style/style.css +0 -328
  544. package/lib/radio/style/style.min.css +0 -1
  545. package/lib/radio-button/index.d.ts +0 -4
  546. package/lib/radio-button/index.js +0 -17
  547. package/lib/radio-button/index.min.js +0 -1
  548. package/lib/radio-button/style/index.js +0 -1
  549. package/lib/radio-button/style/style.css +0 -26
  550. package/lib/radio-group/index.d.ts +0 -4
  551. package/lib/radio-group/index.js +0 -17
  552. package/lib/radio-group/index.min.js +0 -1
  553. package/lib/radio-group/style/index.js +0 -1
  554. package/lib/radio-group/style/style.css +0 -26
  555. package/lib/select/index.d.ts +0 -4
  556. package/lib/select/index.js +0 -23
  557. package/lib/select/index.min.js +0 -1
  558. package/lib/select/src/optgroup.js +0 -57
  559. package/lib/select/src/optgroup.min.js +0 -1
  560. package/lib/select/src/option.js +0 -51
  561. package/lib/select/src/option.min.js +0 -1
  562. package/lib/select/src/select.js +0 -1068
  563. package/lib/select/src/select.min.js +0 -1
  564. package/lib/select/src/util.js +0 -74
  565. package/lib/select/src/util.min.js +0 -1
  566. package/lib/select/style/index.js +0 -1
  567. package/lib/select/style/style.css +0 -229
  568. package/lib/select/style/style.min.css +0 -1
  569. package/lib/switch/index.d.ts +0 -4
  570. package/lib/switch/index.js +0 -17
  571. package/lib/switch/index.min.js +0 -1
  572. package/lib/switch/src/switch.js +0 -161
  573. package/lib/switch/src/switch.min.js +0 -1
  574. package/lib/switch/style/index.js +0 -1
  575. package/lib/switch/style/style.css +0 -134
  576. package/lib/switch/style/style.min.css +0 -1
  577. package/lib/table/index.d.ts +0 -4
  578. package/lib/textarea/index.d.ts +0 -4
  579. package/lib/textarea/index.js +0 -17
  580. package/lib/textarea/index.min.js +0 -1
  581. package/lib/textarea/src/textarea.js +0 -282
  582. package/lib/textarea/src/textarea.min.js +0 -1
  583. package/lib/textarea/style/index.js +0 -1
  584. package/lib/textarea/style/style.css +0 -131
  585. package/lib/textarea/style/style.min.css +0 -1
  586. package/lib/toolbar/index.d.ts +0 -4
  587. package/lib/tools/dom.js +0 -196
  588. package/lib/tools/dom.min.js +0 -1
  589. package/lib/tools/event.js +0 -96
  590. package/lib/tools/event.min.js +0 -1
  591. package/lib/tools/log.js +0 -22
  592. package/lib/tools/log.min.js +0 -1
  593. package/lib/tools/resize.js +0 -103
  594. package/lib/tools/resize.min.js +0 -1
  595. package/lib/tools/utils.js +0 -116
  596. package/lib/tools/utils.min.js +0 -1
  597. package/lib/tools/vn.js +0 -14
  598. package/lib/tools/vn.min.js +0 -1
  599. package/lib/tooltip/index.d.ts +0 -4
  600. package/lib/tooltip/index.js +0 -18
  601. package/lib/tooltip/index.min.js +0 -1
  602. package/lib/tooltip/src/tooltip.js +0 -361
  603. package/lib/tooltip/src/tooltip.min.js +0 -1
  604. package/lib/tooltip/style/index.js +0 -1
  605. package/lib/tooltip/style/style.css +0 -130
  606. package/lib/tooltip/style/style.min.css +0 -1
  607. package/lib/ui/index.d.ts +0 -4
  608. package/lib/v-x-e-table/index.d.ts +0 -4
  609. package/lib/v-x-e-table/src/commands.js +0 -74
  610. package/lib/v-x-e-table/src/commands.min.js +0 -1
  611. package/lib/v-x-e-table/src/conf.js +0 -420
  612. package/lib/v-x-e-table/src/conf.min.js +0 -1
  613. package/lib/v-x-e-table/src/formats.js +0 -74
  614. package/lib/v-x-e-table/src/formats.min.js +0 -1
  615. package/lib/v-x-e-table/src/interceptor.js +0 -59
  616. package/lib/v-x-e-table/src/interceptor.min.js +0 -1
  617. package/lib/v-x-e-table/src/menus.js +0 -74
  618. package/lib/v-x-e-table/src/menus.min.js +0 -1
  619. package/lib/v-x-e-table/src/renderer.js +0 -1026
  620. package/lib/v-x-e-table/src/renderer.min.js +0 -1
  621. package/lib/v-x-e-table/src/store.js +0 -62
  622. package/lib/v-x-e-table/src/store.min.js +0 -1
  623. package/lib/v-x-e-table/src/theme.js +0 -25
  624. package/lib/v-x-e-table/src/theme.min.js +0 -1
  625. package/lib/v-x-e-table/src/validators.js +0 -14
  626. package/lib/v-x-e-table/src/validators.min.js +0 -1
  627. package/lib/validator/index.d.ts +0 -4
  628. package/lib/validator/index.js +0 -18
  629. package/lib/validator/index.min.js +0 -1
  630. package/lib/validator/src/mixin.js +0 -545
  631. package/lib/validator/src/mixin.min.js +0 -1
  632. package/lib/validator/style/index.js +0 -1
  633. package/lib/validator/style/style.css +0 -26
  634. package/lib/vxe-button/index.d.ts +0 -4
  635. package/lib/vxe-button/index.js +0 -23
  636. package/lib/vxe-button/index.min.js +0 -1
  637. package/lib/vxe-button/style/index.js +0 -1
  638. package/lib/vxe-button/style/style.css +0 -571
  639. package/lib/vxe-button/style/style.min.css +0 -1
  640. package/lib/vxe-button-group/index.d.ts +0 -4
  641. package/lib/vxe-button-group/index.js +0 -23
  642. package/lib/vxe-button-group/index.min.js +0 -1
  643. package/lib/vxe-button-group/style/index.js +0 -1
  644. package/lib/vxe-button-group/style/style.css +0 -29
  645. package/lib/vxe-button-group/style/style.min.css +0 -1
  646. package/lib/vxe-checkbox/index.d.ts +0 -4
  647. package/lib/vxe-checkbox/index.js +0 -23
  648. package/lib/vxe-checkbox/index.min.js +0 -1
  649. package/lib/vxe-checkbox/style/index.js +0 -1
  650. package/lib/vxe-checkbox/style/style.css +0 -292
  651. package/lib/vxe-checkbox/style/style.min.css +0 -1
  652. package/lib/vxe-checkbox-group/index.d.ts +0 -4
  653. package/lib/vxe-checkbox-group/index.js +0 -23
  654. package/lib/vxe-checkbox-group/index.min.js +0 -1
  655. package/lib/vxe-checkbox-group/style/index.js +0 -1
  656. package/lib/vxe-checkbox-group/style/style.css +0 -26
  657. package/lib/vxe-colgroup/index.d.ts +0 -4
  658. package/lib/vxe-column/index.d.ts +0 -4
  659. package/lib/vxe-form/index.d.ts +0 -4
  660. package/lib/vxe-form/index.js +0 -23
  661. package/lib/vxe-form/index.min.js +0 -1
  662. package/lib/vxe-form/style/index.js +0 -1
  663. package/lib/vxe-form/style/style.css +0 -444
  664. package/lib/vxe-form/style/style.min.css +0 -1
  665. package/lib/vxe-form-gather/index.d.ts +0 -4
  666. package/lib/vxe-form-gather/index.js +0 -23
  667. package/lib/vxe-form-gather/index.min.js +0 -1
  668. package/lib/vxe-form-gather/style/index.js +0 -1
  669. package/lib/vxe-form-gather/style/style.css +0 -26
  670. package/lib/vxe-form-item/index.d.ts +0 -4
  671. package/lib/vxe-form-item/index.js +0 -23
  672. package/lib/vxe-form-item/index.min.js +0 -1
  673. package/lib/vxe-form-item/style/index.js +0 -1
  674. package/lib/vxe-form-item/style/style.css +0 -26
  675. package/lib/vxe-grid/index.d.ts +0 -4
  676. package/lib/vxe-icon/index.d.ts +0 -4
  677. package/lib/vxe-icon/index.js +0 -23
  678. package/lib/vxe-icon/index.min.js +0 -1
  679. package/lib/vxe-icon/style/index.js +0 -1
  680. package/lib/vxe-icon/style/style.css +0 -1550
  681. package/lib/vxe-icon/style/style.min.css +0 -1
  682. package/lib/vxe-input/index.d.ts +0 -4
  683. package/lib/vxe-input/index.js +0 -23
  684. package/lib/vxe-input/index.min.js +0 -1
  685. package/lib/vxe-input/style/index.js +0 -1
  686. package/lib/vxe-input/style/style.css +0 -1039
  687. package/lib/vxe-input/style/style.min.css +0 -1
  688. package/lib/vxe-list/index.d.ts +0 -4
  689. package/lib/vxe-list/index.js +0 -23
  690. package/lib/vxe-list/index.min.js +0 -1
  691. package/lib/vxe-list/style/index.js +0 -1
  692. package/lib/vxe-list/style/style.css +0 -52
  693. package/lib/vxe-list/style/style.min.css +0 -1
  694. package/lib/vxe-loading/index.d.ts +0 -4
  695. package/lib/vxe-loading/index.js +0 -23
  696. package/lib/vxe-loading/index.min.js +0 -1
  697. package/lib/vxe-loading/style/index.js +0 -1
  698. package/lib/vxe-loading/style/style.css +0 -104
  699. package/lib/vxe-loading/style/style.min.css +0 -1
  700. package/lib/vxe-modal/index.d.ts +0 -4
  701. package/lib/vxe-modal/index.js +0 -23
  702. package/lib/vxe-modal/index.min.js +0 -1
  703. package/lib/vxe-modal/style/index.js +0 -1
  704. package/lib/vxe-modal/style/style.css +0 -354
  705. package/lib/vxe-modal/style/style.min.css +0 -1
  706. package/lib/vxe-optgroup/index.d.ts +0 -4
  707. package/lib/vxe-optgroup/index.js +0 -23
  708. package/lib/vxe-optgroup/index.min.js +0 -1
  709. package/lib/vxe-optgroup/style/index.js +0 -1
  710. package/lib/vxe-optgroup/style/style.css +0 -26
  711. package/lib/vxe-option/index.d.ts +0 -4
  712. package/lib/vxe-option/index.js +0 -23
  713. package/lib/vxe-option/index.min.js +0 -1
  714. package/lib/vxe-option/style/index.js +0 -1
  715. package/lib/vxe-option/style/style.css +0 -26
  716. package/lib/vxe-pager/index.d.ts +0 -4
  717. package/lib/vxe-pager/index.js +0 -23
  718. package/lib/vxe-pager/index.min.js +0 -1
  719. package/lib/vxe-pager/style/index.js +0 -1
  720. package/lib/vxe-pager/style/style.css +0 -329
  721. package/lib/vxe-pager/style/style.min.css +0 -1
  722. package/lib/vxe-pulldown/index.d.ts +0 -4
  723. package/lib/vxe-pulldown/index.js +0 -23
  724. package/lib/vxe-pulldown/index.min.js +0 -1
  725. package/lib/vxe-pulldown/style/index.js +0 -1
  726. package/lib/vxe-pulldown/style/style.css +0 -85
  727. package/lib/vxe-pulldown/style/style.min.css +0 -1
  728. package/lib/vxe-radio/index.d.ts +0 -4
  729. package/lib/vxe-radio/index.js +0 -23
  730. package/lib/vxe-radio/index.min.js +0 -1
  731. package/lib/vxe-radio/style/index.js +0 -1
  732. package/lib/vxe-radio/style/style.css +0 -328
  733. package/lib/vxe-radio/style/style.min.css +0 -1
  734. package/lib/vxe-radio-button/index.d.ts +0 -4
  735. package/lib/vxe-radio-button/index.js +0 -23
  736. package/lib/vxe-radio-button/index.min.js +0 -1
  737. package/lib/vxe-radio-button/style/index.js +0 -1
  738. package/lib/vxe-radio-button/style/style.css +0 -26
  739. package/lib/vxe-radio-group/index.d.ts +0 -4
  740. package/lib/vxe-radio-group/index.js +0 -23
  741. package/lib/vxe-radio-group/index.min.js +0 -1
  742. package/lib/vxe-radio-group/style/index.js +0 -1
  743. package/lib/vxe-radio-group/style/style.css +0 -26
  744. package/lib/vxe-select/index.d.ts +0 -4
  745. package/lib/vxe-select/index.js +0 -23
  746. package/lib/vxe-select/index.min.js +0 -1
  747. package/lib/vxe-select/style/index.js +0 -1
  748. package/lib/vxe-select/style/style.css +0 -229
  749. package/lib/vxe-select/style/style.min.css +0 -1
  750. package/lib/vxe-switch/index.d.ts +0 -4
  751. package/lib/vxe-switch/index.js +0 -23
  752. package/lib/vxe-switch/index.min.js +0 -1
  753. package/lib/vxe-switch/style/index.js +0 -1
  754. package/lib/vxe-switch/style/style.css +0 -134
  755. package/lib/vxe-switch/style/style.min.css +0 -1
  756. package/lib/vxe-table/index.d.ts +0 -4
  757. package/lib/vxe-table-custom-module/index.d.ts +0 -4
  758. package/lib/vxe-table-custom-module/index.js +0 -23
  759. package/lib/vxe-table-custom-module/index.min.js +0 -1
  760. package/lib/vxe-table-custom-module/style/index.js +0 -1
  761. package/lib/vxe-table-custom-module/style/style.css +0 -629
  762. package/lib/vxe-table-custom-module/style/style.min.css +0 -1
  763. package/lib/vxe-table-edit-module/index.d.ts +0 -4
  764. package/lib/vxe-table-edit-module/index.js +0 -23
  765. package/lib/vxe-table-edit-module/index.min.js +0 -1
  766. package/lib/vxe-table-edit-module/style/index.js +0 -1
  767. package/lib/vxe-table-edit-module/style/style.css +0 -26
  768. package/lib/vxe-table-export-module/index.d.ts +0 -4
  769. package/lib/vxe-table-export-module/index.js +0 -23
  770. package/lib/vxe-table-export-module/index.min.js +0 -1
  771. package/lib/vxe-table-export-module/style/index.js +0 -1
  772. package/lib/vxe-table-export-module/style/style.css +0 -219
  773. package/lib/vxe-table-export-module/style/style.min.css +0 -1
  774. package/lib/vxe-table-filter-module/index.d.ts +0 -4
  775. package/lib/vxe-table-filter-module/index.js +0 -23
  776. package/lib/vxe-table-filter-module/index.min.js +0 -1
  777. package/lib/vxe-table-filter-module/style/index.js +0 -1
  778. package/lib/vxe-table-filter-module/style/style.css +0 -166
  779. package/lib/vxe-table-filter-module/style/style.min.css +0 -1
  780. package/lib/vxe-table-keyboard-module/index.d.ts +0 -4
  781. package/lib/vxe-table-keyboard-module/index.js +0 -23
  782. package/lib/vxe-table-keyboard-module/index.min.js +0 -1
  783. package/lib/vxe-table-keyboard-module/style/index.js +0 -1
  784. package/lib/vxe-table-keyboard-module/style/style.css +0 -26
  785. package/lib/vxe-table-menu-module/index.d.ts +0 -4
  786. package/lib/vxe-table-menu-module/index.js +0 -23
  787. package/lib/vxe-table-menu-module/index.min.js +0 -1
  788. package/lib/vxe-table-menu-module/style/index.js +0 -1
  789. package/lib/vxe-table-menu-module/style/style.css +0 -126
  790. package/lib/vxe-table-menu-module/style/style.min.css +0 -1
  791. package/lib/vxe-table-validator-module/index.d.ts +0 -4
  792. package/lib/vxe-table-validator-module/index.js +0 -23
  793. package/lib/vxe-table-validator-module/index.min.js +0 -1
  794. package/lib/vxe-table-validator-module/style/index.js +0 -1
  795. package/lib/vxe-table-validator-module/style/style.css +0 -26
  796. package/lib/vxe-textarea/index.d.ts +0 -4
  797. package/lib/vxe-textarea/index.js +0 -23
  798. package/lib/vxe-textarea/index.min.js +0 -1
  799. package/lib/vxe-textarea/style/index.js +0 -1
  800. package/lib/vxe-textarea/style/style.css +0 -131
  801. package/lib/vxe-textarea/style/style.min.css +0 -1
  802. package/lib/vxe-toolbar/index.d.ts +0 -4
  803. package/lib/vxe-tooltip/index.d.ts +0 -4
  804. package/lib/vxe-tooltip/index.js +0 -23
  805. package/lib/vxe-tooltip/index.min.js +0 -1
  806. package/lib/vxe-tooltip/style/index.js +0 -1
  807. package/lib/vxe-tooltip/style/style.css +0 -130
  808. package/lib/vxe-tooltip/style/style.min.css +0 -1
  809. package/packages/all.js +0 -136
  810. package/packages/button/index.d.ts +0 -4
  811. package/packages/button/index.js +0 -13
  812. package/packages/button/src/button.js +0 -460
  813. package/packages/button/src/group.js +0 -41
  814. package/packages/button-group/index.d.ts +0 -4
  815. package/packages/button-group/index.js +0 -13
  816. package/packages/checkbox/index.d.ts +0 -4
  817. package/packages/checkbox/index.js +0 -13
  818. package/packages/checkbox/src/checkbox.js +0 -108
  819. package/packages/checkbox/src/group.js +0 -86
  820. package/packages/checkbox-group/index.d.ts +0 -4
  821. package/packages/checkbox-group/index.js +0 -13
  822. package/packages/colgroup/index.d.ts +0 -4
  823. package/packages/colgroup/index.js +0 -15
  824. package/packages/column/index.d.ts +0 -4
  825. package/packages/column/index.js +0 -15
  826. package/packages/custom/index.d.ts +0 -4
  827. package/packages/custom/index.js +0 -17
  828. package/packages/custom/src/mixin.js +0 -87
  829. package/packages/custom/src/panel.js +0 -919
  830. package/packages/edit/index.d.ts +0 -4
  831. package/packages/edit/index.js +0 -14
  832. package/packages/edit/src/mixin.js +0 -790
  833. package/packages/export/index.d.ts +0 -4
  834. package/packages/export/index.js +0 -42
  835. package/packages/export/src/export-panel.js +0 -444
  836. package/packages/export/src/import-panel.js +0 -184
  837. package/packages/export/src/mixin.js +0 -1529
  838. package/packages/filter/index.d.ts +0 -4
  839. package/packages/filter/index.js +0 -17
  840. package/packages/filter/src/mixin.js +0 -271
  841. package/packages/filter/src/panel.js +0 -210
  842. package/packages/form/index.d.ts +0 -4
  843. package/packages/form/index.js +0 -13
  844. package/packages/form/src/form-config-item.js +0 -182
  845. package/packages/form/src/form-gather.js +0 -21
  846. package/packages/form/src/form-item.js +0 -246
  847. package/packages/form/src/form.js +0 -621
  848. package/packages/form/src/render.js +0 -81
  849. package/packages/form/src/util.js +0 -117
  850. package/packages/form-gather/index.d.ts +0 -4
  851. package/packages/form-gather/index.js +0 -13
  852. package/packages/form-item/index.d.ts +0 -4
  853. package/packages/form-item/index.js +0 -13
  854. package/packages/grid/index.d.ts +0 -4
  855. package/packages/grid/index.js +0 -15
  856. package/packages/grid/src/grid.js +0 -1118
  857. package/packages/icon/index.d.ts +0 -4
  858. package/packages/icon/index.js +0 -13
  859. package/packages/icon/src/icon.js +0 -22
  860. package/packages/index.common.js +0 -4
  861. package/packages/input/index.d.ts +0 -4
  862. package/packages/input/index.js +0 -13
  863. package/packages/input/src/date.js +0 -38
  864. package/packages/input/src/input.js +0 -2171
  865. package/packages/input/src/number.js +0 -12
  866. package/packages/keyboard/index.d.ts +0 -4
  867. package/packages/keyboard/index.js +0 -14
  868. package/packages/keyboard/src/mixin.js +0 -355
  869. package/packages/list/index.d.ts +0 -4
  870. package/packages/list/index.js +0 -13
  871. package/packages/list/src/list.js +0 -294
  872. package/packages/loading/index.d.ts +0 -4
  873. package/packages/loading/index.js +0 -13
  874. package/packages/loading/src/loading.js +0 -45
  875. package/packages/locale/lang/en-US.d.ts +0 -8
  876. package/packages/locale/lang/en-US.js +0 -670
  877. package/packages/locale/lang/es-ES.d.ts +0 -8
  878. package/packages/locale/lang/es-ES.js +0 -670
  879. package/packages/locale/lang/ja-JP.d.ts +0 -8
  880. package/packages/locale/lang/ja-JP.js +0 -670
  881. package/packages/locale/lang/language.d.ts +0 -5
  882. package/packages/locale/lang/pt-BR.d.ts +0 -8
  883. package/packages/locale/lang/pt-BR.js +0 -670
  884. package/packages/locale/lang/zh-CN.d.ts +0 -8
  885. package/packages/locale/lang/zh-CN.js +0 -670
  886. package/packages/locale/lang/zh-HK.d.ts +0 -8
  887. package/packages/locale/lang/zh-MO.d.ts +0 -8
  888. package/packages/locale/lang/zh-TC.d.ts +0 -8
  889. package/packages/locale/lang/zh-TC.js +0 -670
  890. package/packages/locale/lang/zh-TW.d.ts +0 -8
  891. package/packages/menu/index.d.ts +0 -4
  892. package/packages/menu/index.js +0 -17
  893. package/packages/menu/src/mixin.js +0 -270
  894. package/packages/menu/src/panel.js +0 -130
  895. package/packages/mixins/size.js +0 -8
  896. package/packages/modal/index.d.ts +0 -4
  897. package/packages/modal/index.js +0 -116
  898. package/packages/modal/src/modal.js +0 -822
  899. package/packages/optgroup/index.d.ts +0 -4
  900. package/packages/optgroup/index.js +0 -13
  901. package/packages/option/index.d.ts +0 -4
  902. package/packages/option/index.js +0 -13
  903. package/packages/pager/index.d.ts +0 -4
  904. package/packages/pager/index.js +0 -13
  905. package/packages/pager/src/pager.js +0 -477
  906. package/packages/pulldown/index.d.ts +0 -4
  907. package/packages/pulldown/index.js +0 -13
  908. package/packages/pulldown/src/pulldown.js +0 -273
  909. package/packages/radio/index.d.ts +0 -4
  910. package/packages/radio/index.js +0 -13
  911. package/packages/radio/src/button.js +0 -102
  912. package/packages/radio/src/group.js +0 -76
  913. package/packages/radio/src/radio.js +0 -109
  914. package/packages/radio-button/index.d.ts +0 -4
  915. package/packages/radio-button/index.js +0 -13
  916. package/packages/radio-group/index.d.ts +0 -4
  917. package/packages/radio-group/index.js +0 -13
  918. package/packages/select/index.d.ts +0 -4
  919. package/packages/select/index.js +0 -19
  920. package/packages/select/src/optgroup.js +0 -48
  921. package/packages/select/src/option.js +0 -42
  922. package/packages/select/src/select.js +0 -921
  923. package/packages/select/src/util.js +0 -52
  924. package/packages/switch/index.d.ts +0 -4
  925. package/packages/switch/index.js +0 -13
  926. package/packages/switch/src/switch.js +0 -138
  927. package/packages/table/index.d.ts +0 -4
  928. package/packages/table/index.js +0 -35
  929. package/packages/table/src/body.js +0 -826
  930. package/packages/table/src/cell.js +0 -842
  931. package/packages/table/src/column.js +0 -141
  932. package/packages/table/src/columnInfo.js +0 -168
  933. package/packages/table/src/footer.js +0 -293
  934. package/packages/table/src/header.js +0 -295
  935. package/packages/table/src/methods.js +0 -5532
  936. package/packages/table/src/table.js +0 -1297
  937. package/packages/table/src/util.js +0 -364
  938. package/packages/textarea/index.d.ts +0 -4
  939. package/packages/textarea/index.js +0 -13
  940. package/packages/textarea/src/textarea.js +0 -224
  941. package/packages/toolbar/index.d.ts +0 -4
  942. package/packages/toolbar/index.js +0 -13
  943. package/packages/toolbar/src/toolbar.js +0 -467
  944. package/packages/tools/dom.js +0 -179
  945. package/packages/tools/event.js +0 -82
  946. package/packages/tools/log.js +0 -16
  947. package/packages/tools/resize.js +0 -76
  948. package/packages/tools/utils.js +0 -94
  949. package/packages/tools/vn.js +0 -8
  950. package/packages/tooltip/index.d.ts +0 -4
  951. package/packages/tooltip/index.js +0 -14
  952. package/packages/tooltip/src/tooltip.js +0 -285
  953. package/packages/ui/index.d.ts +0 -4
  954. package/packages/ui/index.js +0 -4
  955. package/packages/v-x-e-table/index.d.ts +0 -4
  956. package/packages/v-x-e-table/index.js +0 -196
  957. package/packages/v-x-e-table/src/commands.js +0 -55
  958. package/packages/v-x-e-table/src/conf.js +0 -420
  959. package/packages/v-x-e-table/src/formats.js +0 -55
  960. package/packages/v-x-e-table/src/interceptor.js +0 -53
  961. package/packages/v-x-e-table/src/menus.js +0 -55
  962. package/packages/v-x-e-table/src/renderer.js +0 -951
  963. package/packages/v-x-e-table/src/store.js +0 -44
  964. package/packages/v-x-e-table/src/theme.js +0 -19
  965. package/packages/v-x-e-table/src/validators.js +0 -7
  966. package/packages/validator/index.d.ts +0 -4
  967. package/packages/validator/index.js +0 -14
  968. package/packages/validator/src/mixin.js +0 -473
  969. package/styles/base/common.scss +0 -88
  970. package/styles/button-group.scss +0 -5
  971. package/styles/button.scss +0 -374
  972. package/styles/checkbox-group.scss +0 -1
  973. package/styles/checkbox.scss +0 -91
  974. package/styles/colgroup.scss +0 -1
  975. package/styles/column.scss +0 -1
  976. package/styles/css-variable.scss +0 -272
  977. package/styles/custom.scss +0 -386
  978. package/styles/edit.scss +0 -1
  979. package/styles/export.scss +0 -126
  980. package/styles/filter.scss +0 -113
  981. package/styles/footer.scss +0 -1
  982. package/styles/form-gather.scss +0 -1
  983. package/styles/form-item.scss +0 -1
  984. package/styles/form.scss +0 -366
  985. package/styles/grid.scss +0 -64
  986. package/styles/header.scss +0 -1
  987. package/styles/icon.scss +0 -972
  988. package/styles/input.scss +0 -917
  989. package/styles/keyboard.scss +0 -1
  990. package/styles/list.scss +0 -28
  991. package/styles/loading.scss +0 -87
  992. package/styles/menu.scss +0 -89
  993. package/styles/modal.scss +0 -387
  994. package/styles/old-icon.scss +0 -722
  995. package/styles/optgroup.scss +0 -1
  996. package/styles/option.scss +0 -1
  997. package/styles/pager.scss +0 -270
  998. package/styles/pulldown.scss +0 -58
  999. package/styles/radio-button.scss +0 -1
  1000. package/styles/radio-group.scss +0 -1
  1001. package/styles/radio.scss +0 -147
  1002. package/styles/select.scss +0 -228
  1003. package/styles/switch.scss +0 -125
  1004. package/styles/table.scss +0 -1476
  1005. package/styles/textarea.scss +0 -104
  1006. package/styles/toolbar.scss +0 -103
  1007. package/styles/tooltip.scss +0 -127
  1008. package/styles/v-x-e-table.scss +0 -3
  1009. package/styles/validator.scss +0 -1
  1010. package/styles/vxe-table.scss +0 -1
  1011. package/types/button-group.d.ts +0 -11
  1012. package/types/button.d.ts +0 -49
  1013. package/types/checkbox-group.d.ts +0 -17
  1014. package/types/checkbox.d.ts +0 -33
  1015. package/types/colgroup.d.ts +0 -155
  1016. package/types/column.d.ts +0 -433
  1017. package/types/component.d.ts +0 -29
  1018. package/types/form-gather.d.ts +0 -13
  1019. package/types/form-item.d.ts +0 -217
  1020. package/types/form.d.ts +0 -149
  1021. package/types/grid.d.ts +0 -169
  1022. package/types/icon.d.ts +0 -7
  1023. package/types/input.d.ts +0 -163
  1024. package/types/list.d.ts +0 -71
  1025. package/types/loading.d.ts +0 -10
  1026. package/types/modal.d.ts +0 -329
  1027. package/types/module/custom.d.ts +0 -11
  1028. package/types/module/edit.d.ts +0 -67
  1029. package/types/module/export.d.ts +0 -255
  1030. package/types/module/filter.d.ts +0 -133
  1031. package/types/module/index.d.ts +0 -7
  1032. package/types/module/keyboard.d.ts +0 -11
  1033. package/types/module/menu.d.ts +0 -85
  1034. package/types/module/validator.d.ts +0 -77
  1035. package/types/optgroup.d.ts +0 -20
  1036. package/types/option.d.ts +0 -24
  1037. package/types/pager.d.ts +0 -123
  1038. package/types/pulldown.d.ts +0 -44
  1039. package/types/radio-button.d.ts +0 -20
  1040. package/types/radio-group.d.ts +0 -16
  1041. package/types/radio.d.ts +0 -32
  1042. package/types/select.d.ts +0 -66
  1043. package/types/switch.d.ts +0 -22
  1044. package/types/table.d.ts +0 -1662
  1045. package/types/textarea.d.ts +0 -65
  1046. package/types/toolbar.d.ts +0 -191
  1047. package/types/tooltip.d.ts +0 -40
  1048. package/types/v-x-e-table/commands.d.ts +0 -29
  1049. package/types/v-x-e-table/formats.d.ts +0 -28
  1050. package/types/v-x-e-table/index.d.ts +0 -229
  1051. package/types/v-x-e-table/interceptor.d.ts +0 -46
  1052. package/types/v-x-e-table/menus.d.ts +0 -24
  1053. package/types/v-x-e-table/renderer.d.ts +0 -355
  1054. package/types/v-x-e-table/validators.d.ts +0 -30
  1055. /package/{lib/checkbox-group/style/style.min.css → es/colgroup/style.css} +0 -0
  1056. /package/{lib/edit/style → es/colgroup}/style.min.css +0 -0
  1057. /package/{lib/form-gather/style/style.min.css → es/column/style.css} +0 -0
  1058. /package/{lib/form-item/style → es/column}/style.min.css +0 -0
  1059. /package/{lib/keyboard/style/style.min.css → es/ui/style.css} +0 -0
  1060. /package/{lib/optgroup/style → es/ui}/style.min.css +0 -0
  1061. /package/{lib/option/style/style.min.css → es/v-x-e-table/style.css} +0 -0
  1062. /package/{lib/radio-button/style → es/v-x-e-table}/style.min.css +0 -0
  1063. /package/{lib/radio-group/style/style.min.css → es/vxe-colgroup/style.css} +0 -0
  1064. /package/{lib/validator/style → es/vxe-colgroup}/style.min.css +0 -0
  1065. /package/{lib/vxe-checkbox-group/style/style.min.css → es/vxe-column/style.css} +0 -0
  1066. /package/{lib/vxe-form-gather/style → es/vxe-column}/style.min.css +0 -0
  1067. /package/{lib/vxe-form-item/style/style.min.css → es/vxe-ui/style.css} +0 -0
  1068. /package/{lib/vxe-optgroup/style → es/vxe-ui}/style.min.css +0 -0
  1069. /package/{lib/vxe-option/style/style.min.css → es/vxe-v-x-e-table/style.css} +0 -0
  1070. /package/{lib/vxe-radio-button/style → es/vxe-v-x-e-table}/style.min.css +0 -0
  1071. /package/lib/{button-group → ui}/style/index.js +0 -0
  1072. /package/lib/{vxe-radio-group/style/style.min.css → ui/style/style.css} +0 -0
  1073. /package/lib/{vxe-table-edit-module → ui}/style/style.min.css +0 -0
  1074. /package/lib/{button → vxe-ui}/style/index.js +0 -0
  1075. /package/lib/{vxe-table-keyboard-module/style/style.min.css → vxe-ui/style/style.css} +0 -0
  1076. /package/lib/{vxe-table-validator-module → vxe-ui}/style/style.min.css +0 -0
  1077. /package/lib/{checkbox-group → vxe-v-x-e-table}/style/index.js +0 -0
  1078. /package/packages/locale/lang/{zh-HK.js → zh-HK.ts} +0 -0
  1079. /package/packages/locale/lang/{zh-MO.js → zh-MO.ts} +0 -0
  1080. /package/packages/locale/lang/{zh-TW.js → zh-TW.ts} +0 -0
  1081. /package/packages/table/src/{group.js → group.ts} +0 -0
@@ -0,0 +1,1463 @@
1
+ import XEUtils from 'xe-utils';
2
+ import { VxeUI } from '../../../ui';
3
+ import { isColumnInfo, mergeBodyMethod, getCellValue } from '../../src/util';
4
+ import { parseFile, formatText } from '../../../ui/src/utils';
5
+ import { browse } from '../../../ui/src/dom';
6
+ import { createHtmlPage, getExportBlobByContent } from './util';
7
+ import { warnLog, errLog } from '../../../ui/src/log';
8
+ const { getI18n, renderer } = VxeUI;
9
+ let htmlCellElem;
10
+ // 导入
11
+ let fileForm;
12
+ let fileInput;
13
+ // 打印
14
+ let printFrame;
15
+ const csvBOM = '\ufeff';
16
+ const enterSymbol = '\r\n';
17
+ function createFrame() {
18
+ const frame = document.createElement('iframe');
19
+ frame.className = 'vxe-table--print-frame';
20
+ return frame;
21
+ }
22
+ function hasTreeChildren($xetable, row) {
23
+ const treeOpts = $xetable.treeOpts;
24
+ const childrenField = treeOpts.children || treeOpts.childrenField;
25
+ return row[childrenField] && row[childrenField].length > 0;
26
+ }
27
+ function getSeq($xetable, cellValue, row, $rowIndex, column, $columnIndex) {
28
+ const seqOpts = $xetable.seqOpts;
29
+ const seqMethod = seqOpts.seqMethod || column.seqMethod;
30
+ if (seqMethod) {
31
+ return seqMethod({
32
+ row,
33
+ rowIndex: $xetable.getRowIndex(row),
34
+ $rowIndex,
35
+ column,
36
+ columnIndex: $xetable.getColumnIndex(column),
37
+ $columnIndex
38
+ });
39
+ }
40
+ return cellValue;
41
+ }
42
+ function defaultFilterExportColumn(column) {
43
+ return column.property || ['seq', 'checkbox', 'radio'].indexOf(column.type) > -1;
44
+ }
45
+ function toTableBorder(border) {
46
+ if (border === true) {
47
+ return 'full';
48
+ }
49
+ if (border) {
50
+ return border;
51
+ }
52
+ return 'default';
53
+ }
54
+ function toBooleanValue(cellValue) {
55
+ return XEUtils.isBoolean(cellValue) ? (cellValue ? 'TRUE' : 'FALSE') : cellValue;
56
+ }
57
+ function getLabelData($xetable, opts, columns, datas) {
58
+ const { isAllExpand, mode } = opts;
59
+ const { treeConfig, treeOpts, radioOpts, checkboxOpts, columnOpts } = $xetable;
60
+ const childrenField = treeOpts.children || treeOpts.childrenField;
61
+ if (!htmlCellElem) {
62
+ htmlCellElem = document.createElement('div');
63
+ }
64
+ if (treeConfig) {
65
+ // 如果是树表格只允许导出数据源
66
+ const rest = [];
67
+ const expandMaps = new Map();
68
+ XEUtils.eachTree(datas, (item, $rowIndex, items, path, parent, nodes) => {
69
+ const row = item._row || item;
70
+ const parentRow = parent && parent._row ? parent._row : parent;
71
+ if ((isAllExpand || !parentRow || (expandMaps.has(parentRow) && $xetable.isTreeExpandByRow(parentRow)))) {
72
+ const hasRowChild = hasTreeChildren($xetable, row);
73
+ const item = {
74
+ _row: row,
75
+ _level: nodes.length - 1,
76
+ _hasChild: hasRowChild,
77
+ _expand: hasRowChild && $xetable.isTreeExpandByRow(row)
78
+ };
79
+ columns.forEach((column, $columnIndex) => {
80
+ let cellValue = '';
81
+ const renderOpts = column.editRender || column.cellRender;
82
+ let bodyExportMethod = column.exportMethod;
83
+ if (!bodyExportMethod && renderOpts && renderOpts.name) {
84
+ const compConf = renderer.get(renderOpts.name);
85
+ if (compConf) {
86
+ bodyExportMethod = compConf.tableExportMethod || compConf.exportMethod || compConf.cellExportMethod;
87
+ }
88
+ }
89
+ if (!bodyExportMethod) {
90
+ bodyExportMethod = columnOpts.exportMethod;
91
+ }
92
+ if (bodyExportMethod) {
93
+ cellValue = bodyExportMethod({ $table: $xetable, row, column, options: opts });
94
+ }
95
+ else {
96
+ switch (column.type) {
97
+ case 'seq': {
98
+ const seqValue = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
99
+ cellValue = mode === 'all' ? seqValue : getSeq($xetable, seqValue, row, $rowIndex, column, $columnIndex);
100
+ break;
101
+ }
102
+ case 'checkbox':
103
+ cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
104
+ item._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : '';
105
+ item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ row });
106
+ break;
107
+ case 'radio':
108
+ cellValue = toBooleanValue($xetable.isCheckedByRadioRow(row));
109
+ item._radioLabel = radioOpts.labelField ? XEUtils.get(row, radioOpts.labelField) : '';
110
+ item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ row });
111
+ break;
112
+ default:
113
+ if (opts.original) {
114
+ cellValue = getCellValue(row, column);
115
+ }
116
+ else {
117
+ cellValue = $xetable.getCellLabel(row, column);
118
+ if (column.type === 'html') {
119
+ htmlCellElem.innerHTML = cellValue;
120
+ cellValue = htmlCellElem.innerText.trim();
121
+ }
122
+ else {
123
+ const cell = $xetable.getCellElement(row, column);
124
+ if (cell) {
125
+ cellValue = cell.innerText.trim();
126
+ }
127
+ }
128
+ }
129
+ }
130
+ }
131
+ item[column.id] = XEUtils.toValueString(cellValue);
132
+ });
133
+ expandMaps.set(row, 1);
134
+ rest.push(Object.assign(item, row));
135
+ }
136
+ }, { children: childrenField });
137
+ return rest;
138
+ }
139
+ return datas.map((row, $rowIndex) => {
140
+ const item = {
141
+ _row: row
142
+ };
143
+ columns.forEach((column, $columnIndex) => {
144
+ let cellValue = '';
145
+ const renderOpts = column.editRender || column.cellRender;
146
+ let exportLabelMethod = column.exportMethod;
147
+ if (!exportLabelMethod && renderOpts && renderOpts.name) {
148
+ const compConf = renderer.get(renderOpts.name);
149
+ if (compConf) {
150
+ exportLabelMethod = compConf.tableExportMethod || compConf.exportMethod || compConf.cellExportMethod;
151
+ }
152
+ }
153
+ if (exportLabelMethod) {
154
+ cellValue = exportLabelMethod({ $table: $xetable, row, column, options: opts });
155
+ }
156
+ else {
157
+ switch (column.type) {
158
+ case 'seq': {
159
+ const seqValue = $rowIndex + 1;
160
+ cellValue = mode === 'all' ? seqValue : getSeq($xetable, seqValue, row, $rowIndex, column, $columnIndex);
161
+ break;
162
+ }
163
+ case 'checkbox':
164
+ cellValue = toBooleanValue($xetable.isCheckedByCheckboxRow(row));
165
+ item._checkboxLabel = checkboxOpts.labelField ? XEUtils.get(row, checkboxOpts.labelField) : '';
166
+ item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({ row });
167
+ break;
168
+ case 'radio':
169
+ cellValue = toBooleanValue($xetable.isCheckedByRadioRow(row));
170
+ item._radioLabel = radioOpts.labelField ? XEUtils.get(row, radioOpts.labelField) : '';
171
+ item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({ row });
172
+ break;
173
+ default:
174
+ if (opts.original) {
175
+ cellValue = getCellValue(row, column);
176
+ }
177
+ else {
178
+ cellValue = $xetable.getCellLabel(row, column);
179
+ if (column.type === 'html') {
180
+ htmlCellElem.innerHTML = cellValue;
181
+ cellValue = htmlCellElem.innerText.trim();
182
+ }
183
+ else {
184
+ const cell = $xetable.getCellElement(row, column);
185
+ if (cell) {
186
+ cellValue = cell.innerText.trim();
187
+ }
188
+ }
189
+ }
190
+ }
191
+ }
192
+ item[column.id] = XEUtils.toValueString(cellValue);
193
+ });
194
+ return item;
195
+ });
196
+ }
197
+ function getExportData($xetable, opts) {
198
+ const { columns, dataFilterMethod } = opts;
199
+ let datas = opts.data;
200
+ if (dataFilterMethod) {
201
+ datas = datas.filter((row, index) => dataFilterMethod({ row, $rowIndex: index }));
202
+ }
203
+ return getLabelData($xetable, opts, columns, datas);
204
+ }
205
+ function getBooleanValue(cellValue) {
206
+ return cellValue === 'TRUE' || cellValue === 'true' || cellValue === true;
207
+ }
208
+ function getHeaderTitle($xetable, opts, column) {
209
+ const { columnOpts } = $xetable;
210
+ const headExportMethod = column.headerExportMethod || columnOpts.headerExportMethod;
211
+ return headExportMethod ? headExportMethod({ column, options: opts, $table: $xetable }) : ((opts.original ? column.property : column.getTitle()) || '');
212
+ }
213
+ function getFooterCellValue($xetable, opts, row, column) {
214
+ const { columnOpts } = $xetable;
215
+ const renderOpts = column.editRender || column.cellRender;
216
+ let footLabelMethod = column.footerExportMethod;
217
+ if (!footLabelMethod && renderOpts && renderOpts.name) {
218
+ const compConf = renderer.get(renderOpts.name);
219
+ if (compConf) {
220
+ footLabelMethod = compConf.tableFooterExportMethod || compConf.footerExportMethod || compConf.footerCellExportMethod;
221
+ }
222
+ }
223
+ if (!footLabelMethod) {
224
+ footLabelMethod = columnOpts.footerExportMethod;
225
+ }
226
+ const _columnIndex = $xetable.getVTColumnIndex(column);
227
+ if (footLabelMethod) {
228
+ return footLabelMethod({ $table: $xetable, items: row, itemIndex: _columnIndex, row, _columnIndex, column, options: opts });
229
+ }
230
+ // 兼容老模式
231
+ if (XEUtils.isArray(row)) {
232
+ return XEUtils.toValueString(row[_columnIndex]);
233
+ }
234
+ return XEUtils.get(row, column.field);
235
+ }
236
+ function getFooterData(opts, footerTableData) {
237
+ const { footerFilterMethod } = opts;
238
+ return footerFilterMethod ? footerTableData.filter((items, index) => footerFilterMethod({ items, $rowIndex: index })) : footerTableData;
239
+ }
240
+ function getCsvCellTypeLabel(column, cellValue) {
241
+ if (cellValue) {
242
+ if (column.type === 'seq') {
243
+ return `\t${cellValue}`;
244
+ }
245
+ switch (column.cellType) {
246
+ case 'string':
247
+ if (!isNaN(cellValue)) {
248
+ return `\t${cellValue}`;
249
+ }
250
+ break;
251
+ case 'number':
252
+ break;
253
+ default:
254
+ if (cellValue.length >= 12 && !isNaN(cellValue)) {
255
+ return `\t${cellValue}`;
256
+ }
257
+ break;
258
+ }
259
+ }
260
+ return cellValue;
261
+ }
262
+ function toTxtCellLabel(val) {
263
+ if (/[",\s\n]/.test(val)) {
264
+ return `"${val.replace(/"/g, '""')}"`;
265
+ }
266
+ return val;
267
+ }
268
+ function toCsv($xetable, opts, columns, datas) {
269
+ let content = csvBOM;
270
+ if (opts.isHeader) {
271
+ content += columns.map(column => toTxtCellLabel(getHeaderTitle($xetable, opts, column))).join(',') + enterSymbol;
272
+ }
273
+ datas.forEach(row => {
274
+ content += columns.map(column => toTxtCellLabel(getCsvCellTypeLabel(column, row[column.id]))).join(',') + enterSymbol;
275
+ });
276
+ if (opts.isFooter) {
277
+ const footerTableData = $xetable.footerTableData;
278
+ const footers = getFooterData(opts, footerTableData);
279
+ footers.forEach((row) => {
280
+ content += columns.map(column => toTxtCellLabel(getFooterCellValue($xetable, opts, row, column))).join(',') + enterSymbol;
281
+ });
282
+ }
283
+ return content;
284
+ }
285
+ function toTxt($xetable, opts, columns, datas) {
286
+ let content = '';
287
+ if (opts.isHeader) {
288
+ content += columns.map(column => toTxtCellLabel(getHeaderTitle($xetable, opts, column))).join('\t') + enterSymbol;
289
+ }
290
+ datas.forEach(row => {
291
+ content += columns.map(column => toTxtCellLabel(row[column.id])).join('\t') + enterSymbol;
292
+ });
293
+ if (opts.isFooter) {
294
+ const footerTableData = $xetable.footerTableData;
295
+ const footers = getFooterData(opts, footerTableData);
296
+ footers.forEach((row) => {
297
+ content += columns.map(column => toTxtCellLabel(getFooterCellValue($xetable, opts, row, column))).join(',') + enterSymbol;
298
+ });
299
+ }
300
+ return content;
301
+ }
302
+ function hasEllipsis($xetable, column, property, allColumnOverflow) {
303
+ const columnOverflow = column[property];
304
+ const headOverflow = XEUtils.isUndefined(columnOverflow) || XEUtils.isNull(columnOverflow) ? allColumnOverflow : columnOverflow;
305
+ const showEllipsis = headOverflow === 'ellipsis';
306
+ const showTitle = headOverflow === 'title';
307
+ const showTooltip = headOverflow === true || headOverflow === 'tooltip';
308
+ let isEllipsis = showTitle || showTooltip || showEllipsis;
309
+ // 虚拟滚动不支持动态高度
310
+ if (($xetable.scrollXLoad || $xetable.scrollYLoad) && !isEllipsis) {
311
+ isEllipsis = true;
312
+ }
313
+ return isEllipsis;
314
+ }
315
+ function toHtml($xetable, opts, columns, datas) {
316
+ const { id, border, treeConfig, treeOpts, isAllSelected, isIndeterminate, headerAlign: allHeaderAlign, align: allAlign, footerAlign: allFooterAlign, showOverflow: allColumnOverflow, showHeaderOverflow: allColumnHeaderOverflow, mergeList } = $xetable;
317
+ const { print: isPrint, isHeader, isFooter, isColgroup, isMerge, colgroups, original } = opts;
318
+ const allCls = 'check-all';
319
+ const clss = [
320
+ 'vxe-table',
321
+ `border--${toTableBorder(border)}`,
322
+ isPrint ? 'is--print' : '',
323
+ isHeader ? 'is--header' : ''
324
+ ].filter(cls => cls);
325
+ const tables = [
326
+ `<table class="${clss.join(' ')}" border="0" cellspacing="0" cellpadding="0">`,
327
+ `<colgroup>${columns.map(column => `<col style="width:${column.renderWidth}px">`).join('')}</colgroup>`
328
+ ];
329
+ if (isHeader) {
330
+ tables.push('<thead>');
331
+ if (isColgroup && !original) {
332
+ colgroups.forEach((cols) => {
333
+ tables.push(`<tr>${cols.map(column => {
334
+ const headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
335
+ const classNames = hasEllipsis($xetable, column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : [];
336
+ const cellTitle = getHeaderTitle($xetable, opts, column);
337
+ let childWidth = 0;
338
+ let countChild = 0;
339
+ XEUtils.eachTree([column], item => {
340
+ if (!item.childNodes || !column.childNodes.length) {
341
+ countChild++;
342
+ }
343
+ childWidth += item.renderWidth;
344
+ }, { children: 'childNodes' });
345
+ const cellWidth = childWidth - countChild;
346
+ if (headAlign) {
347
+ classNames.push(`col--${headAlign}`);
348
+ }
349
+ if (column.type === 'checkbox') {
350
+ return `<th class="${classNames.join(' ')}" colspan="${column._colSpan}" rowspan="${column._rowSpan}"><div ${isPrint ? '' : `style="width: ${cellWidth}px"`}><input type="checkbox" class="${allCls}" ${isAllSelected ? 'checked' : ''}><span>${cellTitle}</span></div></th>`;
351
+ }
352
+ return `<th class="${classNames.join(' ')}" colspan="${column._colSpan}" rowspan="${column._rowSpan}" title="${cellTitle}"><div ${isPrint ? '' : `style="width: ${cellWidth}px"`}><span>${formatText(cellTitle, true)}</span></div></th>`;
353
+ }).join('')}</tr>`);
354
+ });
355
+ }
356
+ else {
357
+ tables.push(`<tr>${columns.map(column => {
358
+ const headAlign = column.headerAlign || column.align || allHeaderAlign || allAlign;
359
+ const classNames = hasEllipsis($xetable, column, 'showHeaderOverflow', allColumnHeaderOverflow) ? ['col--ellipsis'] : [];
360
+ const cellTitle = getHeaderTitle($xetable, opts, column);
361
+ if (headAlign) {
362
+ classNames.push(`col--${headAlign}`);
363
+ }
364
+ if (column.type === 'checkbox') {
365
+ return `<th class="${classNames.join(' ')}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="checkbox" class="${allCls}" ${isAllSelected ? 'checked' : ''}><span>${cellTitle}</span></div></th>`;
366
+ }
367
+ return `<th class="${classNames.join(' ')}" title="${cellTitle}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><span>${formatText(cellTitle, true)}</span></div></th>`;
368
+ }).join('')}</tr>`);
369
+ }
370
+ tables.push('</thead>');
371
+ }
372
+ if (datas.length) {
373
+ tables.push('<tbody>');
374
+ if (treeConfig) {
375
+ datas.forEach(item => {
376
+ tables.push('<tr>' + columns.map(column => {
377
+ const cellAlign = column.align || allAlign;
378
+ const classNames = hasEllipsis($xetable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
379
+ const cellValue = item[column.id];
380
+ if (cellAlign) {
381
+ classNames.push(`col--${cellAlign}`);
382
+ }
383
+ if (column.treeNode) {
384
+ let treeIcon = '';
385
+ if (item._hasChild) {
386
+ treeIcon = `<i class="${item._expand ? 'vxe-table--tree-fold-icon' : 'vxe-table--tree-unfold-icon'}"></i>`;
387
+ }
388
+ classNames.push('vxe-table--tree-node');
389
+ if (column.type === 'radio') {
390
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></div></div></td>`;
391
+ }
392
+ else if (column.type === 'checkbox') {
393
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></div></div></td>`;
394
+ }
395
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${item._level * treeOpts.indent}px"><div class="vxe-table--tree-icon-wrapper">${treeIcon}</div><div class="vxe-table--tree-cell">${cellValue}</div></div></div></td>`;
396
+ }
397
+ if (column.type === 'radio') {
398
+ return `<td class="${classNames.join(' ')}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></td>`;
399
+ }
400
+ else if (column.type === 'checkbox') {
401
+ return `<td class="${classNames.join(' ')}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></td>`;
402
+ }
403
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
404
+ }).join('') + '</tr>');
405
+ });
406
+ }
407
+ else {
408
+ datas.forEach(item => {
409
+ tables.push('<tr>' + columns.map(column => {
410
+ const cellAlign = column.align || allAlign;
411
+ const classNames = hasEllipsis($xetable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
412
+ const cellValue = item[column.id];
413
+ let rowSpan = 1;
414
+ let colSpan = 1;
415
+ if (isMerge && mergeList.length) {
416
+ const _rowIndex = $xetable.getVTRowIndex(item._row);
417
+ const _columnIndex = $xetable.getVTColumnIndex(column);
418
+ const spanRest = mergeBodyMethod(mergeList, _rowIndex, _columnIndex);
419
+ if (spanRest) {
420
+ const { rowspan, colspan } = spanRest;
421
+ if (!rowspan || !colspan) {
422
+ return '';
423
+ }
424
+ if (rowspan > 1) {
425
+ rowSpan = rowspan;
426
+ }
427
+ if (colspan > 1) {
428
+ colSpan = colspan;
429
+ }
430
+ }
431
+ }
432
+ if (cellAlign) {
433
+ classNames.push(`col--${cellAlign}`);
434
+ }
435
+ if (column.type === 'radio') {
436
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="radio" name="radio_${id}" ${item._radioDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._radioLabel}</span></div></td>`;
437
+ }
438
+ else if (column.type === 'checkbox') {
439
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}><input type="checkbox" ${item._checkboxDisabled ? 'disabled ' : ''}${getBooleanValue(cellValue) ? 'checked' : ''}><span>${item._checkboxLabel}</span></div></td>`;
440
+ }
441
+ return `<td class="${classNames.join(' ')}" rowspan="${rowSpan}" colspan="${colSpan}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
442
+ }).join('') + '</tr>');
443
+ });
444
+ }
445
+ tables.push('</tbody>');
446
+ }
447
+ if (isFooter) {
448
+ const footerTableData = $xetable.footerTableData;
449
+ const footers = getFooterData(opts, footerTableData);
450
+ if (footers.length) {
451
+ tables.push('<tfoot>');
452
+ footers.forEach((row) => {
453
+ tables.push(`<tr>${columns.map(column => {
454
+ const footAlign = column.footerAlign || column.align || allFooterAlign || allAlign;
455
+ const classNames = hasEllipsis($xetable, column, 'showOverflow', allColumnOverflow) ? ['col--ellipsis'] : [];
456
+ const cellValue = getFooterCellValue($xetable, opts, row, column);
457
+ if (footAlign) {
458
+ classNames.push(`col--${footAlign}`);
459
+ }
460
+ return `<td class="${classNames.join(' ')}" title="${cellValue}"><div ${isPrint ? '' : `style="width: ${column.renderWidth}px"`}>${formatText(cellValue, true)}</div></td>`;
461
+ }).join('')}</tr>`);
462
+ });
463
+ tables.push('</tfoot>');
464
+ }
465
+ }
466
+ // 是否半选状态
467
+ const script = !isAllSelected && isIndeterminate ? `<script>(function(){var a=document.querySelector(".${allCls}");if(a){a.indeterminate=true}})()</script>` : '';
468
+ tables.push('</table>', script);
469
+ return isPrint ? tables.join('') : createHtmlPage(opts, tables.join(''));
470
+ }
471
+ function toXML($xetable, opts, columns, datas) {
472
+ let xml = [
473
+ '<?xml version="1.0"?>',
474
+ '<?mso-application progid="Excel.Sheet"?>',
475
+ '<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">',
476
+ '<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',
477
+ '<Version>16.00</Version>',
478
+ '</DocumentProperties>',
479
+ '<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',
480
+ '<WindowHeight>7920</WindowHeight>',
481
+ '<WindowWidth>21570</WindowWidth>',
482
+ '<WindowTopX>32767</WindowTopX>',
483
+ '<WindowTopY>32767</WindowTopY>',
484
+ '<ProtectStructure>False</ProtectStructure>',
485
+ '<ProtectWindows>False</ProtectWindows>',
486
+ '</ExcelWorkbook>',
487
+ `<Worksheet ss:Name="${opts.sheetName}">`,
488
+ '<Table>',
489
+ columns.map(column => `<Column ss:Width="${column.renderWidth}"/>`).join('')
490
+ ].join('');
491
+ if (opts.isHeader) {
492
+ xml += `<Row>${columns.map(column => `<Cell><Data ss:Type="String">${getHeaderTitle($xetable, opts, column)}</Data></Cell>`).join('')}</Row>`;
493
+ }
494
+ datas.forEach(row => {
495
+ xml += '<Row>' + columns.map(column => `<Cell><Data ss:Type="String">${row[column.id]}</Data></Cell>`).join('') + '</Row>';
496
+ });
497
+ if (opts.isFooter) {
498
+ const footerTableData = $xetable.footerTableData;
499
+ const footers = getFooterData(opts, footerTableData);
500
+ footers.forEach((row) => {
501
+ xml += `<Row>${columns.map(column => `<Cell><Data ss:Type="String">${getFooterCellValue($xetable, opts, row, column)}</Data></Cell>`).join('')}</Row>`;
502
+ });
503
+ }
504
+ return `${xml}</Table></Worksheet></Workbook>`;
505
+ }
506
+ function getContent($xetable, opts, columns, datas) {
507
+ if (columns.length) {
508
+ switch (opts.type) {
509
+ case 'csv':
510
+ return toCsv($xetable, opts, columns, datas);
511
+ case 'txt':
512
+ return toTxt($xetable, opts, columns, datas);
513
+ case 'html':
514
+ return toHtml($xetable, opts, columns, datas);
515
+ case 'xml':
516
+ return toXML($xetable, opts, columns, datas);
517
+ }
518
+ }
519
+ return '';
520
+ }
521
+ /**
522
+ * 保存文件到本地
523
+ * @param {*} options 参数
524
+ */
525
+ export function saveLocalFile(options) {
526
+ const { filename, type, content } = options;
527
+ const name = `${filename}.${type}`;
528
+ if (window.Blob) {
529
+ const blob = content instanceof Blob ? content : getExportBlobByContent(XEUtils.toValueString(content), options);
530
+ if (navigator.msSaveBlob) {
531
+ navigator.msSaveBlob(blob, name);
532
+ }
533
+ else {
534
+ const url = URL.createObjectURL(blob);
535
+ const linkElem = document.createElement('a');
536
+ linkElem.target = '_blank';
537
+ linkElem.download = name;
538
+ linkElem.href = url;
539
+ document.body.appendChild(linkElem);
540
+ linkElem.click();
541
+ document.body.removeChild(linkElem);
542
+ requestAnimationFrame(() => {
543
+ if (linkElem.parentNode) {
544
+ linkElem.parentNode.removeChild(linkElem);
545
+ }
546
+ URL.revokeObjectURL(url);
547
+ });
548
+ }
549
+ return Promise.resolve();
550
+ }
551
+ return Promise.reject(new Error(getI18n('vxe.error.notExp')));
552
+ }
553
+ function downloadFile($xetable, opts, content) {
554
+ const { filename, type, download } = opts;
555
+ if (!download) {
556
+ const blob = getExportBlobByContent(content, opts);
557
+ return Promise.resolve({ type, content, blob });
558
+ }
559
+ saveLocalFile({ filename, type, content }).then(() => {
560
+ if (opts.message !== false) {
561
+ // 检测弹窗模块
562
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
563
+ if (!VxeUI.modal) {
564
+ errLog('vxe.error.reqModule', ['Modal']);
565
+ }
566
+ }
567
+ VxeUI.modal.message({ content: getI18n('vxe.table.expSuccess'), status: 'success' });
568
+ }
569
+ });
570
+ }
571
+ function clearColumnConvert(columns) {
572
+ XEUtils.eachTree(columns, column => {
573
+ delete column._level;
574
+ delete column._colSpan;
575
+ delete column._rowSpan;
576
+ delete column._children;
577
+ delete column.childNodes;
578
+ }, { children: 'children' });
579
+ }
580
+ function handleExport($xetable, opts) {
581
+ const { remote, columns, colgroups, exportMethod, afterExportMethod } = opts;
582
+ return new Promise(resolve => {
583
+ if (remote) {
584
+ const params = { options: opts, $table: $xetable, $grid: $xetable.$xegrid };
585
+ resolve(exportMethod ? exportMethod(params) : params);
586
+ }
587
+ else {
588
+ const datas = getExportData($xetable, opts);
589
+ resolve($xetable.preventEvent(null, 'event.export', { options: opts, columns, colgroups, datas }, () => {
590
+ return downloadFile($xetable, opts, getContent($xetable, opts, columns, datas));
591
+ }));
592
+ }
593
+ }).then((params) => {
594
+ clearColumnConvert(columns);
595
+ if (!opts.print) {
596
+ if (afterExportMethod) {
597
+ afterExportMethod({ status: true, options: opts, $table: $xetable, $grid: $xetable.$xegrid });
598
+ }
599
+ }
600
+ return Object.assign({ status: true }, params);
601
+ }).catch(() => {
602
+ clearColumnConvert(columns);
603
+ if (!opts.print) {
604
+ if (afterExportMethod) {
605
+ afterExportMethod({ status: false, options: opts, $table: $xetable, $grid: $xetable.$xegrid });
606
+ }
607
+ }
608
+ const params = { status: false };
609
+ return Promise.reject(params);
610
+ });
611
+ }
612
+ function getElementsByTagName(elem, qualifiedName) {
613
+ return elem.getElementsByTagName(qualifiedName);
614
+ }
615
+ function getTxtCellKey(now) {
616
+ return `#${now}@${XEUtils.uniqueId()}`;
617
+ }
618
+ function replaceTxtCell(cell, vMaps) {
619
+ return cell.replace(/#\d+@\d+/g, (key) => XEUtils.hasOwnProp(vMaps, key) ? vMaps[key] : key);
620
+ }
621
+ function getTxtCellValue(val, vMaps) {
622
+ const rest = replaceTxtCell(val, vMaps);
623
+ return rest.replace(/^"+$/g, (qVal) => '"'.repeat(Math.ceil(qVal.length / 2)));
624
+ }
625
+ function parseCsvAndTxt(columns, content, cellSeparator) {
626
+ const list = content.split(enterSymbol);
627
+ const rows = [];
628
+ let fields = [];
629
+ if (list.length) {
630
+ const vMaps = {};
631
+ const now = Date.now();
632
+ list.forEach((rVal) => {
633
+ if (rVal) {
634
+ const item = {};
635
+ rVal = rVal.replace(/("")|(\n)/g, (text, dVal) => {
636
+ const key = getTxtCellKey(now);
637
+ vMaps[key] = dVal ? '"' : '\n';
638
+ return key;
639
+ }).replace(/"(.*?)"/g, (text, cVal) => {
640
+ const key = getTxtCellKey(now);
641
+ vMaps[key] = replaceTxtCell(cVal, vMaps);
642
+ return key;
643
+ });
644
+ const cells = rVal.split(cellSeparator);
645
+ if (!fields.length) {
646
+ fields = cells.map((val) => getTxtCellValue(val.trim(), vMaps));
647
+ }
648
+ else {
649
+ cells.forEach((val, colIndex) => {
650
+ if (colIndex < fields.length) {
651
+ item[fields[colIndex]] = getTxtCellValue(val, vMaps);
652
+ }
653
+ });
654
+ rows.push(item);
655
+ }
656
+ }
657
+ });
658
+ }
659
+ return { fields, rows };
660
+ }
661
+ function parseCsv(columns, content) {
662
+ return parseCsvAndTxt(columns, content, ',');
663
+ }
664
+ function parseTxt(columns, content) {
665
+ return parseCsvAndTxt(columns, content, '\t');
666
+ }
667
+ function parseHTML(columns, content) {
668
+ const domParser = new DOMParser();
669
+ const xmlDoc = domParser.parseFromString(content, 'text/html');
670
+ const bodyNodes = getElementsByTagName(xmlDoc, 'body');
671
+ const rows = [];
672
+ const fields = [];
673
+ if (bodyNodes.length) {
674
+ const tableNodes = getElementsByTagName(bodyNodes[0], 'table');
675
+ if (tableNodes.length) {
676
+ const theadNodes = getElementsByTagName(tableNodes[0], 'thead');
677
+ if (theadNodes.length) {
678
+ XEUtils.arrayEach(getElementsByTagName(theadNodes[0], 'tr'), (rowNode) => {
679
+ XEUtils.arrayEach(getElementsByTagName(rowNode, 'th'), (cellNode) => {
680
+ fields.push(cellNode.textContent);
681
+ });
682
+ });
683
+ const tbodyNodes = getElementsByTagName(tableNodes[0], 'tbody');
684
+ if (tbodyNodes.length) {
685
+ XEUtils.arrayEach(getElementsByTagName(tbodyNodes[0], 'tr'), rowNode => {
686
+ const item = {};
687
+ XEUtils.arrayEach(getElementsByTagName(rowNode, 'td'), (cellNode, colIndex) => {
688
+ if (fields[colIndex]) {
689
+ item[fields[colIndex]] = cellNode.textContent || '';
690
+ }
691
+ });
692
+ rows.push(item);
693
+ });
694
+ }
695
+ }
696
+ }
697
+ }
698
+ return { fields, rows };
699
+ }
700
+ function parseXML(columns, content) {
701
+ const domParser = new DOMParser();
702
+ const xmlDoc = domParser.parseFromString(content, 'application/xml');
703
+ const sheetNodes = getElementsByTagName(xmlDoc, 'Worksheet');
704
+ const rows = [];
705
+ const fields = [];
706
+ if (sheetNodes.length) {
707
+ const tableNodes = getElementsByTagName(sheetNodes[0], 'Table');
708
+ if (tableNodes.length) {
709
+ const rowNodes = getElementsByTagName(tableNodes[0], 'Row');
710
+ if (rowNodes.length) {
711
+ XEUtils.arrayEach(getElementsByTagName(rowNodes[0], 'Cell'), (cellNode) => {
712
+ fields.push(cellNode.textContent);
713
+ });
714
+ XEUtils.arrayEach(rowNodes, (rowNode, index) => {
715
+ if (index) {
716
+ const item = {};
717
+ const cellNodes = getElementsByTagName(rowNode, 'Cell');
718
+ XEUtils.arrayEach(cellNodes, (cellNode, colIndex) => {
719
+ if (fields[colIndex]) {
720
+ item[fields[colIndex]] = cellNode.textContent;
721
+ }
722
+ });
723
+ rows.push(item);
724
+ }
725
+ });
726
+ }
727
+ }
728
+ }
729
+ return { fields, rows };
730
+ }
731
+ /**
732
+ * 检查导入的列是否完整
733
+ * @param {Array} fields 字段名列表
734
+ * @param {Array} rows 数据列表
735
+ */
736
+ function checkImportData(columns, fields) {
737
+ const tableFields = [];
738
+ columns.forEach((column) => {
739
+ const field = column.property;
740
+ if (field) {
741
+ tableFields.push(field);
742
+ }
743
+ });
744
+ return fields.some(field => tableFields.indexOf(field) > -1);
745
+ }
746
+ function handleImport($xetable, content, opts) {
747
+ const { tableFullColumn, _importResolve, _importReject } = $xetable;
748
+ let rest = { fields: [], rows: [] };
749
+ switch (opts.type) {
750
+ case 'csv':
751
+ rest = parseCsv(tableFullColumn, content);
752
+ break;
753
+ case 'txt':
754
+ rest = parseTxt(tableFullColumn, content);
755
+ break;
756
+ case 'html':
757
+ rest = parseHTML(tableFullColumn, content);
758
+ break;
759
+ case 'xml':
760
+ rest = parseXML(tableFullColumn, content);
761
+ break;
762
+ }
763
+ const { fields, rows } = rest;
764
+ const status = checkImportData(tableFullColumn, fields);
765
+ if (status) {
766
+ $xetable.createData(rows)
767
+ .then((data) => {
768
+ let loadRest;
769
+ if (opts.mode === 'insert' || opts.mode === 'insertBottom') {
770
+ loadRest = $xetable.insertAt(data, -1);
771
+ }
772
+ if (opts.mode === 'insertTop') {
773
+ loadRest = $xetable.insert(data);
774
+ }
775
+ else {
776
+ loadRest = $xetable.reloadData(data);
777
+ }
778
+ if (opts.message !== false) {
779
+ // 检测弹窗模块
780
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
781
+ if (!VxeUI.modal) {
782
+ errLog('vxe.error.reqModule', ['Modal']);
783
+ }
784
+ }
785
+ VxeUI.modal.message({ content: getI18n('vxe.table.impSuccess', [rows.length]), status: 'success' });
786
+ }
787
+ return loadRest.then(() => {
788
+ if (_importResolve) {
789
+ _importResolve({ status: true });
790
+ }
791
+ });
792
+ });
793
+ }
794
+ else if (opts.message !== false) {
795
+ // 检测弹窗模块
796
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
797
+ if (!VxeUI.modal) {
798
+ errLog('vxe.error.reqModule', ['Modal']);
799
+ }
800
+ }
801
+ VxeUI.modal.message({ content: getI18n('vxe.error.impFields'), status: 'error' });
802
+ if (_importReject) {
803
+ _importReject({ status: false });
804
+ }
805
+ }
806
+ }
807
+ function handleFileImport($xetable, file, opts) {
808
+ const { importOpts } = $xetable;
809
+ const { importMethod, afterImportMethod } = opts;
810
+ const { type, filename } = parseFile(file);
811
+ // 检查类型,如果为自定义导出,则不需要校验类型
812
+ if (!importMethod && !XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)) {
813
+ if (opts.message !== false) {
814
+ // 检测弹窗模块
815
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
816
+ if (!VxeUI.modal) {
817
+ errLog('vxe.error.reqModule', ['Modal']);
818
+ }
819
+ }
820
+ VxeUI.modal.message({ content: getI18n('vxe.error.notType', [type]), status: 'error' });
821
+ }
822
+ const params = { status: false };
823
+ return Promise.reject(params);
824
+ }
825
+ const rest = new Promise((resolve, reject) => {
826
+ const _importResolve = (params) => {
827
+ resolve(params);
828
+ $xetable._importResolve = null;
829
+ $xetable._importReject = null;
830
+ };
831
+ const _importReject = (params) => {
832
+ reject(params);
833
+ $xetable._importResolve = null;
834
+ $xetable._importReject = null;
835
+ };
836
+ $xetable._importResolve = _importResolve;
837
+ $xetable._importReject = _importReject;
838
+ if (window.FileReader) {
839
+ const options = Object.assign({ mode: 'insertTop' }, opts, { type, filename });
840
+ if (options.remote) {
841
+ if (importMethod) {
842
+ Promise.resolve(importMethod({ file, options, $table: $xetable })).then(() => {
843
+ _importResolve({ status: true });
844
+ }).catch(() => {
845
+ _importResolve({ status: true });
846
+ });
847
+ }
848
+ else {
849
+ _importResolve({ status: true });
850
+ }
851
+ }
852
+ else {
853
+ $xetable.preventEvent(null, 'event.import', { file, options, columns: $xetable.tableFullColumn }, () => {
854
+ const reader = new FileReader();
855
+ reader.onerror = () => {
856
+ errLog('vxe.error.notType', [type]);
857
+ _importReject({ status: false });
858
+ };
859
+ reader.onload = (e) => {
860
+ handleImport($xetable, e.target.result, options);
861
+ };
862
+ reader.readAsText(file, options.encoding || 'UTF-8');
863
+ });
864
+ }
865
+ }
866
+ else {
867
+ // 不支持的浏览器
868
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
869
+ errLog('vxe.error.notExp');
870
+ }
871
+ _importResolve({ status: true });
872
+ }
873
+ });
874
+ return rest.then(() => {
875
+ if (afterImportMethod) {
876
+ afterImportMethod({ status: true, options: opts, $table: $xetable });
877
+ }
878
+ }).catch((e) => {
879
+ if (afterImportMethod) {
880
+ afterImportMethod({ status: false, options: opts, $table: $xetable });
881
+ }
882
+ return Promise.reject(e);
883
+ });
884
+ }
885
+ /**
886
+ * 读取本地文件
887
+ * @param {*} options 参数
888
+ */
889
+ export function readLocalFile(options = {}) {
890
+ if (!fileForm) {
891
+ fileForm = document.createElement('form');
892
+ fileInput = document.createElement('input');
893
+ fileForm.className = 'vxe-table--file-form';
894
+ fileInput.name = 'file';
895
+ fileInput.type = 'file';
896
+ fileForm.appendChild(fileInput);
897
+ document.body.appendChild(fileForm);
898
+ }
899
+ return new Promise((resolve, reject) => {
900
+ const types = options.types || [];
901
+ const isAllType = !types.length || types.some((type) => type === '*');
902
+ fileInput.multiple = !!options.multiple;
903
+ fileInput.accept = isAllType ? '' : `.${types.join(', .')}`;
904
+ fileInput.onchange = (evnt) => {
905
+ const { files } = evnt.target;
906
+ const file = files[0];
907
+ let errType;
908
+ // 校验类型
909
+ if (!isAllType) {
910
+ for (let fIndex = 0; fIndex < files.length; fIndex++) {
911
+ const { type } = parseFile(files[fIndex]);
912
+ if (!XEUtils.includes(types, type)) {
913
+ errType = type;
914
+ break;
915
+ }
916
+ }
917
+ }
918
+ if (!errType) {
919
+ resolve({ status: true, files, file });
920
+ }
921
+ else {
922
+ if (options.message !== false) {
923
+ // 检测弹窗模块
924
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
925
+ if (!VxeUI.modal) {
926
+ errLog('vxe.error.reqModule', ['Modal']);
927
+ }
928
+ }
929
+ VxeUI.modal.message({ content: getI18n('vxe.error.notType', [errType]), status: 'error' });
930
+ }
931
+ const params = { status: false, files, file };
932
+ reject(params);
933
+ }
934
+ };
935
+ fileForm.reset();
936
+ fileInput.click();
937
+ });
938
+ }
939
+ function removePrintFrame() {
940
+ if (printFrame) {
941
+ if (printFrame.parentNode) {
942
+ try {
943
+ printFrame.contentDocument.write('');
944
+ }
945
+ catch (e) { }
946
+ printFrame.parentNode.removeChild(printFrame);
947
+ }
948
+ printFrame = null;
949
+ }
950
+ }
951
+ function appendPrintFrame() {
952
+ if (!printFrame.parentNode) {
953
+ document.body.appendChild(printFrame);
954
+ }
955
+ }
956
+ function afterPrintEvent() {
957
+ requestAnimationFrame(removePrintFrame);
958
+ }
959
+ export function handlePrint($xetable, opts, content) {
960
+ const { beforePrintMethod } = opts;
961
+ if (beforePrintMethod) {
962
+ content = beforePrintMethod({ content, options: opts, $table: $xetable }) || '';
963
+ }
964
+ content = createHtmlPage(opts, content);
965
+ const blob = getExportBlobByContent(content, opts);
966
+ if (browse.msie) {
967
+ removePrintFrame();
968
+ printFrame = createFrame();
969
+ appendPrintFrame();
970
+ printFrame.contentDocument.write(content);
971
+ printFrame.contentDocument.execCommand('print');
972
+ }
973
+ else {
974
+ if (!printFrame) {
975
+ printFrame = createFrame();
976
+ printFrame.onload = (evnt) => {
977
+ if (evnt.target.src) {
978
+ evnt.target.contentWindow.onafterprint = afterPrintEvent;
979
+ evnt.target.contentWindow.print();
980
+ }
981
+ };
982
+ }
983
+ appendPrintFrame();
984
+ printFrame.src = URL.createObjectURL(blob);
985
+ }
986
+ }
987
+ function handleExportAndPrint($xetable, options, isPrint) {
988
+ const { $xegrid, initStore, customOpts, collectColumn, footerTableData, treeConfig, mergeList, isGroup, exportParams, exportOpts } = $xetable;
989
+ const proxyOpts = $xegrid ? $xegrid.proxyOpts : {};
990
+ const selectRecords = $xetable.getCheckboxRecords();
991
+ const hasFooter = !!footerTableData.length;
992
+ const hasTree = treeConfig;
993
+ const hasMerge = !hasTree && mergeList.length;
994
+ const defOpts = Object.assign({
995
+ message: true,
996
+ isHeader: true,
997
+ current: 'current',
998
+ modes: ['current', 'selected'].concat(proxyOpts.ajax && proxyOpts.ajax.queryAll ? ['all'] : [])
999
+ }, options);
1000
+ const types = defOpts.types || XEUtils.keys(exportOpts._typeMaps);
1001
+ const modes = defOpts.modes || [];
1002
+ const checkMethod = customOpts.checkMethod;
1003
+ const exportColumns = collectColumn.slice(0);
1004
+ const { columns } = defOpts;
1005
+ // 处理类型
1006
+ const typeList = types.map((value) => {
1007
+ return {
1008
+ value,
1009
+ label: getI18n(`vxe.export.types.${value}`)
1010
+ };
1011
+ });
1012
+ const modeList = modes.map((item) => {
1013
+ if (item && item.value) {
1014
+ return {
1015
+ value: item.value,
1016
+ label: item.label || item.value
1017
+ };
1018
+ }
1019
+ return {
1020
+ value: item,
1021
+ label: getI18n(`vxe.export.modes.${item}`)
1022
+ };
1023
+ });
1024
+ // 默认选中
1025
+ XEUtils.eachTree(exportColumns, (column, index, items, path, parent) => {
1026
+ const isColGroup = column.children && column.children.length;
1027
+ if (isColGroup || defaultFilterExportColumn(column)) {
1028
+ column.checked = columns
1029
+ ? columns.some((item) => {
1030
+ if (isColumnInfo(item)) {
1031
+ return column === item;
1032
+ }
1033
+ else if (XEUtils.isString(item)) {
1034
+ return column.field === item;
1035
+ }
1036
+ else {
1037
+ const colid = item.id || item.colId;
1038
+ const type = item.type;
1039
+ const field = item.property || item.field;
1040
+ if (colid) {
1041
+ return column.id === colid;
1042
+ }
1043
+ else if (field && type) {
1044
+ return column.property === field && column.type === type;
1045
+ }
1046
+ else if (field) {
1047
+ return column.property === field;
1048
+ }
1049
+ else if (type) {
1050
+ return column.type === type;
1051
+ }
1052
+ }
1053
+ return false;
1054
+ })
1055
+ : column.visible;
1056
+ column.halfChecked = false;
1057
+ column.disabled = (parent && parent.disabled) || (checkMethod ? !checkMethod({ column }) : false);
1058
+ }
1059
+ });
1060
+ // 更新条件
1061
+ Object.assign($xetable.exportStore, {
1062
+ columns: exportColumns,
1063
+ typeList,
1064
+ modeList,
1065
+ hasFooter,
1066
+ hasMerge,
1067
+ hasTree,
1068
+ isPrint,
1069
+ hasColgroup: isGroup,
1070
+ visible: true
1071
+ });
1072
+ // 默认参数
1073
+ Object.assign(exportParams, {
1074
+ mode: selectRecords.length ? 'selected' : 'current'
1075
+ }, defOpts);
1076
+ if (!modeList.some((item) => item.value === exportParams.mode)) {
1077
+ exportParams.mode = modeList[0].value;
1078
+ }
1079
+ if (!typeList.some((item) => item.value === exportParams.type)) {
1080
+ exportParams.type = typeList[0].value;
1081
+ }
1082
+ initStore.export = true;
1083
+ return $xetable.$nextTick();
1084
+ }
1085
+ const getConvertColumns = (columns) => {
1086
+ const result = [];
1087
+ columns.forEach((column) => {
1088
+ if (column.childNodes && column.childNodes.length) {
1089
+ result.push(column);
1090
+ result.push(...getConvertColumns(column.childNodes));
1091
+ }
1092
+ else {
1093
+ result.push(column);
1094
+ }
1095
+ });
1096
+ return result;
1097
+ };
1098
+ const convertToRows = (originColumns) => {
1099
+ let maxLevel = 1;
1100
+ const traverse = (column, parent) => {
1101
+ if (parent) {
1102
+ column._level = parent._level + 1;
1103
+ if (maxLevel < column._level) {
1104
+ maxLevel = column._level;
1105
+ }
1106
+ }
1107
+ if (column.childNodes && column.childNodes.length) {
1108
+ let colSpan = 0;
1109
+ column.childNodes.forEach((subColumn) => {
1110
+ traverse(subColumn, column);
1111
+ colSpan += subColumn._colSpan;
1112
+ });
1113
+ column._colSpan = colSpan;
1114
+ }
1115
+ else {
1116
+ column._colSpan = 1;
1117
+ }
1118
+ };
1119
+ originColumns.forEach((column) => {
1120
+ column._level = 1;
1121
+ traverse(column);
1122
+ });
1123
+ const rows = [];
1124
+ for (let i = 0; i < maxLevel; i++) {
1125
+ rows.push([]);
1126
+ }
1127
+ const allColumns = getConvertColumns(originColumns);
1128
+ allColumns.forEach((column) => {
1129
+ if (column.childNodes && column.childNodes.length) {
1130
+ column._rowSpan = 1;
1131
+ }
1132
+ else {
1133
+ column._rowSpan = maxLevel - column._level + 1;
1134
+ }
1135
+ rows[column._level - 1].push(column);
1136
+ });
1137
+ return rows;
1138
+ };
1139
+ export default {
1140
+ methods: {
1141
+ /**
1142
+ * 导出文件,支持 csv/html/xml/txt
1143
+ * 如果是树表格,则默认是导出所有节点
1144
+ * 如果是启用了虚拟滚动,则只能导出数据源,可以配合 dataFilterMethod 函数自行转换数据
1145
+ * @param {Object} options 参数
1146
+ */
1147
+ _exportData(options) {
1148
+ const { $xegrid, isGroup, tableGroupColumn, tableFullColumn, afterFullData, treeConfig, treeOpts, exportOpts } = this;
1149
+ const opts = Object.assign({
1150
+ // filename: '',
1151
+ // sheetName: '',
1152
+ // original: false,
1153
+ // message: false,
1154
+ isHeader: true,
1155
+ isFooter: true,
1156
+ isColgroup: true,
1157
+ isMerge: false,
1158
+ isAllExpand: false,
1159
+ download: true,
1160
+ type: 'csv',
1161
+ mode: 'current'
1162
+ // data: null,
1163
+ // remote: false,
1164
+ // dataFilterMethod: null,
1165
+ // footerFilterMethod: null,
1166
+ // exportMethod: null,
1167
+ // columnFilterMethod: null,
1168
+ // beforeExportMethod: null,
1169
+ // afterExportMethod: null
1170
+ }, exportOpts, {
1171
+ print: false
1172
+ }, options);
1173
+ const { type, mode, columns, original, beforeExportMethod } = opts;
1174
+ let groups = [];
1175
+ const customCols = columns && columns.length ? columns : null;
1176
+ // 如果设置源数据,则默认导出设置了字段的列
1177
+ let columnFilterMethod = opts.columnFilterMethod;
1178
+ if (!customCols && !columnFilterMethod) {
1179
+ columnFilterMethod = original ? ({ column }) => column.property : ({ column }) => defaultFilterExportColumn(column);
1180
+ }
1181
+ if (customCols) {
1182
+ opts._isCustomColumn = true;
1183
+ groups = XEUtils.searchTree(XEUtils.mapTree(customCols, item => {
1184
+ let targetColumn;
1185
+ if (item) {
1186
+ if (isColumnInfo(item)) {
1187
+ targetColumn = item;
1188
+ }
1189
+ else if (XEUtils.isString(item)) {
1190
+ targetColumn = this.getColumnByField(item);
1191
+ }
1192
+ else {
1193
+ const colid = item.id || item.colId;
1194
+ const type = item.type;
1195
+ const field = item.property || item.field;
1196
+ if (colid) {
1197
+ targetColumn = this.getColumnById(colid);
1198
+ }
1199
+ else if (field && type) {
1200
+ targetColumn = tableFullColumn.find((column) => column.property === field && column.type === type);
1201
+ }
1202
+ else if (field) {
1203
+ targetColumn = this.getColumnByField(field);
1204
+ }
1205
+ else if (type) {
1206
+ targetColumn = tableFullColumn.find((column) => column.type === type);
1207
+ }
1208
+ }
1209
+ return targetColumn || {};
1210
+ }
1211
+ }, {
1212
+ children: 'childNodes',
1213
+ mapChildren: '_children'
1214
+ }), (column, index) => isColumnInfo(column) && (!columnFilterMethod || columnFilterMethod({ column, $columnIndex: index })), {
1215
+ children: '_children',
1216
+ mapChildren: 'childNodes',
1217
+ original: true
1218
+ });
1219
+ }
1220
+ else {
1221
+ groups = XEUtils.searchTree(isGroup ? tableGroupColumn : tableFullColumn, (column, index) => column.visible && (!columnFilterMethod || columnFilterMethod({ column, $columnIndex: index })), { children: 'children', mapChildren: 'childNodes', original: true });
1222
+ }
1223
+ // 获取所有列
1224
+ const cols = [];
1225
+ XEUtils.eachTree(groups, column => {
1226
+ const isColGroup = column.children && column.children.length;
1227
+ if (!isColGroup) {
1228
+ cols.push(column);
1229
+ }
1230
+ }, { children: 'childNodes' });
1231
+ // 构建分组层级
1232
+ opts.columns = cols;
1233
+ opts.colgroups = convertToRows(groups);
1234
+ if (!opts.filename) {
1235
+ opts.filename = getI18n(opts.original ? 'vxe.table.expOriginFilename' : 'vxe.table.expFilename', [XEUtils.toDateString(Date.now(), 'yyyyMMddHHmmss')]);
1236
+ }
1237
+ if (!opts.sheetName) {
1238
+ opts.sheetName = document.title;
1239
+ }
1240
+ // 检查类型,如果为自定义导出,则不需要校验类型
1241
+ if (!opts.exportMethod && !XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)) {
1242
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
1243
+ errLog('vxe.error.notType', [type]);
1244
+ }
1245
+ const params = { status: false };
1246
+ return Promise.reject(params);
1247
+ }
1248
+ if (!opts.print) {
1249
+ if (beforeExportMethod) {
1250
+ beforeExportMethod({ options: opts, $table: this, $grid: $xegrid });
1251
+ }
1252
+ }
1253
+ if (!opts.data) {
1254
+ opts.data = [];
1255
+ if (mode === 'selected') {
1256
+ const selectRecords = this.getCheckboxRecords();
1257
+ if (['html', 'pdf'].indexOf(type) > -1 && treeConfig) {
1258
+ opts.data = XEUtils.searchTree(this.getTableData().fullData, (item) => selectRecords.indexOf(item) > -1, Object.assign({}, treeOpts, { data: '_row' }));
1259
+ }
1260
+ else {
1261
+ opts.data = selectRecords;
1262
+ }
1263
+ }
1264
+ else if (mode === 'all') {
1265
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
1266
+ if (!$xegrid) {
1267
+ warnLog('vxe.error.errProp', ['all', 'mode=current,selected']);
1268
+ }
1269
+ }
1270
+ if ($xegrid && !opts.remote) {
1271
+ const { beforeQueryAll, afterQueryAll, ajax = {}, props = {} } = $xegrid.proxyOpts;
1272
+ const ajaxMethods = ajax.queryAll;
1273
+ const queryAllSuccessMethods = ajax.queryAllSuccess;
1274
+ const queryAllErrorMethods = ajax.queryAllError;
1275
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
1276
+ if (!ajaxMethods) {
1277
+ warnLog('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1278
+ }
1279
+ }
1280
+ if (ajaxMethods) {
1281
+ const params = {
1282
+ $table: this,
1283
+ $grid: $xegrid,
1284
+ sort: $xegrid.sortData,
1285
+ filters: $xegrid.filterData,
1286
+ form: $xegrid.formData,
1287
+ target: ajaxMethods,
1288
+ options: opts
1289
+ };
1290
+ return Promise.resolve((beforeQueryAll || ajaxMethods)(params))
1291
+ .then(rest => {
1292
+ opts.data = (props.list ? XEUtils.get(rest, props.list) : rest) || [];
1293
+ if (afterQueryAll) {
1294
+ afterQueryAll(params);
1295
+ }
1296
+ if (queryAllSuccessMethods) {
1297
+ queryAllSuccessMethods(Object.assign(Object.assign({}, params), { response: rest }));
1298
+ }
1299
+ return handleExport(this, opts);
1300
+ })
1301
+ .catch((rest) => {
1302
+ if (queryAllErrorMethods) {
1303
+ queryAllErrorMethods(Object.assign(Object.assign({}, params), { response: rest }));
1304
+ }
1305
+ });
1306
+ }
1307
+ }
1308
+ }
1309
+ else if (mode === 'current') {
1310
+ opts.data = afterFullData;
1311
+ }
1312
+ }
1313
+ return handleExport(this, opts);
1314
+ },
1315
+ _importByFile(file, options) {
1316
+ const opts = Object.assign({}, options);
1317
+ const { beforeImportMethod } = opts;
1318
+ if (beforeImportMethod) {
1319
+ beforeImportMethod({ options: opts, $table: this });
1320
+ }
1321
+ return handleFileImport(this, file, opts);
1322
+ },
1323
+ _importData(options) {
1324
+ const { importOpts } = this;
1325
+ const opts = Object.assign({
1326
+ types: XEUtils.keys(importOpts._typeMaps)
1327
+ // beforeImportMethod: null,
1328
+ // afterImportMethod: null
1329
+ }, importOpts, options);
1330
+ const { beforeImportMethod, afterImportMethod } = opts;
1331
+ if (beforeImportMethod) {
1332
+ beforeImportMethod({ options: opts, $table: this });
1333
+ }
1334
+ return readLocalFile(opts).catch(e => {
1335
+ if (afterImportMethod) {
1336
+ afterImportMethod({ status: false, options: opts, $table: this });
1337
+ }
1338
+ return Promise.reject(e);
1339
+ }).then((params) => {
1340
+ const { file } = params;
1341
+ return handleFileImport(this, file, opts);
1342
+ });
1343
+ },
1344
+ _saveFile(options) {
1345
+ return saveLocalFile(options);
1346
+ },
1347
+ _readFile(options) {
1348
+ return readLocalFile(options);
1349
+ },
1350
+ _print(options) {
1351
+ const opts = Object.assign({
1352
+ original: false
1353
+ // beforePrintMethod
1354
+ }, this.printOpts, options, {
1355
+ type: 'html',
1356
+ download: false,
1357
+ remote: false,
1358
+ print: true
1359
+ });
1360
+ if (!opts.sheetName) {
1361
+ opts.sheetName = document.title;
1362
+ }
1363
+ return new Promise(resolve => {
1364
+ if (opts.content) {
1365
+ resolve(handlePrint(this, opts, opts.content));
1366
+ }
1367
+ else {
1368
+ resolve(this.exportData(opts).then(({ content }) => {
1369
+ return handlePrint(this, opts, content);
1370
+ }));
1371
+ }
1372
+ });
1373
+ },
1374
+ _getPrintHtml(options) {
1375
+ const { printOpts } = this;
1376
+ const opts = Object.assign({
1377
+ original: false
1378
+ // beforePrintMethod
1379
+ }, printOpts, options, {
1380
+ type: 'html',
1381
+ download: false,
1382
+ remote: false,
1383
+ print: true
1384
+ });
1385
+ return this.exportData(opts).then(({ content }) => {
1386
+ return {
1387
+ html: content
1388
+ };
1389
+ });
1390
+ },
1391
+ _openImport(options) {
1392
+ const { importOpts } = this;
1393
+ const defOpts = Object.assign({
1394
+ mode: 'insertTop',
1395
+ message: true,
1396
+ types: XEUtils.keys(importOpts._typeMaps),
1397
+ modes: ['insertTop', 'covering']
1398
+ }, options, importOpts);
1399
+ const types = defOpts.types || [];
1400
+ const modes = defOpts.modes || [];
1401
+ const isTree = !!this.getTreeStatus();
1402
+ if (isTree) {
1403
+ if (defOpts.message) {
1404
+ VxeUI.modal.message({ content: getI18n('vxe.error.treeNotImp'), status: 'error' });
1405
+ }
1406
+ return;
1407
+ }
1408
+ if (!this.importConfig) {
1409
+ errLog('vxe.error.reqProp', ['import-config']);
1410
+ }
1411
+ // 处理类型
1412
+ const typeList = types.map((value) => {
1413
+ return {
1414
+ value,
1415
+ label: getI18n(`vxe.export.types.${value}`)
1416
+ };
1417
+ });
1418
+ const modeList = modes.map((item) => {
1419
+ if (item && item.value) {
1420
+ return {
1421
+ value: item.value,
1422
+ label: item.label || item.value
1423
+ };
1424
+ }
1425
+ return {
1426
+ value: item,
1427
+ label: getI18n(`vxe.import.modes.${item}`)
1428
+ };
1429
+ });
1430
+ Object.assign(this.importStore, {
1431
+ file: null,
1432
+ type: '',
1433
+ filename: '',
1434
+ modeList,
1435
+ typeList,
1436
+ visible: true
1437
+ });
1438
+ Object.assign(this.importParams, defOpts);
1439
+ if (!modeList.some((item) => item.value === this.importParams.mode)) {
1440
+ this.importParams.mode = modeList[0].value;
1441
+ }
1442
+ this.initStore.import = true;
1443
+ },
1444
+ _openExport(options) {
1445
+ const { exportOpts } = this;
1446
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
1447
+ if (!this.exportConfig) {
1448
+ errLog('vxe.error.reqProp', ['export-config']);
1449
+ }
1450
+ }
1451
+ return handleExportAndPrint(this, Object.assign({}, exportOpts, options));
1452
+ },
1453
+ _openPrint(options) {
1454
+ const { printOpts } = this;
1455
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
1456
+ if (!this.printConfig) {
1457
+ errLog('vxe.error.reqProp', ['print-config']);
1458
+ }
1459
+ }
1460
+ return handleExportAndPrint(this, Object.assign({}, printOpts, options), true);
1461
+ }
1462
+ }
1463
+ };