vxe-table 4.1.0-beta.0 → 4.1.2

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 (68) hide show
  1. package/README.md +1 -0
  2. package/README.zh-TW.md +1 -0
  3. package/es/edit/src/hook.js +2 -2
  4. package/es/export/src/hook.js +24 -0
  5. package/es/export/src/util.js +20 -8
  6. package/es/footer/src/footer.js +4 -4
  7. package/es/form/src/form.js +13 -6
  8. package/es/form/src/render.js +4 -4
  9. package/es/grid/src/grid.js +48 -1
  10. package/es/header/src/header.js +7 -5
  11. package/es/select/src/select.js +5 -5
  12. package/es/table/src/body.js +18 -14
  13. package/es/table/src/props.js +4 -1
  14. package/es/table/src/table.js +212 -89
  15. package/es/v-x-e-table/src/conf.js +2 -1
  16. package/es/validator/src/hook.js +12 -5
  17. package/helper/vetur/attributes.json +16 -204
  18. package/helper/vetur/tags.json +3 -65
  19. package/lib/edit/src/hook.js +2 -2
  20. package/lib/edit/src/hook.min.js +1 -1
  21. package/lib/export/src/hook.js +28 -0
  22. package/lib/export/src/hook.min.js +1 -1
  23. package/lib/export/src/util.js +21 -7
  24. package/lib/export/src/util.min.js +1 -1
  25. package/lib/footer/src/footer.js +4 -4
  26. package/lib/footer/src/footer.min.js +1 -1
  27. package/lib/form/src/form.js +23 -6
  28. package/lib/form/src/form.min.js +1 -1
  29. package/lib/form/src/render.js +4 -4
  30. package/lib/form/src/render.min.js +1 -1
  31. package/lib/grid/src/grid.js +56 -1
  32. package/lib/grid/src/grid.min.js +1 -1
  33. package/lib/header/src/header.js +7 -5
  34. package/lib/header/src/header.min.js +1 -1
  35. package/lib/index.umd.js +451 -182
  36. package/lib/index.umd.min.js +1 -1
  37. package/lib/select/src/select.js +5 -5
  38. package/lib/table/src/body.js +18 -14
  39. package/lib/table/src/body.min.js +1 -1
  40. package/lib/table/src/props.js +4 -1
  41. package/lib/table/src/props.min.js +1 -1
  42. package/lib/table/src/table.js +272 -120
  43. package/lib/table/src/table.min.js +1 -1
  44. package/lib/v-x-e-table/src/conf.js +2 -1
  45. package/lib/v-x-e-table/src/conf.min.js +1 -1
  46. package/lib/validator/src/hook.js +12 -5
  47. package/lib/validator/src/hook.min.js +1 -1
  48. package/package.json +3 -3
  49. package/packages/edit/src/hook.ts +2 -2
  50. package/packages/export/src/hook.ts +24 -0
  51. package/packages/export/src/util.ts +17 -5
  52. package/packages/footer/src/footer.ts +4 -4
  53. package/packages/form/src/form.ts +10 -6
  54. package/packages/form/src/render.ts +4 -4
  55. package/packages/grid/src/grid.ts +48 -1
  56. package/packages/header/src/header.ts +7 -5
  57. package/packages/select/src/select.ts +5 -5
  58. package/packages/table/src/body.ts +18 -14
  59. package/packages/table/src/props.ts +4 -1
  60. package/packages/table/src/table.ts +215 -88
  61. package/packages/v-x-e-table/src/conf.ts +2 -1
  62. package/packages/validator/src/hook.ts +9 -5
  63. package/types/column.d.ts +5 -1
  64. package/types/form-item.d.ts +5 -1
  65. package/types/form.d.ts +5 -1
  66. package/types/modal.d.ts +4 -5
  67. package/types/table.d.ts +41 -10
  68. package/types/validator.d.ts +5 -1
@@ -181,7 +181,11 @@
181
181
  },
182
182
  "vxe-table/column-config": {
183
183
  "type": "any",
184
- "description": "列的默认参数"
184
+ "description": "列配置信息"
185
+ },
186
+ "vxe-table/row-config": {
187
+ "type": "any",
188
+ "description": "行配置信息"
185
189
  },
186
190
  "vxe-table/resizable-config": {
187
191
  "type": "object",
@@ -229,7 +233,7 @@
229
233
  },
230
234
  "vxe-table/tree-config": {
231
235
  "type": "any",
232
- "description": "树形结构配置项(不支持虚拟滚动)"
236
+ "description": "树形结构配置项"
233
237
  },
234
238
  "vxe-table/menu-config": {
235
239
  "type": "any",
@@ -281,11 +285,11 @@
281
285
  },
282
286
  "vxe-table/scroll-x": {
283
287
  "type": "any",
284
- "description": "横向虚拟滚动配置(不支持深层结构和展开行)"
288
+ "description": "横向虚拟滚动配置(不支持展开行)"
285
289
  },
286
290
  "vxe-table/scroll-y": {
287
291
  "type": "any",
288
- "description": "纵向虚拟滚动配置(不支持深层结构和展开行)"
292
+ "description": "纵向虚拟滚动配置(不支持展开行)"
289
293
  },
290
294
  "vxe-table/params": {
291
295
  "type": "any",
@@ -339,54 +343,6 @@
339
343
  "type": "string | (({ $rowindex, column, columnindex, $columnindex }) => any)",
340
344
  "description": "给表头的单元格附加 className"
341
345
  },
342
- "vxe-table-colgroup/field": {
343
- "type": "string",
344
- "description": "列字段名(注:属性层级越深,渲染性能就越差,例如:aa.bb.cc.dd.ee)"
345
- },
346
- "vxe-table-colgroup/title": {
347
- "type": "string",
348
- "description": "列标题(支持开启国际化)"
349
- },
350
- "vxe-table-colgroup/width": {
351
- "type": "number | string",
352
- "description": "列宽度(如果为空则均匀分配剩余宽度,如果全部列固定了,可能会存在宽屏下不会铺满,可以配合 \"%\" 或者 \"min-width\" 布局)"
353
- },
354
- "vxe-table-colgroup/min-width": {
355
- "type": "number | string",
356
- "description": "最小列宽度;会自动将剩余空间按比例分配"
357
- },
358
- "vxe-table-colgroup/resizable": {
359
- "type": "boolean",
360
- "description": "列是否允许拖动列宽调整大小"
361
- },
362
- "vxe-table-colgroup/visible": {
363
- "type": "boolean",
364
- "description": "默认是否显示"
365
- },
366
- "vxe-table-colgroup/fixed": {
367
- "type": "string",
368
- "description": "将列固定在左侧或者右侧(注意:固定列应该放在左右两侧的位置)"
369
- },
370
- "vxe-table-colgroup/align": {
371
- "type": "string",
372
- "description": "列对齐方式"
373
- },
374
- "vxe-table-colgroup/header-align": {
375
- "type": "string",
376
- "description": "表头列的对齐方式"
377
- },
378
- "vxe-table-colgroup/show-overflow": {
379
- "type": "string | boolean",
380
- "description": "当内容过长时显示为省略号"
381
- },
382
- "vxe-table-colgroup/show-header-overflow": {
383
- "type": "string | boolean",
384
- "description": "当表头内容过长时显示为省略号"
385
- },
386
- "vxe-table-colgroup/header-class-name": {
387
- "type": "string | (({ $rowindex, column, columnindex, $columnindex }) => any)",
388
- "description": "给表头的单元格附加 className"
389
- },
390
346
  "vxe-column/type": {
391
347
  "type": "string",
392
348
  "description": "列的类型"
@@ -535,154 +491,6 @@
535
491
  "type": "string | number",
536
492
  "description": "自定义列的唯一主键(注:99%的场景不应该设置,操作不正确将导致出现问题)"
537
493
  },
538
- "vxe-table-column/type": {
539
- "type": "string",
540
- "description": "列的类型"
541
- },
542
- "vxe-table-column/field": {
543
- "type": "string",
544
- "description": "列字段名(注:属性层级越深,渲染性能就越差,例如:aa.bb.cc.dd.ee)"
545
- },
546
- "vxe-table-column/title": {
547
- "type": "string",
548
- "description": "列标题(支持开启国际化)"
549
- },
550
- "vxe-table-column/width": {
551
- "type": "number | string",
552
- "description": "列宽度(如果为空则均匀分配剩余宽度,如果全部列固定了,可能会存在宽屏下不会铺满,可以配合 \"%\" 或者 \"min-width\" 布局)"
553
- },
554
- "vxe-table-column/min-width": {
555
- "type": "number | string",
556
- "description": "最小列宽度;会自动将剩余空间按比例分配"
557
- },
558
- "vxe-table-column/resizable": {
559
- "type": "boolean",
560
- "description": "列是否允许拖动列宽调整大小"
561
- },
562
- "vxe-table-column/visible": {
563
- "type": "boolean",
564
- "description": "默认是否显示"
565
- },
566
- "vxe-table-column/fixed": {
567
- "type": "string",
568
- "description": "将列固定在左侧或者右侧(注意:固定列应该放在左右两侧的位置)"
569
- },
570
- "vxe-table-column/align": {
571
- "type": "string",
572
- "description": "列对齐方式"
573
- },
574
- "vxe-table-column/header-align": {
575
- "type": "string",
576
- "description": "表头列的对齐方式"
577
- },
578
- "vxe-table-column/footer-align": {
579
- "type": "string",
580
- "description": "表尾列的对齐方式"
581
- },
582
- "vxe-table-column/show-overflow": {
583
- "type": "string | boolean",
584
- "description": "当内容过长时显示为省略号"
585
- },
586
- "vxe-table-column/show-header-overflow": {
587
- "type": "string | boolean",
588
- "description": "当表头内容过长时显示为省略号"
589
- },
590
- "vxe-table-column/show-footer-overflow": {
591
- "type": "boolean | string",
592
- "description": "当表尾内容过长时显示为省略号"
593
- },
594
- "vxe-table-column/class-name": {
595
- "type": "string | (({row, rowindex, $rowindex, column, columnindex, $columnindex}) => any)",
596
- "description": "给单元格附加 className"
597
- },
598
- "vxe-table-column/header-class-name": {
599
- "type": "string | (({ $rowindex, column, columnindex, $columnindex }) => any)",
600
- "description": "给表头的单元格附加 className"
601
- },
602
- "vxe-table-column/footer-class-name": {
603
- "type": "string | (({ $rowindex, column, columnindex, $columnindex }) => any)",
604
- "description": "给表尾的单元格附加 className"
605
- },
606
- "vxe-table-column/formatter": {
607
- "type": "(({ cellvalue, row, column }) => string) | any[] | string",
608
- "description": "格式化显示内容"
609
- },
610
- "vxe-table-column/sortable": {
611
- "type": "boolean",
612
- "description": "是否允许列排序"
613
- },
614
- "vxe-table-column/sort-by": {
615
- "type": "string | (({ row, column }) => string | number)",
616
- "description": "只对 sortable 有效,指定排序的字段(当值 formatter 格式化后,可以设置该字段,使用值进行排序)"
617
- },
618
- "vxe-table-column/sort-type": {
619
- "type": "string",
620
- "description": "排序的字段类型,比如字符串转数值等"
621
- },
622
- "vxe-table-column/filters": {
623
- "type": "any[]",
624
- "description": "配置筛选条件(注:筛选只能用于列表,如果是树结构则过滤根节点)"
625
- },
626
- "vxe-table-column/filter-multiple": {
627
- "type": "boolean",
628
- "description": "只对 filters 有效,筛选是否允许多选"
629
- },
630
- "vxe-table-column/filter-method": {
631
- "type": "({ value, option, cellvalue, row, column }) => boolean",
632
- "description": "只对 filters 有效,列的筛选方法,该方法的返回值用来决定该行是否显示"
633
- },
634
- "vxe-table-column/filter-reset-method": {
635
- "type": "({ options, column }) => void",
636
- "description": "只对 filters 有效,自定义筛选重置方法"
637
- },
638
- "vxe-table-column/filter-recover-method": {
639
- "type": "({ option, column }) => void",
640
- "description": "只对 filters 有效,自定义筛选复原方法(使用自定义筛选时可能会用到)"
641
- },
642
- "vxe-table-column/filter-render": {
643
- "type": "any",
644
- "description": "筛选渲染器配置项"
645
- },
646
- "vxe-table-column/export-method": {
647
- "type": "({ row, column }) => string",
648
- "description": "自定义单元格数据导出方法,返回自定义的值"
649
- },
650
- "vxe-table-column/footer-export-method": {
651
- "type": "({ items, _columnindex }) => string",
652
- "description": "自定义表尾单元格数据导出方法,返回自定义的值"
653
- },
654
- "vxe-table-column/title-help": {
655
- "type": "any",
656
- "description": "标题帮助图标配置项"
657
- },
658
- "vxe-table-column/cell-type": {
659
- "type": "string",
660
- "description": "只对特定功能有效,单元格值类型(例如:导出数据类型设置)"
661
- },
662
- "vxe-table-column/cell-render": {
663
- "type": "any",
664
- "description": "默认的渲染器配置项"
665
- },
666
- "vxe-table-column/edit-render": {
667
- "type": "any",
668
- "description": "可编辑渲染器配置项"
669
- },
670
- "vxe-table-column/content-render": {
671
- "type": "any",
672
- "description": "内容渲染配置项"
673
- },
674
- "vxe-table-column/tree-node": {
675
- "type": "boolean",
676
- "description": "只对 tree-config 配置时有效,指定为树节点"
677
- },
678
- "vxe-table-column/params": {
679
- "type": "any",
680
- "description": "额外的参数(可以用来存放一些私有参数)"
681
- },
682
- "vxe-table-column/col-id": {
683
- "type": "string | number",
684
- "description": "自定义列的唯一主键(注:99%的场景不应该设置,操作不正确将导致出现问题)"
685
- },
686
494
  "vxe-grid/id": {
687
495
  "type": "string",
688
496
  "description": "唯一标识(被某些特定的功能所依赖)"
@@ -869,7 +677,11 @@
869
677
  },
870
678
  "vxe-grid/column-config": {
871
679
  "type": "any",
872
- "description": "列的默认参数"
680
+ "description": "列配置信息"
681
+ },
682
+ "vxe-grid/row-config": {
683
+ "type": "any",
684
+ "description": "行配置信息"
873
685
  },
874
686
  "vxe-grid/resizable-config": {
875
687
  "type": "object",
@@ -917,7 +729,7 @@
917
729
  },
918
730
  "vxe-grid/tree-config": {
919
731
  "type": "any",
920
- "description": "树形结构配置项(不支持虚拟滚动)"
732
+ "description": "树形结构配置项"
921
733
  },
922
734
  "vxe-grid/menu-config": {
923
735
  "type": "any",
@@ -969,11 +781,11 @@
969
781
  },
970
782
  "vxe-grid/scroll-x": {
971
783
  "type": "any",
972
- "description": "横向虚拟滚动配置(不支持深层结构和展开行)"
784
+ "description": "横向虚拟滚动配置(不支持展开行)"
973
785
  },
974
786
  "vxe-grid/scroll-y": {
975
787
  "type": "any",
976
- "description": "纵向虚拟滚动配置(不支持深层结构和展开行)"
788
+ "description": "纵向虚拟滚动配置(不支持展开行)"
977
789
  },
978
790
  "vxe-grid/params": {
979
791
  "type": "any",
@@ -47,6 +47,7 @@
47
47
  "row-id",
48
48
  "keep-source",
49
49
  "column-config",
50
+ "row-config",
50
51
  "resizable-config",
51
52
  "seq-config",
52
53
  "sort-config",
@@ -77,9 +78,7 @@
77
78
  ],
78
79
  "subtags": [
79
80
  "vxe-colgroup",
80
- "vxe-table-colgroup",
81
- "vxe-column",
82
- "vxe-table-column"
81
+ "vxe-column"
83
82
  ],
84
83
  "description": "基础表格"
85
84
  },
@@ -103,26 +102,6 @@
103
102
  ],
104
103
  "description": "基础表格 - 分组列"
105
104
  },
106
- "vxe-table-colgroup": {
107
- "attributes": [
108
- "field",
109
- "title",
110
- "width",
111
- "min-width",
112
- "resizable",
113
- "visible",
114
- "fixed",
115
- "align",
116
- "header-align",
117
- "show-overflow",
118
- "show-header-overflow",
119
- "header-class-name"
120
- ],
121
- "subtags": [
122
- "vxe-table-column"
123
- ],
124
- "description": "基础表格 - 分组列"
125
- },
126
105
  "vxe-column": {
127
106
  "attributes": [
128
107
  "type",
@@ -165,48 +144,6 @@
165
144
  ],
166
145
  "description": "基础表格 - 列"
167
146
  },
168
- "vxe-table-column": {
169
- "attributes": [
170
- "type",
171
- "field",
172
- "title",
173
- "width",
174
- "min-width",
175
- "resizable",
176
- "visible",
177
- "fixed",
178
- "align",
179
- "header-align",
180
- "footer-align",
181
- "show-overflow",
182
- "show-header-overflow",
183
- "show-footer-overflow",
184
- "class-name",
185
- "header-class-name",
186
- "footer-class-name",
187
- "formatter",
188
- "sortable",
189
- "sort-by",
190
- "sort-type",
191
- "filters",
192
- "filter-multiple",
193
- "filter-method",
194
- "filter-reset-method",
195
- "filter-recover-method",
196
- "filter-render",
197
- "export-method",
198
- "footer-export-method",
199
- "title-help",
200
- "cell-type",
201
- "cell-render",
202
- "edit-render",
203
- "content-render",
204
- "tree-node",
205
- "params",
206
- "col-id"
207
- ],
208
- "description": "基础表格 - 列"
209
- },
210
147
  "vxe-grid": {
211
148
  "attributes": [
212
149
  "id",
@@ -256,6 +193,7 @@
256
193
  "row-id",
257
194
  "keep-source",
258
195
  "column-config",
196
+ "row-config",
259
197
  "resizable-config",
260
198
  "seq-config",
261
199
  "sort-config",
@@ -205,7 +205,7 @@ var editHook = {
205
205
 
206
206
  reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
207
207
  $xetable.updateFooter();
208
- $xetable.updateCache();
208
+ $xetable.cacheRowMap();
209
209
  $xetable.handleTableData();
210
210
  $xetable.updateAfterDataIndex();
211
211
  $xetable.checkSelectionStatus();
@@ -319,7 +319,7 @@ var editHook = {
319
319
  });
320
320
  reactData.scrollYLoad = !treeConfig && sYOpts.gt > -1 && sYOpts.gt < tableFullData.length;
321
321
  $xetable.updateFooter();
322
- $xetable.updateCache();
322
+ $xetable.cacheRowMap();
323
323
  $xetable.handleTableData();
324
324
  $xetable.updateAfterDataIndex();
325
325
  $xetable.checkSelectionStatus();
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(g){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var p=g.props,w=g.reactData,m=g.internalData,o=g.getRefMaps().refElem,e=g.getComputeMaps(),s=e.computeMouseOpts,h=e.computeEditOpts,C=e.computeCheckboxOpts,R=e.computeSYOpts,a=e.computeTreeOpts,x={},_={};function u(){var e=w.editStore,t=w.tableColumn,r=h.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}return x={insert:function(e){return x.insertAt(e,null)},insertAt:function(e,t){var r=p.treeConfig,l=w.mergeList,n=w.editStore,o=w.scrollYLoad,a=m.afterFullData,u=m.tableFullData,c=R.value,i=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return g.defineField(Object.assign({},e))});if(t)if(-1===t)a.push.apply(a,i),u.push.apply(u,i),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+i.length)});else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var d=g.findRowIndexOf(a,t);if(-1===d)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([d,0],i)),u.splice.apply(u,__spreadArray([g.findRowIndexOf(u,t),0],i)),l.forEach(function(e){var t=e.row,r=e.rowspan;d<t?e.row=t+i.length:d<t+r&&(e.rowspan=r+i.length)})}else a.unshift.apply(a,i),u.unshift.apply(u,i),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+i.length)});return(n=n.insertList).unshift.apply(n,i),w.scrollYLoad=!r&&-1<c.gt&&c.gt<u.length,g.updateFooter(),g.updateCache(),g.handleTableData(),g.updateAfterDataIndex(),g.checkSelectionStatus(),o&&g.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return g.updateCellAreas(),g.recalculate()}).then(function(){return{row:i.length?i[i.length-1]:null,rows:i}})},remove:function(e){var t=p.treeConfig,r=w.mergeList,l=w.editStore,n=w.selection,o=w.scrollYLoad,a=m.afterFullData,u=m.tableFullData,c=C.value,i=R.value,d=l.actived,s=l.removeList,f=l.insertList,c=c.checkField,v=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(function(e){g.isInsertByRow(e)||s.push(e)}),c||e.forEach(function(e){e=g.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),u===e?(e=v=u.slice(0),m.tableFullData=[],m.afterFullData=[],g.clearMergeCells()):e.forEach(function(e){var t=g.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),v.push(t[0]));var l=g.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),d.row&&-1<g.findRowIndexOf(e,d.row)&&x.clearActived(),e.forEach(function(e){e=g.findRowIndexOf(f,e);-1<e&&f.splice(e,1)}),w.scrollYLoad=!t&&-1<i.gt&&i.gt<u.length,g.updateFooter(),g.updateCache(),g.handleTableData(),g.updateAfterDataIndex(),g.checkSelectionStatus(),o&&g.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return g.updateCellAreas(),g.recalculate()}).then(function(){return{row:v.length?v[v.length-1]:null,rows:v}})},removeCheckboxRow:function(){return x.remove(g.getCheckboxRecords()).then(function(e){return g.clearCheckboxRow(),e})},removeRadioRow:function(){var e=g.getRadioRecord();return x.remove(e||[]).then(function(e){return g.clearRadioRow(),e})},removeCurrentRow:function(){var e=g.getCurrentRecord();return x.remove(e||[]).then(function(e){return g.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:x.getInsertRecords(),removeRecords:x.getRemoveRecords(),updateRecords:x.getUpdateRecords()}},getInsertRecords:function(){var e=w.editStore,t=m.tableFullData,r=e.insertList,l=[];return r.length&&t.forEach(function(e){-1<g.findRowIndexOf(r,e)&&l.push(e)}),l},getRemoveRecords:function(){return w.editStore.removeList},getUpdateRecords:function(){var e=p.keepSource,t=p.treeConfig,r=m.tableFullData,l=a.value;return e?(u(),t?_xeUtils.default.filterTree(r,function(e){return g.isUpdateByRow(e)},l):r.filter(function(e){return g.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=w.editStore,t=m.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<g.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=w.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=w.editStore.actived,r=t.row,l=t.column;return(r||l)&&(u(),t.args=null,t.row=null,t.column=null,g.updateFooter(),g.dispatchEvent("edit-closed",{row:r,rowIndex:g.getRowIndex(r),$rowIndex:g.getVMRowIndex(r),column:l,columnIndex:g.getColumnIndex(l),$columnIndex:g.getVMColumnIndex(l)},e||null)),(g.clearValidate?g.clearValidate():(0,_vue.nextTick)()).then(function(){return g.recalculate()})},clearSelected:function(){var e=w.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return w.editStore.actived.row===e},setActiveRow:function(e){var t=m.visibleColumn;return g.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=p.editConfig,l=_xeUtils.default.isString(e)?g.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?g.scrollToRow(t,l).then(function(){var e=g.getCell(t,l);return e&&(_.handleActived({row:t,rowIndex:g.getRowIndex(t),column:l,columnIndex:g.getColumnIndex(l),cell:e,$table:g}),m._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=w.tableData,l=m.visibleColumn,n=h.value,t=_xeUtils.default.isString(t)?g.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=g.findRowIndexOf(r,e))&&t&&(r=g.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},g.handleSelected(r,{}))),(0,_vue.nextTick)()}},_={handleActived:function(e,t){var r,l=p.editConfig,n=p.mouseConfig,o=w.editStore,a=w.tableColumn,u=h.value,c=u.mode,i=u.activeMethod,d=o.actived,s=e.row,f=e.column,u=f.editRender,o=e.cell=e.cell||g.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(u)&&o&&(d.row!==s||"cell"===c&&d.column!==f?(r="edit-disabled",i&&!i(e)||(n&&(x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea())),g.closeTooltip(),x.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===c?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){_.handleFocus(e,t)})),g.dispatchEvent(r,{row:s,rowIndex:g.getRowIndex(s),$rowIndex:g.getVMRowIndex(s),column:f,columnIndex:g.getColumnIndex(f),$columnIndex:g.getVMColumnIndex(f)},t)):(r=d.column,n&&(x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),g.clearValidate&&g.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){_.handleFocus(e,t)})),g.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):g.scrollToRow(l,n))},handleSelected:function(e,t){var r=p.mouseConfig,l=w.editStore,n=s.value,o=h.value,a=l.actived,u=l.selected,c=e.row,i=e.column,d=r&&n.selected;return!d||u.row===c&&u.column===i||(a.row!==c||"cell"===o.mode&&a.column!==i)&&(x.clearActived(t),x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea()),u.args=e,u.row=c,u.column=i,d&&_.addCellSelectedClass(),g.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=w.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=g.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},x),_)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vXETable=require("../../v-x-e-table"),_utils=require("../../tools/utils"),_util=require("../../table/src/util"),_dom=require("../../tools/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,l=arguments.length;r<l;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}).apply(this,arguments)},__spreadArray=function(e,t){for(var r=0,l=t.length,n=e.length;r<l;r++,n++)e[n]=t[r];return e},tableEditMethodKeys=["insert","insertAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getActiveRecord","getSelectedCell","clearActived","clearSelected","isActiveByRow","setActiveRow","setActiveCell","setSelectCell"],editHook={setupTable:function(g){function v(e,t){var r=t.model;t.editRender&&(r.value=(0,_util.getCellValue)(e,t),r.update=!1)}function n(e,t){var r=t.model;t.editRender&&r.update&&((0,_util.setCellValue)(e,t,r.value),r.update=!1,r.value=null)}function r(){var e=o.value;!e||(e=e.querySelector(".col--selected"))&&(0,_dom.removeClass)(e,"col--selected")}var p=g.props,w=g.reactData,m=g.internalData,o=g.getRefMaps().refElem,e=g.getComputeMaps(),s=e.computeMouseOpts,h=e.computeEditOpts,R=e.computeCheckboxOpts,C=e.computeSYOpts,a=e.computeTreeOpts,x={},_={};function u(){var e=w.editStore,t=w.tableColumn,r=h.value,e=e.actived,l=e.row,e=e.column;(l||e)&&("row"===r.mode?t.forEach(function(e){return n(l,e)}):n(l,e))}return x={insert:function(e){return x.insertAt(e,null)},insertAt:function(e,t){var r=p.treeConfig,l=w.mergeList,n=w.editStore,o=w.scrollYLoad,a=m.afterFullData,u=m.tableFullData,c=C.value,i=(e=!_xeUtils.default.isArray(e)?[e]:e).map(function(e){return g.defineField(Object.assign({},e))});if(t)if(-1===t)a.push.apply(a,i),u.push.apply(u,i),l.forEach(function(e){var t=e.row,r=e.rowspan;t+r>a.length&&(e.rowspan=r+i.length)});else{if(r)throw new Error((0,_utils.getLog)("vxe.error.noTree",["insert"]));var d=g.findRowIndexOf(a,t);if(-1===d)throw new Error((0,_utils.errLog)("vxe.error.unableInsert"));a.splice.apply(a,__spreadArray([d,0],i)),u.splice.apply(u,__spreadArray([g.findRowIndexOf(u,t),0],i)),l.forEach(function(e){var t=e.row,r=e.rowspan;d<t?e.row=t+i.length:d<t+r&&(e.rowspan=r+i.length)})}else a.unshift.apply(a,i),u.unshift.apply(u,i),l.forEach(function(e){var t=e.row;0<t&&(e.row=t+i.length)});return(n=n.insertList).unshift.apply(n,i),w.scrollYLoad=!r&&-1<c.gt&&c.gt<u.length,g.updateFooter(),g.cacheRowMap(),g.handleTableData(),g.updateAfterDataIndex(),g.checkSelectionStatus(),o&&g.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return g.updateCellAreas(),g.recalculate()}).then(function(){return{row:i.length?i[i.length-1]:null,rows:i}})},remove:function(e){var t=p.treeConfig,r=w.mergeList,l=w.editStore,n=w.selection,o=w.scrollYLoad,a=m.afterFullData,u=m.tableFullData,c=R.value,i=C.value,d=l.actived,s=l.removeList,f=l.insertList,c=c.checkField,v=[];return e?_xeUtils.default.isArray(e)||(e=[e]):e=u,e.forEach(function(e){g.isInsertByRow(e)||s.push(e)}),c||e.forEach(function(e){e=g.findRowIndexOf(n,e);-1<e&&n.splice(e,1)}),u===e?(e=v=u.slice(0),m.tableFullData=[],m.afterFullData=[],g.clearMergeCells()):e.forEach(function(e){var t=g.findRowIndexOf(u,e);-1<t&&(t=u.splice(t,1),v.push(t[0]));var l=g.findRowIndexOf(a,e);-1<l&&(r.forEach(function(e){var t=e.row,r=e.rowspan;l<t?e.row=t-1:l<t+r&&(e.rowspan=r-1)}),a.splice(l,1))}),d.row&&-1<g.findRowIndexOf(e,d.row)&&x.clearActived(),e.forEach(function(e){e=g.findRowIndexOf(f,e);-1<e&&f.splice(e,1)}),w.scrollYLoad=!t&&-1<i.gt&&i.gt<u.length,g.updateFooter(),g.cacheRowMap(),g.handleTableData(),g.updateAfterDataIndex(),g.checkSelectionStatus(),o&&g.updateScrollYSpace(),(0,_vue.nextTick)().then(function(){return g.updateCellAreas(),g.recalculate()}).then(function(){return{row:v.length?v[v.length-1]:null,rows:v}})},removeCheckboxRow:function(){return x.remove(g.getCheckboxRecords()).then(function(e){return g.clearCheckboxRow(),e})},removeRadioRow:function(){var e=g.getRadioRecord();return x.remove(e||[]).then(function(e){return g.clearRadioRow(),e})},removeCurrentRow:function(){var e=g.getCurrentRecord();return x.remove(e||[]).then(function(e){return g.clearCurrentRow(),e})},getRecordset:function(){return{insertRecords:x.getInsertRecords(),removeRecords:x.getRemoveRecords(),updateRecords:x.getUpdateRecords()}},getInsertRecords:function(){var e=w.editStore,t=m.tableFullData,r=e.insertList,l=[];return r.length&&t.forEach(function(e){-1<g.findRowIndexOf(r,e)&&l.push(e)}),l},getRemoveRecords:function(){return w.editStore.removeList},getUpdateRecords:function(){var e=p.keepSource,t=p.treeConfig,r=m.tableFullData,l=a.value;return e?(u(),t?_xeUtils.default.filterTree(r,function(e){return g.isUpdateByRow(e)},l):r.filter(function(e){return g.isUpdateByRow(e)})):[]},getActiveRecord:function(){var e=w.editStore,t=m.afterFullData,r=o.value,l=e.actived,e=l.args,l=l.row;return e&&-1<g.findRowIndexOf(t,l)&&r.querySelectorAll(".vxe-body--column.col--actived").length?Object.assign({},e):null},getSelectedCell:function(){var e=w.editStore.selected,t=e.args,e=e.column;return t&&e?Object.assign({},t):null},clearActived:function(e){var t=w.editStore.actived,r=t.row,l=t.column;return(r||l)&&(u(),t.args=null,t.row=null,t.column=null,g.updateFooter(),g.dispatchEvent("edit-closed",{row:r,rowIndex:g.getRowIndex(r),$rowIndex:g.getVMRowIndex(r),column:l,columnIndex:g.getColumnIndex(l),$columnIndex:g.getVMColumnIndex(l)},e||null)),(g.clearValidate?g.clearValidate():(0,_vue.nextTick)()).then(function(){return g.recalculate()})},clearSelected:function(){var e=w.editStore.selected;return e.row=null,e.column=null,r(),(0,_vue.nextTick)()},isActiveByRow:function(e){return w.editStore.actived.row===e},setActiveRow:function(e){var t=m.visibleColumn;return g.setActiveCell(e,_xeUtils.default.find(t,function(e){return(0,_utils.isEnableConf)(e.editRender)}))},setActiveCell:function(t,e){var r=p.editConfig,l=_xeUtils.default.isString(e)?g.getColumnByField(e):e;return t&&l&&(0,_utils.isEnableConf)(r)&&(0,_utils.isEnableConf)(l.editRender)?g.scrollToRow(t,l).then(function(){var e=g.getCell(t,l);return e&&(_.handleActived({row:t,rowIndex:g.getRowIndex(t),column:l,columnIndex:g.getColumnIndex(l),cell:e,$table:g}),m._lastCallTime=Date.now()),(0,_vue.nextTick)()}):(0,_vue.nextTick)()},setSelectCell:function(e,t){var r=w.tableData,l=m.visibleColumn,n=h.value,t=_xeUtils.default.isString(t)?g.getColumnByField(t):t;return e&&t&&"manual"!==n.trigger&&(-1<(n=g.findRowIndexOf(r,e))&&t&&(r=g.getCell(e,t),r={row:e,rowIndex:n,column:t,columnIndex:l.indexOf(t),cell:r},g.handleSelected(r,{}))),(0,_vue.nextTick)()}},_={handleActived:function(e,t){var r,l=p.editConfig,n=p.mouseConfig,o=w.editStore,a=w.tableColumn,u=h.value,c=u.mode,i=u.activeMethod,d=o.actived,s=e.row,f=e.column,u=f.editRender,o=e.cell=e.cell||g.getCell(s,f);return(0,_utils.isEnableConf)(l)&&(0,_utils.isEnableConf)(u)&&o&&(d.row!==s||"cell"===c&&d.column!==f?(r="edit-disabled",i&&!i(e)||(n&&(x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea())),g.closeTooltip(),x.clearActived(t),r="edit-actived",f.renderHeight=o.offsetHeight,d.args=e,d.row=s,d.column=f,"row"===c?a.forEach(function(e){return v(s,e)}):v(s,f),(0,_vue.nextTick)(function(){_.handleFocus(e,t)})),g.dispatchEvent(r,{row:s,rowIndex:g.getRowIndex(s),$rowIndex:g.getVMRowIndex(s),column:f,columnIndex:g.getColumnIndex(f),$columnIndex:g.getVMColumnIndex(f)},t)):(r=d.column,n&&(x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea())),r!==f&&((n=r.model).update&&(0,_util.setCellValue)(s,r,n.value),g.clearValidate&&g.clearValidate()),f.renderHeight=o.offsetHeight,d.args=e,d.column=f,setTimeout(function(){_.handleFocus(e,t)})),g.focus()),(0,_vue.nextTick)()},handleFocus:function(e){var t,r,l=e.row,n=e.column,o=e.cell,a=n.editRender;(0,_utils.isEnableConf)(a)&&(t=_vXETable.renderer.get(a.name),r=a.autofocus,e=a.autoselect,a=void 0,(a=!(a=r?o.querySelector(r):a)&&t&&t.autofocus?o.querySelector(t.autofocus):a)?(a.focus(),e?a.select():_dom.browse.msie&&((a=a.createTextRange()).collapse(!1),a.select())):g.scrollToRow(l,n))},handleSelected:function(e,t){var r=p.mouseConfig,l=w.editStore,n=s.value,o=h.value,a=l.actived,u=l.selected,c=e.row,i=e.column,d=r&&n.selected;return!d||u.row===c&&u.column===i||(a.row!==c||"cell"===o.mode&&a.column!==i)&&(x.clearActived(t),x.clearSelected(),g.clearCellAreas&&(g.clearCellAreas(),g.clearCopyCellArea()),u.args=e,u.row=c,u.column=i,d&&_.addCellSelectedClass(),g.focus()),(0,_vue.nextTick)()},addCellSelectedClass:function(){var e=w.editStore.selected,t=e.row,e=e.column;r(),t&&e&&((e=g.getCell(t,e))&&(0,_dom.addClass)(e,"col--selected"))}},__assign(__assign({},x),_)},setupGrid:function(e){return e.extendTableMethods(tableEditMethodKeys)}},_default=editHook;exports.default=_default;
@@ -947,6 +947,13 @@ var tableExportHook = {
947
947
  content: content
948
948
  }).then(function () {
949
949
  if (opts.message !== false) {
950
+ // 检测弹窗模块
951
+ if (process.env.NODE_ENV === 'development') {
952
+ if (!_vXETable.VXETable.modal) {
953
+ (0, _utils.errLog)('vxe.error.reqModule', ['Modal']);
954
+ }
955
+ }
956
+
950
957
  _vXETable.VXETable.modal.message({
951
958
  content: _conf.default.i18n('vxe.table.expSuccess'),
952
959
  status: 'success'
@@ -1060,6 +1067,13 @@ var tableExportHook = {
1060
1067
  }
1061
1068
 
1062
1069
  if (opts.message !== false) {
1070
+ // 检测弹窗模块
1071
+ if (process.env.NODE_ENV === 'development') {
1072
+ if (!_vXETable.VXETable.modal) {
1073
+ (0, _utils.errLog)('vxe.error.reqModule', ['Modal']);
1074
+ }
1075
+ }
1076
+
1063
1077
  _vXETable.VXETable.modal.message({
1064
1078
  content: _conf.default.i18n('vxe.table.impSuccess', [rows.length]),
1065
1079
  status: 'success'
@@ -1075,6 +1089,13 @@ var tableExportHook = {
1075
1089
  });
1076
1090
  });
1077
1091
  } else if (opts.message !== false) {
1092
+ // 检测弹窗模块
1093
+ if (process.env.NODE_ENV === 'development') {
1094
+ if (!_vXETable.VXETable.modal) {
1095
+ (0, _utils.errLog)('vxe.error.reqModule', ['Modal']);
1096
+ }
1097
+ }
1098
+
1078
1099
  _vXETable.VXETable.modal.message({
1079
1100
  content: _conf.default.i18n('vxe.error.impFields'),
1080
1101
  status: 'error'
@@ -1099,6 +1120,13 @@ var tableExportHook = {
1099
1120
 
1100
1121
  if (!importMethod && !_xeUtils.default.includes(_vXETable.VXETable.config.importTypes, type)) {
1101
1122
  if (opts.message !== false) {
1123
+ // 检测弹窗模块
1124
+ if (process.env.NODE_ENV === 'development') {
1125
+ if (!_vXETable.VXETable.modal) {
1126
+ (0, _utils.errLog)('vxe.error.reqModule', ['Modal']);
1127
+ }
1128
+ }
1129
+
1102
1130
  _vXETable.VXETable.modal.message({
1103
1131
  content: _conf.default.i18n('vxe.error.notType', [type]),
1104
1132
  status: 'error'