vxe-table 4.12.0-beta.9 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +45 -36
- package/es/locale/lang/ar-EG.js +7 -1
- package/es/locale/lang/de-DE.js +7 -1
- package/es/locale/lang/en-US.js +7 -1
- package/es/locale/lang/es-ES.js +7 -1
- package/es/locale/lang/fr-FR.js +7 -1
- package/es/locale/lang/hu-HU.js +7 -1
- package/es/locale/lang/hy-AM.js +7 -1
- package/es/locale/lang/id-ID.js +7 -1
- package/es/locale/lang/it-IT.js +7 -1
- package/es/locale/lang/ja-JP.js +7 -1
- package/es/locale/lang/ko-KR.js +7 -1
- package/es/locale/lang/nb-NO.js +7 -1
- package/es/locale/lang/pt-BR.js +7 -1
- package/es/locale/lang/ru-RU.js +7 -1
- package/es/locale/lang/th-TH.js +7 -1
- package/es/locale/lang/ug-CN.js +7 -1
- package/es/locale/lang/uk-UA.js +7 -1
- package/es/locale/lang/vi-VN.js +7 -1
- package/es/locale/lang/zh-CHT.js +7 -1
- package/es/locale/lang/zh-CN.js +7 -1
- package/es/style.css +1 -1
- package/es/table/module/custom/hook.js +1 -1
- package/es/table/module/custom/panel.js +4 -2
- package/es/table/module/edit/hook.js +11 -12
- package/es/table/module/export/export-panel.js +3 -2
- package/es/table/module/export/import-panel.js +3 -2
- package/es/table/module/filter/panel.js +12 -2
- package/es/table/module/keyboard/hook.js +105 -30
- package/es/table/module/menu/hook.js +2 -1
- package/es/table/module/validator/hook.js +4 -3
- package/es/table/render/index.js +3 -3
- package/es/table/src/body.js +40 -21
- package/es/table/src/cell.js +43 -24
- package/es/table/src/columnInfo.js +2 -2
- package/es/table/src/footer.js +12 -7
- package/es/table/src/header.js +12 -7
- package/es/table/src/props.js +4 -0
- package/es/table/src/table.js +435 -420
- package/es/table/src/util.js +34 -6
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/grid/src/grid.js +42 -40
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.umd.js +500 -292
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +7 -1
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +7 -1
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +7 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +7 -1
- package/lib/locale/lang/es-ES.js +7 -1
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +7 -1
- package/lib/locale/lang/fr-FR.js +7 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +7 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +7 -1
- package/lib/locale/lang/hy-AM.js +7 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +7 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +7 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +7 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +7 -1
- package/lib/locale/lang/ko-KR.js +7 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +7 -1
- package/lib/locale/lang/nb-NO.js +7 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +7 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +7 -1
- package/lib/locale/lang/ru-RU.js +7 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +7 -1
- package/lib/locale/lang/th-TH.js +7 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +7 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +7 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +7 -1
- package/lib/locale/lang/vi-VN.js +7 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +7 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +7 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +7 -1
- package/lib/style.css +1 -1
- package/lib/table/module/custom/hook.js +1 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +4 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/edit/hook.js +13 -13
- package/lib/table/module/edit/hook.min.js +1 -1
- package/lib/table/module/export/export-panel.js +3 -2
- package/lib/table/module/export/export-panel.min.js +1 -1
- package/lib/table/module/export/import-panel.js +3 -2
- package/lib/table/module/export/import-panel.min.js +1 -1
- package/lib/table/module/filter/panel.js +8 -2
- package/lib/table/module/filter/panel.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +113 -31
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/module/menu/hook.js +2 -1
- package/lib/table/module/menu/hook.min.js +1 -1
- package/lib/table/module/validator/hook.js +5 -4
- package/lib/table/module/validator/hook.min.js +1 -1
- package/lib/table/render/index.js +4 -3
- package/lib/table/render/index.min.js +1 -1
- package/lib/table/src/body.js +48 -20
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +49 -25
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +2 -4
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/footer.js +12 -5
- package/lib/table/src/footer.min.js +1 -1
- package/lib/table/src/header.js +12 -5
- package/lib/table/src/header.min.js +1 -1
- package/lib/table/src/props.js +4 -0
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +523 -456
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +36 -6
- package/lib/table/src/util.min.js +1 -1
- package/lib/ui/index.js +2 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +49 -42
- package/packages/locale/lang/ar-EG.ts +7 -1
- package/packages/locale/lang/de-DE.ts +7 -1
- package/packages/locale/lang/en-US.ts +7 -1
- package/packages/locale/lang/es-ES.ts +7 -1
- package/packages/locale/lang/fr-FR.ts +7 -1
- package/packages/locale/lang/hu-HU.ts +7 -1
- package/packages/locale/lang/hy-AM.ts +7 -1
- package/packages/locale/lang/id-ID.ts +7 -1
- package/packages/locale/lang/it-IT.ts +7 -1
- package/packages/locale/lang/ja-JP.ts +7 -1
- package/packages/locale/lang/ko-KR.ts +7 -1
- package/packages/locale/lang/nb-NO.ts +7 -1
- package/packages/locale/lang/pt-BR.ts +7 -1
- package/packages/locale/lang/ru-RU.ts +7 -1
- package/packages/locale/lang/th-TH.ts +7 -1
- package/packages/locale/lang/ug-CN.ts +7 -1
- package/packages/locale/lang/uk-UA.ts +7 -1
- package/packages/locale/lang/vi-VN.ts +7 -1
- package/packages/locale/lang/zh-CHT.ts +7 -1
- package/packages/locale/lang/zh-CN.ts +7 -1
- package/packages/table/module/custom/hook.ts +1 -1
- package/packages/table/module/custom/panel.ts +6 -2
- package/packages/table/module/edit/hook.ts +12 -12
- package/packages/table/module/export/export-panel.ts +4 -2
- package/packages/table/module/export/import-panel.ts +4 -2
- package/packages/table/module/filter/panel.ts +12 -2
- package/packages/table/module/keyboard/hook.ts +106 -32
- package/packages/table/module/menu/hook.ts +3 -1
- package/packages/table/module/validator/hook.ts +5 -3
- package/packages/table/render/index.ts +3 -4
- package/packages/table/src/body.ts +41 -21
- package/packages/table/src/cell.ts +43 -24
- package/packages/table/src/columnInfo.ts +3 -2
- package/packages/table/src/footer.ts +13 -7
- package/packages/table/src/header.ts +13 -7
- package/packages/table/src/props.ts +4 -0
- package/packages/table/src/table.ts +441 -418
- package/packages/table/src/util.ts +39 -6
- package/packages/ui/index.ts +1 -0
- /package/es/{iconfont.1741337003908.ttf → iconfont.1742955995631.ttf} +0 -0
- /package/es/{iconfont.1741337003908.woff → iconfont.1742955995631.woff} +0 -0
- /package/es/{iconfont.1741337003908.woff2 → iconfont.1742955995631.woff2} +0 -0
- /package/lib/{iconfont.1741337003908.ttf → iconfont.1742955995631.ttf} +0 -0
- /package/lib/{iconfont.1741337003908.woff → iconfont.1742955995631.woff} +0 -0
- /package/lib/{iconfont.1741337003908.woff2 → iconfont.1742955995631.woff2} +0 -0
|
@@ -48,8 +48,11 @@ hooks.add('tableKeyboardModule', {
|
|
|
48
48
|
computeMouseOpts,
|
|
49
49
|
computeTreeOpts,
|
|
50
50
|
computeRowOpts,
|
|
51
|
+
computeColumnOpts,
|
|
51
52
|
computeCellOpts,
|
|
52
|
-
computeDefaultRowHeight
|
|
53
|
+
computeDefaultRowHeight,
|
|
54
|
+
computeCurrentRowOpts,
|
|
55
|
+
computeCurrentColumnOpts
|
|
53
56
|
} = $xeTable.getComputeMaps();
|
|
54
57
|
function getCheckboxRangeRows(evnt, params, targetTrElem, trRect, offsetClientTop, moveRange) {
|
|
55
58
|
const {
|
|
@@ -323,6 +326,38 @@ hooks.add('tableKeyboardModule', {
|
|
|
323
326
|
}
|
|
324
327
|
}
|
|
325
328
|
};
|
|
329
|
+
const handleMoveSelected = (evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow) => {
|
|
330
|
+
const {
|
|
331
|
+
afterFullData,
|
|
332
|
+
visibleColumn
|
|
333
|
+
} = internalData;
|
|
334
|
+
const params = Object.assign({}, args);
|
|
335
|
+
const _rowIndex = $xeTable.getVTRowIndex(params.row);
|
|
336
|
+
const _columnIndex = $xeTable.getVTColumnIndex(params.column);
|
|
337
|
+
evnt.preventDefault();
|
|
338
|
+
if (isUpArrow && _rowIndex > 0) {
|
|
339
|
+
// 移动到上一行
|
|
340
|
+
params.rowIndex = _rowIndex - 1;
|
|
341
|
+
params.row = afterFullData[params.rowIndex];
|
|
342
|
+
} else if (isDwArrow && _rowIndex < afterFullData.length - 1) {
|
|
343
|
+
// 移动到下一行
|
|
344
|
+
params.rowIndex = _rowIndex + 1;
|
|
345
|
+
params.row = afterFullData[params.rowIndex];
|
|
346
|
+
} else if (isLeftArrow && _columnIndex) {
|
|
347
|
+
// 移动到左侧单元格
|
|
348
|
+
params.columnIndex = _columnIndex - 1;
|
|
349
|
+
params.column = visibleColumn[params.columnIndex];
|
|
350
|
+
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
351
|
+
// 移动到右侧单元格
|
|
352
|
+
params.columnIndex = _columnIndex + 1;
|
|
353
|
+
params.column = visibleColumn[params.columnIndex];
|
|
354
|
+
}
|
|
355
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
356
|
+
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
357
|
+
$xeTable.handleSelected(params, evnt);
|
|
358
|
+
});
|
|
359
|
+
return params;
|
|
360
|
+
};
|
|
326
361
|
const keyboardMethods = {
|
|
327
362
|
// 处理 Tab 键移动
|
|
328
363
|
moveTabSelected(args, isLeft, evnt) {
|
|
@@ -334,6 +369,10 @@ hooks.add('tableKeyboardModule', {
|
|
|
334
369
|
visibleColumn
|
|
335
370
|
} = internalData;
|
|
336
371
|
const editOpts = computeEditOpts.value;
|
|
372
|
+
const rowOpts = computeRowOpts.value;
|
|
373
|
+
const currentRowOpts = computeCurrentRowOpts.value;
|
|
374
|
+
const columnOpts = computeColumnOpts.value;
|
|
375
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
337
376
|
let targetRow;
|
|
338
377
|
let targetRowIndex;
|
|
339
378
|
let targetColumnIndex;
|
|
@@ -376,16 +415,26 @@ hooks.add('tableKeyboardModule', {
|
|
|
376
415
|
params.columnIndex = targetColumnIndex;
|
|
377
416
|
params.column = targetColumn;
|
|
378
417
|
params.cell = $xeTable.getCellElement(params.row, params.column);
|
|
418
|
+
if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
|
|
419
|
+
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
420
|
+
}
|
|
421
|
+
if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
|
|
422
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
423
|
+
}
|
|
379
424
|
if (editConfig) {
|
|
380
425
|
if (editOpts.trigger === 'click' || editOpts.trigger === 'dblclick') {
|
|
381
426
|
if (editOpts.mode === 'row') {
|
|
382
427
|
$xeTable.handleEdit(params, evnt);
|
|
383
428
|
} else {
|
|
384
|
-
$xeTable.scrollToRow(params.row, params.column).then(() =>
|
|
429
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
430
|
+
$xeTable.handleSelected(params, evnt);
|
|
431
|
+
});
|
|
385
432
|
}
|
|
386
433
|
}
|
|
387
434
|
} else {
|
|
388
|
-
$xeTable.scrollToRow(params.row, params.column).then(() =>
|
|
435
|
+
$xeTable.scrollToRow(params.row, params.column).then(() => {
|
|
436
|
+
$xeTable.handleSelected(params, evnt);
|
|
437
|
+
});
|
|
389
438
|
}
|
|
390
439
|
}
|
|
391
440
|
},
|
|
@@ -403,7 +452,6 @@ hooks.add('tableKeyboardModule', {
|
|
|
403
452
|
const treeOpts = computeTreeOpts.value;
|
|
404
453
|
const childrenField = treeOpts.children || treeOpts.childrenField;
|
|
405
454
|
let targetRow;
|
|
406
|
-
evnt.preventDefault();
|
|
407
455
|
if (currentRow) {
|
|
408
456
|
if (treeConfig) {
|
|
409
457
|
const {
|
|
@@ -429,6 +477,7 @@ hooks.add('tableKeyboardModule', {
|
|
|
429
477
|
targetRow = afterFullData[0];
|
|
430
478
|
}
|
|
431
479
|
if (targetRow) {
|
|
480
|
+
evnt.preventDefault();
|
|
432
481
|
const params = {
|
|
433
482
|
$table: $xeTable,
|
|
434
483
|
row: targetRow,
|
|
@@ -438,37 +487,70 @@ hooks.add('tableKeyboardModule', {
|
|
|
438
487
|
$xeTable.scrollToRow(targetRow).then(() => $xeTable.triggerCurrentRowEvent(evnt, params));
|
|
439
488
|
}
|
|
440
489
|
},
|
|
441
|
-
//
|
|
442
|
-
|
|
490
|
+
// 处理当前列方向键移动
|
|
491
|
+
moveCurrentColumn(isLeftArrow, isRightArrow, evnt) {
|
|
492
|
+
const {
|
|
493
|
+
currentColumn
|
|
494
|
+
} = reactData;
|
|
443
495
|
const {
|
|
444
|
-
afterFullData,
|
|
445
496
|
visibleColumn
|
|
446
497
|
} = internalData;
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
} else
|
|
456
|
-
|
|
457
|
-
params.rowIndex = _rowIndex + 1;
|
|
458
|
-
params.row = afterFullData[params.rowIndex];
|
|
459
|
-
} else if (isLeftArrow && _columnIndex) {
|
|
460
|
-
// 移动到左侧单元格
|
|
461
|
-
params.columnIndex = _columnIndex - 1;
|
|
462
|
-
params.column = visibleColumn[params.columnIndex];
|
|
463
|
-
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
464
|
-
// 移动到右侧单元格
|
|
465
|
-
params.columnIndex = _columnIndex + 1;
|
|
466
|
-
params.column = visibleColumn[params.columnIndex];
|
|
498
|
+
let targetCol = null;
|
|
499
|
+
if (currentColumn) {
|
|
500
|
+
const _columnIndex = $xeTable.getVTColumnIndex(currentColumn);
|
|
501
|
+
if (isLeftArrow && _columnIndex > 0) {
|
|
502
|
+
targetCol = visibleColumn[_columnIndex - 1];
|
|
503
|
+
} else if (isRightArrow && _columnIndex < visibleColumn.length - 1) {
|
|
504
|
+
targetCol = visibleColumn[_columnIndex + 1];
|
|
505
|
+
}
|
|
506
|
+
} else {
|
|
507
|
+
targetCol = visibleColumn[0];
|
|
467
508
|
}
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
509
|
+
if (targetCol) {
|
|
510
|
+
evnt.preventDefault();
|
|
511
|
+
const params = {
|
|
512
|
+
$table: $xeTable,
|
|
513
|
+
column: targetCol,
|
|
514
|
+
columnIndex: $xeTable.getColumnIndex(targetCol),
|
|
515
|
+
$columnIndex: $xeTable.getVMColumnIndex(targetCol)
|
|
516
|
+
};
|
|
517
|
+
$xeTable.scrollToColumn(targetCol).then(() => $xeTable.triggerCurrentColumnEvent(evnt, params));
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
// 处理可编辑方向键移动
|
|
521
|
+
moveArrowSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
522
|
+
const {
|
|
523
|
+
highlightCurrentRow,
|
|
524
|
+
highlightCurrentColumn
|
|
525
|
+
} = props;
|
|
526
|
+
const rowOpts = computeRowOpts.value;
|
|
527
|
+
const columnOpts = computeColumnOpts.value;
|
|
528
|
+
handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
529
|
+
// 当前行按键上下移动
|
|
530
|
+
if ((isUpArrow || isDwArrow) && (rowOpts.isCurrent || highlightCurrentRow)) {
|
|
531
|
+
$xeTable.moveCurrentRow(isUpArrow, isDwArrow, evnt);
|
|
532
|
+
}
|
|
533
|
+
// 当前行按键左右移动
|
|
534
|
+
if ((isLeftArrow || isRightArrow) && (columnOpts.isCurrent || highlightCurrentColumn)) {
|
|
535
|
+
$xeTable.moveCurrentColumn(isLeftArrow, isRightArrow, evnt);
|
|
536
|
+
}
|
|
537
|
+
},
|
|
538
|
+
moveEnterSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
539
|
+
const rowOpts = computeRowOpts.value;
|
|
540
|
+
const currentRowOpts = computeCurrentRowOpts.value;
|
|
541
|
+
const columnOpts = computeColumnOpts.value;
|
|
542
|
+
const currentColumnOpts = computeCurrentColumnOpts.value;
|
|
543
|
+
const params = handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
544
|
+
if (rowOpts.isCurrent && currentRowOpts.isFollowSelected) {
|
|
545
|
+
$xeTable.triggerCurrentRowEvent(evnt, params);
|
|
546
|
+
}
|
|
547
|
+
if (columnOpts.isCurrent && currentColumnOpts.isFollowSelected) {
|
|
548
|
+
$xeTable.triggerCurrentColumnEvent(evnt, params);
|
|
549
|
+
}
|
|
550
|
+
},
|
|
551
|
+
// 已废弃,待删除
|
|
552
|
+
moveSelected(args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow, evnt) {
|
|
553
|
+
handleMoveSelected(evnt, args, isLeftArrow, isUpArrow, isRightArrow, isDwArrow);
|
|
472
554
|
},
|
|
473
555
|
handleCellMousedownEvent
|
|
474
556
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let hooks=_ui.VxeUI.hooks;function getTargetOffset(e,t){let l=0,o=0;var r,n,
|
|
1
|
+
var _xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let hooks=_ui.VxeUI.hooks;function getTargetOffset(e,t){let l=0,o=0;var r,n,u=!_dom.browse.firefox&&(0,_dom.hasClass)(e,"vxe-checkbox--label");for(u&&(r=getComputedStyle(e),l-=_xeUtils.default.toNumber(r.paddingTop),o-=_xeUtils.default.toNumber(r.paddingLeft));e&&e!==t;)l+=e.offsetTop,o+=e.offsetLeft,e=e.offsetParent,u&&(n=getComputedStyle(e),l-=_xeUtils.default.toNumber(n.paddingTop),o-=_xeUtils.default.toNumber(n.paddingLeft));return{offsetTop:l,offsetLeft:o}}hooks.add("tableKeyboardModule",{setupTable(M){let{props:S,reactData:y,internalData:D}=M,O=M.getRefMaps().refElem,{computeEditOpts:v,computeCheckboxOpts:a,computeMouseOpts:s,computeTreeOpts:c,computeRowOpts:H,computeColumnOpts:p,computeCellOpts:V,computeDefaultRowHeight:F,computeCurrentRowOpts:C,computeCurrentColumnOpts:w}=M.getComputeMaps();let d=(e,k)=>{var t=D.elemStore,l=(0,_util.getRefElem)(t["main-body-scroll"]),o=(0,_util.getRefElem)(t["left-body-scroll"]),t=(0,_util.getRefElem)(t["right-body-scroll"]),{column:r,cell:n}=k;if("checkbox"===r.type){let _=l;if(o&&"left"===r.fixed?_=o:t&&"right"===r.fixed&&(_=t),_){let t=O.value,i=e.clientX,a=e.clientY,s=_.querySelector(".vxe-table--checkbox-range"),c=n.parentElement,d=M.getCheckboxRecords(),g=[],h=1;l=getTargetOffset(e.target,_);let m=l.offsetTop+e.offsetY,f=l.offsetLeft+e.offsetX,v=_.scrollTop,u=c.offsetHeight,p=c.getBoundingClientRect(),C=a-p.y,w=null,x=!1,b=1,R=(e,t)=>{M.dispatchEvent("checkbox-range-"+e,{records:M.getCheckboxRecords(),reserves:M.getCheckboxReserveRecords()},t)},T=e=>{var{clientX:t,clientY:l}=e,t=t-i,l=l-a+(_.scrollTop-v);let o=Math.abs(l),r=Math.abs(t),n=m,u=f;l<h?(n+=l)<h&&(n=h,o=m):o=Math.min(o,_.scrollHeight-m-h),t<h?(u+=t,r>f&&(u=h,r=f)):r=Math.min(r,_.clientWidth-f-h),s.style.height=o+"px",s.style.width=r+"px",s.style.left=u+"px",s.style.top=n+"px",s.style.display="block";t=((e,t,l,o,r)=>{var n=S.showOverflow,{fullAllDataRowIdData:u,isResizeCellHeight:i}=D,a=H.value,s=V.value,c=F.value,e=e.row;let d=0,g=[],h=0;var m=0<r,f=y.scrollYLoad,v=D.afterFullData;if(h=m?o+r:l.height-o+Math.abs(r),f){l=M.getVTRowIndex(e);if(!(i||s.height||a.height)&&n)g=m?v.slice(l,l+Math.ceil(h/c)):v.slice(l-Math.floor(h/c),l+1);else if(m)for(let e=l;e<v.length;e++){var p=v[e],C=u[M.getRowid(p)]||{};if(d+=C.resizeHeight||s.height||a.height||C.height||c,g.push(p),d>h)return g}else for(let e=l;0<=e;e--){var w=v[e],x=u[M.getRowid(w)]||{};if(d+=x.resizeHeight||s.height||a.height||x.height||c,g.push(w),d>h)return g}}else for(var b=m?"next":"previous";t&&d<h;){var R=M.getRowNode(t);R&&(g.push(R.item),d+=t.offsetHeight,t=t[b+"ElementSibling"])}return g})(k,c,p,C,l<h?-o:o);10<o&&t.length!==g.length&&(g=t,e.ctrlKey?t.forEach(e=>{M.handleBatchSelectRows([e],-1===d.indexOf(e))}):(M.setAllCheckboxRow(!1),M.handleCheckedCheckboxRow(t,!0,!1)),R("change",e))},I=()=>{clearTimeout(w),w=null},E=n=>{I(),w=setTimeout(()=>{var e,t,l,o,r;w&&({scrollLeft:e,scrollTop:t,clientHeight:l,scrollHeight:o}=_,r=Math.ceil(50*b/u),x?t+l<o?(M.scrollTo(e,t+r),E(n),T(n)):I():t?(M.scrollTo(e,t-r),E(n),T(n)):I())},50)};(0,_dom.addClass)(t,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();var t=e.clientY,l=(0,_dom.getAbsolutePos)(_).boundingTop;t<l?(x=!1,b=l-t,w||E(e)):t>l+_.clientHeight?(x=!0,b=t-l-_.clientHeight,w||E(e)):w&&I(),T(e)},document.onmouseup=e=>{I(),(0,_dom.removeClass)(t,"drag--range"),s.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,R("end",e)},R("start",e)}}};let g=(e,t,l,o,r,n)=>{var{afterFullData:u,visibleColumn:i}=D;let a=Object.assign({},t);var t=M.getVTRowIndex(a.row),s=M.getVTColumnIndex(a.column);return e.preventDefault(),o&&0<t?(a.rowIndex=t-1,a.row=u[a.rowIndex]):n&&t<u.length-1?(a.rowIndex=t+1,a.row=u[a.rowIndex]):l&&s?(a.columnIndex=s-1,a.column=i[a.columnIndex]):r&&s<i.length-1&&(a.columnIndex=s+1,a.column=i[a.columnIndex]),M.scrollToRow(a.row,a.column).then(()=>{a.cell=M.getCellElement(a.row,a.column),M.handleSelected(a,e)}),a};return{moveTabSelected(e,t,l){var o=S.editConfig,{afterFullData:r,visibleColumn:n}=D,u=v.value,i=H.value,a=C.value,s=p.value,c=w.value;let d,g,h,m=Object.assign({},e);var e=M.getVTRowIndex(m.row),f=M.getVTColumnIndex(m.column),t=(l.preventDefault(),t?f<=0?0<e&&(g=e-1,d=r[g],h=n.length-1):h=f-1:f>=n.length-1?e<r.length-1&&(g=e+1,d=r[g],h=0):h=f+1,n[h]);t&&(d?(m.rowIndex=g,m.row=d):m.rowIndex=e,m.columnIndex=h,m.column=t,m.cell=M.getCellElement(m.row,m.column),i.isCurrent&&a.isFollowSelected&&M.triggerCurrentRowEvent(l,m),s.isCurrent&&c.isFollowSelected&&M.triggerCurrentColumnEvent(l,m),o?"click"!==u.trigger&&"dblclick"!==u.trigger||("row"===u.mode?M.handleEdit(m,l):M.scrollToRow(m.row,m.column).then(()=>{M.handleSelected(m,l)})):M.scrollToRow(m.row,m.column).then(()=>{M.handleSelected(m,l)}))},moveCurrentRow(e,t,l){var o=S.treeConfig;let r=y.currentRow;var n=D.afterFullData,u=c.value,u=u.children||u.childrenField;let i;if(r?o?({index:o,items:u}=_xeUtils.default.findTree(n,e=>e===r,{children:u}),e&&0<o?i=u[o-1]:t&&o<u.length-1&&(i=u[o+1])):(u=M.getVTRowIndex(r),e&&0<u?i=n[u-1]:t&&u<n.length-1&&(i=n[u+1])):i=n[0],i){l.preventDefault();let e={$table:M,row:i,rowIndex:M.getRowIndex(i),$rowIndex:M.getVMRowIndex(i)};M.scrollToRow(i).then(()=>M.triggerCurrentRowEvent(l,e))}},moveCurrentColumn(e,t,l){var o=y.currentColumn,r=D.visibleColumn;let n=null;if(o?(o=M.getVTColumnIndex(o),e&&0<o?n=r[o-1]:t&&o<r.length-1&&(n=r[o+1])):n=r[0],n){l.preventDefault();let e={$table:M,column:n,columnIndex:M.getColumnIndex(n),$columnIndex:M.getVMColumnIndex(n)};M.scrollToColumn(n).then(()=>M.triggerCurrentColumnEvent(l,e))}},moveArrowSelected(e,t,l,o,r,n){var{highlightCurrentRow:u,highlightCurrentColumn:i}=S,a=H.value,s=p.value;g(n,e,t,l,o,r),(l||r)&&(a.isCurrent||u)&&M.moveCurrentRow(l,r,n),(t||o)&&(s.isCurrent||i)&&M.moveCurrentColumn(t,o,n)},moveEnterSelected(e,t,l,o,r,n){var u=H.value,i=C.value,a=p.value,s=w.value,e=g(n,e,t,l,o,r);u.isCurrent&&i.isFollowSelected&&M.triggerCurrentRowEvent(n,e),a.isCurrent&&s.isFollowSelected&&M.triggerCurrentColumnEvent(n,e)},moveSelected(e,t,l,o,r,n){g(n,e,t,l,o,r)},handleCellMousedownEvent:(e,t)=>{var{editConfig:l,checkboxConfig:o,mouseConfig:r}=S,n=a.value,u=s.value,i=v.value;if(r&&u.area&&M.handleCellAreaMousedownEvent)return M.handleCellAreaMousedownEvent(e,t);o&&n.range&&d(e,t),r&&u.selected&&(l&&"cell"!==i.mode||M.handleSelected(t,e))}}}});
|
|
@@ -345,13 +345,14 @@ hooks.add('tableMenuModule', {
|
|
|
345
345
|
* 快捷菜单点击事件
|
|
346
346
|
*/
|
|
347
347
|
ctxMenuLinkEvent(evnt, menu) {
|
|
348
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
348
349
|
// 如果一级菜单有配置 code 则允许点击,否则不能点击
|
|
349
350
|
if (!menu.disabled && (menu.code || !menu.children || !menu.children.length)) {
|
|
350
351
|
const gMenuOpts = menus.get(menu.code);
|
|
351
352
|
const params = Object.assign({}, internalData._currMenuParams, {
|
|
352
353
|
menu,
|
|
353
354
|
$table: $xeTable,
|
|
354
|
-
$grid: $
|
|
355
|
+
$grid: $xeGrid,
|
|
355
356
|
$event: evnt
|
|
356
357
|
});
|
|
357
358
|
const tmMethod = gMenuOpts ? gMenuOpts.tableMenuMethod || gMenuOpts.menuMethod : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){let{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:t,computeMenuOpts:y}=b.getComputeMaps(),w,r={},L=(l,n,v)=>{let f=M.ctxMenuStore;var o=t.value,e=y.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,b.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),b.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{E._currMenuParams=v,Object.assign(f,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(f.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},r={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&r.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E.visibleColumn,u=_.value,s=C.value,r=T.value,a=y.value,d=x.value,n=n.selected,c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&s&&(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){s=b.getActiveCellArea();if(s&&s.row&&s.column)return o.row=s.row,o.column=s.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}u&&!(0,_dom.getEventTargetNode)(t,u.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=M.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_dom=require("../../../ui/src/dom"),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{menus,hooks,globalEvents,GLOBAL_EVENT_KEYS}=_ui.VxeUI,tableMenuMethodKeys=["closeMenu"];hooks.add("tableMenuModule",{setupTable(b){let{xID:m,props:p,reactData:M,internalData:E}=b,{refElem:x,refTableFilter:_,refTableMenu:C}=b.getRefMaps(),{computeMouseOpts:T,computeIsMenu:t,computeMenuOpts:y}=b.getComputeMaps(),w,r={},L=(l,n,v)=>{let f=M.ctxMenuStore;var o=t.value,e=y.value,n=e[n];let i=e.visibleMethod;if(n){let{options:t,disabled:e}=n;e?l.preventDefault():o&&t&&t.length&&(v.options=t,b.preventEvent(l,"event.showMenu",v,()=>{if(!i||i(v)){l.preventDefault(),b.updateZindex();let{scrollTop:o,scrollLeft:i,visibleHeight:u,visibleWidth:s}=(0,_dom.getDomNode)(),r=l.clientY+o,a=l.clientX+i,n=()=>{E._currMenuParams=v,Object.assign(f,{visible:!0,list:t,selected:null,selectChild:null,showChild:!1,style:{zIndex:E.tZindex,top:r+"px",left:a+"px"}}),(0,_vue.nextTick)(()=>{var e=C.value.getRefMaps().refElem.value,t=e.clientHeight,l=e.clientWidth,{boundingTop:e,boundingLeft:n}=(0,_dom.getAbsolutePos)(e),e=e+t-u,n=n+l-s;-10<e&&(f.style.top=Math.max(o+2,r-t-2)+"px"),-10<n&&(f.style.left=Math.max(i+2,a-l-2)+"px")})},{keyboard:e,row:d,column:c}=v;e&&d&&c?b.scrollToRow(d,c).then(()=>{var e,t,l=b.getCellElement(d,c);l&&({boundingTop:e,boundingLeft:t}=(0,_dom.getAbsolutePos)(l),r=e+o+Math.floor(l.offsetHeight/2),a=t+i+Math.floor(l.offsetWidth/2)),n()}):n()}else w.closeMenu()}))}b.closeFilter()};return w={closeMenu(){return Object.assign(M.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),(0,_vue.nextTick)()}},r={moveCtxMenu(e,t,l,n,o,i){let u;var s=_xeUtils.default.findIndexOf(i,e=>t[l]===e);if(n)o&&(0,_utils.hasChildrenList)(t.selected)?t.showChild=!0:(t.showChild=!1,t.selectChild=null);else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_UP)){for(let e=s-1;0<=e;e--)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[i.length-1]}else if(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ARROW_DOWN)){for(let e=s+1;e<i.length;e++)if(!1!==i[e].visible){u=i[e];break}t[l]=u||i[0]}else t[l]&&(globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ENTER)||globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.SPACEBAR))&&r.ctxMenuLinkEvent(e,t[l])},handleOpenMenuEvent:L,handleGlobalContextmenuEvent(t){var{mouseConfig:e,menuConfig:l}=p,{editStore:n,ctxMenuStore:o}=M,i=E.visibleColumn,u=_.value,s=C.value,r=T.value,a=y.value,d=x.value,n=n.selected,c=["header","body","footer"];if((0,_utils.isEnableConf)(l)){if(o.visible&&s&&(0,_dom.getEventTargetNode)(t,s.getRefMaps().refElem.value).flag)return void t.preventDefault();if(E._keyCtx){l="body",o={type:l,$table:b,keyboard:!0,columns:i.slice(0),$event:t};if(e&&r.area){s=b.getActiveCellArea();if(s&&s.row&&s.column)return o.row=s.row,o.column=s.column,void L(t,l,o)}else if(e&&r.selected&&n.row&&n.column)return o.row=n.row,o.column=n.column,void L(t,l,o)}for(let e=0;e<c.length;e++){var v=c[e],f=(0,_dom.getEventTargetNode)(t,d,`vxe-${v}--column`,e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===m),g={type:v,$table:b,columns:i.slice(0),$event:t};if(f.flag){var f=f.targetElem,h=b.getColumnNode(f),h=h?h.item:null;let e=v+"-";h&&Object.assign(g,{column:h,columnIndex:b.getColumnIndex(h),cell:f}),"body"===v&&(f=(h=b.getRowNode(f.parentNode))?h.item:null,e="",f)&&(g.row=f,g.rowIndex=b.getRowIndex(f));h=e+"cell-menu";return L(t,v,g),void b.dispatchEvent(h,g,t)}if((0,_dom.getEventTargetNode)(t,d,`vxe-table--${v}-wrapper`,e=>e.getAttribute("xid")===m).flag)return void("cell"===a.trigger?t.preventDefault():L(t,v,g))}}u&&!(0,_dom.getEventTargetNode)(t,u.$el).flag&&b.closeFilter(),w.closeMenu()},ctxMenuMouseoverEvent(e,t,l){let a=e.currentTarget;var n=M.ctxMenuStore;e.preventDefault(),e.stopPropagation(),n.selected=t,(n.selectChild=l)||(n.showChild=(0,_utils.hasChildrenList)(t),n.showChild&&(0,_vue.nextTick)(()=>{var o=a.nextElementSibling;if(o){var{boundingTop:i,boundingLeft:u,visibleHeight:s,visibleWidth:r}=(0,_dom.getAbsolutePos)(a),i=i+a.offsetHeight;let e="",t="",l=(u+a.offsetWidth+o.offsetWidth>r-10&&(e="auto",t=a.offsetWidth+"px"),""),n="";i+o.offsetHeight>s-10&&(l="auto",n="0"),o.style.left=e,o.style.right=t,o.style.top=l,o.style.bottom=n}}))},ctxMenuMouseoutEvent(e,t){var l=M.ctxMenuStore;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){var l,n=b.xeGrid;t.disabled||!t.code&&t.children&&t.children.length||(l=menus.get(t.code),t=Object.assign({},E._currMenuParams,{menu:t,$table:b,$grid:n,$event:e}),(n=l?l.tableMenuMethod||l.menuMethod:null)&&n(t,e),b.dispatchEvent("menu-click",t,e),w.closeMenu())}},Object.assign(Object.assign({},w),r)},setupGrid(e){return e.extendTableMethods(tableMenuMethodKeys)}});
|
|
@@ -108,11 +108,11 @@ hooks.add('tableValidatorModule', {
|
|
|
108
108
|
treeConfig
|
|
109
109
|
} = props;
|
|
110
110
|
const {
|
|
111
|
-
editStore
|
|
112
|
-
pendingRowMaps
|
|
111
|
+
editStore
|
|
113
112
|
} = reactData;
|
|
114
113
|
const {
|
|
115
|
-
afterFullData
|
|
114
|
+
afterFullData,
|
|
115
|
+
pendingRowMaps
|
|
116
116
|
} = internalData;
|
|
117
117
|
const {
|
|
118
118
|
removeMaps
|
|
@@ -383,6 +383,7 @@ hooks.add('tableValidatorModule', {
|
|
|
383
383
|
* trigger=blur|change 触发方式(除非特殊场景,否则默认为空就行)
|
|
384
384
|
*/
|
|
385
385
|
validCellRules(validType, row, column, val) {
|
|
386
|
+
const $xeGrid = $xeTable.xeGrid;
|
|
386
387
|
const {
|
|
387
388
|
editRules
|
|
388
389
|
} = props;
|
|
@@ -414,7 +415,7 @@ hooks.add('tableValidatorModule', {
|
|
|
414
415
|
columnIndex: $xeTable.getColumnIndex(column),
|
|
415
416
|
field: column.field,
|
|
416
417
|
$table: $xeTable,
|
|
417
|
-
$grid: $
|
|
418
|
+
$grid: $xeGrid
|
|
418
419
|
};
|
|
419
420
|
let customValid;
|
|
420
421
|
if (_xeUtils.default.isString(validator)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util=require("../../src/util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,validators,hooks}=_ui.VxeUI;class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}let tableValidatorMethodKeys=["fullValidate","validate","fullValidateField","validateField","clearValidate"];hooks.add("tableValidatorModule",{setupTable(v){let{props:p,reactData:h,internalData:_}=v,g=v.getRefMaps().refValidTooltip,{computeValidOpts:x,computeTreeOpts:w,computeEditOpts:r}=v.getComputeMaps(),R={},U={},V,t=(e,t,u,a)=>{let s={},{editRules:o,treeConfig:r}=p;var i=h.editStore;let{afterFullData:l,pendingRowMaps:n}=_,d=i.removeMaps;i=w.value,i=i.children||i.childrenField;let c=x.value,g,f=(!0===e?g=l:e&&(_xeUtils.default.isFunction(e)?u=e:g=_xeUtils.default.isArray(e)?e:[e]),g=g||(v.getInsertRecords?v.getInsertRecords().concat(v.getUpdateRecords()):[]),[]),m=(_._lastCallTime=Date.now(),V=!1,R.clearValidate(),{});if(o){let l=t&&t.length?t:v.getColumns();e=i=>{var e=(0,_util.getRowid)(v,i);if(!d[e]&&!n[e]&&(a||!V)){let e=[];l.forEach(t=>{let r=_xeUtils.default.isString(t)?t:t.field;!a&&V||!_xeUtils.default.has(o,r)||e.push(U.validCellRules("all",i,t).catch(({rule:e,rules:l})=>{l={rule:e,rules:l,rowIndex:v.getRowIndex(i),row:i,columnIndex:v.getColumnIndex(t),column:t,field:r,$table:v};if(s[r]||(s[r]=[]),m[(0,_util.getRowid)(v,i)+":"+t.id]={column:t,row:i,rule:e,content:e.content},s[r].push(l),!a)return V=!0,Promise.reject(l)}))}),f.push(Promise.all(e))}};return r?_xeUtils.default.eachTree(g,e,{children:i}):g.forEach(e),Promise.all(f).then(()=>{let e=Object.keys(s);var l,t,r;return h.validErrorMaps=(l=m,"single"===x.value.msgMode?(t={},(r=Object.keys(l)).length&&(t[r=r[0]]=l[r]),t):l),(0,_vue.nextTick)().then(()=>{if(e.length)return Promise.reject(s[e[0]][0]);u&&u()})}).catch(a=>new Promise((e,l)=>{let t=()=>{(0,_vue.nextTick)(()=>{u?(u(s),e()):("obsolete"===getConfig().validToReject?l:e)(s)})};var r,i=()=>{var l;a.cell=v.getCellElement(a.row,a.column),(0,_dom.scrollToView)(a.cell),l=a,new Promise(e=>{!1===x.value.autoPos?(v.dispatchEvent("valid-error",l,null),e()):v.handleEdit(l,{type:"valid-error",trigger:"call"}).then(()=>{e(U.showValidTooltip(l))})}).then(t)};!1===c.autoPos?t():(r=a.row,v.scrollToRow(r,a.column).then(i))}))}return h.validErrorMaps={},(0,_vue.nextTick)().then(()=>{u&&u()})},E=(R={fullValidate(e,l){return"development"===process.env.NODE_ENV&&_xeUtils.default.isFunction(l)&&(0,_log.warnLog)("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),t(e,null,l,!0)},validate(e,l){return t(e,null,l)},fullValidateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));return l.length?t(e,l,null,!0):(0,_vue.nextTick)()},validateField(e,l){l=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e));return l.length?t(e,l,null):(0,_vue.nextTick)()},clearValidate(e,l){var r=h.validErrorMaps,t=g.value,i=x.value,e=_xeUtils.default.isArray(e)?e:e?[e]:[];let a=(_xeUtils.default.isArray(l)?l:l?[l]:[]).map(e=>(0,_util.handleFieldOrColumn)(v,e)),u={};if(t&&t.reactData.visible&&t.close(),"single"===i.msgMode)h.validErrorMaps={};else{if(e.length&&a.length)u=Object.assign({},r),e.forEach(l=>{a.forEach(e=>{e=(0,_util.getRowid)(v,l)+":"+e.id;u[e]&&delete u[e]})});else if(e.length){let t=e.map(e=>""+(0,_util.getRowid)(v,e));_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[0])&&(u[l]=e)})}else if(a.length){let t=a.map(e=>""+e.id);_xeUtils.default.each(r,(e,l)=>{-1<t.indexOf(l.split(":")[1])&&(u[l]=e)})}h.validErrorMaps=u}return(0,_vue.nextTick)()}},(e,l)=>{var{type:e,min:t,max:r,pattern:i}=e,e="number"===e,a=e?_xeUtils.default.toNumber(l):_xeUtils.default.getSize(l);return!(!e||!isNaN(l))||!_xeUtils.default.eqNull(t)&&a<_xeUtils.default.toNumber(t)||!_xeUtils.default.eqNull(r)&&a>_xeUtils.default.toNumber(r)||!(!i||(_xeUtils.default.isRegExp(i)?i:new RegExp(i)).test(l))});return U={validCellRules(e,d,c,l){let g=v.xeGrid;var t=p.editRules,r=c.field;let f=[],m=[];if(r&&t){let n=_xeUtils.default.get(t,r);if(n){let o=_xeUtils.default.isUndefined(l)?_xeUtils.default.get(d,r):l;n.forEach(l=>{let{type:t,trigger:r,required:i,validator:a}=l;if("all"===e||!r||e===r)if(a){var u={cellValue:o,rule:l,rules:n,row:d,rowIndex:v.getRowIndex(d),column:c,columnIndex:v.getColumnIndex(c),field:c.field,$table:v,$grid:g};let e;_xeUtils.default.isString(a)?(s=validators.get(a))?(s=s.tableCellValidatorMethod||s.cellValidatorMethod)?e=s(u):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(u),e&&(_xeUtils.default.isError(e)?(V=!0,f.push(new Rule({type:"custom",trigger:r,content:e.message,rule:new Rule(l)}))):e.catch&&m.push(e.catch(e=>{V=!0,f.push(new Rule({type:"custom",trigger:r,content:e&&e.message?e.message:l.content||l.message,rule:new Rule(l)}))})))}else{var s="array"===t,u=_xeUtils.default.isArray(o);let e=!0;e=s||u?!u||!o.length:_xeUtils.default.isString(o)?(0,_utils.eqEmptyValue)(o.trim()):(0,_utils.eqEmptyValue)(o),(i?e||E(l,o):!e&&E(l,o))&&(V=!0,f.push(new Rule(l)))}})}}return Promise.all(m).then(()=>{var e;if(f.length)return e={rules:f,rule:f[0]},Promise.reject(e)})},hasCellRules(l,e,t){var r=p.editRules,t=t.field;return!(!t||!r)&&(r=_xeUtils.default.get(r,t))&&!!_xeUtils.default.find(r,e=>"all"===l||!e.trigger||l===e.trigger)},triggerValidate(i){var{editConfig:e,editRules:l}=p,a=h.editStore,a=a.actived;let u=r.value;var t=x.value;if(l&&"single"===t.msgMode&&(h.validErrorMaps={}),e&&l&&a.row){let{row:l,column:t,cell:r}=a.args;if(U.hasCellRules(i,l,t))return U.validCellRules(i,l,t).then(()=>{"row"===u.mode&&R.clearValidate(l,t)}).catch(({rule:e})=>e.trigger&&i!==e.trigger?Promise.resolve():(e={rule:e,row:l,column:t,cell:r},U.showValidTooltip(e),Promise.reject(e)))}return Promise.resolve()},showValidTooltip(e){var l=p.height,{tableData:t,validStore:r,validErrorMaps:i}=h,{rule:a,row:u,column:s,cell:o}=e,n=x.value,d=g.value,c=a.content;return r.visible=!0,"single"===n.msgMode?h.validErrorMaps={[(0,_util.getRowid)(v,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}:h.validErrorMaps=Object.assign({},i,{[(0,_util.getRowid)(v,u)+":"+s.id]:{column:s,row:u,rule:a,content:c}}),v.dispatchEvent("valid-error",e,null),d&&("tooltip"===n.message||"default"===n.message&&!l&&t.length<2)?d.open(o,c):(0,_vue.nextTick)()}},Object.assign(Object.assign({},R),U)},setupGrid(e){return e.extendTableMethods(tableValidatorMethodKeys)}});
|
|
@@ -11,7 +11,8 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
11
11
|
const {
|
|
12
12
|
getConfig,
|
|
13
13
|
renderer,
|
|
14
|
-
getI18n
|
|
14
|
+
getI18n,
|
|
15
|
+
getComponent
|
|
15
16
|
} = _ui.VxeUI;
|
|
16
17
|
const componentDefaultModelProp = 'modelValue';
|
|
17
18
|
const defaultCompProps = {};
|
|
@@ -40,7 +41,7 @@ function getOldComponentName(name) {
|
|
|
40
41
|
function getDefaultComponent({
|
|
41
42
|
name
|
|
42
43
|
}) {
|
|
43
|
-
return (
|
|
44
|
+
return getComponent(name);
|
|
44
45
|
}
|
|
45
46
|
/**
|
|
46
47
|
* 已废弃
|
|
@@ -397,7 +398,7 @@ function oldEditRender(renderOpts, params) {
|
|
|
397
398
|
* @deprecated
|
|
398
399
|
*/
|
|
399
400
|
function oldButtonEditRender(renderOpts, params) {
|
|
400
|
-
return [(0, _vue.h)((
|
|
401
|
+
return [(0, _vue.h)(getComponent('vxe-button'), Object.assign(Object.assign({}, getCellEditProps(renderOpts, params, null)), getComponentOns(renderOpts, params)))];
|
|
401
402
|
}
|
|
402
403
|
/**
|
|
403
404
|
* 已废弃
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return(0,_vue.resolveComponent)(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_util=require("../../table/src/util"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,renderer,getI18n,getComponent}=_ui.VxeUI,componentDefaultModelProp="modelValue",defaultCompProps={};function handleDefaultValue(e,t,l){return _xeUtils.default.eqNull(e)?_xeUtils.default.eqNull(t)?l:t:e}function parseDate(e,t){return e&&t.valueFormat?_xeUtils.default.toStringDate(e,t.valueFormat):e}function getFormatDate(e,t,l){var{dateConfig:n={}}=t;return _xeUtils.default.toDateString(parseDate(e,t),n.labelFormat||l)}function getLabelFormatDate(e,t){return getFormatDate(e,t,getI18n("vxe.input.date.labelFormat."+(t.type||"date")))}function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){return getComponent(e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function handleConfirmFilter(e,t,l){e=e.$panel;e.changeOption({},t,l)}function getNativeAttrs(e){let{name:t,attrs:l}=e;return l="input"===t?Object.assign({type:"text"},l):l}function getInputImmediateModel(e){var{name:e,immediate:t,props:l}=e;return t||("VxeInput"===e||"$input"===e?(t=(l||{}).type,!(!t||"text"===t||"number"===t||"integer"===t||"float"===t)):"input"!==e&&"textarea"!==e&&"$textarea"!==e)}function getCellEditProps(e,t,l,n){return _xeUtils.default.assign({immediate:getInputImmediateModel(e)},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function getCellEditFilterProps(e,t,l,n){return _xeUtils.default.assign({},defaultCompProps,n,e.props,{[componentDefaultModelProp]:l})}function isImmediateCell(e,t){return"cell"===t.$type||getInputImmediateModel(e)}function getCellLabelVNs(e,t,l,n){e=e.placeholder;return[(0,_vue.h)("span",{class:["vxe-cell--label",n?n.class:""]},e&&(0,_utils.isEmptyValue)(l)?[(0,_vue.h)("span",{class:"vxe-cell--placeholder"},(0,_utils.formatText)((0,_utils.getFuncText)(e),1))]:(0,_utils.formatText)(l,1))]}function getNativeElementOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d=a===r,s={};return n&&_xeUtils.default.objectEach(n,(t,e)=>{s[(0,_vn.getOnName)(e)]=function(...e){t(l,...e)}}),o&&(s[(0,_vn.getOnName)(r)]=function(e){o(e),d&&u&&u(e),n&&n[r]&&n[r](l,e)}),!d&&u&&(s[(0,_vn.getOnName)(a)]=function(e){u(e),n&&n[a]&&n[a](l,e)}),i&&(s[(0,_vn.getOnName)(blurEvent)]=function(e){i(e),n&&n[blurEvent]&&n[blurEvent](l,e)}),s}let blurEvent="blur";function getComponentOns(e,l,t){let n=e.events,r=(0,_vn.getModelEvent)(e),a=(0,_vn.getChangeEvent)(e),{model:o,change:u,blur:i}=t||{},d={};return _xeUtils.default.objectEach(n,(t,e)=>{d[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(l,...e)}}),o&&(d[(0,_vn.getOnName)(r)]=function(e){o(e),n&&n[r]&&n[r](l,e)}),u&&(d[(0,_vn.getOnName)(a)]=function(...e){u(...e),n&&n[a]&&n[a](l,...e)}),i&&(d[(0,_vn.getOnName)(blurEvent)]=function(...e){i(...e),n&&n[blurEvent]&&n[blurEvent](l,...e)}),d}function getEditOns(e,t){let{$table:l,row:n,column:r}=t,a=e.name,o=r.model,u=isImmediateCell(e,t);return getComponentOns(e,t,{model(e){o.update=!0,o.value=e,u&&(0,_util.setCellValue)(n,r,e)},change(e){!u&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)?(e=e.value,o.update=!0,o.value=e,l.updateStatus(t,e)):l.updateStatus(t)},blur(){u?l.handleCellRuleUpdateStatus("blur",t):l.handleCellRuleUpdateStatus("blur",t,o.value)}})}function getFilterOns(e,t,l){return getComponentOns(e,t,{model(e){l.data=e},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function getNativeEditOns(t,l){let{$table:n,row:r,column:a}=l,o=a.model;return getNativeElementOns(t,l,{model(e){var e=e.target;e&&(e=e.value,isImmediateCell(t,l)?(0,_util.setCellValue)(r,a,e):(o.update=!0,o.value=e))},change(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))},blur(e){var e=e.target;e&&(e=e.value,n.updateStatus(l,e))}})}function getNativeFilterOns(e,t,l){return getNativeElementOns(e,t,{model(e){e=e.target;e&&(l.data=e.value)},change(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)},blur(){handleConfirmFilter(t,!_xeUtils.default.eqNull(l.data),l)}})}function nativeEditRender(e,t){var{row:l,column:n}=t,r=e.name,l=isImmediateCell(e,t)?(0,_util.getCellValue)(l,n):n.model.value;return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},getNativeAttrs(e)),{value:l}),getNativeEditOns(e,t)))]}function buttonCellRender(e,t){return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function defaultEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function radioAndCheckboxEditRender(e,t){var l=e.options,{row:n,column:r}=t,n=(0,_util.getCellValue)(n,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,n)),getEditOns(e,t)))]}function oldEditRender(e,t){var{row:l,column:n}=t,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l)),getEditOns(e,t)))]}function oldButtonEditRender(e,t){return[(0,_vue.h)(getComponent("vxe-button"),Object.assign(Object.assign({},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsEditRender(e,t){return e.children.map(e=>oldButtonEditRender(e,t)[0])}function renderNativeOptgroups(l,n,r){var{optionGroups:e,optionGroupProps:t={}}=l;let a=t.options||"options",o=t.label||"label";return e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[o]},r(e[a],l,n)))}function renderNativeOptions(e,t,l){var{optionProps:n={}}=t,{row:r,column:a}=l;let o=n.label||"label",u=n.value||"value",i=n.disabled||"disabled",d=isImmediateCell(t,l)?(0,_util.getCellValue)(r,a):a.model.value;return e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[u],disabled:e[i],selected:e[u]==d},e[o]))}function nativeFilterRender(l,n){var e=n.column;let r=l.name,a=getNativeAttrs(l);return e.filters.map((e,t)=>(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({key:t,class:"vxe-default-"+r},a),{value:e.data}),getNativeFilterOns(l,n,e))))}function defaultFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function oldFilterRender(n,r){var e=r.column;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,n,l)),getFilterOns(n,r,e)))})}function handleFilterMethod({option:e,row:t,column:l}){e=e.data;return _xeUtils.default.get(t,l.field)==e}function handleInputFilterMethod({option:e,row:t,column:l}){e=e.data,t=_xeUtils.default.get(t,l.field);return-1<_xeUtils.default.toValueString(t).indexOf(e)}function nativeSelectEditRender(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeEditOns(e,t)),e.optionGroups?renderNativeOptgroups(e,t,renderNativeOptions):renderNativeOptions(e.options,e,t))]}function defaultSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function defaultTableOrTreeSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a})),getEditOns(e,t)))]}function oldSelectEditRender(e,t){var{row:l,column:n}=t,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u}=e,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{options:r,optionProps:a,optionGroups:o,optionGroupProps:u})),getEditOns(e,t)))]}function getSelectCellValue(e,{row:t,column:l}){let{options:n,optionGroups:r,optionProps:a={},optionGroupProps:o={}}=e;e=_xeUtils.default.get(t,l.field);let u,i=a.label||"label",d=a.value||"value";return null!=e?_xeUtils.default.map(_xeUtils.default.isArray(e)?e:[e],r?t=>{var l=o.options||"options";for(let e=0;e<r.length&&!(u=_xeUtils.default.find(r[e][l],e=>e[d]==t));e++);return u?u[i]:t}:t=>(u=_xeUtils.default.find(n,e=>e[d]==t))?u[i]:t).join(", "):""}function handleExportSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getSelectCellValue(l.editRender||l.cellRender,e)}function getTreeSelectCellValue(e,{row:l,column:n}){var{options:e,optionProps:t={}}=e,l=_xeUtils.default.get(l,n.field);let r=t.label||"label",a=t.value||"value";n=t.children||"children";if(null==l)return"";{let t={};return _xeUtils.default.eachTree(e,e=>{t[_xeUtils.default.get(e,a)]=e},{children:n}),_xeUtils.default.map(_xeUtils.default.isArray(l)?l:[l],e=>{e=t[e];return e&&_xeUtils.default.get(e,r)}).join(", ")}}function handleExportTreeSelectMethod(e){var{row:t,column:l,options:n}=e;return n.original?(0,_util.getCellValue)(t,l):getTreeSelectCellValue(l.editRender||l.cellRender,e)}function handleNumberCell(e,t){var l,{props:n={},showNegativeStatus:r}=e,{row:a,column:o}=t,u=n.type;let i=_xeUtils.default.get(a,o.field),d=!1;return(0,_utils.isEmptyValue)(i)||(a=getConfig().numberInput||{},"float"===u?(o=handleDefaultValue(n.autoFill,a.autoFill,!0),l=handleDefaultValue(n.digits,a.digits,1),i=_xeUtils.default.toFixed(_xeUtils.default.floor(i,l),l),o||(i=_xeUtils.default.toNumber(i)),r&&i<0&&(d=!0)):"amount"===u?(l=handleDefaultValue(n.autoFill,a.autoFill,!0),o=handleDefaultValue(n.digits,a.digits,2),u=handleDefaultValue(n.showCurrency,a.showCurrency,!1),i=_xeUtils.default.toNumber(i),r&&i<0&&(d=!0),i=_xeUtils.default.commafy(i,{digits:o}),l||([o,l]=i.split("."),l&&(l=l.replace(/0+$/,""),i=l?[o,".",l].join(""):o)),u&&(i=""+(n.currencySymbol||a.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+i)):r&&_xeUtils.default.toNumber(i)<0&&(d=!0)),getCellLabelVNs(e,t,i,d?{class:"is--negative"}:{})}renderer.mixin({input:{tableAutoFocus:"input",renderTableEdit:nativeEditRender,renderTableDefault:nativeEditRender,renderTableFilter:nativeFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},textarea:{tableAutoFocus:"textarea",renderTableEdit:nativeEditRender},select:{renderTableEdit:nativeSelectEditRender,renderTableDefault:nativeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(l,n){var e=n.column;return e.filters.map((e,t)=>(0,_vue.h)("select",Object.assign(Object.assign({key:t,class:"vxe-default-select"},getNativeAttrs(l)),getNativeFilterOns(l,n,e)),l.optionGroups?renderNativeOptgroups(l,n,renderNativeOptions):renderNativeOptions(l.options,l,n)))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t,a=getConfig().input||{},o=l.digits||a.digits||2;let u=_xeUtils.default.get(n,r.field);if(u)switch(l.type){case"date":case"week":case"month":case"quarter":case"year":u=getLabelFormatDate(u,l);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},FormatNumberInput:{renderTableDefault:handleNumberCell,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell:handleNumberCell,renderTableFooter(t,l){var{props:t={}}=t,{row:l,column:n,_columnIndex:r}=l,a=t.type,r=_xeUtils.default.isArray(l)?l[r]:_xeUtils.default.get(l,n.field);if(_xeUtils.default.isNumber(r)){l=getConfig().numberInput||{};if("float"===a){var n=handleDefaultValue(t.autoFill,l.autoFill,!0),o=handleDefaultValue(t.digits,l.digits,1);let e=_xeUtils.default.toFixed(_xeUtils.default.floor(r,o),o);return e=n?e:_xeUtils.default.toNumber(e)}if("amount"===a){var o=handleDefaultValue(t.autoFill,l.autoFill,!0),n=handleDefaultValue(t.digits,l.digits,2),a=handleDefaultValue(t.showCurrency,l.showCurrency,!1);let e=_xeUtils.default.commafy(_xeUtils.default.toNumber(r),{digits:n});return o||([n,o]=e.split("."),o&&(o=o.replace(/0+$/,""),e=o?[n,".",o].join(""):n)),e=a?""+(t.currencySymbol||l.currencySymbol||getI18n("vxe.numberInput.currencySymbol")||"")+e:e}}return(0,_utils.getFuncText)(r,1)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleInputFilterMethod,tableExportMethod(e){var{row:e,column:t}=e;return _xeUtils.default.get(e,t.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{props:l={}}=e,{row:n,column:r}=t;let a=_xeUtils.default.get(n,r.field);return getCellLabelVNs(e,t,a=a&&"time"!==l.type?getLabelFormatDate(a,l):a)},renderTableDefault:defaultEditRender,renderTableFilter:defaultFilterRender,tableFilterDefaultMethod:handleFilterMethod},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:defaultEditRender,renderTableCell(e,t){var{row:l,column:n}=t;return getCellLabelVNs(e,t,_xeUtils.default.get(l,n.field))}},VxeButton:{renderTableDefault:buttonCellRender},VxeButtonGroup:{renderTableDefault(e,t){var l=e.options;return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:l},getCellEditProps(e,t,null)),getComponentOns(e,t)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:defaultSelectEditRender,renderTableDefault:defaultSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},formatOption:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))}},FormatSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},formatTree:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))}},FormatTreeSelect:{renderTableDefault(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:defaultTableOrTreeSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getTreeSelectCellValue(e,t))},tableExportMethod:handleExportTreeSelectMethod},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{colors:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("span",{class:"vxe-color-picker--readonly"},[(0,_vue.h)("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:t}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(e,t){var{row:l,column:n}=t,r=e.options,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getCellEditProps(e,t,l,{icons:r})),getEditOns(e,t)))]},renderTableCell(e,t){var{row:t,column:l}=t,t=_xeUtils.default.get(t,l.field);return(0,_vue.h)("i",{class:t})}},VxeRadioGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeCheckboxGroup:{renderTableDefault:radioAndCheckboxEditRender},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:defaultEditRender,renderTableDefault:defaultEditRender},VxeUpload:{renderTableEdit:defaultEditRender,renderTableCell:defaultEditRender,renderTableDefault:defaultEditRender},VxeImage:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:l}),getEditOns(e,t)))]}},VxeImageGroup:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:l}),getEditOns(e,t)))]}},VxeTextEllipsis:{renderTableDefault(e,t){var{row:l,column:n}=t,r=e.props,l=(0,_util.getCellValue)(l,n);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{content:l}),getEditOns(e,t)))]}},VxeRate:{renderTableDefault:defaultEditRender},VxeSlider:{renderTableDefault:defaultEditRender},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldEditRender,renderTableCell(e,t){var l,{props:n={}}=e,{row:r,column:a}=t,o=n.digits||(null==(l=getConfig().input)?void 0:l.digits)||2;let u=_xeUtils.default.get(r,a.field);if(u)switch(n.type){case"date":case"week":case"month":case"year":u=getLabelFormatDate(u,n);break;case"float":u=_xeUtils.default.toFixed(_xeUtils.default.floor(u,o),o)}return getCellLabelVNs(e,t,u)},renderTableDefault:oldEditRender,renderTableFilter:oldFilterRender,tableFilterDefaultMethod:handleInputFilterMethod},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:oldButtonEditRender},$buttons:{renderTableDefault:oldButtonsEditRender},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:oldSelectEditRender,renderTableDefault:oldSelectEditRender,renderTableCell(e,t){return getCellLabelVNs(e,t,getSelectCellValue(e,t))},renderTableFilter(n,r){var e=r.column;let{options:a,optionProps:o,optionGroups:u,optionGroupProps:i}=n;return e.filters.map((e,t)=>{var l=e.data;return(0,_vue.h)(getOldComponent(n),Object.assign(Object.assign({key:t},getCellEditFilterProps(n,r,l,{options:a,optionProps:o,optionGroups:u,optionGroupProps:i})),getFilterOns(n,r,e)))})},tableFilterDefaultMethod:handleFilterMethod,tableExportMethod:handleExportSelectMethod},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:oldEditRender,renderTableDefault:oldEditRender}});
|