vxe-table 3.9.0-rc.8 → 3.9.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 (252) hide show
  1. package/README.md +1 -1
  2. package/es/grid/src/grid.js +120 -66
  3. package/es/grid/style.css +0 -1
  4. package/es/grid/style.min.css +1 -1
  5. package/es/index.esm.js +22 -3
  6. package/es/locale/lang/en-US.js +2 -8
  7. package/es/locale/lang/es-ES.js +2 -1
  8. package/es/locale/lang/hu-HU.d.ts +2 -0
  9. package/es/locale/lang/hu-HU.js +497 -501
  10. package/es/locale/lang/ja-JP.js +2 -8
  11. package/es/locale/lang/ko-KR.d.ts +2 -0
  12. package/es/locale/lang/ko-KR.js +2 -8
  13. package/es/locale/lang/pt-BR.js +2 -8
  14. package/es/locale/lang/ru-RU.d.ts +2 -0
  15. package/es/locale/lang/ru-RU.js +497 -503
  16. package/es/locale/lang/uk-UA.d.ts +2 -0
  17. package/es/locale/lang/uk-UA.js +667 -0
  18. package/es/locale/lang/vi-VN.js +2 -8
  19. package/es/locale/lang/zh-CHT.d.ts +2 -0
  20. package/es/locale/lang/zh-CHT.js +667 -0
  21. package/es/locale/lang/zh-CN.js +2 -8
  22. package/es/locale/lang/zh-HK.js +2 -2
  23. package/es/locale/lang/zh-MO.js +2 -2
  24. package/es/locale/lang/zh-TC.js +2 -673
  25. package/es/locale/lang/zh-TW.js +2 -2
  26. package/es/style.css +1 -1
  27. package/es/style.min.css +1 -1
  28. package/es/table/module/custom/panel.js +183 -173
  29. package/es/table/module/edit/mixin.js +33 -24
  30. package/es/table/module/export/export-panel.js +32 -4
  31. package/es/table/module/export/import-panel.js +25 -6
  32. package/es/table/module/export/mixin.js +11 -11
  33. package/es/table/module/menu/mixin.js +2 -2
  34. package/es/table/module/validator/mixin.js +4 -4
  35. package/es/table/render/index.js +17 -11
  36. package/es/table/src/body.js +1 -0
  37. package/es/table/src/columnInfo.js +3 -3
  38. package/es/table/src/methods.js +54 -42
  39. package/es/table/src/props.js +65 -15
  40. package/es/table/src/table.js +175 -60
  41. package/es/table/src/util.js +3 -2
  42. package/es/table/style.css +37 -48
  43. package/es/table/style.min.css +1 -1
  44. package/es/toolbar/src/toolbar.js +21 -7
  45. package/es/toolbar/style.css +0 -1
  46. package/es/toolbar/style.min.css +1 -1
  47. package/es/ui/index.js +5 -3
  48. package/es/ui/src/log.js +1 -1
  49. package/es/vxe-grid/style.css +0 -1
  50. package/es/vxe-grid/style.min.css +1 -1
  51. package/es/vxe-table/style.css +37 -48
  52. package/es/vxe-table/style.min.css +1 -1
  53. package/es/vxe-toolbar/style.css +0 -1
  54. package/es/vxe-toolbar/style.min.css +1 -1
  55. package/lib/colgroup/index.js +3 -3
  56. package/lib/colgroup/index.min.js +1 -1
  57. package/lib/column/index.js +3 -3
  58. package/lib/column/index.min.js +1 -1
  59. package/lib/components.js +9 -11
  60. package/lib/components.min.js +1 -1
  61. package/lib/grid/index.js +3 -3
  62. package/lib/grid/index.min.js +1 -1
  63. package/lib/grid/src/grid.js +581 -491
  64. package/lib/grid/src/grid.min.js +1 -1
  65. package/lib/grid/style/style.css +0 -1
  66. package/lib/grid/style/style.min.css +1 -1
  67. package/lib/index.common.js +3 -4
  68. package/lib/index.umd.js +9212 -17224
  69. package/lib/index.umd.min.js +1 -1
  70. package/lib/locale/lang/en-US.js +2 -8
  71. package/lib/locale/lang/en-US.min.js +1 -1
  72. package/lib/locale/lang/en-US.umd.js +2 -8
  73. package/lib/locale/lang/es-ES.js +2 -1
  74. package/lib/locale/lang/es-ES.min.js +1 -1
  75. package/lib/locale/lang/es-ES.umd.js +2 -1
  76. package/lib/locale/lang/hu-HU.d.ts +2 -0
  77. package/lib/locale/lang/hu-HU.js +497 -501
  78. package/lib/locale/lang/hu-HU.min.js +1 -1
  79. package/lib/locale/lang/hu-HU.umd.js +687 -0
  80. package/lib/locale/lang/ja-JP.js +2 -8
  81. package/lib/locale/lang/ja-JP.min.js +1 -1
  82. package/lib/locale/lang/ja-JP.umd.js +2 -8
  83. package/lib/locale/lang/ko-KR.d.ts +2 -0
  84. package/lib/locale/lang/ko-KR.js +2 -8
  85. package/lib/locale/lang/ko-KR.min.js +1 -1
  86. package/lib/locale/lang/ko-KR.umd.js +687 -0
  87. package/lib/locale/lang/pt-BR.js +2 -8
  88. package/lib/locale/lang/pt-BR.min.js +1 -1
  89. package/lib/locale/lang/pt-BR.umd.js +2 -8
  90. package/lib/locale/lang/ru-RU.d.ts +2 -0
  91. package/lib/locale/lang/ru-RU.js +497 -503
  92. package/lib/locale/lang/ru-RU.min.js +1 -1
  93. package/lib/locale/lang/ru-RU.umd.js +687 -0
  94. package/lib/locale/lang/uk-UA.d.ts +2 -0
  95. package/lib/locale/lang/uk-UA.js +673 -0
  96. package/lib/locale/lang/uk-UA.min.js +1 -0
  97. package/lib/locale/lang/uk-UA.umd.js +687 -0
  98. package/lib/locale/lang/vi-VN.js +2 -8
  99. package/lib/locale/lang/vi-VN.min.js +1 -1
  100. package/lib/locale/lang/zh-CHT.d.ts +2 -0
  101. package/lib/locale/lang/zh-CHT.js +673 -0
  102. package/lib/locale/lang/zh-CHT.min.js +1 -0
  103. package/lib/locale/lang/zh-CHT.umd.js +687 -0
  104. package/lib/locale/lang/zh-CN.js +2 -8
  105. package/lib/locale/lang/zh-CN.min.js +1 -1
  106. package/lib/locale/lang/zh-CN.umd.js +2 -8
  107. package/lib/locale/lang/zh-HK.js +2 -2
  108. package/lib/locale/lang/zh-HK.min.js +1 -1
  109. package/lib/locale/lang/zh-HK.umd.js +7 -677
  110. package/lib/locale/lang/zh-MO.js +2 -2
  111. package/lib/locale/lang/zh-MO.min.js +1 -1
  112. package/lib/locale/lang/zh-MO.umd.js +7 -677
  113. package/lib/locale/lang/zh-TC.js +3 -673
  114. package/lib/locale/lang/zh-TC.min.js +1 -1
  115. package/lib/locale/lang/zh-TC.umd.js +7 -677
  116. package/lib/locale/lang/zh-TW.js +2 -2
  117. package/lib/locale/lang/zh-TW.min.js +1 -1
  118. package/lib/locale/lang/zh-TW.umd.js +7 -677
  119. package/lib/style.css +1 -1
  120. package/lib/style.min.css +1 -1
  121. package/lib/table/index.js +4 -4
  122. package/lib/table/index.min.js +1 -1
  123. package/lib/table/module/custom/mixin.js +53 -44
  124. package/lib/table/module/custom/mixin.min.js +1 -1
  125. package/lib/table/module/custom/panel.js +310 -239
  126. package/lib/table/module/custom/panel.min.js +1 -1
  127. package/lib/table/module/edit/mixin.js +436 -371
  128. package/lib/table/module/edit/mixin.min.js +1 -1
  129. package/lib/table/module/export/export-panel.js +136 -106
  130. package/lib/table/module/export/export-panel.min.js +1 -1
  131. package/lib/table/module/export/import-panel.js +75 -54
  132. package/lib/table/module/export/import-panel.min.js +1 -1
  133. package/lib/table/module/export/mixin.js +592 -597
  134. package/lib/table/module/export/mixin.min.js +1 -1
  135. package/lib/table/module/export/util.js +6 -4
  136. package/lib/table/module/export/util.min.js +1 -1
  137. package/lib/table/module/filter/mixin.js +147 -118
  138. package/lib/table/module/filter/mixin.min.js +1 -1
  139. package/lib/table/module/filter/panel.js +86 -65
  140. package/lib/table/module/filter/panel.min.js +1 -1
  141. package/lib/table/module/keyboard/mixin.js +163 -151
  142. package/lib/table/module/keyboard/mixin.min.js +1 -1
  143. package/lib/table/module/menu/mixin.js +125 -114
  144. package/lib/table/module/menu/mixin.min.js +1 -1
  145. package/lib/table/module/menu/panel.js +36 -34
  146. package/lib/table/module/menu/panel.min.js +1 -1
  147. package/lib/table/module/validator/mixin.js +225 -214
  148. package/lib/table/module/validator/mixin.min.js +1 -1
  149. package/lib/table/render/index.js +401 -297
  150. package/lib/table/render/index.min.js +1 -1
  151. package/lib/table/src/body.js +411 -349
  152. package/lib/table/src/body.min.js +1 -1
  153. package/lib/table/src/cell.js +470 -344
  154. package/lib/table/src/cell.min.js +1 -1
  155. package/lib/table/src/column.js +10 -10
  156. package/lib/table/src/column.min.js +1 -1
  157. package/lib/table/src/columnInfo.js +46 -55
  158. package/lib/table/src/columnInfo.min.js +1 -1
  159. package/lib/table/src/footer.js +157 -132
  160. package/lib/table/src/footer.min.js +1 -1
  161. package/lib/table/src/group.js +1 -1
  162. package/lib/table/src/group.min.js +1 -1
  163. package/lib/table/src/header.js +170 -153
  164. package/lib/table/src/header.min.js +1 -1
  165. package/lib/table/src/methods.js +2758 -2478
  166. package/lib/table/src/methods.min.js +1 -1
  167. package/lib/table/src/props.js +33 -74
  168. package/lib/table/src/props.min.js +1 -1
  169. package/lib/table/src/table.js +519 -397
  170. package/lib/table/src/table.min.js +1 -1
  171. package/lib/table/src/util.js +143 -131
  172. package/lib/table/src/util.min.js +1 -1
  173. package/lib/table/style/style.css +37 -48
  174. package/lib/table/style/style.min.css +1 -1
  175. package/lib/toolbar/index.js +3 -3
  176. package/lib/toolbar/index.min.js +1 -1
  177. package/lib/toolbar/src/toolbar.js +332 -284
  178. package/lib/toolbar/src/toolbar.min.js +1 -1
  179. package/lib/toolbar/style/style.css +0 -1
  180. package/lib/toolbar/style/style.min.css +1 -1
  181. package/lib/ui/index.js +50 -41
  182. package/lib/ui/index.min.js +1 -1
  183. package/lib/ui/src/comp.js +2 -3
  184. package/lib/ui/src/comp.min.js +1 -1
  185. package/lib/ui/src/dom.js +29 -28
  186. package/lib/ui/src/dom.min.js +1 -1
  187. package/lib/ui/src/log.js +6 -4
  188. package/lib/ui/src/log.min.js +1 -1
  189. package/lib/ui/src/utils.js +7 -7
  190. package/lib/v-x-e-table/index.js +3 -4
  191. package/lib/v-x-e-table/index.min.js +1 -1
  192. package/lib/vxe-colgroup/index.js +3 -4
  193. package/lib/vxe-colgroup/index.min.js +1 -1
  194. package/lib/vxe-column/index.js +3 -4
  195. package/lib/vxe-column/index.min.js +1 -1
  196. package/lib/vxe-grid/index.js +3 -4
  197. package/lib/vxe-grid/index.min.js +1 -1
  198. package/lib/vxe-grid/style/style.css +0 -1
  199. package/lib/vxe-grid/style/style.min.css +1 -1
  200. package/lib/vxe-table/index.js +3 -4
  201. package/lib/vxe-table/index.min.js +1 -1
  202. package/lib/vxe-table/style/style.css +37 -48
  203. package/lib/vxe-table/style/style.min.css +1 -1
  204. package/lib/vxe-toolbar/index.js +3 -4
  205. package/lib/vxe-toolbar/index.min.js +1 -1
  206. package/lib/vxe-toolbar/style/style.css +0 -1
  207. package/lib/vxe-toolbar/style/style.min.css +1 -1
  208. package/lib/vxe-ui/index.js +3 -4
  209. package/lib/vxe-ui/index.min.js +1 -1
  210. package/lib/vxe-v-x-e-table/index.js +3 -4
  211. package/lib/vxe-v-x-e-table/index.min.js +1 -1
  212. package/package.json +5 -4
  213. package/packages/grid/src/grid.ts +127 -65
  214. package/packages/locale/lang/en-US.ts +2 -10
  215. package/packages/locale/lang/es-ES.ts +2 -1
  216. package/packages/locale/lang/hu-HU.ts +497 -503
  217. package/packages/locale/lang/ja-JP.ts +2 -10
  218. package/packages/locale/lang/ko-KR.ts +2 -10
  219. package/packages/locale/lang/pt-BR.ts +2 -10
  220. package/packages/locale/lang/ru-RU.ts +497 -505
  221. package/packages/locale/lang/uk-UA.ts +667 -0
  222. package/packages/locale/lang/vi-VN.ts +2 -10
  223. package/packages/locale/lang/zh-CHT.ts +667 -0
  224. package/packages/locale/lang/zh-CN.ts +2 -10
  225. package/packages/locale/lang/zh-HK.ts +2 -2
  226. package/packages/locale/lang/zh-MO.ts +2 -2
  227. package/packages/locale/lang/zh-TC.ts +2 -674
  228. package/packages/locale/lang/zh-TW.ts +2 -2
  229. package/packages/table/module/custom/panel.ts +186 -175
  230. package/packages/table/module/edit/mixin.ts +32 -23
  231. package/packages/table/module/export/export-panel.ts +36 -4
  232. package/packages/table/module/export/import-panel.ts +29 -6
  233. package/packages/table/module/export/mixin.ts +11 -11
  234. package/packages/table/module/menu/mixin.ts +2 -2
  235. package/packages/table/module/validator/mixin.ts +4 -4
  236. package/packages/table/render/index.ts +20 -11
  237. package/packages/table/src/body.ts +1 -0
  238. package/packages/table/src/columnInfo.ts +3 -3
  239. package/packages/table/src/methods.ts +53 -42
  240. package/packages/table/src/props.ts +68 -15
  241. package/packages/table/src/table.ts +183 -57
  242. package/packages/table/src/util.ts +3 -2
  243. package/packages/toolbar/src/toolbar.ts +21 -7
  244. package/packages/ui/index.ts +3 -1
  245. package/styles/components/table.scss +82 -17
  246. package/types/all.d.ts +1 -0
  247. /package/es/{iconfont.1726318179195.ttf → iconfont.1728348263835.ttf} +0 -0
  248. /package/es/{iconfont.1726318179195.woff → iconfont.1728348263835.woff} +0 -0
  249. /package/es/{iconfont.1726318179195.woff2 → iconfont.1728348263835.woff2} +0 -0
  250. /package/lib/{iconfont.1726318179195.ttf → iconfont.1728348263835.ttf} +0 -0
  251. /package/lib/{iconfont.1726318179195.woff → iconfont.1728348263835.woff} +0 -0
  252. /package/lib/{iconfont.1726318179195.woff2 → iconfont.1728348263835.woff2} +0 -0
@@ -10,22 +10,28 @@ var _util = require("../../src/util");
10
10
  var _dom = require("../../../ui/src/dom");
11
11
  var _utils = require("../../../ui/src/utils");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- var renderer = _ui.VxeUI.renderer;
13
+ const {
14
+ renderer
15
+ } = _ui.VxeUI;
14
16
  var _default = exports.default = {
15
17
  methods: {
16
18
  /**
17
19
  * 手动弹出筛选面板
18
20
  * @param column
19
21
  */
20
- _openFilter: function _openFilter(fieldOrColumn) {
21
- var column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
22
+ _openFilter(fieldOrColumn) {
23
+ const column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
22
24
  if (column && column.filters) {
23
- var elemStore = this.elemStore;
24
- var fixed = column.fixed;
25
- return this.scrollToColumn(column).then(function () {
26
- var headerWrapperElem = elemStore["".concat(fixed || 'main', "-header-wrapper")] || elemStore['main-header-wrapper'];
25
+ const {
26
+ elemStore
27
+ } = this;
28
+ const {
29
+ fixed
30
+ } = column;
31
+ return this.scrollToColumn(column).then(() => {
32
+ const headerWrapperElem = elemStore[`${fixed || 'main'}-header-wrapper`] || elemStore['main-header-wrapper'];
27
33
  if (headerWrapperElem) {
28
- var filterBtnElem = headerWrapperElem.querySelector(".vxe-header--column.".concat(column.id, " .vxe-filter--btn"));
34
+ const filterBtnElem = headerWrapperElem.querySelector(`.vxe-header--column.${column.id} .vxe-filter--btn`);
29
35
  (0, _dom.triggerEvent)(filterBtnElem, 'click');
30
36
  }
31
37
  });
@@ -37,21 +43,19 @@ var _default = exports.default = {
37
43
  * @param {ColumnInfo} fieldOrColumn 列
38
44
  * @param {Array} options 选项
39
45
  */
40
- _setFilter: function _setFilter(fieldOrColumn, options, update) {
41
- var column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
46
+ _setFilter(fieldOrColumn, options, update) {
47
+ const column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
42
48
  if (column && column.filters) {
43
49
  column.filters = (0, _util.toFilters)(options || []);
44
50
  }
45
51
  return update ? this.updateData() : this.$nextTick();
46
52
  },
47
- checkFilterOptions: function checkFilterOptions() {
48
- var filterStore = this.filterStore;
49
- filterStore.isAllSelected = filterStore.options.every(function (item) {
50
- return item._checked;
51
- });
52
- filterStore.isIndeterminate = !filterStore.isAllSelected && filterStore.options.some(function (item) {
53
- return item._checked;
54
- });
53
+ checkFilterOptions() {
54
+ const {
55
+ filterStore
56
+ } = this;
57
+ filterStore.isAllSelected = filterStore.options.every(item => item._checked);
58
+ filterStore.isIndeterminate = !filterStore.isAllSelected && filterStore.options.some(item => item._checked);
55
59
  },
56
60
  /**
57
61
  * 点击筛选事件
@@ -62,74 +66,86 @@ var _default = exports.default = {
62
66
  * @param {ColumnInfo} column 列配置
63
67
  * @param {Object} params 参数
64
68
  */
65
- triggerFilterEvent: function triggerFilterEvent(evnt, column, params) {
66
- var _this = this;
67
- var filterStore = this.filterStore;
69
+ triggerFilterEvent(evnt, column, params) {
70
+ const {
71
+ filterStore
72
+ } = this;
68
73
  if (filterStore.column === column && filterStore.visible) {
69
74
  filterStore.visible = false;
70
75
  } else {
71
- var targetElem = evnt.target,
72
- pageX = evnt.pageX;
73
- var filters = column.filters,
74
- filterMultiple = column.filterMultiple,
75
- filterRender = column.filterRender;
76
- var compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
77
- var filterRecoverMethod = column.filterRecoverMethod || (compConf ? compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod : null);
78
- var _getDomNode = (0, _dom.getDomNode)(),
79
- visibleWidth = _getDomNode.visibleWidth;
76
+ const {
77
+ target: targetElem,
78
+ pageX
79
+ } = evnt;
80
+ const {
81
+ filters,
82
+ filterMultiple,
83
+ filterRender
84
+ } = column;
85
+ const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
86
+ const filterRecoverMethod = column.filterRecoverMethod || (compConf ? compConf.tableFilterRecoverMethod || compConf.filterRecoverMethod : null);
87
+ const {
88
+ visibleWidth
89
+ } = (0, _dom.getDomNode)();
80
90
  Object.assign(filterStore, {
81
91
  args: params,
82
92
  multiple: filterMultiple,
83
93
  options: filters,
84
- column: column,
94
+ column,
85
95
  style: null,
86
96
  visible: true
87
97
  });
88
98
  // 复原状态
89
- filterStore.options.forEach(function (option) {
90
- var _checked = option._checked,
91
- checked = option.checked;
99
+ filterStore.options.forEach(option => {
100
+ const {
101
+ _checked,
102
+ checked
103
+ } = option;
92
104
  option._checked = checked;
93
105
  if (!checked && _checked !== checked) {
94
106
  if (filterRecoverMethod) {
95
107
  filterRecoverMethod({
96
- option: option,
97
- column: column,
98
- $table: _this
108
+ option,
109
+ column,
110
+ $table: this
99
111
  });
100
112
  }
101
113
  }
102
114
  });
103
115
  this.checkFilterOptions();
104
116
  this.initStore.filter = true;
105
- this.$nextTick(function () {
106
- var $refs = _this.$refs;
107
- var tableHeader = $refs.tableHeader,
108
- tableBody = $refs.tableBody,
109
- filterWrapper = $refs.filterWrapper;
110
- var bodyElem = tableBody.$el;
111
- var headerElem = tableHeader ? tableHeader.$el : null;
117
+ this.$nextTick(() => {
118
+ const {
119
+ $refs
120
+ } = this;
121
+ const {
122
+ tableHeader,
123
+ tableBody,
124
+ filterWrapper
125
+ } = $refs;
126
+ const bodyElem = tableBody.$el;
127
+ const headerElem = tableHeader ? tableHeader.$el : null;
112
128
  if (!bodyElem) {
113
129
  return;
114
130
  }
115
- var filterWrapperElem = filterWrapper.$el;
131
+ const filterWrapperElem = filterWrapper.$el;
116
132
  if (!filterWrapperElem) {
117
133
  return;
118
134
  }
119
- var filterWidth = filterWrapperElem.offsetWidth;
120
- var filterHeight = filterWrapperElem.offsetHeight;
121
- var filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
122
- var filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
123
- var centerWidth = filterWidth / 2;
124
- var minMargin = 10;
125
- var maxLeft = bodyElem.clientWidth - filterWidth - minMargin;
126
- var left, right;
127
- var style = {
128
- top: "".concat(targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight, "px")
135
+ const filterWidth = filterWrapperElem.offsetWidth;
136
+ const filterHeight = filterWrapperElem.offsetHeight;
137
+ const filterHeadElem = filterWrapperElem.querySelector('.vxe-table--filter-header');
138
+ const filterFootElem = filterWrapperElem.querySelector('.vxe-table--filter-footer');
139
+ const centerWidth = filterWidth / 2;
140
+ const minMargin = 10;
141
+ const maxLeft = bodyElem.clientWidth - filterWidth - minMargin;
142
+ let left, right;
143
+ const style = {
144
+ top: `${targetElem.offsetTop + targetElem.offsetParent.offsetTop + targetElem.offsetHeight}px`
129
145
  };
130
146
  // 判断面板不能大于表格高度
131
- var maxHeight = null;
132
- var bodyHeight = bodyElem.clientHeight - (headerElem ? headerElem.clientHeight / 2 : 0);
147
+ let maxHeight = null;
148
+ const bodyHeight = bodyElem.clientHeight - (headerElem ? headerElem.clientHeight / 2 : 0);
133
149
  if (filterHeight >= bodyHeight) {
134
150
  maxHeight = Math.max(40, bodyHeight - (filterFootElem ? filterFootElem.offsetHeight : 0) - (filterHeadElem ? filterHeadElem.offsetHeight : 0));
135
151
  }
@@ -141,40 +157,44 @@ var _default = exports.default = {
141
157
  left = targetElem.offsetLeft + targetElem.offsetParent.offsetLeft - centerWidth - bodyElem.scrollLeft;
142
158
  }
143
159
  if (left) {
144
- var overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
160
+ const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
145
161
  if (overflowWidth > 0) {
146
162
  left -= overflowWidth;
147
163
  }
148
- style.left = "".concat(Math.min(maxLeft, Math.max(minMargin, left)), "px");
164
+ style.left = `${Math.min(maxLeft, Math.max(minMargin, left))}px`;
149
165
  } else if (right) {
150
- var _overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
151
- if (_overflowWidth > 0) {
152
- right += _overflowWidth;
166
+ const overflowWidth = pageX + filterWidth - centerWidth + minMargin - visibleWidth;
167
+ if (overflowWidth > 0) {
168
+ right += overflowWidth;
153
169
  }
154
- style.right = "".concat(Math.max(minMargin, right), "px");
170
+ style.right = `${Math.max(minMargin, right)}px`;
155
171
  }
156
172
  filterStore.style = style;
157
173
  filterStore.maxHeight = maxHeight;
158
174
  });
159
175
  }
160
176
  this.emitEvent('filter-visible', {
161
- column: column,
177
+ column,
162
178
  field: column.field,
163
179
  property: column.field,
164
180
  filterList: this.getCheckedFilters(),
165
181
  visible: filterStore.visible
166
182
  }, evnt);
167
183
  },
168
- _getCheckedFilters: function _getCheckedFilters() {
169
- var tableFullColumn = this.tableFullColumn;
170
- var filterList = [];
171
- tableFullColumn.forEach(function (column) {
172
- var field = column.field,
173
- filters = column.filters;
174
- var valueList = [];
175
- var dataList = [];
184
+ _getCheckedFilters() {
185
+ const {
186
+ tableFullColumn
187
+ } = this;
188
+ const filterList = [];
189
+ tableFullColumn.forEach(column => {
190
+ const {
191
+ field,
192
+ filters
193
+ } = column;
194
+ const valueList = [];
195
+ const dataList = [];
176
196
  if (filters && filters.length) {
177
- filters.forEach(function (item) {
197
+ filters.forEach(item => {
178
198
  if (item.checked) {
179
199
  valueList.push(item.value);
180
200
  dataList.push(item.data);
@@ -182,8 +202,8 @@ var _default = exports.default = {
182
202
  });
183
203
  if (valueList.length) {
184
204
  filterList.push({
185
- column: column,
186
- field: field,
205
+ column,
206
+ field,
187
207
  property: field,
188
208
  values: valueList,
189
209
  datas: dataList
@@ -198,33 +218,38 @@ var _default = exports.default = {
198
218
  * 当筛选面板中的确定按钮被按下时触发
199
219
  * @param {Event} evnt 事件
200
220
  */
201
- confirmFilterEvent: function confirmFilterEvent(evnt) {
202
- var _this2 = this;
203
- var filterStore = this.filterStore,
204
- filterOpts = this.filterOpts,
205
- oldScrollXLoad = this.scrollXLoad,
206
- oldScrollYLoad = this.scrollYLoad;
207
- var column = filterStore.column;
208
- var field = column.field;
209
- var values = [];
210
- var datas = [];
211
- column.filters.forEach(function (item) {
221
+ confirmFilterEvent(evnt) {
222
+ const {
223
+ filterStore,
224
+ filterOpts,
225
+ scrollXLoad: oldScrollXLoad,
226
+ scrollYLoad: oldScrollYLoad
227
+ } = this;
228
+ const {
229
+ column
230
+ } = filterStore;
231
+ const {
232
+ field
233
+ } = column;
234
+ const values = [];
235
+ const datas = [];
236
+ column.filters.forEach(item => {
212
237
  if (item.checked) {
213
238
  values.push(item.value);
214
239
  datas.push(item.data);
215
240
  }
216
241
  });
217
- var filterList = this.getCheckedFilters();
218
- var params = {
242
+ const filterList = this.getCheckedFilters();
243
+ const params = {
219
244
  $table: this,
220
245
  $event: evnt,
221
- column: column,
222
- field: field,
246
+ column,
247
+ field,
223
248
  property: field,
224
- values: values,
225
- datas: datas,
249
+ values,
250
+ datas,
226
251
  filters: filterList,
227
- filterList: filterList
252
+ filterList
228
253
  };
229
254
  // 如果是服务端筛选,则跳过本地筛选处理
230
255
  if (!filterOpts.remote) {
@@ -236,36 +261,38 @@ var _default = exports.default = {
236
261
  }
237
262
  this.emitEvent('filter-change', params, evnt);
238
263
  this.closeFilter();
239
- this.updateFooter().then(function () {
240
- var scrollXLoad = _this2.scrollXLoad,
241
- scrollYLoad = _this2.scrollYLoad;
264
+ this.updateFooter().then(() => {
265
+ const {
266
+ scrollXLoad,
267
+ scrollYLoad
268
+ } = this;
242
269
  if (oldScrollXLoad || scrollXLoad || oldScrollYLoad || scrollYLoad) {
243
270
  if (oldScrollXLoad || scrollXLoad) {
244
- _this2.updateScrollXSpace();
271
+ this.updateScrollXSpace();
245
272
  }
246
273
  if (oldScrollYLoad || scrollYLoad) {
247
- _this2.updateScrollYSpace();
274
+ this.updateScrollYSpace();
248
275
  }
249
- return _this2.refreshScroll();
276
+ return this.refreshScroll();
250
277
  }
251
- }).then(function () {
252
- _this2.updateCellAreas();
253
- return _this2.recalculate(true);
254
- }).then(function () {
278
+ }).then(() => {
279
+ this.updateCellAreas();
280
+ return this.recalculate(true);
281
+ }).then(() => {
255
282
  // 存在滚动行为未结束情况
256
- setTimeout(function () {
257
- return _this2.recalculate();
258
- }, 50);
283
+ setTimeout(() => this.recalculate(), 50);
259
284
  });
260
285
  },
261
- handleClearFilter: function handleClearFilter(column) {
286
+ handleClearFilter(column) {
262
287
  if (column) {
263
- var filters = column.filters,
264
- filterRender = column.filterRender;
288
+ const {
289
+ filters,
290
+ filterRender
291
+ } = column;
265
292
  if (filters) {
266
- var compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
267
- var filterResetMethod = column.filterResetMethod || (compConf ? compConf.tableFilterResetMethod || compConf.filterResetMethod : null);
268
- filters.forEach(function (item) {
293
+ const compConf = (0, _utils.isEnableConf)(filterRender) ? renderer.get(filterRender.name) : null;
294
+ const filterResetMethod = column.filterResetMethod || (compConf ? compConf.tableFilterResetMethod || compConf.filterResetMethod : null);
295
+ filters.forEach(item => {
269
296
  item._checked = false;
270
297
  item.checked = false;
271
298
  if (!filterResetMethod) {
@@ -275,7 +302,7 @@ var _default = exports.default = {
275
302
  if (filterResetMethod) {
276
303
  filterResetMethod({
277
304
  options: filters,
278
- column: column,
305
+ column,
279
306
  $table: this
280
307
  });
281
308
  }
@@ -287,7 +314,7 @@ var _default = exports.default = {
287
314
  * 当筛选面板中的重置按钮被按下时触发
288
315
  * @param {Event} evnt 事件
289
316
  */
290
- resetFilterEvent: function resetFilterEvent(evnt) {
317
+ resetFilterEvent(evnt) {
291
318
  this.handleClearFilter(this.filterStore.column);
292
319
  this.confirmFilterEvent(evnt);
293
320
  },
@@ -296,9 +323,11 @@ var _default = exports.default = {
296
323
  * 如果为空则清空所有列的筛选条件
297
324
  * @param {String} fieldOrColumn 列
298
325
  */
299
- _clearFilter: function _clearFilter(fieldOrColumn) {
300
- var filterStore = this.filterStore;
301
- var column;
326
+ _clearFilter(fieldOrColumn) {
327
+ const {
328
+ filterStore
329
+ } = this;
330
+ let column;
302
331
  if (fieldOrColumn) {
303
332
  column = (0, _util.handleFieldOrColumn)(this, fieldOrColumn);
304
333
  if (column) {
@@ -320,7 +349,7 @@ var _default = exports.default = {
320
349
  }
321
350
  return this.updateData();
322
351
  },
323
- _updateFilterOptionStatus: function _updateFilterOptionStatus(item, checked) {
352
+ _updateFilterOptionStatus(item, checked) {
324
353
  item._checked = checked;
325
354
  item.checked = checked;
326
355
  return this.$nextTick();
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var renderer=_ui.VxeUI.renderer,_default=exports.default={methods:{_openFilter:function(e){var t,i,l=(0,_util.handleFieldOrColumn)(this,e);return l&&l.filters?(t=this.elemStore,i=l.fixed,this.scrollToColumn(l).then(function(){var e=t["".concat(i||"main","-header-wrapper")]||t["main-header-wrapper"];e&&(e=e.querySelector(".vxe-header--column.".concat(l.id," .vxe-filter--btn")),(0,_dom.triggerEvent)(e,"click"))})):this.$nextTick()},_setFilter:function(e,t,i){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),i?this.updateData():this.$nextTick()},checkFilterOptions:function(){var e=this.filterStore;e.isAllSelected=e.options.every(function(e){return e._checked}),e.isIndeterminate=!e.isAllSelected&&e.options.some(function(e){return e._checked})},triggerFilterEvent:function(e,h,t){var d,p,i,l,r,n,m,v=this,_=this.filterStore;_.column===h&&_.visible?_.visible=!1:(d=e.target,p=e.pageX,i=h.filters,l=h.filterMultiple,r=(0,_utils.isEnableConf)(r=h.filterRender)?renderer.get(r.name):null,n=h.filterRecoverMethod||(r?r.tableFilterRecoverMethod||r.filterRecoverMethod:null),m=(0,_dom.getDomNode)().visibleWidth,Object.assign(_,{args:t,multiple:l,options:i,column:h,style:null,visible:!0}),_.options.forEach(function(e){var t=e._checked,i=e.checked;(e._checked=i)||t===i||n&&n({option:e,column:h,$table:v})}),this.checkFilterOptions(),this.initStore.filter=!0,this.$nextTick(function(){var e,t,i,l,r,n,o,s,f,a=v.$refs,c=a.tableHeader,u=a.tableBody.$el,c=c?c.$el:null;u&&(a=a.filterWrapper.$el)&&(e=a.offsetWidth,f=a.offsetHeight,t=a.querySelector(".vxe-table--filter-header"),a=a.querySelector(".vxe-table--filter-footer"),i=e/2,l=u.clientWidth-e-10,o={top:"".concat(d.offsetTop+d.offsetParent.offsetTop+d.offsetHeight,"px")},s=null,(c=u.clientHeight-(c?c.clientHeight/2:0))<=f&&(s=Math.max(40,c-(a?a.offsetHeight:0)-(t?t.offsetHeight:0))),"left"===h.fixed?r=d.offsetLeft+d.offsetParent.offsetLeft-i:"right"===h.fixed?n=d.offsetParent.offsetWidth-d.offsetLeft+(d.offsetParent.offsetParent.offsetWidth-d.offsetParent.offsetLeft)-h.renderWidth-i:r=d.offsetLeft+d.offsetParent.offsetLeft-i-u.scrollLeft,r?(0<(f=p+e-i+10-m)&&(r-=f),o.left="".concat(Math.min(l,Math.max(10,r)),"px")):n&&(0<(c=p+e-i+10-m)&&(n+=c),o.right="".concat(Math.max(10,n),"px")),_.style=o,_.maxHeight=s)})),this.emitEvent("filter-visible",{column:h,field:h.field,property:h.field,filterList:this.getCheckedFilters(),visible:_.visible},e)},_getCheckedFilters:function(){var e=this.tableFullColumn,n=[];return e.forEach(function(e){var t=e.field,i=e.filters,l=[],r=[];i&&i.length&&(i.forEach(function(e){e.checked&&(l.push(e.value),r.push(e.data))}),l.length)&&n.push({column:e,field:t,property:t,values:l,datas:r})}),n},confirmFilterEvent:function(e){var i=this,t=this.filterStore,l=this.filterOpts,r=this.scrollXLoad,n=this.scrollYLoad,t=t.column,o=t.field,s=[],f=[],a=(t.filters.forEach(function(e){e.checked&&(s.push(e.value),f.push(e.data))}),this.getCheckedFilters()),t={$table:this,$event:e,column:t,field:o,property:o,values:s,datas:f,filters:a,filterList:a};l.remote||(this.handleTableData(!0),this.checkSelectionStatus()),this.mouseConfig&&this.mouseOpts.area&&this.handleFilterEvent&&this.handleFilterEvent(e,t),this.emitEvent("filter-change",t,e),this.closeFilter(),this.updateFooter().then(function(){var e=i.scrollXLoad,t=i.scrollYLoad;if(r||e||n||t)return(r||e)&&i.updateScrollXSpace(),(n||t)&&i.updateScrollYSpace(),i.refreshScroll()}).then(function(){return i.updateCellAreas(),i.recalculate(!0)}).then(function(){setTimeout(function(){return i.recalculate()},50)})},handleClearFilter:function(e){var t,i,l;e&&(t=e.filters,i=e.filterRender,t)&&(i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null,l=e.filterResetMethod||(i?i.tableFilterResetMethod||i.filterResetMethod:null),t.forEach(function(e){e._checked=!1,e.checked=!1,l||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),l)&&l({options:t,column:e,$table:this})},resetFilterEvent:function(e){this.handleClearFilter(this.filterStore.column),this.confirmFilterEvent(e)},_clearFilter:function(e){var t,i=this.filterStore;return e?(t=(0,_util.handleFieldOrColumn)(this,e))&&this.handleClearFilter(t):this.visibleColumn.forEach(this.handleClearFilter),e&&t===i.column||Object.assign(i,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),this.updateData()},_updateFilterOptionStatus:function(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let renderer=_ui.VxeUI.renderer;var _default=exports.default={methods:{_openFilter(e){let i=(0,_util.handleFieldOrColumn)(this,e);if(i&&i.filters){let t=this.elemStore,l=i.fixed;return this.scrollToColumn(i).then(()=>{var e=t[`${l||"main"}-header-wrapper`]||t["main-header-wrapper"];e&&(e=e.querySelector(`.vxe-header--column.${i.id} .vxe-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return this.$nextTick()},_setFilter(e,t,l){e=(0,_util.handleFieldOrColumn)(this,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),l?this.updateData():this.$nextTick()},checkFilterOptions(){var e=this.filterStore;e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,v,t){let m=this.filterStore;if(m.column===v&&m.visible)m.visible=!1;else{let{target:d,pageX:c}=e;var{filters:l,filterMultiple:r,filterRender:s}=v,s=(0,_utils.isEnableConf)(s)?renderer.get(s.name):null;let i=v.filterRecoverMethod||(s?s.tableFilterRecoverMethod||s.filterRecoverMethod:null),p=(0,_dom.getDomNode)().visibleWidth;Object.assign(m,{args:t,multiple:r,options:l,column:v,style:null,visible:!0}),m.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||i&&i({option:e,column:v,$table:this})}),this.checkFilterOptions(),this.initStore.filter=!0,this.$nextTick(()=>{var i=this.$refs,{tableHeader:i,tableBody:r,filterWrapper:s}=i,r=r.$el,i=i?i.$el:null;if(r){s=s.$el;if(s){var o=s.offsetWidth,a=s.offsetHeight,f=s.querySelector(".vxe-table--filter-header"),s=s.querySelector(".vxe-table--filter-footer"),h=o/2,n=r.clientWidth-o-10;let e,t;var u={top:d.offsetTop+d.offsetParent.offsetTop+d.offsetHeight+"px"};let l=null;i=r.clientHeight-(i?i.clientHeight/2:0);i<=a&&(l=Math.max(40,i-(s?s.offsetHeight:0)-(f?f.offsetHeight:0))),"left"===v.fixed?e=d.offsetLeft+d.offsetParent.offsetLeft-h:"right"===v.fixed?t=d.offsetParent.offsetWidth-d.offsetLeft+(d.offsetParent.offsetParent.offsetWidth-d.offsetParent.offsetLeft)-v.renderWidth-h:e=d.offsetLeft+d.offsetParent.offsetLeft-h-r.scrollLeft,e?(0<(a=c+o-h+10-p)&&(e-=a),u.left=Math.min(n,Math.max(10,e))+"px"):t&&(0<(i=c+o-h+10-p)&&(t+=i),u.right=Math.max(10,t)+"px"),m.style=u,m.maxHeight=l}}})}this.emitEvent("filter-visible",{column:v,field:v.field,property:v.field,filterList:this.getCheckedFilters(),visible:m.visible},e)},_getCheckedFilters(){var e=this.tableFullColumn;let s=[];return e.forEach(e=>{var{field:t,filters:l}=e;let i=[],r=[];l&&l.length&&(l.forEach(e=>{e.checked&&(i.push(e.value),r.push(e.data))}),i.length)&&s.push({column:e,field:t,property:t,values:i,datas:r})}),s},confirmFilterEvent(e){let{filterStore:t,filterOpts:l,scrollXLoad:i,scrollYLoad:r}=this;var s=t.column,o=s.field;let a=[],f=[];s.filters.forEach(e=>{e.checked&&(a.push(e.value),f.push(e.data))});var h=this.getCheckedFilters(),s={$table:this,$event:e,column:s,field:o,property:o,values:a,datas:f,filters:h,filterList:h};l.remote||(this.handleTableData(!0),this.checkSelectionStatus()),this.mouseConfig&&this.mouseOpts.area&&this.handleFilterEvent&&this.handleFilterEvent(e,s),this.emitEvent("filter-change",s,e),this.closeFilter(),this.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=this;if(i||e||r||t)return(i||e)&&this.updateScrollXSpace(),(r||t)&&this.updateScrollYSpace(),this.refreshScroll()}).then(()=>(this.updateCellAreas(),this.recalculate(!0))).then(()=>{setTimeout(()=>this.recalculate(),50)})},handleClearFilter(e){if(e){var{filters:l,filterRender:i}=e;if(l){i=(0,_utils.isEnableConf)(i)?renderer.get(i.name):null;let t=e.filterResetMethod||(i?i.tableFilterResetMethod||i.filterResetMethod:null);l.forEach(e=>{e._checked=!1,e.checked=!1,t||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),t&&t({options:l,column:e,$table:this})}}},resetFilterEvent(e){this.handleClearFilter(this.filterStore.column),this.confirmFilterEvent(e)},_clearFilter(e){var t=this.filterStore;let l;return e?(l=(0,_util.handleFieldOrColumn)(this,e))&&this.handleClearFilter(l):this.visibleColumn.forEach(this.handleClearFilter),e&&l===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),this.updateData()},_updateFilterOptionStatus(e,t){return e._checked=t,e.checked=t,this.$nextTick()}}};