vxe-table 4.5.0-beta.9 → 4.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +9 -8
- package/README.md +15 -12
- package/README.zh-TW.md +9 -8
- package/es/edit/src/hook.js +19 -10
- package/es/export/src/hook.js +2 -1
- package/es/filter/src/hook.js +9 -3
- package/es/footer/src/footer.js +6 -2
- package/es/form/src/form.js +31 -6
- package/es/grid/src/grid.js +70 -36
- package/es/header/src/header.js +2 -2
- package/es/icon/style.css +1 -1
- package/es/input/src/input.js +10 -1
- package/es/locale/lang/en-US.js +8 -0
- package/es/locale/lang/es-ES.js +8 -0
- package/es/locale/lang/ja-JP.js +8 -0
- package/es/locale/lang/pt-BR.d.ts +2 -0
- package/es/locale/lang/pt-BR.js +323 -0
- package/es/locale/lang/zh-CN.js +8 -0
- package/es/locale/lang/zh-TC.js +8 -0
- package/es/menu/src/hooks.js +3 -3
- package/es/select/src/select.js +4 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/src/body.js +43 -20
- package/es/table/src/cell.js +21 -15
- package/es/table/src/columnInfo.js +9 -9
- package/es/table/src/emits.js +1 -0
- package/es/table/src/props.js +2 -0
- package/es/table/src/table.js +318 -121
- package/es/table/style.css +50 -3
- package/es/textarea/src/textarea.js +4 -1
- package/es/toolbar/src/toolbar.js +26 -6
- package/es/tools/log.js +1 -1
- package/es/tooltip/style.css +0 -6
- package/es/v-x-e-table/index.js +4 -1
- package/es/v-x-e-table/src/commands.js +51 -2
- package/es/v-x-e-table/src/conf.js +10 -6
- package/es/v-x-e-table/src/formats.js +51 -2
- package/es/v-x-e-table/src/menus.js +51 -2
- package/es/v-x-e-table/src/renderer.js +6 -1
- package/es/v-x-e-table/src/store.js +4 -1
- package/es/v-x-e-table/src/validators.js +5 -0
- package/es/validator/src/hook.js +110 -22
- package/es/vxe-table/style.css +50 -3
- package/es/vxe-tooltip/style.css +0 -6
- package/lib/edit/src/hook.js +19 -11
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +2 -1
- package/lib/export/src/hook.min.js +1 -1
- package/lib/filter/src/hook.js +20 -9
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/footer/src/footer.js +7 -2
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form.js +27 -5
- package/lib/form/src/form.min.js +1 -1
- package/lib/grid/src/grid.js +75 -41
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +2 -2
- package/lib/header/src/header.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +940 -309
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +12 -1
- package/lib/input/src/input.min.js +1 -1
- package/lib/locale/lang/en-US.js +8 -0
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +8 -0
- package/lib/locale/lang/es-ES.js +8 -0
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +8 -0
- package/lib/locale/lang/ja-JP.js +8 -0
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +8 -0
- package/lib/locale/lang/pt-BR.d.ts +2 -0
- package/lib/locale/lang/pt-BR.js +330 -0
- package/lib/locale/lang/pt-BR.min.js +1 -0
- package/lib/locale/lang/pt-BR.umd.js +344 -0
- package/lib/locale/lang/zh-CN.js +8 -0
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +8 -0
- package/lib/locale/lang/zh-HK.min.js +1 -1
- package/lib/locale/lang/zh-HK.umd.js +8 -0
- package/lib/locale/lang/zh-MO.min.js +1 -1
- package/lib/locale/lang/zh-MO.umd.js +8 -0
- package/lib/locale/lang/zh-TC.js +8 -0
- package/lib/locale/lang/zh-TC.min.js +1 -1
- package/lib/locale/lang/zh-TC.umd.js +8 -0
- package/lib/locale/lang/zh-TW.min.js +1 -1
- package/lib/locale/lang/zh-TW.umd.js +8 -0
- package/lib/menu/src/hooks.js +3 -3
- package/lib/menu/src/hooks.min.js +1 -1
- package/lib/select/src/select.js +6 -1
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/src/body.js +45 -20
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +20 -17
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +9 -9
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/props.js +7 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +326 -156
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +50 -3
- package/lib/table/style/style.min.css +1 -1
- package/lib/textarea/src/textarea.js +6 -1
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +24 -6
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/tooltip/style/style.css +0 -6
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/v-x-e-table/index.js +14 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/commands.js +51 -2
- package/lib/v-x-e-table/src/commands.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +10 -6
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/formats.js +51 -2
- package/lib/v-x-e-table/src/formats.min.js +1 -1
- package/lib/v-x-e-table/src/menus.js +51 -2
- package/lib/v-x-e-table/src/menus.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +5 -0
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/src/store.js +4 -1
- package/lib/v-x-e-table/src/store.min.js +1 -1
- package/lib/v-x-e-table/src/validators.js +15 -0
- package/lib/v-x-e-table/src/validators.min.js +1 -0
- package/lib/validator/src/hook.js +104 -20
- package/lib/validator/src/hook.min.js +1 -1
- package/lib/vxe-table/style/style.css +50 -3
- package/lib/vxe-table/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +0 -6
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/edit/src/hook.ts +19 -10
- package/packages/export/src/hook.ts +2 -1
- package/packages/filter/src/hook.ts +9 -3
- package/packages/footer/src/footer.ts +6 -2
- package/packages/form/src/form-item.ts +1 -1
- package/packages/form/src/form.ts +27 -6
- package/packages/grid/src/grid.ts +69 -36
- package/packages/header/src/header.ts +2 -2
- package/packages/input/src/input.ts +10 -1
- package/packages/locale/lang/en-US.ts +8 -0
- package/packages/locale/lang/es-ES.ts +8 -0
- package/packages/locale/lang/ja-JP.ts +8 -0
- package/packages/locale/lang/pt-BR.ts +323 -0
- package/packages/locale/lang/zh-CN.ts +8 -0
- package/packages/locale/lang/zh-TC.ts +8 -0
- package/packages/menu/src/hooks.ts +3 -3
- package/packages/select/src/select.ts +4 -1
- package/packages/table/src/body.ts +47 -21
- package/packages/table/src/cell.ts +21 -15
- package/packages/table/src/columnInfo.ts +9 -9
- package/packages/table/src/emits.ts +1 -0
- package/packages/table/src/props.ts +2 -0
- package/packages/table/src/table.ts +324 -124
- package/packages/textarea/src/textarea.ts +4 -1
- package/packages/toolbar/src/toolbar.ts +24 -6
- package/packages/v-x-e-table/index.ts +3 -0
- package/packages/v-x-e-table/src/commands.ts +55 -2
- package/packages/v-x-e-table/src/conf.ts +13 -9
- package/packages/v-x-e-table/src/formats.ts +55 -2
- package/packages/v-x-e-table/src/menus.ts +55 -2
- package/packages/v-x-e-table/src/renderer.ts +6 -1
- package/packages/v-x-e-table/src/setup.ts +2 -2
- package/packages/v-x-e-table/src/store.ts +3 -1
- package/packages/v-x-e-table/src/validators.ts +9 -0
- package/packages/validator/src/hook.ts +127 -36
- package/styles/all.scss +30 -0
- package/styles/css-variable.scss +272 -0
- package/styles/cssvar.scss +2 -273
- package/styles/default.scss +2 -0
- package/styles/index.scss +2 -0
- package/styles/modules.scss +4 -1
- package/styles/table.scss +79 -6
- package/styles/tooltip.scss +0 -8
- package/styles/variable.scss +1 -2
- package/types/all.d.ts +2 -2
- package/types/form.d.ts +9 -12
- package/types/grid.d.ts +22 -0
- package/types/input.d.ts +4 -0
- package/types/plugins/pro.d.ts +21 -1
- package/types/table.d.ts +592 -70
- package/types/v-x-e-table/commands.d.ts +15 -13
- package/types/v-x-e-table/formats.d.ts +12 -10
- package/types/v-x-e-table/index.d.ts +11 -4
- package/types/v-x-e-table/menus.d.ts +8 -11
- package/types/v-x-e-table/setup.d.ts +25 -35
- package/types/v-x-e-table/validators.d.ts +30 -0
- package/types/validator.d.ts +14 -1
- /package/es/icon/style/{iconfont.1689554331779.ttf → iconfont.1692232054714.ttf} +0 -0
- /package/es/icon/style/{iconfont.1689554331779.woff → iconfont.1692232054714.woff} +0 -0
- /package/es/icon/style/{iconfont.1689554331779.woff2 → iconfont.1692232054714.woff2} +0 -0
- /package/es/{iconfont.1689554331779.ttf → iconfont.1692232054714.ttf} +0 -0
- /package/es/{iconfont.1689554331779.woff → iconfont.1692232054714.woff} +0 -0
- /package/es/{iconfont.1689554331779.woff2 → iconfont.1692232054714.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1689554331779.ttf → iconfont.1692232054714.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1689554331779.woff → iconfont.1692232054714.woff} +0 -0
- /package/lib/icon/style/{iconfont.1689554331779.woff2 → iconfont.1692232054714.woff2} +0 -0
- /package/lib/{iconfont.1689554331779.ttf → iconfont.1692232054714.ttf} +0 -0
- /package/lib/{iconfont.1689554331779.woff → iconfont.1692232054714.woff} +0 -0
- /package/lib/{iconfont.1689554331779.woff2 → iconfont.1692232054714.woff2} +0 -0
package/README.en.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[](https://github.com/x-extends/vxe-table/pulls?q=is%3Apr+is%3Aclosed)
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
|
|
15
|
-
A [vue](https://www.npmjs.com/package/vue) based PC form component, support add, delete, change, virtual list, virtual tree, lazy load, shortcut menu, data validation, print export, form rendering, data paging, modal window, custom template, renderer,
|
|
15
|
+
A [vue](https://www.npmjs.com/package/vue) based PC form component, support add, delete, change, virtual list, virtual tree, lazy load, shortcut menu, data validation, print export, form rendering, data paging, modal window, custom template, renderer, JSON configuration designed for zero code...
|
|
16
16
|
|
|
17
17
|
* Design concept
|
|
18
18
|
* Efficient and concise API design for modern browsers.
|
|
@@ -20,10 +20,10 @@ A [vue](https://www.npmjs.com/package/vue) based PC form component, support add,
|
|
|
20
20
|
* Designed for single row table editing, supports addition, deletion, modification and query as well as more expansion, with powerful functions and performance at the same time.
|
|
21
21
|
|
|
22
22
|
* Plan
|
|
23
|
-
* [x] ~~v1.0 Based on vue2.6
|
|
24
|
-
* [x] ~~v2.0 Based on vue2.6
|
|
25
|
-
* [x] v3.0 Based on vue2.6
|
|
26
|
-
* [x] v4.0 Based on vue3.2
|
|
23
|
+
* [x] ~~v1.0 Based on vue2.6 < 3, Support for all major browsers.~~
|
|
24
|
+
* [x] ~~v2.0 Based on vue2.6 < 3, Support for all major browsers.~~
|
|
25
|
+
* [x] v3.0 Based on vue2.6 < 3, supports modern browsers and retains compatibility with IE11.
|
|
26
|
+
* [x] v4.0 Based on vue3.2 < 4, Only support modern browser, not IE.
|
|
27
27
|
|
|
28
28
|
## Browser Support
|
|
29
29
|
|
|
@@ -34,12 +34,14 @@ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
|
34
34
|
## Features
|
|
35
35
|
|
|
36
36
|
* [x] Basic table
|
|
37
|
-
* [x]
|
|
37
|
+
* [x] Configuration grid
|
|
38
|
+
* [x] Base form
|
|
39
|
+
* [x] Configuration form
|
|
38
40
|
* [x] Striped
|
|
39
41
|
* [x] Table with border
|
|
40
42
|
* [x] Cell style
|
|
41
43
|
* [x] Column resizing
|
|
42
|
-
* [x]
|
|
44
|
+
* [x] Minimum/maximum height
|
|
43
45
|
* [x] Resize height & width
|
|
44
46
|
* [x] Fixed column
|
|
45
47
|
* [x] Grouping table header
|
|
@@ -63,7 +65,6 @@ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
|
63
65
|
* [x] Context menu
|
|
64
66
|
* [x] Detail - Expandable row
|
|
65
67
|
* [x] Pager
|
|
66
|
-
* [x] Form
|
|
67
68
|
* [x] Toolbar
|
|
68
69
|
* [x] Pulldown
|
|
69
70
|
* [x] Virtual list
|
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[](https://github.com/x-extends/vxe-table/pulls?q=is%3Apr+is%3Aclosed)
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
|
|
15
|
-
一个基于 [vue](https://www.npmjs.com/package/vue) 的 PC
|
|
15
|
+
一个基于 [vue](https://www.npmjs.com/package/vue) 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式为零代码而设计...
|
|
16
16
|
|
|
17
17
|
* 设计理念
|
|
18
18
|
* 面向现代浏览器,高效的简洁 API 设计
|
|
@@ -20,16 +20,12 @@
|
|
|
20
20
|
* 为单行编辑表格而设计,支持增删改查及更多扩展,强大的功能的同时兼具性能
|
|
21
21
|
|
|
22
22
|
* 计划
|
|
23
|
-
* [x] ~~v1.0 基于 vue2.6
|
|
24
|
-
* [x] ~~v2.0 基于 vue2.6
|
|
25
|
-
* [x] v3.0 基于 vue2.6
|
|
26
|
-
* [x] v4.0 基于 vue3.2
|
|
23
|
+
* [x] ~~v1.0 基于 vue2.6 < 3,支持所有主流的浏览器,实现表格的一切实用的功能~~
|
|
24
|
+
* [x] ~~v2.0 基于 vue2.6 < 3,支持所有主流的浏览器,同时兼具功能与性能~~
|
|
25
|
+
* [x] v3.0 基于 vue2.6 < 3,支持现代浏览器并保留兼容 IE11
|
|
26
|
+
* [x] v4.0 基于 vue3.2 < 4,只支持现代浏览器,不支持 IE
|
|
27
27
|
* [ ] 下一阶段:sticky 渲染模式、将虚拟滚动提升到极致、虚拟滚动动态行高、数据图表可视化
|
|
28
28
|
|
|
29
|
-
## QQ 交流群
|
|
30
|
-
|
|
31
|
-

|
|
32
|
-
|
|
33
29
|
## 浏览器支持
|
|
34
30
|
|
|
35
31
|
 |  |  |  | 
|
|
@@ -39,12 +35,14 @@
|
|
|
39
35
|
## 功能点
|
|
40
36
|
|
|
41
37
|
* [x] 基础表格
|
|
42
|
-
* [x]
|
|
38
|
+
* [x] 配置式表格
|
|
39
|
+
* [x] 基础表单
|
|
40
|
+
* [x] 配置式表单
|
|
43
41
|
* [x] 斑马线条纹
|
|
44
42
|
* [x] 多种边框
|
|
45
43
|
* [x] 单元格样式
|
|
46
44
|
* [x] 列宽拖动
|
|
47
|
-
* [x]
|
|
45
|
+
* [x] 最小/最大高度
|
|
48
46
|
* [x] 自适应宽高
|
|
49
47
|
* [x] 固定列
|
|
50
48
|
* [x] 多级表头
|
|
@@ -68,7 +66,6 @@
|
|
|
68
66
|
* [x] 快捷菜单
|
|
69
67
|
* [x] 展开行
|
|
70
68
|
* [x] 分页
|
|
71
|
-
* [x] 表单
|
|
72
69
|
* [x] 工具栏
|
|
73
70
|
* [x] 下拉容器
|
|
74
71
|
* [x] 虚拟列表
|
|
@@ -155,6 +152,12 @@ const tableData = ref([
|
|
|
155
152
|
|
|
156
153
|
💡 [官网文档源码](https://github.com/x-extends/vxe-table-docs)
|
|
157
154
|
|
|
155
|
+
## QQ 交流群
|
|
156
|
+
|
|
157
|
+
该群供大家交流問題,如果群人数已满,将会不定期剔除不活跃的。
|
|
158
|
+
|
|
159
|
+

|
|
160
|
+
|
|
158
161
|
## 运行项目
|
|
159
162
|
|
|
160
163
|
安装依赖
|
package/README.zh-TW.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[](https://github.com/x-extends/vxe-table/pulls?q=is%3Apr+is%3Aclosed)
|
|
13
13
|
[](LICENSE)
|
|
14
14
|
|
|
15
|
-
一個基於 [vue](https://www.npmjs.com/package/vue) 的PC
|
|
15
|
+
一個基於 [vue](https://www.npmjs.com/package/vue) 的PC端表格組件,支持增删改查、虛擬清單、虛擬樹、懶加載、快捷選單、數據校驗、列印匯出、表單渲染、數據分頁、彈窗、自定義範本、渲染器、JSON 配置式爲零代碼而設計…
|
|
16
16
|
|
|
17
17
|
* 設計理念
|
|
18
18
|
* 面向現代瀏覽器,高效的簡潔 API 設計
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
* 為單行編輯表格而設計,支持增删改查及更多擴展,强大的功能的同時兼具效能
|
|
21
21
|
|
|
22
22
|
* 計劃
|
|
23
|
-
* [x] ~~v1.0 基於 vue2.6
|
|
24
|
-
* [x] ~~v2.0 基於 vue2.6
|
|
25
|
-
* [x] v3.0 基於 vue2.6
|
|
26
|
-
* [x] v4.0 基于 vue3.2
|
|
23
|
+
* [x] ~~v1.0 基於 vue2.6 < 3,支持所有主流的瀏覽器,實現表格的一切實用的功能~~
|
|
24
|
+
* [x] ~~v2.0 基於 vue2.6 < 3,支持所有主流的瀏覽器,同時兼具功能與效能~~
|
|
25
|
+
* [x] v3.0 基於 vue2.6 < 3,支持現代瀏覽器並保留相容IE11
|
|
26
|
+
* [x] v4.0 基于 vue3.2 < 4,只支持現代瀏覽器,不支持IE
|
|
27
27
|
|
|
28
28
|
## 瀏覽器支持
|
|
29
29
|
|
|
@@ -34,12 +34,14 @@ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
|
34
34
|
## 功能點
|
|
35
35
|
|
|
36
36
|
* [x] 基礎表格
|
|
37
|
-
* [x]
|
|
37
|
+
* [x] 配置式表格
|
|
38
|
+
* [x] 基礎表單
|
|
39
|
+
* [x] 配置式表單
|
|
38
40
|
* [x] 斑馬線條紋
|
|
39
41
|
* [x] 多種邊框
|
|
40
42
|
* [x] 儲存格樣式
|
|
41
43
|
* [x] 列寬拖動
|
|
42
|
-
* [x]
|
|
44
|
+
* [x] 最小/最大高度
|
|
43
45
|
* [x] 自我調整寬高
|
|
44
46
|
* [x] 固定列
|
|
45
47
|
* [x] 多級表頭
|
|
@@ -63,7 +65,6 @@ Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ | Latest ✔ |
|
|
|
63
65
|
* [x] 快捷選單
|
|
64
66
|
* [x] 展開行
|
|
65
67
|
* [x] 分頁
|
|
66
|
-
* [x] 表單
|
|
67
68
|
* [x] 工具列
|
|
68
69
|
* [x] 下拉容器
|
|
69
70
|
* [x] 虛擬清單
|
package/es/edit/src/hook.js
CHANGED
|
@@ -20,6 +20,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
20
20
|
};
|
|
21
21
|
import { nextTick } from 'vue';
|
|
22
22
|
import XEUtils from 'xe-utils';
|
|
23
|
+
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
23
24
|
import { renderer } from '../../v-x-e-table';
|
|
24
25
|
import { isEnableConf } from '../../tools/utils';
|
|
25
26
|
import { getCellValue, setCellValue, getRowid } from '../../table/src/util';
|
|
@@ -74,19 +75,20 @@ var editHook = {
|
|
|
74
75
|
function insertTreeRow(newRecords, isAppend) {
|
|
75
76
|
var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
76
77
|
var treeOpts = computeTreeOpts.value;
|
|
77
|
-
var rowField = treeOpts.rowField, parentField = treeOpts.parentField,
|
|
78
|
+
var rowField = treeOpts.rowField, parentField = treeOpts.parentField, mapChildrenField = treeOpts.mapChildrenField;
|
|
79
|
+
var childrenField = treeOpts.children || treeOpts.childrenField;
|
|
78
80
|
var funcName = isAppend ? 'push' : 'unshift';
|
|
79
81
|
newRecords.forEach(function (item) {
|
|
80
82
|
var parentRowId = item[parentField];
|
|
81
83
|
var rowid = getRowid($xetable, item);
|
|
82
|
-
var matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, function (item) { return parentRowId === item[rowField]; }, { children:
|
|
84
|
+
var matchObj = parentRowId ? XEUtils.findTree(tableFullTreeData, function (item) { return parentRowId === item[rowField]; }, { children: mapChildrenField }) : null;
|
|
83
85
|
if (matchObj) {
|
|
84
86
|
var parentRow = matchObj.item;
|
|
85
87
|
var parentRest = fullAllDataRowIdData[getRowid($xetable, parentRow)];
|
|
86
88
|
var parentLevel = parentRest ? parentRest.level : 0;
|
|
87
|
-
var parentChilds = parentRow[
|
|
89
|
+
var parentChilds = parentRow[childrenField];
|
|
88
90
|
if (!XEUtils.isArray(parentChilds)) {
|
|
89
|
-
parentChilds = parentRow[
|
|
91
|
+
parentChilds = parentRow[childrenField] = [];
|
|
90
92
|
}
|
|
91
93
|
parentChilds[funcName](item);
|
|
92
94
|
var rest = { row: item, rowid: rowid, seq: -1, index: -1, _index: -1, $index: -1, items: parentChilds, parent: parent, level: parentLevel + 1 };
|
|
@@ -129,7 +131,7 @@ var editHook = {
|
|
|
129
131
|
var mergeList = reactData.mergeList, editStore = reactData.editStore;
|
|
130
132
|
var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData, fullDataRowIdData = internalData.fullDataRowIdData, fullAllDataRowIdData = internalData.fullAllDataRowIdData;
|
|
131
133
|
var treeOpts = computeTreeOpts.value;
|
|
132
|
-
var transform = treeOpts.transform, rowField = treeOpts.rowField,
|
|
134
|
+
var transform = treeOpts.transform, rowField = treeOpts.rowField, mapChildrenField = treeOpts.mapChildrenField;
|
|
133
135
|
if (!XEUtils.isArray(records)) {
|
|
134
136
|
records = [records];
|
|
135
137
|
}
|
|
@@ -172,7 +174,7 @@ var editHook = {
|
|
|
172
174
|
else {
|
|
173
175
|
// 如果为虚拟树
|
|
174
176
|
if (treeConfig && transform) {
|
|
175
|
-
var matchObj_1 = XEUtils.findTree(tableFullTreeData, function (item) { return row[rowField] === item[rowField]; }, { children:
|
|
177
|
+
var matchObj_1 = XEUtils.findTree(tableFullTreeData, function (item) { return row[rowField] === item[rowField]; }, { children: mapChildrenField });
|
|
176
178
|
if (matchObj_1) {
|
|
177
179
|
var parentRow_1 = matchObj_1.parent;
|
|
178
180
|
var parentChilds_1 = matchObj_1.items;
|
|
@@ -269,7 +271,7 @@ var editHook = {
|
|
|
269
271
|
*/
|
|
270
272
|
remove: function (rows) {
|
|
271
273
|
var treeConfig = props.treeConfig;
|
|
272
|
-
var mergeList = reactData.mergeList, editStore = reactData.editStore,
|
|
274
|
+
var mergeList = reactData.mergeList, editStore = reactData.editStore, selectCheckboxMaps = reactData.selectCheckboxMaps;
|
|
273
275
|
var tableFullTreeData = internalData.tableFullTreeData, afterFullData = internalData.afterFullData, tableFullData = internalData.tableFullData;
|
|
274
276
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
275
277
|
var treeOpts = computeTreeOpts.value;
|
|
@@ -292,12 +294,14 @@ var editHook = {
|
|
|
292
294
|
});
|
|
293
295
|
// 如果绑定了多选属性,则更新状态
|
|
294
296
|
if (!checkField) {
|
|
297
|
+
var selectRowMaps_1 = __assign({}, selectCheckboxMaps);
|
|
295
298
|
rows.forEach(function (row) {
|
|
296
|
-
var
|
|
297
|
-
if (
|
|
298
|
-
|
|
299
|
+
var rowid = getRowid($xetable, row);
|
|
300
|
+
if (selectRowMaps_1[rowid]) {
|
|
301
|
+
delete selectRowMaps_1[rowid];
|
|
299
302
|
}
|
|
300
303
|
});
|
|
304
|
+
reactData.selectCheckboxMaps = selectRowMaps_1;
|
|
301
305
|
}
|
|
302
306
|
// 从数据源中移除
|
|
303
307
|
if (tableFullData === rows) {
|
|
@@ -511,6 +515,11 @@ var editHook = {
|
|
|
511
515
|
$columnIndex: $xetable.getVMColumnIndex(column)
|
|
512
516
|
}, evnt || null);
|
|
513
517
|
}
|
|
518
|
+
if (GlobalConfig.cellVaildMode === 'obsolete') {
|
|
519
|
+
if ($xetable.clearValidate) {
|
|
520
|
+
return $xetable.clearValidate();
|
|
521
|
+
}
|
|
522
|
+
}
|
|
514
523
|
return nextTick();
|
|
515
524
|
},
|
|
516
525
|
/**
|
package/es/export/src/hook.js
CHANGED
|
@@ -261,7 +261,8 @@ var tableExportHook = {
|
|
|
261
261
|
var $xegrid = inject('$xegrid', null);
|
|
262
262
|
var hasTreeChildren = function (row) {
|
|
263
263
|
var treeOpts = computeTreeOpts.value;
|
|
264
|
-
|
|
264
|
+
var childrenField = treeOpts.children || treeOpts.childrenField;
|
|
265
|
+
return row[childrenField] && row[childrenField].length;
|
|
265
266
|
};
|
|
266
267
|
var getSeq = function (row, $rowIndex, column, $columnIndex) {
|
|
267
268
|
var seqOpts = computeSeqOpts.value;
|
package/es/filter/src/hook.js
CHANGED
|
@@ -17,9 +17,9 @@ import { getDomNode, triggerEvent } from '../../tools/dom';
|
|
|
17
17
|
var tableFilterMethodKeys = ['setFilter', 'clearFilter', 'getCheckedFilters'];
|
|
18
18
|
var tableFilterHook = {
|
|
19
19
|
setupTable: function ($xetable) {
|
|
20
|
-
var reactData = $xetable.reactData, internalData = $xetable.internalData;
|
|
20
|
+
var props = $xetable.props, reactData = $xetable.reactData, internalData = $xetable.internalData;
|
|
21
21
|
var _a = $xetable.getRefMaps(), refTableBody = _a.refTableBody, refTableFilter = _a.refTableFilter;
|
|
22
|
-
var
|
|
22
|
+
var _b = $xetable.getComputeMaps(), computeFilterOpts = _b.computeFilterOpts, computeMouseOpts = _b.computeMouseOpts;
|
|
23
23
|
var filterPrivateMethods = {
|
|
24
24
|
checkFilterOptions: function () {
|
|
25
25
|
var filterStore = reactData.filterStore;
|
|
@@ -147,8 +147,10 @@ var tableFilterHook = {
|
|
|
147
147
|
* @param {Event} evnt 事件
|
|
148
148
|
*/
|
|
149
149
|
confirmFilterEvent: function (evnt) {
|
|
150
|
+
var mouseConfig = props.mouseConfig;
|
|
150
151
|
var filterStore = reactData.filterStore, oldScrollXLoad = reactData.scrollXLoad, oldScrollYLoad = reactData.scrollYLoad;
|
|
151
152
|
var filterOpts = computeFilterOpts.value;
|
|
153
|
+
var mouseOpts = computeMouseOpts.value;
|
|
152
154
|
var column = filterStore.column;
|
|
153
155
|
var field = column.field;
|
|
154
156
|
var values = [];
|
|
@@ -160,12 +162,16 @@ var tableFilterHook = {
|
|
|
160
162
|
}
|
|
161
163
|
});
|
|
162
164
|
var filterList = $xetable.getCheckedFilters();
|
|
165
|
+
var params = { $table: $xetable, $event: evnt, column: column, field: field, property: field, values: values, datas: datas, filters: filterList, filterList: filterList };
|
|
163
166
|
// 如果是服务端筛选,则跳过本地筛选处理
|
|
164
167
|
if (!filterOpts.remote) {
|
|
165
168
|
$xetable.handleTableData(true);
|
|
166
169
|
$xetable.checkSelectionStatus();
|
|
167
170
|
}
|
|
168
|
-
|
|
171
|
+
if (mouseConfig && mouseOpts.area && $xetable.handleFilterEvent) {
|
|
172
|
+
$xetable.handleFilterEvent(evnt, params);
|
|
173
|
+
}
|
|
174
|
+
$xetable.dispatchEvent('filter-change', params, evnt);
|
|
169
175
|
$xetable.closeFilter();
|
|
170
176
|
$xetable.updateFooter().then(function () {
|
|
171
177
|
var scrollXLoad = reactData.scrollXLoad, scrollYLoad = reactData.scrollYLoad;
|
package/es/footer/src/footer.js
CHANGED
|
@@ -37,7 +37,7 @@ export default defineComponent({
|
|
|
37
37
|
setup: function (props) {
|
|
38
38
|
var $xetable = inject('$xetable', {});
|
|
39
39
|
var xID = $xetable.xID, tableProps = $xetable.props, tableReactData = $xetable.reactData, tableInternalData = $xetable.internalData;
|
|
40
|
-
var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody;
|
|
40
|
+
var _a = $xetable.getRefMaps(), refTableHeader = _a.refTableHeader, refTableBody = _a.refTableBody, refValidTooltip = _a.refValidTooltip;
|
|
41
41
|
var _b = $xetable.getComputeMaps(), computeTooltipOpts = _b.computeTooltipOpts, computeColumnOpts = _b.computeColumnOpts;
|
|
42
42
|
var refElem = ref();
|
|
43
43
|
var refFooterTable = ref();
|
|
@@ -53,6 +53,7 @@ export default defineComponent({
|
|
|
53
53
|
var fixedType = props.fixedType;
|
|
54
54
|
var scrollXLoad = tableReactData.scrollXLoad;
|
|
55
55
|
var lastScrollLeft = tableInternalData.lastScrollLeft;
|
|
56
|
+
var validTip = refValidTooltip.value;
|
|
56
57
|
var tableHeader = refTableHeader.value;
|
|
57
58
|
var tableBody = refTableBody.value;
|
|
58
59
|
var headerElem = tableHeader ? tableHeader.$el : null;
|
|
@@ -61,7 +62,7 @@ export default defineComponent({
|
|
|
61
62
|
var scrollLeft = footerElem.scrollLeft;
|
|
62
63
|
var isX = scrollLeft !== lastScrollLeft;
|
|
63
64
|
tableInternalData.lastScrollLeft = scrollLeft;
|
|
64
|
-
|
|
65
|
+
tableReactData.lastScrollTime = Date.now();
|
|
65
66
|
if (headerElem) {
|
|
66
67
|
headerElem.scrollLeft = scrollLeft;
|
|
67
68
|
}
|
|
@@ -71,6 +72,9 @@ export default defineComponent({
|
|
|
71
72
|
if (scrollXLoad && isX) {
|
|
72
73
|
$xetable.triggerScrollXEvent(evnt);
|
|
73
74
|
}
|
|
75
|
+
if (isX && validTip && validTip.reactData.visible) {
|
|
76
|
+
validTip.updatePlacement();
|
|
77
|
+
}
|
|
74
78
|
$xetable.dispatchEvent('scroll', { type: renderType, fixed: fixedType, scrollTop: bodyElem.scrollTop, scrollLeft: scrollLeft, isX: isX, isY: false }, evnt);
|
|
75
79
|
};
|
|
76
80
|
onMounted(function () {
|
package/es/form/src/form.js
CHANGED
|
@@ -14,7 +14,7 @@ import XEUtils from 'xe-utils';
|
|
|
14
14
|
import GlobalConfig from '../../v-x-e-table/src/conf';
|
|
15
15
|
import { VXETable } from '../../v-x-e-table';
|
|
16
16
|
import { getFuncText, isEnableConf, eqEmptyValue } from '../../tools/utils';
|
|
17
|
-
import { errLog } from '../../tools/log';
|
|
17
|
+
import { errLog, warnLog } from '../../tools/log';
|
|
18
18
|
import { scrollToView } from '../../tools/dom';
|
|
19
19
|
import { createItem, handleFieldOrItem, isHiddenItem, isActivetem } from './util';
|
|
20
20
|
import { useSize } from '../../hooks/size';
|
|
@@ -312,10 +312,10 @@ export default defineComponent({
|
|
|
312
312
|
if (rules_1) {
|
|
313
313
|
var itemValue_1 = XEUtils.isUndefined(val) ? XEUtils.get(data, property) : val;
|
|
314
314
|
rules_1.forEach(function (rule) {
|
|
315
|
-
var type = rule.type, trigger = rule.trigger, required = rule.required;
|
|
315
|
+
var type = rule.type, trigger = rule.trigger, required = rule.required, validator = rule.validator;
|
|
316
316
|
if (validType === 'all' || !trigger || validType === trigger) {
|
|
317
|
-
if (
|
|
318
|
-
var
|
|
317
|
+
if (validator) {
|
|
318
|
+
var validParams = {
|
|
319
319
|
itemValue: itemValue_1,
|
|
320
320
|
rule: rule,
|
|
321
321
|
rules: rules_1,
|
|
@@ -323,7 +323,29 @@ export default defineComponent({
|
|
|
323
323
|
field: property,
|
|
324
324
|
property: property,
|
|
325
325
|
$form: $xeform
|
|
326
|
-
}
|
|
326
|
+
};
|
|
327
|
+
var customValid = void 0;
|
|
328
|
+
if (XEUtils.isString(validator)) {
|
|
329
|
+
var gvItem = VXETable.validators.get(validator);
|
|
330
|
+
if (gvItem) {
|
|
331
|
+
if (gvItem.itemValidatorMethod) {
|
|
332
|
+
customValid = gvItem.itemValidatorMethod(validParams);
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
if (process.env.NODE_ENV === 'development') {
|
|
336
|
+
warnLog('vxe.error.notValidators', [validator]);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
if (process.env.NODE_ENV === 'development') {
|
|
342
|
+
errLog('vxe.error.notValidators', [validator]);
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
customValid = validator(validParams);
|
|
348
|
+
}
|
|
327
349
|
if (customValid) {
|
|
328
350
|
if (XEUtils.isError(customValid)) {
|
|
329
351
|
errorRules.push(new Rule({ type: 'custom', trigger: trigger, content: customValid.message, rule: new Rule(rule) }));
|
|
@@ -441,7 +463,10 @@ export default defineComponent({
|
|
|
441
463
|
};
|
|
442
464
|
var validateField = function (fieldOrItem, callback) {
|
|
443
465
|
var fields = [];
|
|
444
|
-
if (
|
|
466
|
+
if (XEUtils.isArray(fieldOrItem)) {
|
|
467
|
+
fields = fieldOrItem;
|
|
468
|
+
}
|
|
469
|
+
else {
|
|
445
470
|
fields = [fieldOrItem];
|
|
446
471
|
}
|
|
447
472
|
return beginValidate(fields.map(function (field) { return handleFieldOrItem($xeform, field); }), '', callback);
|