vxe-table 3.8.7-beta.2 → 3.8.7-beta.4

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 (108) hide show
  1. package/lib/form/src/form-config-item.js +2 -2
  2. package/lib/form/src/form-config-item.min.js +1 -1
  3. package/lib/form/src/form-gather.js +15 -12
  4. package/lib/form/src/form-gather.min.js +1 -1
  5. package/lib/form/src/form-item.js +2 -1
  6. package/lib/form/src/form-item.min.js +1 -1
  7. package/lib/form/src/form.js +1 -1
  8. package/lib/form/src/form.min.js +1 -1
  9. package/lib/form/src/util.js +1 -0
  10. package/lib/form/src/util.min.js +1 -1
  11. package/lib/form/style/style.css +91 -3
  12. package/lib/form/style/style.min.css +1 -1
  13. package/lib/icon/style/style.css +6 -2
  14. package/lib/icon/style/style.min.css +6 -2
  15. package/lib/index.css +1 -1
  16. package/lib/index.umd.js +239 -167
  17. package/lib/index.umd.min.js +1 -1
  18. package/lib/locale/lang/en-US.js +8 -1
  19. package/lib/locale/lang/en-US.min.js +1 -1
  20. package/lib/locale/lang/en-US.umd.js +8 -1
  21. package/lib/locale/lang/es-ES.js +9 -2
  22. package/lib/locale/lang/es-ES.min.js +1 -1
  23. package/lib/locale/lang/es-ES.umd.js +9 -2
  24. package/lib/locale/lang/ja-JP.js +7 -0
  25. package/lib/locale/lang/ja-JP.min.js +1 -1
  26. package/lib/locale/lang/ja-JP.umd.js +7 -0
  27. package/lib/locale/lang/pt-BR.js +191 -184
  28. package/lib/locale/lang/pt-BR.min.js +1 -1
  29. package/lib/locale/lang/pt-BR.umd.js +191 -184
  30. package/lib/locale/lang/zh-CN.js +7 -0
  31. package/lib/locale/lang/zh-CN.min.js +1 -1
  32. package/lib/locale/lang/zh-CN.umd.js +7 -0
  33. package/lib/locale/lang/zh-HK.min.js +1 -1
  34. package/lib/locale/lang/zh-HK.umd.js +7 -0
  35. package/lib/locale/lang/zh-MO.min.js +1 -1
  36. package/lib/locale/lang/zh-MO.umd.js +7 -0
  37. package/lib/locale/lang/zh-TC.js +7 -0
  38. package/lib/locale/lang/zh-TC.min.js +1 -1
  39. package/lib/locale/lang/zh-TC.umd.js +7 -0
  40. package/lib/locale/lang/zh-TW.min.js +1 -1
  41. package/lib/locale/lang/zh-TW.umd.js +7 -0
  42. package/lib/modal/src/modal.js +26 -8
  43. package/lib/modal/src/modal.min.js +1 -1
  44. package/lib/style.css +1 -1
  45. package/lib/style.min.css +1 -1
  46. package/lib/switch/src/switch.js +3 -1
  47. package/lib/switch/src/switch.min.js +1 -1
  48. package/lib/switch/style/style.css +10 -0
  49. package/lib/switch/style/style.min.css +1 -1
  50. package/lib/table/src/body.js +3 -3
  51. package/lib/table/src/body.min.js +1 -1
  52. package/lib/table/src/methods.js +9 -7
  53. package/lib/table/src/methods.min.js +1 -1
  54. package/lib/table/src/table.js +3 -3
  55. package/lib/table/src/table.min.js +1 -1
  56. package/lib/tools/log.js +1 -1
  57. package/lib/tools/log.min.js +1 -1
  58. package/lib/v-x-e-table/index.js +55 -17
  59. package/lib/v-x-e-table/index.min.js +1 -1
  60. package/lib/v-x-e-table/src/conf.js +2 -0
  61. package/lib/v-x-e-table/src/conf.min.js +1 -1
  62. package/lib/v-x-e-table/style/style.css +5 -1
  63. package/lib/v-x-e-table/style/style.min.css +1 -1
  64. package/lib/validator/src/mixin.js +16 -16
  65. package/lib/validator/src/mixin.min.js +1 -1
  66. package/lib/vxe-form/style/style.css +91 -3
  67. package/lib/vxe-form/style/style.min.css +1 -1
  68. package/lib/vxe-icon/style/style.css +5 -1
  69. package/lib/vxe-icon/style/style.min.css +1 -1
  70. package/lib/vxe-switch/style/style.css +10 -0
  71. package/lib/vxe-switch/style/style.min.css +1 -1
  72. package/package.json +1 -1
  73. package/packages/form/src/form-config-item.js +2 -2
  74. package/packages/form/src/form-gather.js +6 -11
  75. package/packages/form/src/form-item.js +2 -1
  76. package/packages/form/src/form.js +1 -1
  77. package/packages/form/src/util.js +1 -0
  78. package/packages/locale/lang/en-US.js +8 -1
  79. package/packages/locale/lang/es-ES.js +9 -2
  80. package/packages/locale/lang/ja-JP.js +7 -0
  81. package/packages/locale/lang/pt-BR.js +192 -185
  82. package/packages/locale/lang/zh-CN.js +7 -0
  83. package/packages/locale/lang/zh-TC.js +7 -0
  84. package/packages/modal/src/modal.js +13 -8
  85. package/packages/switch/src/switch.js +3 -1
  86. package/packages/table/src/body.js +3 -3
  87. package/packages/table/src/methods.js +9 -7
  88. package/packages/table/src/table.js +3 -3
  89. package/packages/v-x-e-table/index.js +49 -5
  90. package/packages/v-x-e-table/src/conf.js +2 -0
  91. package/packages/validator/src/mixin.js +16 -16
  92. package/styles/form.scss +27 -3
  93. package/styles/icon.scss +1 -1
  94. package/styles/old-icon.scss +5 -0
  95. package/styles/switch.scss +10 -0
  96. package/types/form-item.d.ts +2 -1
  97. package/types/v-x-e-table/index.d.ts +74 -8
  98. package/types/v-x-e-table/renderer.d.ts +6 -0
  99. package/lib/v-x-e-table/src/config.js +0 -27
  100. package/lib/v-x-e-table/src/config.min.js +0 -1
  101. package/packages/v-x-e-table/src/config.js +0 -21
  102. package/types/v-x-e-table/config.d.ts +0 -55
  103. /package/lib/icon/style/{iconfont.1715850304028.ttf → iconfont.1716213624034.ttf} +0 -0
  104. /package/lib/icon/style/{iconfont.1715850304028.woff → iconfont.1716213624034.woff} +0 -0
  105. /package/lib/icon/style/{iconfont.1715850304028.woff2 → iconfont.1716213624034.woff2} +0 -0
  106. /package/lib/{iconfont.1715850304028.ttf → iconfont.1716213624034.ttf} +0 -0
  107. /package/lib/{iconfont.1715850304028.woff → iconfont.1716213624034.woff} +0 -0
  108. /package/lib/{iconfont.1715850304028.woff2 → iconfont.1716213624034.woff2} +0 -0
@@ -261,205 +261,212 @@ export default {
261
261
  q4: '4º trimestre'
262
262
  }
263
263
  }
264
- }
265
- },
264
+ },
265
+ formDesign: {
266
+ widget: {
267
+ input: 'Input',
268
+ textarea: 'Textarea',
269
+ select: 'Select'
270
+ }
271
+ },
272
+
273
+ /**
274
+ * 扩展插件
275
+ */
276
+ plugins: {
277
+ extendCellArea: {
278
+ area: {
279
+ mergeErr: '无法对合并单元格进行该操作',
280
+ multiErr: '无法对多重选择区域进行该操作',
281
+ extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
282
+ pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
283
+ cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
284
+ },
285
+ fnr: {
286
+ title: '查找和替换',
287
+ findLabel: '查找',
288
+ replaceLabel: '替换',
289
+ findTitle: '查找内容:',
290
+ replaceTitle: '替换为:',
291
+ tabs: {
292
+ find: '查找',
293
+ replace: '替换'
294
+ },
295
+ filter: {
296
+ re: '正则表达式',
297
+ whole: '全词匹配',
298
+ sensitive: '区分大小写'
299
+ },
300
+ btns: {
301
+ findNext: '查找下一个',
302
+ findAll: '查找全部',
303
+ replace: '替换',
304
+ replaceAll: '替换全部',
305
+ cancel: '取消'
306
+ },
307
+ header: {
308
+ seq: '#',
309
+ cell: '单元格',
310
+ value: '值'
311
+ },
312
+ empty: '(空值)',
313
+ reError: '无效的正则表达式',
314
+ recordCount: '已找到 {0} 个单元格',
315
+ notCell: '找不到匹配的单元格',
316
+ replaceSuccess: '成功替换 {0} 个单元格'
317
+ }
318
+ },
319
+ filterComplexInput: {
320
+ menus: {
321
+ fixedColumn: '锁定列',
322
+ fixedGroup: '锁定组',
323
+ cancelFixed: '取消锁定',
324
+ fixedLeft: '锁定左侧',
325
+ fixedRight: '锁定右侧'
326
+ },
327
+ cases: {
328
+ equal: '等于',
329
+ gt: '大于',
330
+ lt: '小于',
331
+ begin: '开头是',
332
+ endin: '结尾是',
333
+ include: '包含',
334
+ isSensitive: '区分大小写'
335
+ }
336
+ },
337
+ filterCombination: {
338
+ menus: {
339
+ clearSort: '清除排序',
340
+ sortAsc: '升序',
341
+ sortDesc: '降序',
342
+ fixedColumn: '锁定列',
343
+ fixedGroup: '锁定组',
344
+ cancelFixed: '取消锁定',
345
+ fixedLeft: '锁定左侧',
346
+ fixedRight: '锁定右侧',
347
+ clearFilter: '清除筛选',
348
+ textOption: '文本筛选',
349
+ numberOption: '数值筛选'
350
+ },
351
+ popup: {
352
+ title: '自定义筛选的方式',
353
+ currColumnTitle: '当前列:',
354
+ and: '与',
355
+ or: '或',
356
+ describeHtml: '可用 ? 代表单个字符<br/>用 * 代表任意多个字符'
357
+ },
358
+ cases: {
359
+ equal: '等于',
360
+ unequal: '不等于',
361
+ gt: '大于',
362
+ ge: '大于或等于',
363
+ lt: '小于',
364
+ le: '小于或等于',
365
+ begin: '开头是',
366
+ notbegin: '开头不是',
367
+ endin: '结尾是',
368
+ notendin: '结尾不是',
369
+ include: '包含',
370
+ exclude: '不包含',
371
+ between: '介于',
372
+ custom: '自定义筛选',
373
+ insensitive: '不区分大小写',
374
+ isSensitive: '区分大小写'
375
+ },
376
+ empty: '(空白)',
377
+ notData: '无匹配项'
378
+ }
379
+ },
266
380
 
267
- /**
268
- * 扩展插件
269
- */
270
- plugins: {
271
- extendCellArea: {
381
+ /**
382
+ * 以下废弃
383
+ * @deprecated
384
+ */
385
+ renderer: {
386
+ search: 'Buscar',
387
+ cases: {
388
+ equal: 'Igual',
389
+ unequal: 'Não igual',
390
+ gt: 'Maior que',
391
+ ge: 'Maior ou igual a',
392
+ lt: 'Menor que',
393
+ le: 'Menor ou igual a',
394
+ begin: 'Começa com',
395
+ notbegin: 'Não começa com',
396
+ endin: 'Termina com',
397
+ notendin: 'Não termina com',
398
+ include: 'Inclui',
399
+ exclude: 'Exclusivo',
400
+ between: 'Entre',
401
+ custom: 'Filtro personalizado',
402
+ insensitive: 'Sem diferenciação de maiúsculas e minúsculas',
403
+ isSensitive: 'Diferenciação de maiúsculas e minúsculas'
404
+ },
405
+ combination: {
406
+ menus: {
407
+ clearSort: 'Limpar ordenação',
408
+ sortAsc: 'Ordem ascendente',
409
+ sortDesc: 'Ordem descendente',
410
+ fixedColumn: 'Coluna fixa',
411
+ fixedGroup: 'Grupo fixo',
412
+ cancelFixed: 'Limpar fixação',
413
+ fixedLeft: 'Fixar à esquerda',
414
+ fixedRight: 'Fixar à direita',
415
+ clearFilter: 'Limpar filtro',
416
+ textOption: 'Filtro de texto',
417
+ numberOption: 'Filtro numérico'
418
+ },
419
+ popup: {
420
+ title: 'Filtragem personalizada',
421
+ currColumnTitle: 'Coluna atual:',
422
+ and: 'E',
423
+ or: 'Ou',
424
+ describeHtml: 'Use ? para representar um único caractere <br/> use * para representar qualquer número de caracteres'
425
+ },
426
+ empty: '(Vazio)',
427
+ notData: 'Sem dados'
428
+ }
429
+ },
430
+ pro: {
272
431
  area: {
273
- mergeErr: '无法对合并单元格进行该操作',
274
- multiErr: '无法对多重选择区域进行该操作',
275
- extendErr: '如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同',
276
- pasteMultiErr: '无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作',
277
- cpInvalidErr: '该操作无法进行,您选择的区域中存在被禁止的列({0})'
432
+ mergeErr: 'A operação não pode ser realizada em células mescladas',
433
+ multiErr: 'A operação não pode ser realizada em áreas de seleção múltipla',
434
+ extendErr: 'Se a área estendida contiver células mescladas, todas as células mescladas devem ter o mesmo tamanho',
435
+ pasteMultiErr: 'Não é possível colar, é necessário que a área copiada e a área colada tenham o mesmo tamanho para realizar esta operação'
278
436
  },
279
437
  fnr: {
280
- title: '查找和替换',
281
- findLabel: '查找',
282
- replaceLabel: '替换',
283
- findTitle: '查找内容:',
284
- replaceTitle: '替换为:',
438
+ title: 'Localizar e substituir',
439
+ findLabel: 'Localizar',
440
+ replaceLabel: 'Substituir',
441
+ findTitle: 'O que localizar:',
442
+ replaceTitle: 'Substituir por:',
285
443
  tabs: {
286
- find: '查找',
287
- replace: '替换'
444
+ find: 'Localizar',
445
+ replace: 'Substituir'
288
446
  },
289
447
  filter: {
290
- re: '正则表达式',
291
- whole: '全词匹配',
292
- sensitive: '区分大小写'
448
+ re: 'Expressão Regular',
449
+ whole: 'Palavra inteira',
450
+ sensitive: 'Diferenciar maiúsculas e minúsculas'
293
451
  },
294
452
  btns: {
295
- findNext: '查找下一个',
296
- findAll: '查找全部',
297
- replace: '替换',
298
- replaceAll: '替换全部',
299
- cancel: '取消'
453
+ findNext: 'Localizar próximo',
454
+ findAll: 'Localizar todos',
455
+ replace: 'Substituir',
456
+ replaceAll: 'Substituir tudo',
457
+ cancel: 'Cancelar'
300
458
  },
301
459
  header: {
302
460
  seq: '#',
303
- cell: '单元格',
304
- value: '值'
461
+ cell: 'Célula',
462
+ value: 'Valor'
305
463
  },
306
- empty: '(空值)',
307
- reError: '无效的正则表达式',
308
- recordCount: '已找到 {0} 个单元格',
309
- notCell: '找不到匹配的单元格',
310
- replaceSuccess: '成功替换 {0} 个单元格'
311
- }
312
- },
313
- filterComplexInput: {
314
- menus: {
315
- fixedColumn: '锁定列',
316
- fixedGroup: '锁定组',
317
- cancelFixed: '取消锁定',
318
- fixedLeft: '锁定左侧',
319
- fixedRight: '锁定右侧'
320
- },
321
- cases: {
322
- equal: '等于',
323
- gt: '大于',
324
- lt: '小于',
325
- begin: '开头是',
326
- endin: '结尾是',
327
- include: '包含',
328
- isSensitive: '区分大小写'
464
+ empty: '(Vazio)',
465
+ reError: 'Expressão regular inválida',
466
+ recordCount: 'Encontradas {0} células',
467
+ notCell: 'Não foram encontradas células correspondentes',
468
+ replaceSuccess: 'Substituído com sucesso {0} células'
329
469
  }
330
- },
331
- filterCombination: {
332
- menus: {
333
- clearSort: '清除排序',
334
- sortAsc: '升序',
335
- sortDesc: '降序',
336
- fixedColumn: '锁定列',
337
- fixedGroup: '锁定组',
338
- cancelFixed: '取消锁定',
339
- fixedLeft: '锁定左侧',
340
- fixedRight: '锁定右侧',
341
- clearFilter: '清除筛选',
342
- textOption: '文本筛选',
343
- numberOption: '数值筛选'
344
- },
345
- popup: {
346
- title: '自定义筛选的方式',
347
- currColumnTitle: '当前列:',
348
- and: '与',
349
- or: '或',
350
- describeHtml: '可用 ? 代表单个字符<br/>用 * 代表任意多个字符'
351
- },
352
- cases: {
353
- equal: '等于',
354
- unequal: '不等于',
355
- gt: '大于',
356
- ge: '大于或等于',
357
- lt: '小于',
358
- le: '小于或等于',
359
- begin: '开头是',
360
- notbegin: '开头不是',
361
- endin: '结尾是',
362
- notendin: '结尾不是',
363
- include: '包含',
364
- exclude: '不包含',
365
- between: '介于',
366
- custom: '自定义筛选',
367
- insensitive: '不区分大小写',
368
- isSensitive: '区分大小写'
369
- },
370
- empty: '(空白)',
371
- notData: '无匹配项'
372
- }
373
- },
374
-
375
- /**
376
- * 以下废弃
377
- * @deprecated
378
- */
379
- renderer: {
380
- search: 'Buscar',
381
- cases: {
382
- equal: 'Igual',
383
- unequal: 'Não igual',
384
- gt: 'Maior que',
385
- ge: 'Maior ou igual a',
386
- lt: 'Menor que',
387
- le: 'Menor ou igual a',
388
- begin: 'Começa com',
389
- notbegin: 'Não começa com',
390
- endin: 'Termina com',
391
- notendin: 'Não termina com',
392
- include: 'Inclui',
393
- exclude: 'Exclusivo',
394
- between: 'Entre',
395
- custom: 'Filtro personalizado',
396
- insensitive: 'Sem diferenciação de maiúsculas e minúsculas',
397
- isSensitive: 'Diferenciação de maiúsculas e minúsculas'
398
- },
399
- combination: {
400
- menus: {
401
- clearSort: 'Limpar ordenação',
402
- sortAsc: 'Ordem ascendente',
403
- sortDesc: 'Ordem descendente',
404
- fixedColumn: 'Coluna fixa',
405
- fixedGroup: 'Grupo fixo',
406
- cancelFixed: 'Limpar fixação',
407
- fixedLeft: 'Fixar à esquerda',
408
- fixedRight: 'Fixar à direita',
409
- clearFilter: 'Limpar filtro',
410
- textOption: 'Filtro de texto',
411
- numberOption: 'Filtro numérico'
412
- },
413
- popup: {
414
- title: 'Filtragem personalizada',
415
- currColumnTitle: 'Coluna atual:',
416
- and: 'E',
417
- or: 'Ou',
418
- describeHtml: 'Use ? para representar um único caractere <br/> use * para representar qualquer número de caracteres'
419
- },
420
- empty: '(Vazio)',
421
- notData: 'Sem dados'
422
- }
423
- },
424
- pro: {
425
- area: {
426
- mergeErr: 'A operação não pode ser realizada em células mescladas',
427
- multiErr: 'A operação não pode ser realizada em áreas de seleção múltipla',
428
- extendErr: 'Se a área estendida contiver células mescladas, todas as células mescladas devem ter o mesmo tamanho',
429
- pasteMultiErr: 'Não é possível colar, é necessário que a área copiada e a área colada tenham o mesmo tamanho para realizar esta operação'
430
- },
431
- fnr: {
432
- title: 'Localizar e substituir',
433
- findLabel: 'Localizar',
434
- replaceLabel: 'Substituir',
435
- findTitle: 'O que localizar:',
436
- replaceTitle: 'Substituir por:',
437
- tabs: {
438
- find: 'Localizar',
439
- replace: 'Substituir'
440
- },
441
- filter: {
442
- re: 'Expressão Regular',
443
- whole: 'Palavra inteira',
444
- sensitive: 'Diferenciar maiúsculas e minúsculas'
445
- },
446
- btns: {
447
- findNext: 'Localizar próximo',
448
- findAll: 'Localizar todos',
449
- replace: 'Substituir',
450
- replaceAll: 'Substituir tudo',
451
- cancel: 'Cancelar'
452
- },
453
- header: {
454
- seq: '#',
455
- cell: 'Célula',
456
- value: 'Valor'
457
- },
458
- empty: '(Vazio)',
459
- reError: 'Expressão regular inválida',
460
- recordCount: 'Encontradas {0} células',
461
- notCell: 'Não foram encontradas células correspondentes',
462
- replaceSuccess: 'Substituído com sucesso {0} células'
463
470
  }
464
471
  }
465
472
  }
@@ -262,6 +262,13 @@ export default {
262
262
  }
263
263
  }
264
264
  },
265
+ formDesign: {
266
+ widget: {
267
+ input: '输入框',
268
+ textarea: '文本域',
269
+ select: '下拉框'
270
+ }
271
+ },
265
272
 
266
273
  /**
267
274
  * 扩展插件
@@ -262,6 +262,13 @@ export default {
262
262
  }
263
263
  }
264
264
  },
265
+ formDesign: {
266
+ widget: {
267
+ input: '輸入框',
268
+ textarea: '文本域',
269
+ select: '下拉框'
270
+ }
271
+ },
265
272
 
266
273
  /**
267
274
  * 扩展插件
@@ -29,7 +29,9 @@ export default {
29
29
  // 请使用 content
30
30
  message: [String, Function],
31
31
  content: [String, Function],
32
+ showCancelButton: { type: Boolean, default: null },
32
33
  cancelButtonText: { type: String, default: () => GlobalConfig.modal.cancelButtonText },
34
+ showConfirmButton: { type: Boolean, default: () => GlobalConfig.modal.showConfirmButton },
33
35
  confirmButtonText: { type: String, default: () => GlobalConfig.modal.confirmButtonText },
34
36
  lockView: { type: Boolean, default: () => GlobalConfig.modal.lockView },
35
37
  lockScroll: Boolean,
@@ -121,7 +123,7 @@ export default {
121
123
  }
122
124
  },
123
125
  render (h) {
124
- const { _e, $scopedSlots, slots = {}, inited, vSize, className, type, resize, showClose, showZoom, animat, draggable, loading, status, iconStatus, showFooter, zoomLocat, modalTop, dblclickZoom, contentVisible, visible, title, lockScroll, lockView, mask, isMsg, showTitleOverflow, destroyOnClose } = this
126
+ const { _e, $scopedSlots, slots = {}, inited, vSize, className, type, resize, showClose, showZoom, animat, draggable, loading, status, iconStatus, showFooter, zoomLocat, modalTop, dblclickZoom, contentVisible, visible, title, lockScroll, lockView, mask, isMsg, showTitleOverflow, destroyOnClose, showCancelButton, showConfirmButton } = this
125
127
  const content = this.content || this.message
126
128
  const defaultSlot = $scopedSlots.default || slots.default
127
129
  const footerSlot = $scopedSlots.footer || slots.footer
@@ -226,13 +228,15 @@ export default {
226
228
  showFooter ? h('div', {
227
229
  class: 'vxe-modal--footer'
228
230
  }, footerSlot ? (!inited || (destroyOnClose && !visible) ? [] : getSlotVNs(footerSlot.call(this, { $modal: this }, h))) : [
229
- type === 'confirm' ? h('vxe-button', {
231
+ XEUtils.isBoolean(showCancelButton) ? showCancelButton : type === 'confirm' ? h('vxe-button', {
232
+ key: 1,
230
233
  ref: 'cancelBtn',
231
234
  on: {
232
235
  click: this.cancelEvent
233
236
  }
234
237
  }, this.cancelButtonText || GlobalConfig.i18n('vxe.button.cancel')) : null,
235
- h('vxe-button', {
238
+ XEUtils.isBoolean(showConfirmButton) ? showConfirmButton : (type === 'confirm' || type === 'alert') ? h('vxe-button', {
239
+ key: 2,
236
240
  ref: 'confirmBtn',
237
241
  props: {
238
242
  status: 'primary'
@@ -240,7 +244,7 @@ export default {
240
244
  on: {
241
245
  click: this.confirmEvent
242
246
  }
243
- }, this.confirmButtonText || GlobalConfig.i18n('vxe.button.confirm'))
247
+ }, this.confirmButtonText || GlobalConfig.i18n('vxe.button.confirm')) : null
244
248
  ]) : null,
245
249
  !isMsg && resize ? h('span', {
246
250
  class: 'vxe-modal--resize'
@@ -590,6 +594,7 @@ export default {
590
594
  modalBoxElem.style.left = `${left}px`
591
595
  modalBoxElem.style.top = `${top}px`
592
596
  modalBoxElem.className = modalBoxElem.className.replace(/\s?is--drag/, '') + ' is--drag'
597
+ this.$emit('move', { type: 'move', $event: evnt })
593
598
  }
594
599
  document.onmouseup = () => {
595
600
  document.onmousemove = domMousemove
@@ -742,10 +747,10 @@ export default {
742
747
  if (remember && storage) {
743
748
  this.savePosStorage()
744
749
  }
745
- if ($listeners.zoom) {
746
- this.$emit('zoom', params)
747
- } else if (events.zoom) {
748
- events.zoom.call(this, params)
750
+ if ($listeners.resize) {
751
+ this.$emit('resize', params)
752
+ } else if (events.resize) {
753
+ events.resize.call(this, params)
749
754
  }
750
755
  }
751
756
  document.onmouseup = () => {
@@ -16,7 +16,9 @@ export default {
16
16
  openValue: { type: [String, Number, Boolean], default: true },
17
17
  closeValue: { type: [String, Number, Boolean], default: false },
18
18
  openIcon: String,
19
- closeIcon: String
19
+ closeIcon: String,
20
+ openActiveIcon: String,
21
+ closeActiveIcon: String
20
22
  },
21
23
  inject: {
22
24
  $xeform: {
@@ -559,9 +559,9 @@ export default {
559
559
  emptyContent = $scopedSlots.empty.call(this, { $table: $xetable }, h)
560
560
  } else {
561
561
  const compConf = emptyOpts.name ? VXETable.renderer.get(emptyOpts.name) : null
562
- const renderEmpty = compConf ? compConf.renderEmpty : null
563
- if (renderEmpty) {
564
- emptyContent = getSlotVNs(renderEmpty.call(this, h, emptyOpts, { $table: $xetable }))
562
+ const renderTableEmptyView = compConf ? compConf.renderTableEmptyView || compConf.renderEmpty : null
563
+ if (renderTableEmptyView) {
564
+ emptyContent = getSlotVNs(renderTableEmptyView.call(this, h, emptyOpts, { $table: $xetable }))
565
565
  } else {
566
566
  emptyContent = $xetable.emptyText || GlobalConfig.i18n('vxe.table.emptyText')
567
567
  }
@@ -2778,14 +2778,15 @@ const Methods = {
2778
2778
  const { delMethod, backMethod } = keyboardOpts
2779
2779
  // 如果是删除键
2780
2780
  if (keyboardOpts.isDel && (selected.row || selected.column)) {
2781
+ const delPaqrams = {
2782
+ row: selected.row,
2783
+ rowIndex: this.getRowIndex(selected.row),
2784
+ column: selected.column,
2785
+ columnIndex: this.getColumnIndex(selected.column),
2786
+ $table: this
2787
+ }
2781
2788
  if (delMethod) {
2782
- delMethod({
2783
- row: selected.row,
2784
- rowIndex: this.getRowIndex(selected.row),
2785
- column: selected.column,
2786
- columnIndex: this.getColumnIndex(selected.column),
2787
- $table: this
2788
- })
2789
+ delMethod(delPaqrams)
2789
2790
  } else {
2790
2791
  setCellValue(selected.row, selected.column, null)
2791
2792
  }
@@ -2805,6 +2806,7 @@ const Methods = {
2805
2806
  // 如果按下 del 键,更新表尾数据
2806
2807
  this.updateFooter()
2807
2808
  }
2809
+ this.emitEvent('cell-delete-value', delPaqrams, evnt)
2808
2810
  } else if (isBack && keyboardOpts.isArrow && treeConfig && (rowOpts.isCurrent || highlightCurrentRow) && currentRow) {
2809
2811
  // 如果树形表格回退键关闭当前行返回父节点
2810
2812
  const { parent: parentRow } = XEUtils.findTree(this.afterFullData, item => item === currentRow, { children: childrenField })
@@ -70,9 +70,9 @@ function renderEmptyContenet (h, _vm) {
70
70
  emptyContent = $scopedSlots.empty.call(_vm, params, h)
71
71
  } else {
72
72
  const compConf = emptyOpts.name ? VXETable.renderer.get(emptyOpts.name) : null
73
- const renderEmpty = compConf ? compConf.renderEmpty : null
74
- if (renderEmpty) {
75
- emptyContent = getSlotVNs(renderEmpty.call(_vm, h, emptyOpts, params))
73
+ const renderTableEmptyView = compConf ? compConf.renderTableEmptyView || compConf.renderEmpty : null
74
+ if (renderTableEmptyView) {
75
+ emptyContent = getSlotVNs(renderTableEmptyView.call(_vm, h, emptyOpts, params))
76
76
  } else {
77
77
  emptyContent = getFuncText(_vm.emptyText) || GlobalConfig.i18n('vxe.table.emptyText')
78
78
  }
@@ -1,4 +1,5 @@
1
1
  import XEUtils from 'xe-utils'
2
+ import DomZIndex from 'dom-zindex'
2
3
  import GlobalConfig from '../v-x-e-table/src/conf'
3
4
  import { interceptor } from './src/interceptor'
4
5
  import { renderer } from './src/renderer'
@@ -6,10 +7,9 @@ import { commands } from './src/commands'
6
7
  import { menus } from './src/menus'
7
8
  import { formats } from './src/formats'
8
9
  import { validators } from './src/validators'
9
- import { setConfig } from './src/config'
10
10
  import { setTheme } from './src/theme'
11
11
  import { UtilTools } from '../tools/utils'
12
- import { errLog } from '../tools/log'
12
+ import { errLog, warnLog } from '../tools/log'
13
13
 
14
14
  const installedPlugins = []
15
15
 
@@ -48,6 +48,22 @@ function getExportOrImpotType (types, flag) {
48
48
  return rest
49
49
  }
50
50
 
51
+ /**
52
+ * 全局参数设置
53
+ */
54
+ export const setConfig = (options) => {
55
+ if (options) {
56
+ if (options.theme) {
57
+ setTheme(options)
58
+ }
59
+ if (options.zIndex) {
60
+ DomZIndex.setCurrent(options.zIndex)
61
+ }
62
+ XEUtils.merge(GlobalConfig, options)
63
+ }
64
+ return VXETable
65
+ }
66
+
51
67
  class VXETableConfig {
52
68
  /**
53
69
  * 获取当前的 zIndex
@@ -90,7 +106,35 @@ export function _t (key, args) {
90
106
  }
91
107
 
92
108
  export const v = 'v3'
93
- export const setup = setConfig
109
+
110
+ /**
111
+ * 已废弃,请使用 setConfig
112
+ * @deprecated
113
+ */
114
+ export const setup = (options) => {
115
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
116
+ warnLog('vxe.error.delFunc', ['setup', 'setConfig'])
117
+ }
118
+ return setConfig(options)
119
+ }
120
+
121
+ /**
122
+ * 已废弃,请使用 setConfig
123
+ * @deprecated
124
+ */
125
+ export const config = (options) => {
126
+ if (process.env.VUE_APP_VXE_TABLE_ENV === 'development') {
127
+ warnLog('vxe.error.delFunc', ['setup', 'setConfig'])
128
+ }
129
+ return setConfig(options)
130
+ }
131
+
132
+ export function setIcon (options) {
133
+ if (options) {
134
+ Object.assign(GlobalConfig.icon, options)
135
+ }
136
+ return VXETable
137
+ }
94
138
 
95
139
  export const globalStore = {}
96
140
 
@@ -100,6 +144,7 @@ export const VXETable = {
100
144
  reg,
101
145
  use,
102
146
  setConfig,
147
+ setIcon,
103
148
  globalStore,
104
149
  interceptor,
105
150
  renderer,
@@ -111,7 +156,7 @@ export const VXETable = {
111
156
  _t,
112
157
 
113
158
  // 已废弃
114
- config: setConfig,
159
+ config,
115
160
  setup,
116
161
  globalConfs
117
162
  }
@@ -123,6 +168,5 @@ export * from './src/renderer'
123
168
  export * from './src/commands'
124
169
  export * from './src/menus'
125
170
  export * from './src/formats'
126
- export * from './src/config'
127
171
 
128
172
  export default VXETable
@@ -48,6 +48,7 @@ export default {
48
48
  validConfig: {
49
49
  showMessage: true,
50
50
  autoClear: true,
51
+ autoPos: true,
51
52
  message: 'inline',
52
53
  msgMode: 'single'
53
54
  },
@@ -365,6 +366,7 @@ export default {
365
366
  animat: true,
366
367
  showClose: true,
367
368
  draggable: true,
369
+ showConfirmButton: null,
368
370
  // storage: false,
369
371
  storageKey: 'VXE_MODAL_POSITION'
370
372
  },