UNPKG

tdesign-vue

Version:
663 lines (655 loc) 31.7 kB
/** * 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