You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

0 lines
34 KiB

1 month ago
  1. {"ast":null,"code":"import { defineComponent, getCurrentInstance, provide, computed, onBeforeUnmount, resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, renderSlot, withDirectives, createVNode, createCommentVNode, withCtx, createBlock, createTextVNode, toDisplayString, vShow } from 'vue';\nimport { debounce } from 'lodash-unified';\nimport { ElScrollbar } from '../../scrollbar/index.mjs';\nimport { createStore } from './store/helper.mjs';\nimport TableLayout from './table-layout.mjs';\nimport TableHeader from './table-header/index.mjs';\nimport TableBody from './table-body/index.mjs';\nimport TableFooter from './table-footer/index.mjs';\nimport useUtils from './table/utils-helper.mjs';\nimport { convertToRows } from './table-header/utils-helper.mjs';\nimport useStyle from './table/style-helper.mjs';\nimport useKeyRender from './table/key-render-helper.mjs';\nimport defaultProps from './table/defaults.mjs';\nimport { TABLE_INJECTION_KEY } from './tokens.mjs';\nimport { hColgroup } from './h-helper.mjs';\nimport { useScrollbar } from './composables/use-scrollbar.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport Mousewheel from '../../../directives/mousewheel/index.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nlet tableIdSeed = 1;\nconst _sfc_main = defineComponent({\n name: \"ElTable\",\n directives: {\n Mousewheel\n },\n components: {\n TableHeader,\n TableBody,\n TableFooter,\n ElScrollbar,\n hColgroup\n },\n props: defaultProps,\n emits: [\"select\", \"select-all\", \"selection-change\", \"cell-mouse-enter\", \"cell-mouse-leave\", \"cell-contextmenu\", \"cell-click\", \"cell-dblclick\", \"row-click\", \"row-contextmenu\", \"row-dblclick\", \"header-click\", \"header-contextmenu\", \"sort-change\", \"filter-change\", \"current-change\", \"header-dragend\", \"expand-change\", \"scroll\"],\n setup(props) {\n const {\n t\n } = useLocale();\n const ns = useNamespace(\"table\");\n const table = getCurrentInstance();\n provide(TABLE_INJECTION_KEY, table);\n const store = createStore(table, props);\n table.store = store;\n const layout = new TableLayout({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader\n });\n table.layout = layout;\n const isEmpty = computed(() => (store.states.data.value || []).length === 0);\n const {\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n updateKeyChildren\n } = useUtils(store);\n const {\n isHidden,\n renderExpanded,\n setDragVisible,\n isGroup,\n handleMouseLeave,\n handleHeaderFooterMousewheel,\n tableSize,\n emptyBlockStyle,\n handleFixedMousewheel,\n resizeProxyVisible,\n bodyWidth,\n resizeState,\n doLayout,\n tableBodyStyles,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle\n } = useStyle(props, layout, store, table);\n const {\n scrollBarRef,\n scrollTo,\n setScrollLeft,\n setScrollTop\n } = useScrollbar();\n const debouncedUpdateLayout = debounce(doLayout, 50);\n const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`;\n table.tableId = tableId;\n table.state = {\n isGroup,\n resizeState,\n doLayout,\n debouncedUpdateLayout\n };\n const computedSumText = computed(() => {\n var _a;\n return (_a = props.sumText) != null ? _a : t(\"el.table.sumText\");\n });\n const computedEmptyText = computed(() => {\n var _a;\n return (_a = props.emptyText) != null ? _a : t(\"el.table.emptyText\");\n });\n const columns = computed(() => {\n return convertToRows(store.states.originColumns.value)[0];\n });\n useKeyRender(