vxe-table 4.1.0 → 4.1.3
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.md +1 -0
- package/README.zh-TW.md +1 -0
- package/es/edit/src/hook.js +2 -2
- package/es/export/src/hook.js +24 -0
- package/es/export/src/util.js +20 -8
- package/es/footer/src/footer.js +4 -4
- package/es/form/src/form.js +13 -6
- package/es/form/src/render.js +4 -4
- package/es/grid/src/grid.js +48 -1
- package/es/header/src/header.js +7 -5
- package/es/select/src/select.js +5 -5
- package/es/table/src/body.js +18 -14
- package/es/table/src/cell.js +70 -54
- package/es/table/src/props.js +4 -1
- package/es/table/src/table.js +208 -97
- package/es/v-x-e-table/src/conf.js +2 -3
- package/es/validator/src/hook.js +12 -5
- package/helper/vetur/attributes.json +16 -8
- package/helper/vetur/tags.json +2 -0
- package/lib/edit/src/hook.js +2 -2
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/hook.js +28 -0
- package/lib/export/src/hook.min.js +1 -1
- package/lib/export/src/util.js +21 -7
- package/lib/export/src/util.min.js +1 -1
- package/lib/footer/src/footer.js +4 -4
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form.js +23 -6
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +4 -4
- package/lib/form/src/render.min.js +1 -1
- package/lib/grid/src/grid.js +56 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/header/src/header.js +7 -5
- package/lib/header/src/header.min.js +1 -1
- package/lib/index.umd.js +536 -220
- package/lib/index.umd.min.js +1 -1
- package/lib/select/src/select.js +5 -5
- package/lib/table/src/body.js +18 -14
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +92 -35
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/props.js +4 -1
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +265 -133
- package/lib/table/src/table.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +2 -3
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/validator/src/hook.js +12 -5
- package/lib/validator/src/hook.min.js +1 -1
- package/package.json +2 -2
- package/packages/edit/src/hook.ts +2 -2
- package/packages/export/src/hook.ts +24 -0
- package/packages/export/src/util.ts +17 -5
- package/packages/footer/src/footer.ts +4 -4
- package/packages/form/src/form.ts +10 -6
- package/packages/form/src/render.ts +4 -4
- package/packages/grid/src/grid.ts +48 -1
- package/packages/header/src/header.ts +7 -5
- package/packages/select/src/select.ts +5 -5
- package/packages/table/src/body.ts +18 -14
- package/packages/table/src/cell.ts +77 -44
- package/packages/table/src/props.ts +4 -1
- package/packages/table/src/table.ts +211 -96
- package/packages/v-x-e-table/src/conf.ts +2 -3
- package/packages/validator/src/hook.ts +9 -5
- package/types/column.d.ts +5 -1
- package/types/form-item.d.ts +5 -1
- package/types/form.d.ts +5 -1
- package/types/modal.d.ts +4 -5
- package/types/table.d.ts +49 -14
- package/types/validator.d.ts +5 -1
package/es/table/src/cell.js
CHANGED
|
@@ -309,17 +309,18 @@ export var Cell = {
|
|
|
309
309
|
var selectRow = reactData.selectRow;
|
|
310
310
|
var radioOpts = computeRadioOpts.value;
|
|
311
311
|
var slots = column.slots;
|
|
312
|
-
var labelField = radioOpts.labelField, checkMethod = radioOpts.checkMethod;
|
|
312
|
+
var labelField = radioOpts.labelField, checkMethod = radioOpts.checkMethod, visibleMethod = radioOpts.visibleMethod;
|
|
313
313
|
var row = params.row;
|
|
314
314
|
var defaultSlot = slots ? slots.default : null;
|
|
315
315
|
var radioSlot = slots ? slots.radio : null;
|
|
316
316
|
var isChecked = row === selectRow;
|
|
317
|
+
var isVisible = !visibleMethod || visibleMethod({ row: row });
|
|
317
318
|
var isDisabled = !!checkMethod;
|
|
318
319
|
var ons;
|
|
319
320
|
if (!isHidden) {
|
|
320
321
|
ons = {
|
|
321
322
|
onClick: function (evnt) {
|
|
322
|
-
if (!isDisabled) {
|
|
323
|
+
if (!isDisabled && isVisible) {
|
|
323
324
|
$table.triggerRadioRowEvent(evnt, params);
|
|
324
325
|
}
|
|
325
326
|
}
|
|
@@ -328,23 +329,28 @@ export var Cell = {
|
|
|
328
329
|
isDisabled = !checkMethod({ row: row });
|
|
329
330
|
}
|
|
330
331
|
}
|
|
331
|
-
var radioParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled });
|
|
332
|
-
|
|
332
|
+
var radioParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible });
|
|
333
|
+
if (radioSlot) {
|
|
334
|
+
return $table.callSlot(radioSlot, radioParams);
|
|
335
|
+
}
|
|
336
|
+
var radioVNs = [];
|
|
337
|
+
if (isVisible) {
|
|
338
|
+
radioVNs.push(h('span', {
|
|
339
|
+
class: 'vxe-radio--icon vxe-radio--checked-icon'
|
|
340
|
+
}), h('span', {
|
|
341
|
+
class: 'vxe-radio--icon vxe-radio--unchecked-icon'
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
if (defaultSlot || labelField) {
|
|
345
|
+
radioVNs.push(h('span', {
|
|
346
|
+
class: 'vxe-radio--label'
|
|
347
|
+
}, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : XEUtils.get(row, labelField)));
|
|
348
|
+
}
|
|
349
|
+
return [
|
|
333
350
|
h('span', __assign({ class: ['vxe-cell--radio', {
|
|
334
351
|
'is--checked': isChecked,
|
|
335
352
|
'is--disabled': isDisabled
|
|
336
|
-
}] }, ons),
|
|
337
|
-
h('span', {
|
|
338
|
-
class: 'vxe-radio--icon vxe-radio--checked-icon'
|
|
339
|
-
}),
|
|
340
|
-
h('span', {
|
|
341
|
-
class: 'vxe-radio--icon vxe-radio--unchecked-icon'
|
|
342
|
-
})
|
|
343
|
-
].concat(defaultSlot || labelField ? [
|
|
344
|
-
h('span', {
|
|
345
|
-
class: 'vxe-radio--label'
|
|
346
|
-
}, defaultSlot ? $table.callSlot(defaultSlot, radioParams) : XEUtils.get(row, labelField))
|
|
347
|
-
] : []))
|
|
353
|
+
}] }, ons), radioVNs)
|
|
348
354
|
];
|
|
349
355
|
},
|
|
350
356
|
renderTreeRadioCell: function (params) {
|
|
@@ -416,19 +422,20 @@ export var Cell = {
|
|
|
416
422
|
var selection = reactData.selection, treeIndeterminates = reactData.treeIndeterminates;
|
|
417
423
|
var computeCheckboxOpts = $table.getComputeMaps().computeCheckboxOpts;
|
|
418
424
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
419
|
-
var labelField = checkboxOpts.labelField, checkMethod = checkboxOpts.checkMethod;
|
|
425
|
+
var labelField = checkboxOpts.labelField, checkMethod = checkboxOpts.checkMethod, visibleMethod = checkboxOpts.visibleMethod;
|
|
420
426
|
var slots = column.slots;
|
|
421
427
|
var defaultSlot = slots ? slots.default : null;
|
|
422
428
|
var checkboxSlot = slots ? slots.checkbox : null;
|
|
423
429
|
var indeterminate = false;
|
|
424
430
|
var isChecked = false;
|
|
431
|
+
var isVisible = !visibleMethod || visibleMethod({ row: row });
|
|
425
432
|
var isDisabled = !!checkMethod;
|
|
426
433
|
var ons;
|
|
427
434
|
if (!isHidden) {
|
|
428
435
|
isChecked = $table.findRowIndexOf(selection, row) > -1;
|
|
429
436
|
ons = {
|
|
430
437
|
onClick: function (evnt) {
|
|
431
|
-
if (!isDisabled) {
|
|
438
|
+
if (!isDisabled && isVisible) {
|
|
432
439
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
433
440
|
}
|
|
434
441
|
}
|
|
@@ -440,27 +447,31 @@ export var Cell = {
|
|
|
440
447
|
indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
|
|
441
448
|
}
|
|
442
449
|
}
|
|
443
|
-
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, indeterminate: indeterminate });
|
|
444
|
-
|
|
450
|
+
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: indeterminate });
|
|
451
|
+
if (checkboxSlot) {
|
|
452
|
+
return $table.callSlot(checkboxSlot, checkboxParams);
|
|
453
|
+
}
|
|
454
|
+
var checkVNs = [];
|
|
455
|
+
if (isVisible) {
|
|
456
|
+
checkVNs.push(h('span', {
|
|
457
|
+
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
458
|
+
}), h('span', {
|
|
459
|
+
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
460
|
+
}), h('span', {
|
|
461
|
+
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
462
|
+
}));
|
|
463
|
+
}
|
|
464
|
+
if (defaultSlot || labelField) {
|
|
465
|
+
checkVNs.push(h('span', {
|
|
466
|
+
class: 'vxe-checkbox--label'
|
|
467
|
+
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField)));
|
|
468
|
+
}
|
|
469
|
+
return [
|
|
445
470
|
h('span', __assign({ class: ['vxe-cell--checkbox', {
|
|
446
471
|
'is--checked': isChecked,
|
|
447
472
|
'is--disabled': isDisabled,
|
|
448
473
|
'is--indeterminate': indeterminate
|
|
449
|
-
}] }, ons),
|
|
450
|
-
h('span', {
|
|
451
|
-
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
452
|
-
}),
|
|
453
|
-
h('span', {
|
|
454
|
-
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
455
|
-
}),
|
|
456
|
-
h('span', {
|
|
457
|
-
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
458
|
-
})
|
|
459
|
-
].concat(defaultSlot || labelField ? [
|
|
460
|
-
h('span', {
|
|
461
|
-
class: 'vxe-checkbox--label'
|
|
462
|
-
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField))
|
|
463
|
-
] : []))
|
|
474
|
+
}] }, ons), checkVNs)
|
|
464
475
|
];
|
|
465
476
|
},
|
|
466
477
|
renderTreeSelectionCell: function (params) {
|
|
@@ -473,19 +484,20 @@ export var Cell = {
|
|
|
473
484
|
var treeIndeterminates = reactData.treeIndeterminates;
|
|
474
485
|
var computeCheckboxOpts = $table.getComputeMaps().computeCheckboxOpts;
|
|
475
486
|
var checkboxOpts = computeCheckboxOpts.value;
|
|
476
|
-
var labelField = checkboxOpts.labelField, property = checkboxOpts.checkField, halfField = checkboxOpts.halfField, checkMethod = checkboxOpts.checkMethod;
|
|
487
|
+
var labelField = checkboxOpts.labelField, property = checkboxOpts.checkField, halfField = checkboxOpts.halfField, checkMethod = checkboxOpts.checkMethod, visibleMethod = checkboxOpts.visibleMethod;
|
|
477
488
|
var slots = column.slots;
|
|
478
489
|
var defaultSlot = slots ? slots.default : null;
|
|
479
490
|
var checkboxSlot = slots ? slots.checkbox : null;
|
|
480
491
|
var indeterminate = false;
|
|
481
492
|
var isChecked = false;
|
|
493
|
+
var isVisible = !visibleMethod || visibleMethod({ row: row });
|
|
482
494
|
var isDisabled = !!checkMethod;
|
|
483
495
|
var ons;
|
|
484
496
|
if (!isHidden) {
|
|
485
497
|
isChecked = XEUtils.get(row, property);
|
|
486
498
|
ons = {
|
|
487
499
|
onClick: function (evnt) {
|
|
488
|
-
if (!isDisabled) {
|
|
500
|
+
if (!isDisabled && isVisible) {
|
|
489
501
|
$table.triggerCheckRowEvent(evnt, params, !isChecked);
|
|
490
502
|
}
|
|
491
503
|
}
|
|
@@ -497,27 +509,31 @@ export var Cell = {
|
|
|
497
509
|
indeterminate = $table.findRowIndexOf(treeIndeterminates, row) > -1;
|
|
498
510
|
}
|
|
499
511
|
}
|
|
500
|
-
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, indeterminate: indeterminate });
|
|
501
|
-
|
|
512
|
+
var checkboxParams = __assign(__assign({}, params), { checked: isChecked, disabled: isDisabled, visible: isVisible, indeterminate: indeterminate });
|
|
513
|
+
if (checkboxSlot) {
|
|
514
|
+
return $table.callSlot(checkboxSlot, checkboxParams);
|
|
515
|
+
}
|
|
516
|
+
var checkVNs = [];
|
|
517
|
+
if (isVisible) {
|
|
518
|
+
checkVNs.push(h('span', {
|
|
519
|
+
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
520
|
+
}), h('span', {
|
|
521
|
+
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
522
|
+
}), h('span', {
|
|
523
|
+
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
524
|
+
}));
|
|
525
|
+
if (defaultSlot || labelField) {
|
|
526
|
+
checkVNs.push(h('span', {
|
|
527
|
+
class: 'vxe-checkbox--label'
|
|
528
|
+
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField)));
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
return [
|
|
502
532
|
h('span', __assign({ class: ['vxe-cell--checkbox', {
|
|
503
533
|
'is--checked': isChecked,
|
|
504
534
|
'is--disabled': isDisabled,
|
|
505
535
|
'is--indeterminate': halfField && !isChecked ? row[halfField] : indeterminate
|
|
506
|
-
}] }, ons),
|
|
507
|
-
h('span', {
|
|
508
|
-
class: 'vxe-checkbox--icon vxe-checkbox--checked-icon'
|
|
509
|
-
}),
|
|
510
|
-
h('span', {
|
|
511
|
-
class: 'vxe-checkbox--icon vxe-checkbox--unchecked-icon'
|
|
512
|
-
}),
|
|
513
|
-
h('span', {
|
|
514
|
-
class: 'vxe-checkbox--icon vxe-checkbox--indeterminate-icon'
|
|
515
|
-
})
|
|
516
|
-
].concat(defaultSlot || labelField ? [
|
|
517
|
-
h('span', {
|
|
518
|
-
class: 'vxe-checkbox--label'
|
|
519
|
-
}, defaultSlot ? $table.callSlot(defaultSlot, checkboxParams) : XEUtils.get(row, labelField))
|
|
520
|
-
] : []))
|
|
536
|
+
}] }, ons), checkVNs)
|
|
521
537
|
];
|
|
522
538
|
},
|
|
523
539
|
renderTreeSelectionCellByProp: function (params) {
|
package/es/table/src/props.js
CHANGED
|
@@ -94,8 +94,11 @@ export default {
|
|
|
94
94
|
autoResize: { type: Boolean, default: function () { return GlobalConfig.table.autoResize; } },
|
|
95
95
|
// 是否自动根据状态属性去更新响应式表格宽高
|
|
96
96
|
syncResize: [Boolean, String, Number],
|
|
97
|
-
//
|
|
97
|
+
// 列配置信息
|
|
98
98
|
columnConfig: Object,
|
|
99
|
+
// 行配置信息
|
|
100
|
+
rowConfig: Object,
|
|
101
|
+
// 列调整配置项
|
|
99
102
|
resizableConfig: Object,
|
|
100
103
|
// 序号配置项
|
|
101
104
|
seqConfig: Object,
|