tdesign-vue
Version:
663 lines (655 loc) • 31.7 kB
JavaScript
/**
* tdesign v1.12.1
* (c) 2025 tdesign
* @license MIT
*/
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var helper = require('../_chunks/dep-882fe8fa.js');
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
var VueCompositionAPI = require('@vue/composition-api');
var table_baseTableProps = require('./base-table-props.js');
var table_primaryTableProps = require('./primary-table-props.js');
var table_baseTable = require('./base-table.js');
var hooks_tnode = require('../hooks/tnode.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_hooks_useClassName = require('./hooks/useClassName.js');
var table_hooks_useEditableCell = require('./hooks/useEditableCell.js');
var table_hooks_useEditableRow = require('./hooks/useEditableRow.js');
var table_hooks_useStyle = require('./hooks/useStyle.js');
var configProvider_useConfig = require('../config-provider/useConfig.js');
var omit = require('../_chunks/dep-e7151b6f.js');
var get = require('../_chunks/dep-165bd1be.js');
require('@babel/runtime/helpers/slicedToArray');
require('./hooks/useColumnResize.js');
require('../utils/dom.js');
require('vue');
require('raf');
require('../utils/easing.js');
require('../_chunks/dep-6b60413b.js');
require('../_chunks/dep-5ea2b00f.js');
require('@babel/runtime/helpers/typeof');
require('../_chunks/dep-9b72cbc5.js');
require('../_chunks/dep-d7270eaf.js');
require('../_chunks/dep-2edcfe51.js');
require('./hooks/useFixed.js');
require('../_common/js/log/log.js');
require('../_common/js/utils/getScrollbarWidth.js');
require('../_common/js/utils/helper.js');
require('@babel/runtime/helpers/toConsumableArray');
require('@babel/runtime/helpers/objectWithoutProperties');
require('../_chunks/dep-5a0b1276.js');
require('../_chunks/dep-2d34b118.js');
require('../_chunks/dep-dd8aea11.js');
require('../_chunks/dep-80e3757f.js');
require('../_chunks/dep-08d7842c.js');
require('../_chunks/dep-1ca3138c.js');
require('../_chunks/dep-4361b357.js');
require('../_chunks/dep-887c649b.js');
require('../_chunks/dep-411a10dd.js');
require('../_chunks/dep-51fe98f1.js');
require('../_chunks/dep-ddc1429e.js');
require('../_chunks/dep-4060d16d.js');
require('../_chunks/dep-a8feef06.js');
require('../_chunks/dep-6e7b8cda.js');
require('../_chunks/dep-3d682642.js');
require('../_chunks/dep-73c0f116.js');
require('../_chunks/dep-e1cc6f64.js');
require('../_chunks/dep-7b78e8c3.js');
require('../_chunks/dep-65896ff9.js');
require('../_chunks/dep-7ead4ee1.js');
require('../_chunks/dep-dea23841.js');
require('../_chunks/dep-28836b00.js');
require('../_chunks/dep-361a995e.js');
require('../_chunks/dep-6a3ffcb1.js');
require('../_chunks/dep-8e56731e.js');
require('../_chunks/dep-e1bd36c1.js');
require('../_chunks/dep-b361e9d2.js');
require('../_chunks/dep-cca66fee.js');
require('../_chunks/dep-b65b2f55.js');
require('../_chunks/dep-2d46186d.js');
require('../_chunks/dep-965b0138.js');
require('../_chunks/dep-cdb9a98c.js');
require('./hooks/usePagination.js');
require('../pagination/index.js');
require('../pagination/pagination.js');
require('tdesign-icons-vue');
require('../utils/mixins.js');
require('../config-provider/config-receiver.js');
require('../_chunks/dep-6247fdbf.js');
require('../_common/js/global-config/default-config.js');
require('../_common/js/global-config/locale/zh_CN.js');
require('../_chunks/dep-3ed0c42e.js');
require('../_chunks/dep-53935099.js');
require('dayjs');
require('../_chunks/dep-403352a7.js');
require('../_chunks/dep-4aa08166.js');
require('../_chunks/dep-98f48ff2.js');
require('../_chunks/dep-e6ed4b1f.js');
require('../_chunks/dep-c44b2462.js');
require('../_common/js/global-config/t.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('../loading/directive.js');
require('../loading/plugin.js');
require('../loading/loading.js');
require('../loading/icon/gradient.js');
require('../_common/js/loading/circle-adapter.js');
require('../_common/js/utils/setStyle.js');
require('../utils/render-tnode.js');
require('@babel/runtime/helpers/readOnlyError');
require('../_chunks/dep-bf70543d.js');
require('../_chunks/dep-f895c884.js');
require('../_chunks/dep-68f48b50.js');
require('../_chunks/dep-051ce30d.js');
require('../_chunks/dep-4b30bfe2.js');
require('../_chunks/dep-727a349e.js');
require('../utils/transfer-dom.js');
require('../loading/props.js');
require('../config.js');
require('../_chunks/dep-e1a96c85.js');
require('../_chunks/dep-35eb80a8.js');
require('../_chunks/dep-563168ba.js');
require('../_chunks/dep-ed8c3176.js');
require('../_chunks/dep-de009b1f.js');
require('../_chunks/dep-459d78d6.js');
require('../utils/withInstall.js');
require('../button/props.js');
require('../utils/ripple.js');
require('../input/index.js');
require('../input/input.js');
require('../utils/helper.js');
require('../utils/event.js');
require('../input/props.js');
require('../input/input-group.js');
require('../utils/map-props.js');
require('../input-number/props.js');
require('../input-number/useInputNumber.js');
require('../hooks/useCommonClassName.js');
require('../hooks/useVModel.js');
require('../_common/js/input-number/number.js');
require('../_common/js/input-number/large-number.js');
require('../hooks/useFormDisabled.js');
require('../hooks/useGlobalIcon.js');
require('../select/index.js');
require('../select/select.js');
require('../hooks/useDefaultValue.js');
require('../select/props.js');
require('../popup/index.js');
require('../popup/popup.js');
require('@popperjs/core');
require('../popup/props.js');
require('../popup/container.js');
require('../popup/utils.js');
require('../popup/plugin.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('../hooks/useConfig.js');
require('../_common/js/common.js');
require('../tag/check-tag-group.js');
require('../tag/check-tag-group-props.js');
require('../select-input/index.js');
require('../select-input/select-input.js');
require('../select-input/props.js');
require('../select-input/useSingle.js');
require('../select-input/useMultiple.js');
require('../tag-input/index.js');
require('../tag-input/tag-input.js');
require('../tag-input/props.js');
require('../tag-input/hooks/useTagScroll.js');
require('../tag-input/useTagList.js');
require('../tag-input/hooks/useHover.js');
require('../tag-input/hooks/useDragSorter.js');
require('../hooks/render-tnode.js');
require('../_chunks/dep-f6069bb1.js');
require('../select-input/useOverlayInnerStyle.js');
require('../common-components/fake-arrow.js');
require('../select/option.js');
require('../select/option-props.js');
require('../checkbox/index.js');
require('../checkbox/group.js');
require('../checkbox/checkbox.js');
require('../checkbox/props.js');
require('../checkbox/constants.js');
require('../checkbox/store.js');
require('@babel/runtime/helpers/classCallCheck');
require('@babel/runtime/helpers/createClass');
require('../checkbox/hooks/useKeyboardEvent.js');
require('../hooks/useElementLazyRender.js');
require('../_common/js/utils/observe.js');
require('../checkbox/checkbox-group-props.js');
require('../_chunks/dep-8f3a0ba0.js');
require('../hooks/slots.js');
require('../hooks/useLazyLoad.js');
require('../select/util.js');
require('../_chunks/dep-bda7e2bd.js');
require('../_chunks/dep-b0b39c86.js');
require('../select/select-panel.js');
require('../select/optionGroup.js');
require('../select/option-group-props.js');
require('../hooks/useVirtualScroll.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/pagination-mini.js');
require('../pagination/pagination-mini-props.js');
require('../hooks/useVirtualScrollNew.js');
require('../hooks/useResizeObserver.js');
require('./hooks/useAffix.js');
require('./tbody.js');
require('./tr.js');
require('./utils.js');
require('./ellipsis.js');
require('../tooltip/index.js');
require('../tooltip/tooltip.js');
require('../tooltip/props.js');
require('./hooks/useRowspanAndColspan.js');
require('./hooks/useRowHighlight.js');
require('./hooks/useHoverKeyboardEvent.js');
require('../affix/index.js');
require('../affix/affix.js');
require('../affix/props.js');
require('./thead.js');
require('./tfoot.js');
require('./hooks/useMultiHeader.js');
require('../dialog/plugin.js');
require('../dialog/dialog.js');
require('../dialog/actions.js');
require('../dialog/props.js');
require('../hooks/useDestroyOnClose.js');
require('../dialog/stack.js');
require('../_chunks/dep-a283b0cb.js');
require('../config-provider/config-provider.js');
require('../config-provider/props.js');
require('./column-checkbox-group.js');
require('../_common/js/table/utils.js');
require('../radio/index.js');
require('../radio/radio.js');
require('../radio/props.js');
require('../radio/group.js');
require('@babel/runtime/helpers/asyncToGenerator');
require('@babel/runtime/regenerator');
require('../radio/radio-group-props.js');
require('../radio/radio-button.js');
require('./sorter-button.js');
require('./filter-controller.js');
require('../_chunks/dep-29bbf269.js');
require('sortablejs');
require('../_common/js/utils/swapDragArrayElement.js');
require('./editable-cell.js');
require('@babel/runtime/helpers/toArray');
require('../form/form-model.js');
require('../_chunks/dep-910b0661.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", "multipleSort", "expandIcon", "reserveSelectedRowOnPaginate", "selectOnRowClick", "onChange", "onAsyncLoadingClick", "onChange", "onColumnChange", "onColumnControllerVisibleChange", "onDataChange", "onDisplayColumnsChange", "onDragSort", "onExpandChange", "onFilterChange", "onSelectChange", "onSortChange"];
var _PrimaryTable = VueCompositionAPI.defineComponent({
name: "TPrimaryTable",
props: _objectSpread(_objectSpread({}, table_baseTableProps["default"]), table_primaryTableProps["default"]),
setup: function setup(props, context) {
var renderTNode = hooks_tnode.useTNodeJSX();
var _toRefs = VueCompositionAPI.toRefs(props),
columns = _toRefs.columns;
var primaryTableRef = VueCompositionAPI.ref(null);
var showElement = VueCompositionAPI.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_useConfig.useConfig("table", props.locale),
global = _useConfig.global;
var _useStyle = table_hooks_useStyle["default"](props),
sizeClassNames = _useStyle.sizeClassNames;
var tableSize = VueCompositionAPI.computed(function () {
var _props$size;
return (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : global.value.size;
});
var innerPagination = VueCompositionAPI.ref(props.pagination);
var dataPagination = VueCompositionAPI.computed(function () {
return innerPagination.value ? {
current: innerPagination.value.current,
pageSize: innerPagination.value.pageSize,
defaultCurrent: innerPagination.value.defaultCurrent,
defaultPageSize: innerPagination.value.defaultPageSize
} : {};
});
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 = VueCompositionAPI.computed(function () {
return {
showElement: showElement.value,
pagination: dataPagination.value
};
});
var _useDragSort = table_hooks_useDragSort["default"](props, context, dragSortParams),
isRowHandlerDraggable = _useDragSort.isRowHandlerDraggable,
isRowDraggable = _useDragSort.isRowDraggable,
isColDraggable = _useDragSort.isColDraggable,
setDragSortPrimaryTableRef = _useDragSort.setDragSortPrimaryTableRef,
setDragSortColumns = _useDragSort.setDragSortColumns;
var _useTableHeader = table_hooks_useTableHeader["default"](props),
renderTitleWidthIcon = _useTableHeader.renderTitleWidthIcon;
var _useAsyncLoading = table_hooks_useAsyncLoading["default"](props, context),
renderAsyncLoading = _useAsyncLoading.renderAsyncLoading;
var _useEditableRow = table_hooks_useEditableRow["default"](props, context),
errorListMap = _useEditableRow.errorListMap,
editableKeysMap = _useEditableRow.editableKeysMap,
validateRowData = _useEditableRow.validateRowData,
validateTableData = _useEditableRow.validateTableData,
onRuleChange = _useEditableRow.onRuleChange,
clearValidateData = _useEditableRow.clearValidateData,
getEditRowData = _useEditableRow.getEditRowData,
onUpdateEditedCell = _useEditableRow.onUpdateEditedCell,
onPrimaryTableRowValidate = _useEditableRow.onPrimaryTableRowValidate,
onPrimaryTableCellEditChange = _useEditableRow.onPrimaryTableCellEditChange;
var _useEditableCell = table_hooks_useEditableCell["default"](props, context, {
"update-edited-cell": onUpdateEditedCell
}),
renderEditableCell = _useEditableCell.renderEditableCell;
var innerKeyboardRowHover = VueCompositionAPI.computed(function () {
return Boolean(showExpandedRow.value || showRowSelect.value);
});
var innerDisableSpaceInactiveRow = VueCompositionAPI.computed(function () {
return Boolean(showExpandedRow.value || showRowSelect.value);
});
var primaryTableClasses = VueCompositionAPI.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 = VueCompositionAPI.computed(function () {
var tClassNames = [props.rowClassName, selectedRowClassNames.value, getExpandedRowClass];
return tClassNames.filter(function (v) {
return v;
});
});
var tRowAttributes = VueCompositionAPI.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;
});
});
VueCompositionAPI.onMounted(function () {
setFilterPrimaryTableRef(primaryTableRef.value);
setDragSortPrimaryTableRef(primaryTableRef.value);
});
VueCompositionAPI.watch(primaryTableRef, function () {
setFilterPrimaryTableRef(primaryTableRef.value);
setDragSortPrimaryTableRef(primaryTableRef.value);
});
var onEditableCellChange = function onEditableCellChange(params) {
var _props$onRowEdit;
(_props$onRowEdit = props.onRowEdit) === null || _props$onRowEdit === void 0 || _props$onRowEdit.call(props, params);
context.emit("row-edit", 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));
var isColumnController = Boolean(props.columnController || props.displayColumns || props.defaultDisplayColumns);
if (!isDisplayColumn && isColumnController && !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(VueCompositionAPI.h, context.slots, item, i);
var _item = item,
ellipsisTitle = _item.ellipsisTitle;
item.title = function (h2, p) {
var _primaryTableRef$valu;
var sortIcon = item.sorter ? renderSortIcon(h2, p) : null;
var filterIcon = item.filter ? renderFilterIcon(h2, p) : null;
var attach = (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 || (_primaryTableRef$valu = _primaryTableRef$valu.$refs) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.tableContentRef;
return renderTitleWidthIcon(h2, [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),
rowKey: props.rowKey || "id",
oldCell: oldCell,
tableBaseClass: tableBaseClass,
cellEmptyContent: props.cellEmptyContent,
onChange: onEditableCellChange,
onValidate: onPrimaryTableRowValidate,
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 renderEditableCell(h2, cellProps);
};
}
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 = VueCompositionAPI.computed(function () {
var cols = _getColumns(columns.value);
if (showExpandIconColumn.value) {
cols.unshift(getExpandColumn(VueCompositionAPI.h));
}
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);
context.emit("page-change", 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));
context.emit.apply(context, ["change"].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 (!context.listeners["row-dblclick"]) {
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;
};
return {
tColumns: tColumns,
showExpandedRow: showExpandedRow,
tRowClassNames: tRowClassNames,
hasEmptyCondition: hasEmptyCondition,
primaryTableRef: primaryTableRef,
tRowAttributes: tRowAttributes,
primaryTableClasses: primaryTableClasses,
errorListMap: errorListMap,
onShowElementChange: onShowElementChange,
scrollToElement: function scrollToElement(data) {
primaryTableRef.value.scrollToElement(data);
},
scrollColumnIntoView: function scrollColumnIntoView(colKey) {
primaryTableRef.value.scrollColumnIntoView(colKey);
},
refreshTable: function refreshTable() {
primaryTableRef.value.refreshTable();
},
validateRowData: validateRowData,
validateTableData: validateTableData,
clearValidateData: clearValidateData,
renderTNode: renderTNode,
renderColumnController: renderColumnController,
renderExpandedRow: renderExpandedRow,
onInnerExpandRowClick: onInnerExpandRowClick,
onInnerRowClick: onInnerRowClick,
renderFirstFilterRow: renderFirstFilterRow,
renderAsyncLoading: renderAsyncLoading,
onInnerPageChange: onInnerPageChange,
setDragSortColumns: setDragSortColumns,
onInnerActiveRowAction: onInnerActiveRowAction,
innerKeyboardRowHover: innerKeyboardRowHover,
innerDisableSpaceInactiveRow: innerDisableSpaceInactiveRow
};
},
methods: {
getListener: function getListener() {
var _this = this;
var listener = {};
table_baseTable.BASE_TABLE_ALL_EVENTS.forEach(function (key) {
listener[key] = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this.$emit.apply(_this, [key].concat(args));
};
});
return listener;
},
formatNode: function formatNode(api, renderInnerNode, condition, extra) {
var h = this.$createElement;
if (!condition) return this[api];
var innerNode = renderInnerNode(h);
var propsNode = this.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 ? h("div", [innerNode, propsNode]) : h("div", [propsNode, innerNode]);
};
}
return null;
}
},
render: function render() {
var _this$keyboardRowHove, _this$disableSpaceIna;
var h = arguments[0];
var isColumnController = !!(this.columnController && Object.keys(this.columnController).length);
var placement = isColumnController ? this.columnController.placement || "top-right" : "";
var isBottomController = isColumnController && (placement === null || placement === void 0 ? void 0 : placement.indexOf("bottom")) !== -1;
var topContent = this.formatNode("topContent", this.renderColumnController, isColumnController && !isBottomController);
var bottomContent = this.formatNode("bottomContent", this.renderColumnController, isBottomController, {
reverse: true
});
var firstFullRow = this.formatNode("firstFullRow", this.renderFirstFilterRow, !this.hasEmptyCondition);
var lastFullRow = this.formatNode("lastFullRow", this.renderAsyncLoading, !!this.asyncLoading);
var props = _objectSpread(_objectSpread({}, omit.omit(this.$props, OMIT_PROPS)), {}, {
rowClassName: this.tRowClassNames,
rowAttributes: this.tRowAttributes,
columns: this.tColumns,
keyboardRowHover: (_this$keyboardRowHove = this.keyboardRowHover) !== null && _this$keyboardRowHove !== void 0 ? _this$keyboardRowHove : this.innerKeyboardRowHover,
disableSpaceInactiveRow: (_this$disableSpaceIna = this.disableSpaceInactiveRow) !== null && _this$disableSpaceIna !== void 0 ? _this$disableSpaceIna : this.innerDisableSpaceInactiveRow,
topContent: topContent,
bottomContent: bottomContent,
firstFullRow: firstFullRow,
lastFullRow: lastFullRow,
thDraggable: this.$props.dragSort === "col",
renderExpandedRow: this.showExpandedRow ? this.renderExpandedRow : void 0,
onActiveRowAction: this.onInnerActiveRowAction
});
var on = _objectSpread(_objectSpread({}, this.getListener()), {}, {
"page-change": this.onInnerPageChange,
"show-element-change": this.onShowElementChange
});
if (this.expandOnRowClick || this.selectOnRowClick) {
on["row-click"] = this.onInnerRowClick;
}
on.LeafColumnsChange = this.setDragSortColumns;
return h(table_baseTable["default"], helper.helper([{
"ref": "primaryTableRef",
"scopedSlots": this.$scopedSlots
}, {
"props": props
}, {}, {
"on": on
}, {}, this.$attrs, {
"class": this.primaryTableClasses
}]));
}
});
exports.BASE_TABLE_ALL_EVENTS = table_baseTable.BASE_TABLE_ALL_EVENTS;
exports["default"] = _PrimaryTable;
//# sourceMappingURL=primary-table.js.map