tdesign-vue-next
Version:
TDesign Component for vue-next
595 lines (587 loc) • 29.6 kB
JavaScript
/**
* tdesign v1.15.2
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var Vue = require('vue');
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var table_baseTableProps = require('./base-table-props.js');
var table_primaryTableProps = require('./primary-table-props.js');
var table_baseTable = require('./base-table.js');
require('@babel/runtime/helpers/toConsumableArray');
require('@babel/runtime/helpers/typeof');
require('../_chunks/dep-040b3cbb.js');
var index = require('../_chunks/dep-9b6bbd57.js');
var configProvider_hooks_useConfig = require('../config-provider/hooks/useConfig.js');
require('@babel/runtime/helpers/slicedToArray');
require('../_chunks/dep-682444b3.js');
var table_hooks_useColumnController = require('./hooks/useColumnController.js');
var table_hooks_useRowExpand = require('./hooks/useRowExpand.js');
var table_hooks_useTableHeader = require('./hooks/useTableHeader.js');
var table_hooks_useRowSelect = require('./hooks/useRowSelect.js');
var table_hooks_useSorter = require('./hooks/useSorter.js');
var table_hooks_useFilter = require('./hooks/useFilter.js');
var table_hooks_useDragSort = require('./hooks/useDragSort.js');
var table_hooks_useAsyncLoading = require('./hooks/useAsyncLoading.js');
var table_components_editableCell = require('./components/editable-cell.js');
var table_hooks_useClassName = require('./hooks/useClassName.js');
var table_hooks_useEditableRow = require('./hooks/useEditableRow.js');
var table_hooks_useStyle = require('./hooks/useStyle.js');
var omit = require('../_chunks/dep-f29f22c2.js');
var get = require('../_chunks/dep-4a827320.js');
require('./hooks/useColumnResize.js');
require('../_chunks/dep-0a9c2d75.js');
require('../_chunks/dep-3e1aa2e0.js');
require('../_chunks/dep-79f734cc.js');
require('../_chunks/dep-63ff6e12.js');
require('../_chunks/dep-c6c5ec69.js');
require('../_chunks/dep-ce0157af.js');
require('../_chunks/dep-41b6fe49.js');
require('../_chunks/dep-d47112ce.js');
require('./hooks/useFixed.js');
require('../_chunks/dep-8d4fdd76.js');
require('../_chunks/dep-07a0b189.js');
require('../_chunks/dep-faba77b7.js');
require('@babel/runtime/helpers/objectWithoutProperties');
require('../_chunks/dep-2ab243e3.js');
require('../_chunks/dep-def9c618.js');
require('../_chunks/dep-d0f125b5.js');
require('../_chunks/dep-3df90229.js');
require('../_chunks/dep-2f309208.js');
require('../_chunks/dep-7154c044.js');
require('../_chunks/dep-020c2a7e.js');
require('../_chunks/dep-0c415789.js');
require('../_chunks/dep-1dd08a25.js');
require('../_chunks/dep-70bb30fa.js');
require('../_chunks/dep-c66679ef.js');
require('../_chunks/dep-816a752f.js');
require('../_chunks/dep-15ce91d8.js');
require('../_chunks/dep-baaf07d6.js');
require('../_chunks/dep-79cd6be1.js');
require('../_chunks/dep-c78b3175.js');
require('../_chunks/dep-7d6d6769.js');
require('../_chunks/dep-4d3ddec0.js');
require('../_chunks/dep-02dd9454.js');
require('../_chunks/dep-421d07b8.js');
require('../_chunks/dep-a439f9cd.js');
require('../_chunks/dep-bd33cda1.js');
require('../_chunks/dep-68830473.js');
require('../_chunks/dep-57045e93.js');
require('../_chunks/dep-5c27b967.js');
require('../_chunks/dep-770305d5.js');
require('../_chunks/dep-d2306059.js');
require('./hooks/usePagination.js');
require('../pagination/index.js');
require('../pagination/pagination.js');
require('tdesign-icons-vue-next');
require('../_chunks/dep-ac087407.js');
require('../_chunks/dep-bf717a05.js');
require('../_chunks/dep-2544aa61.js');
require('../_chunks/dep-7cb54b29.js');
require('../_chunks/dep-4c12d7dc.js');
require('../_chunks/dep-00be0637.js');
require('../input-number/index.js');
require('../input-number/input-number.js');
require('../button/index.js');
require('../button/button.js');
require('../loading/index.js');
require('../_chunks/dep-32dc80e0.js');
require('../loading/plugin.js');
require('../_chunks/dep-9523c147.js');
require('../loading/icon/gradient.js');
require('../_chunks/dep-6097d12c.js');
require('../_chunks/dep-8848ca1b.js');
require('../loading/props.js');
require('../_chunks/dep-ee4f84a5.js');
require('../_chunks/dep-66f974a3.js');
require('../_chunks/dep-0f5dd876.js');
require('dayjs');
require('../_chunks/dep-5e94db90.js');
require('../_chunks/dep-06f7d92f.js');
require('../_chunks/dep-93426c60.js');
require('../_chunks/dep-eada02ce.js');
require('../_chunks/dep-d388e00e.js');
require('../_chunks/dep-27e5c925.js');
require('../_chunks/dep-13d731e3.js');
require('../_chunks/dep-1ec17e27.js');
require('../_chunks/dep-15b276e6.js');
require('@babel/runtime/helpers/createClass');
require('@babel/runtime/helpers/classCallCheck');
require('../_chunks/dep-de22f208.js');
require('../_chunks/dep-7d172afa.js');
require('../_chunks/dep-2bfd653a.js');
require('../_chunks/dep-304b5191.js');
require('../_chunks/dep-0ff81c06.js');
require('../button/props.js');
require('../_chunks/dep-ffd5bd7c.js');
require('../_chunks/dep-1532a597.js');
require('../_chunks/dep-0e845ebd.js');
require('../input/index.js');
require('../input/input.js');
require('../input/props.js');
require('../_chunks/dep-e4a93457.js');
require('../input/hooks/useInput.js');
require('../form/consts/index.js');
require('../input/hooks/useLengthLimit.js');
require('../input/hooks/useInputEventHandler.js');
require('../input/hooks/useInputWidth.js');
require('../_chunks/dep-b048575a.js');
require('../input/input-group.js');
require('../input/input-group-props.js');
require('../input-number/props.js');
require('../input-number/hooks/useInputNumber.js');
require('../_chunks/dep-6194d0a9.js');
require('../_chunks/dep-8ecb6c78.js');
require('../select/index.js');
require('../select/select.js');
require('@babel/runtime/helpers/asyncToGenerator');
require('@babel/runtime/regenerator');
require('../common-components/fake-arrow.js');
require('../select-input/index.js');
require('../select-input/select-input.js');
require('../popup/index.js');
require('../popup/popup.js');
require('@popperjs/core');
require('../popup/container.js');
require('../popup/props.js');
require('../_chunks/dep-bc2c6af0.js');
require('../_chunks/dep-37ade253.js');
require('../select-input/props.js');
require('../select-input/hooks/useMultiple.js');
require('../tag-input/index.js');
require('../tag-input/tag-input.js');
require('../tag-input/props.js');
require('../tag-input/hooks/useDragSorter.js');
require('../tag-input/hooks/useHover.js');
require('../tag-input/hooks/useTagScroll.js');
require('../tag-input/hooks/useTagList.js');
require('../tag/index.js');
require('../tag/tag.js');
require('tinycolor2');
require('../tag/props.js');
require('../tag/check-tag.js');
require('../tag/check-tag-props.js');
require('../_chunks/dep-4045ff88.js');
require('../tag/check-tag-group.js');
require('../tag/check-tag-group-props.js');
require('../select-input/hooks/useOverlayInnerStyle.js');
require('../select-input/hooks/useSingle.js');
require('../select/components/select-panel.js');
require('../select/option.js');
require('../select/option-props.js');
require('../checkbox/index.js');
require('../checkbox/checkbox.js');
require('../checkbox/props.js');
require('../checkbox/consts/index.js');
require('../checkbox/hooks/useCheckboxLazyLoad.js');
require('../_chunks/dep-dd949e1b.js');
require('../checkbox/hooks/useKeyboardEvent.js');
require('../checkbox/group.js');
require('../checkbox/checkbox-group-props.js');
require('../_chunks/dep-cfa5d4ff.js');
require('../_chunks/dep-1607fcdf.js');
require('../select/utils/index.js');
require('../select/consts/index.js');
require('../select/option-group.js');
require('../select/option-group-props.js');
require('../select/props.js');
require('../select/hooks/usePanelVirtualScroll.js');
require('../select/hooks/useKeyboardControl.js');
require('../select/hooks/useSelectOptions.js');
require('../input-adornment/index.js');
require('../input-adornment/input-adornment.js');
require('../input-adornment/props.js');
require('../pagination/props.js');
require('../pagination/hooks/useMoreAction.js');
require('../pagination/hooks/usePaginationClasses.js');
require('../pagination/pagination-mini.js');
require('../pagination/pagination-mini-props.js');
require('../tooltip/index.js');
require('../tooltip/tooltip.js');
require('../tooltip/props.js');
require('../tooltip/utils/index.js');
require('../_chunks/dep-8ab09a7d.js');
require('../_chunks/dep-4007ed52.js');
require('./hooks/useAffix.js');
require('./components/tbody.js');
require('./components/tr.js');
require('./utils/index.js');
require('./components/ellipsis.js');
require('./hooks/useLazyLoad.js');
require('./hooks/useRowspanAndColspan.js');
require('../affix/index.js');
require('../affix/affix.js');
require('../affix/props.js');
require('./components/thead.js');
require('./components/tfoot.js');
require('./hooks/useRowHighlight.js');
require('./hooks/useHoverKeyboardEvent.js');
require('./hooks/useMultiHeader.js');
require('../dialog/plugin.js');
require('../dialog/dialog.js');
require('../dialog/props.js');
require('../_chunks/dep-9086aab1.js');
require('../dialog/hooks/useSameTarget.js');
require('../dialog/utils/index.js');
require('../dialog/dialog-card.js');
require('../dialog/dialog-card-props.js');
require('../dialog/hooks/useAction.js');
require('./components/column-checkbox-group.js');
require('../_chunks/dep-5c31240c.js');
require('../radio/index.js');
require('../radio/radio.js');
require('../radio/props.js');
require('../radio/consts/index.js');
require('../radio/group.js');
require('../radio/radio-group-props.js');
require('../radio/radio-button.js');
require('../radio/hooks/useKeyboard.js');
require('../watermark/hooks/index.js');
require('../_chunks/dep-56c54425.js');
require('./components/sorter-button.js');
require('./components/filter-controller.js');
require('../_chunks/dep-5dc144d2.js');
require('sortablejs');
require('@babel/runtime/helpers/toArray');
require('../form/utils/form-model.js');
require('../_chunks/dep-b17adf89.js');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
var OMIT_PROPS = ["hideSortTips", "dragSort", "defaultExpandedRowKeys", "defaultSelectedRowKeys", "columnController", "filterRow", "sortOnRowDraggable", "expandOnRowClick", "expand-on-row-click", "expanded-row", "editable-row-keys", "editable-cell-state", "filter-value", "multipleSort", "expandIcon", "expand-icon", "reserveSelectedRowOnPaginate", "expandedRowKeys", "expandedRow", "reserve-selected-row-on-paginate", "reserveSelectedRowOnPaginate", "selected-row-keys", "selectedRowKeys", "selectOnRowClick", "column-controller", "columnController", "dragSort", "drag-sort", "hideSortTips", "showSortColumnBgColor", "filter-row", "filterRow", "multiple-sort", "multipleSort", "async-loading", "onChange", "onAsyncLoadingClick", "onColumnChange", "onColumnControllerVisibleChange", "onDataChange", "onDisplayColumnsChange", "onDragSort", "onExpandChange", "onFilterChange", "onSelectChange", "onSortChange"];
var _PrimaryTable = Vue.defineComponent({
name: "TPrimaryTable",
props: _objectSpread(_objectSpread({}, table_baseTableProps["default"]), table_primaryTableProps["default"]),
setup: function setup(props, context) {
var renderTNode = index.useTNodeJSX();
var _toRefs = Vue.toRefs(props),
columns = _toRefs.columns,
columnController = _toRefs.columnController;
var primaryTableRef = Vue.ref(null);
var showElement = Vue.ref(false);
var _useClassName = table_hooks_useClassName["default"](),
classPrefix = _useClassName.classPrefix,
tableDraggableClasses = _useClassName.tableDraggableClasses,
tableBaseClass = _useClassName.tableBaseClass,
tableSelectedClasses = _useClassName.tableSelectedClasses,
tableSortClasses = _useClassName.tableSortClasses;
var _useConfig = configProvider_hooks_useConfig.useConfig("table", props.locale),
globalConfig = _useConfig.globalConfig;
var _useStyle = table_hooks_useStyle["default"](props),
sizeClassNames = _useStyle.sizeClassNames;
var tableSize = Vue.computed(function () {
var _props$size;
return (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : globalConfig.value.size;
});
var _useColumnController = table_hooks_useColumnController["default"](props, context),
tDisplayColumns = _useColumnController.tDisplayColumns,
renderColumnController = _useColumnController.renderColumnController;
var _useRowExpand = table_hooks_useRowExpand["default"](props, context),
showExpandedRow = _useRowExpand.showExpandedRow,
showExpandIconColumn = _useRowExpand.showExpandIconColumn,
getExpandColumn = _useRowExpand.getExpandColumn,
renderExpandedRow = _useRowExpand.renderExpandedRow,
onInnerExpandRowClick = _useRowExpand.onInnerExpandRowClick,
getExpandedRowClass = _useRowExpand.getExpandedRowClass;
var _useSorter = table_hooks_useSorter["default"](props, context),
renderSortIcon = _useSorter.renderSortIcon;
var _useRowSelect = table_hooks_useRowSelect["default"](props, tableSelectedClasses),
selectColumn = _useRowSelect.selectColumn,
showRowSelect = _useRowSelect.showRowSelect,
selectedRowClassNames = _useRowSelect.selectedRowClassNames,
currentPaginateData = _useRowSelect.currentPaginateData,
formatToRowSelectColumn = _useRowSelect.formatToRowSelectColumn,
setTSelectedRowKeys = _useRowSelect.setTSelectedRowKeys,
onInnerSelectRowClick = _useRowSelect.onInnerSelectRowClick,
handleRowSelectWithAreaSelection = _useRowSelect.handleRowSelectWithAreaSelection;
var _useFilter = table_hooks_useFilter["default"](props, context),
hasEmptyCondition = _useFilter.hasEmptyCondition,
isTableOverflowHidden = _useFilter.isTableOverflowHidden,
renderFilterIcon = _useFilter.renderFilterIcon,
renderFirstFilterRow = _useFilter.renderFirstFilterRow,
setFilterPrimaryTableRef = _useFilter.setFilterPrimaryTableRef;
var dragSortParams = Vue.computed(function () {
return {
showElement: showElement.value
};
});
var _useDragSort = table_hooks_useDragSort["default"](props, context, dragSortParams),
isRowHandlerDraggable = _useDragSort.isRowHandlerDraggable,
isRowDraggable = _useDragSort.isRowDraggable,
isColDraggable = _useDragSort.isColDraggable,
innerPagination = _useDragSort.innerPagination,
setDragSortPrimaryTableRef = _useDragSort.setDragSortPrimaryTableRef,
setDragSortColumns = _useDragSort.setDragSortColumns;
var _useTableHeader = table_hooks_useTableHeader["default"](props),
renderTitleWidthIcon = _useTableHeader.renderTitleWidthIcon;
var _useAsyncLoading = table_hooks_useAsyncLoading["default"](props),
renderAsyncLoading = _useAsyncLoading.renderAsyncLoading;
var _useEditableRow = table_hooks_useEditableRow["default"](props),
errorListMap = _useEditableRow.errorListMap,
editableKeysMap = _useEditableRow.editableKeysMap,
validateRowData = _useEditableRow.validateRowData,
validateTableData = _useEditableRow.validateTableData,
validateTableCellData = _useEditableRow.validateTableCellData,
onRuleChange = _useEditableRow.onRuleChange,
clearValidateData = _useEditableRow.clearValidateData,
onUpdateEditedCell = _useEditableRow.onUpdateEditedCell,
getEditRowData = _useEditableRow.getEditRowData,
onPrimaryTableCellEditChange = _useEditableRow.onPrimaryTableCellEditChange;
var innerKeyboardRowHover = Vue.computed(function () {
return Boolean(showExpandedRow.value || showRowSelect.value);
});
var innerDisableSpaceInactiveRow = Vue.computed(function () {
return Boolean(showExpandedRow.value || showRowSelect.value);
});
var primaryTableClasses = Vue.computed(function () {
var _selectColumn$value;
return _defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"](_defineProperty__default["default"]({}, tableDraggableClasses.colDraggable, isColDraggable.value), tableDraggableClasses.rowHandlerDraggable, isRowHandlerDraggable.value), tableDraggableClasses.rowDraggable, isRowDraggable.value), tableBaseClass.overflowVisible, isTableOverflowHidden.value === false), tableBaseClass.tableRowEdit, props.editableRowKeys), "".concat(classPrefix, "-table--select-").concat((_selectColumn$value = selectColumn.value) === null || _selectColumn$value === void 0 ? void 0 : _selectColumn$value.type), selectColumn.value), "".concat(classPrefix, "-table--row-select"), showRowSelect.value), "".concat(classPrefix, "-table--row-expandable"), showExpandedRow.value);
});
var tRowClassNames = Vue.computed(function () {
var tClassNames = [props.rowClassName, selectedRowClassNames.value, getExpandedRowClass];
return tClassNames.filter(function (v) {
return v;
});
});
var tRowAttributes = Vue.computed(function () {
var tAttributes = [props.rowAttributes];
if (isRowHandlerDraggable.value || isRowDraggable.value) {
tAttributes.push(function (_ref2) {
var row = _ref2.row;
return {
"data-id": get.get(row, props.rowKey || "id")
};
});
}
return tAttributes.filter(function (v) {
return v;
});
});
Vue.onMounted(function () {
setFilterPrimaryTableRef(primaryTableRef.value);
setDragSortPrimaryTableRef(primaryTableRef.value);
});
context.expose({
validateRowData: validateRowData,
validateTableData: validateTableData,
validateTableCellData: validateTableCellData,
clearValidateData: clearValidateData,
refreshTable: function refreshTable() {
primaryTableRef.value.refreshTable();
},
scrollToElement: function scrollToElement(data) {
primaryTableRef.value.scrollToElement(data);
},
scrollColumnIntoView: function scrollColumnIntoView(colKey) {
primaryTableRef.value.scrollColumnIntoView(colKey);
},
baseTableRef: primaryTableRef
});
var onEditableCellChange = function onEditableCellChange(params) {
var _props$onRowEdit;
(_props$onRowEdit = props.onRowEdit) === null || _props$onRowEdit === void 0 || _props$onRowEdit.call(props, params);
var rowValue = get.get(params.editedRow, props.rowKey || "id");
onUpdateEditedCell(rowValue, params.row, _defineProperty__default["default"]({}, params.col.colKey, params.value));
};
var _getColumns = function getColumns(columns2) {
var parentDisplay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
var arr = [];
var _loop = function _loop() {
var _item$children, _tDisplayColumns$valu, _item$edit, _item$children2, _item$children3;
var item = _objectSpread({}, columns2[i]);
var isDisplayColumn = ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) || ((_tDisplayColumns$valu = tDisplayColumns.value) === null || _tDisplayColumns$valu === void 0 ? void 0 : _tDisplayColumns$valu.includes(item.colKey));
if (!isDisplayColumn && (props.columnController || props.displayColumns || props.defaultDisplayColumns) && !parentDisplay) return 1; // continue
item = formatToRowSelectColumn(item);
var sort = props.sort;
if (item.sorter && props.showSortColumnBgColor) {
var sorts = sort instanceof Array ? sort : [sort];
var sortedColumn = sorts.find(function (sort2) {
return sort2 && sort2.sortBy === item.colKey && sort2.descending !== void 0;
});
if (sortedColumn) {
item.className = item.className instanceof Array ? item.className.concat(tableSortClasses.sortColumn) : [item.className, tableSortClasses.sortColumn];
}
}
if (item.sorter || item.filter) {
var titleContent = table_hooks_useTableHeader.renderTitle(context.slots, item, i);
var _item = item,
ellipsisTitle = _item.ellipsisTitle;
item.title = function (h2, p) {
var _primaryTableRef$valu;
var sortIcon = item.sorter ? renderSortIcon(p) : null;
var filterIcon = item.filter ? renderFilterIcon(p) : null;
var attach = (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.tableContentRef;
return renderTitleWidthIcon([titleContent, sortIcon, filterIcon], p.col, p.colIndex, ellipsisTitle, attach, {
classPrefix: classPrefix,
ellipsisOverlayClassName: tableSize.value !== "medium" ? sizeClassNames[tableSize.value] : ""
});
};
item.ellipsisTitle = false;
}
if ((_item$edit = item.edit) !== null && _item$edit !== void 0 && _item$edit.component) {
var oldCell = item.cell;
item.cell = function (h2, p) {
var cellProps = _objectSpread(_objectSpread({}, p), {}, {
row: getEditRowData(p),
oldCell: oldCell,
rowKey: props.rowKey || "id",
tableBaseClass: tableBaseClass,
cellEmptyContent: props.cellEmptyContent,
onChange: onEditableCellChange,
onValidate: props.onRowValidate,
onRuleChange: onRuleChange,
onEditableChange: onPrimaryTableCellEditChange
});
if (props.editableRowKeys) {
var _errorListMap$value;
var rowValue = get.get(p.row, props.rowKey || "id");
cellProps.editable = editableKeysMap.value[rowValue] || false;
var key = [rowValue, p.col.colKey].join("__");
var errorList = (_errorListMap$value = errorListMap.value) === null || _errorListMap$value === void 0 ? void 0 : _errorListMap$value[key];
errorList && (cellProps.errors = errorList);
}
if (props.editableCellState) {
cellProps.readonly = !props.editableCellState(p);
}
return Vue.createVNode(table_components_editableCell["default"], Vue.mergeProps(cellProps, {
"onUpdateEditedCell": onUpdateEditedCell
}), context.slots);
};
}
if ((_item$children2 = item.children) !== null && _item$children2 !== void 0 && _item$children2.length) {
var _tDisplayColumns$valu2;
item.children = _getColumns(item.children, parentDisplay || ((_tDisplayColumns$valu2 = tDisplayColumns.value) === null || _tDisplayColumns$valu2 === void 0 ? void 0 : _tDisplayColumns$valu2.includes(item.colKey)));
}
if (!item.children || (_item$children3 = item.children) !== null && _item$children3 !== void 0 && _item$children3.length) {
arr.push(item);
}
};
for (var i = 0, len = columns2.length; i < len; i++) {
if (_loop()) continue;
}
return arr;
};
var tColumns = Vue.computed(function () {
var cols = _getColumns(columns.value);
if (showExpandIconColumn.value) {
cols.unshift(getExpandColumn());
}
return cols;
});
var onInnerPageChange = function onInnerPageChange(pageInfo, newData) {
var _props$onPageChange, _props$onChange;
innerPagination.value = _objectSpread(_objectSpread({}, innerPagination.value), pageInfo);
currentPaginateData.value = newData;
(_props$onPageChange = props.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props, pageInfo, newData);
var changeParams = [{
pagination: pageInfo
}, {
trigger: "pagination",
currentData: newData
}];
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call.apply(_props$onChange, [props].concat(changeParams));
if (!props.reserveSelectedRowOnPaginate) {
setTSelectedRowKeys([], {
selectedRowData: [],
type: "uncheck",
currentRowKey: "CLEAR_ON_PAGINATE"
});
}
};
var onInnerActiveRowAction = function onInnerActiveRowAction(params) {
var _props$onActiveRowAct;
(_props$onActiveRowAct = props.onActiveRowAction) === null || _props$onActiveRowAct === void 0 || _props$onActiveRowAct.call(props, params);
handleRowSelectWithAreaSelection(params);
};
var onSingleRowClick = function onSingleRowClick(params) {
if (props.expandOnRowClick) {
onInnerExpandRowClick(params);
}
if (props.selectOnRowClick) {
onInnerSelectRowClick(params);
}
};
var timer;
var DURATION = 250;
var onInnerRowClick = function onInnerRowClick(params) {
if (!props.onRowDblclick) {
onSingleRowClick(params);
return;
}
if (timer) {
clearTimeout(timer);
timer = void 0;
} else {
timer = setTimeout(function () {
onSingleRowClick(params);
timer = void 0;
}, DURATION);
}
};
var onShowElementChange = function onShowElementChange(val) {
showElement.value = val;
};
var formatNode = function formatNode(api, renderInnerNode, condition, extra) {
if (!condition) return props[api];
var innerNode = renderInnerNode(Vue.h);
var propsNode = renderTNode(api);
if (innerNode && !propsNode) return function () {
return innerNode;
};
if (propsNode && !innerNode) return function () {
return propsNode;
};
if (innerNode && propsNode) {
return function () {
return extra !== null && extra !== void 0 && extra.reverse ? Vue.createVNode("div", null, [innerNode, propsNode]) : Vue.createVNode("div", null, [propsNode, innerNode]);
};
}
return null;
};
return function () {
var _props$keyboardRowHov, _props$disableSpaceIn;
var isColumnController = !!(columnController.value && Object.keys(columnController.value).length);
var placement = isColumnController ? columnController.value.placement || "top-right" : "";
var isBottomController = isColumnController && (placement === null || placement === void 0 ? void 0 : placement.indexOf("bottom")) !== -1;
var topContent = formatNode("topContent", renderColumnController, isColumnController && !isBottomController);
var bottomContent = formatNode("bottomContent", renderColumnController, isBottomController, {
reverse: true
});
var firstFullRow = formatNode("firstFullRow", renderFirstFilterRow, !hasEmptyCondition.value);
var lastFullRow = formatNode("lastFullRow", renderAsyncLoading, !!props.asyncLoading);
var _getCurrentInstance = Vue.getCurrentInstance(),
vnode = _getCurrentInstance.vnode;
var baseTableProps2 = _objectSpread(_objectSpread({}, omit.omit(vnode.props, OMIT_PROPS)), {}, {
rowKey: props.rowKey,
rowClassName: tRowClassNames.value,
rowAttributes: tRowAttributes.value,
columns: tColumns.value,
keyboardRowHover: (_props$keyboardRowHov = props.keyboardRowHover) !== null && _props$keyboardRowHov !== void 0 ? _props$keyboardRowHov : innerKeyboardRowHover.value,
disableSpaceInactiveRow: (_props$disableSpaceIn = props.disableSpaceInactiveRow) !== null && _props$disableSpaceIn !== void 0 ? _props$disableSpaceIn : innerDisableSpaceInactiveRow.value,
topContent: topContent,
bottomContent: bottomContent,
firstFullRow: firstFullRow,
lastFullRow: lastFullRow,
thDraggable: ["col", "row-handler-col"].includes(props.dragSort),
onShowElementChange: onShowElementChange,
onPageChange: onInnerPageChange,
renderExpandedRow: showExpandedRow.value ? renderExpandedRow : void 0,
onActiveRowAction: onInnerActiveRowAction
});
if (props.expandOnRowClick || props.selectOnRowClick) {
baseTableProps2.onRowClick = onInnerRowClick;
}
return Vue.createVNode(table_baseTable["default"], Vue.mergeProps(baseTableProps2, {
"ref": primaryTableRef,
"class": primaryTableClasses.value,
"onLeafColumnsChange": setDragSortColumns
}), context.slots);
};
}
});
exports.BASE_TABLE_ALL_EVENTS = table_baseTable.BASE_TABLE_ALL_EVENTS;
exports["default"] = _PrimaryTable;
//# sourceMappingURL=primary-table.js.map