element-plus
Version:
A Component Library for Vue 3
1 lines • 24 kB
Source Map (JSON)
{"version":3,"file":"table.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <div\n ref=\"tableWrapper\"\n :class=\"[\n {\n [ns.m('fit')]: fit,\n [ns.m('striped')]: stripe,\n [ns.m('border')]: border || isGroup,\n [ns.m('hidden')]: isHidden,\n [ns.m('group')]: isGroup,\n [ns.m('fluid-height')]: maxHeight,\n [ns.m('scrollable-x')]: layout.scrollX.value,\n [ns.m('scrollable-y')]: layout.scrollY.value,\n [ns.m('enable-row-hover')]: !store.states.isComplex.value,\n [ns.m('enable-row-transition')]:\n (store.states.data.value || []).length !== 0 &&\n (store.states.data.value || []).length < 100,\n 'has-footer': showSummary,\n },\n ns.m(tableSize),\n className,\n ns.b(),\n ns.m(`layout-${tableLayout}`),\n ]\"\n :style=\"style\"\n :data-prefix=\"ns.namespace.value\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div :class=\"ns.e('inner-wrapper')\">\n <div ref=\"hiddenColumns\" class=\"hidden-columns\">\n <slot />\n </div>\n <div\n v-if=\"showHeader && tableLayout === 'fixed'\"\n ref=\"headerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('header-wrapper')\"\n >\n <table\n ref=\"tableHeader\"\n :class=\"ns.e('header')\"\n :style=\"tableBodyStyles\"\n border=\"0\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n ref=\"tableHeaderRef\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :append-filter-panel-to=\"appendFilterPanelTo\"\n :allow-drag-last-column=\"allowDragLastColumn\"\n @set-drag-visible=\"setDragVisible\"\n />\n </table>\n </div>\n <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\n <el-scrollbar\n ref=\"scrollBarRef\"\n :view-style=\"scrollbarViewStyle\"\n :wrap-style=\"scrollbarStyle\"\n :always=\"scrollbarAlwaysOn\"\n :tabindex=\"scrollbarTabindex\"\n @scroll=\"$emit('scroll', $event)\"\n >\n <table\n ref=\"tableBody\"\n :class=\"ns.e('body')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"{\n width: bodyWidth,\n tableLayout,\n }\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-header\n v-if=\"showHeader && tableLayout === 'auto'\"\n ref=\"tableHeaderRef\"\n :class=\"ns.e('body-header')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :append-filter-panel-to=\"appendFilterPanelTo\"\n @set-drag-visible=\"setDragVisible\"\n />\n <table-body\n :context=\"context\"\n :highlight=\"highlightCurrentRow\"\n :row-class-name=\"rowClassName\"\n :tooltip-effect=\"tooltipEffect\"\n :tooltip-options=\"tooltipOptions\"\n :row-style=\"rowStyle\"\n :store=\"store\"\n :stripe=\"stripe\"\n />\n <table-footer\n v-if=\"showSummary && tableLayout === 'auto'\"\n :class=\"ns.e('body-footer')\"\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n <div\n v-if=\"isEmpty\"\n ref=\"emptyBlock\"\n :style=\"emptyBlockStyle\"\n :class=\"ns.e('empty-block')\"\n >\n <span :class=\"ns.e('empty-text')\">\n <slot name=\"empty\">{{ computedEmptyText }}</slot>\n </span>\n </div>\n <div\n v-if=\"$slots.append\"\n ref=\"appendWrapper\"\n :class=\"ns.e('append-wrapper')\"\n >\n <slot name=\"append\" />\n </div>\n </el-scrollbar>\n </div>\n <div\n v-if=\"showSummary && tableLayout === 'fixed'\"\n v-show=\"!isEmpty\"\n ref=\"footerWrapper\"\n v-mousewheel=\"handleHeaderFooterMousewheel\"\n :class=\"ns.e('footer-wrapper')\"\n >\n <table\n :class=\"ns.e('footer')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n border=\"0\"\n :style=\"tableBodyStyles\"\n >\n <hColgroup\n :columns=\"store.states.columns.value\"\n :table-layout=\"tableLayout\"\n />\n <table-footer\n :border=\"border\"\n :default-sort=\"defaultSort\"\n :store=\"store\"\n :sum-text=\"computedSumText\"\n :summary-method=\"summaryMethod\"\n />\n </table>\n </div>\n <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\n </div>\n <div\n v-show=\"resizeProxyVisible\"\n ref=\"resizeProxy\"\n :class=\"ns.e('column-resize-proxy')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { Mousewheel } from '@element-plus/directives'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport { createStore } from './store/helper'\nimport TableLayout from './table-layout'\nimport TableHeader from './table-header'\nimport TableBody from './table-body'\nimport TableFooter from './table-footer'\nimport useUtils from './table/utils-helper'\nimport { convertToRows } from './table-header/utils-helper'\nimport useStyle from './table/style-helper'\nimport useKeyRender from './table/key-render-helper'\nimport defaultProps from './table/defaults'\nimport { TABLE_INJECTION_KEY } from './tokens'\nimport { hColgroup } from './h-helper'\nimport { useScrollbar } from './composables/use-scrollbar'\n\nimport type { Table } from './table/defaults'\n\nlet tableIdSeed = 1\nexport default 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: [\n 'select',\n 'select-all',\n 'selection-change',\n 'cell-mouse-enter',\n 'cell-mouse-leave',\n 'cell-contextmenu',\n 'cell-click',\n 'cell-dblclick',\n 'row-click',\n 'row-contextmenu',\n 'row-dblclick',\n 'header-click',\n 'header-contextmenu',\n 'sort-change',\n 'filter-change',\n 'current-change',\n 'header-dragend',\n 'expand-change',\n 'scroll',\n ],\n setup(props) {\n type Row = typeof props.data[number]\n const { t } = useLocale()\n const ns = useNamespace('table')\n const table = getCurrentInstance() as Table<Row>\n provide(TABLE_INJECTION_KEY, table)\n const store = createStore<Row>(table, props)\n table.store = store\n const layout = new TableLayout<Row>({\n store: table.store,\n table,\n fit: props.fit,\n showHeader: props.showHeader,\n })\n table.layout = layout\n\n const isEmpty = computed(() => (store.states.data.value || []).length === 0)\n\n /**\n * open functions\n */\n const {\n setCurrentRow,\n getSelectionRows,\n toggleRowSelection,\n clearSelection,\n clearFilter,\n toggleAllSelection,\n toggleRowExpansion,\n clearSort,\n sort,\n updateKeyChildren,\n } = useUtils<Row>(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<Row>(props, layout, store, table)\n\n const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =\n useScrollbar()\n\n const debouncedUpdateLayout = debounce(doLayout, 50)\n\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 () => props.sumText ?? t('el.table.sumText')\n )\n\n const computedEmptyText = computed(() => {\n return props.emptyText ?? t('el.table.emptyText')\n })\n\n const columns = computed(() => {\n return convertToRows(store.states.originColumns.value)[0]\n })\n\n useKeyRender(table)\n\n onBeforeUnmount(() => {\n debouncedUpdateLayout.cancel()\n })\n\n return {\n ns,\n layout,\n store,\n columns,\n handleHeaderFooterMousewheel,\n handleMouseLeave,\n tableId,\n tableSize,\n isHidden,\n isEmpty,\n renderExpanded,\n resizeProxyVisible,\n resizeState,\n isGroup,\n bodyWidth,\n tableBodyStyles,\n emptyBlockStyle,\n debouncedUpdateLayout,\n handleFixedMousewheel,\n /**\n * @description used in single selection Table, set a certain row selected. If called without any parameter, it will clear selection\n */\n setCurrentRow,\n /**\n * @description returns the currently selected rows\n */\n getSelectionRows,\n /**\n * @description used in multiple selection Table, toggle if a certain row is selected. With the second parameter, you can directly set if this row is selected\n */\n toggleRowSelection,\n /**\n * @description used in multiple selection Table, clear user selection\n */\n clearSelection,\n /**\n * @description clear filters of the columns whose `columnKey` are passed in. If no params, clear all filters\n */\n clearFilter,\n /**\n * @description used in multiple selection Table, toggle select all and deselect all\n */\n toggleAllSelection,\n /**\n * @description used in expandable Table or tree Table, toggle if a certain row is expanded. With the second parameter, you can directly set if this row is expanded or collapsed\n */\n toggleRowExpansion,\n /**\n * @description clear sorting, restore data to the original order\n */\n clearSort,\n /**\n * @description refresh the layout of Table. When the visibility of Table changes, you may need to call this method to get a correct layout\n */\n doLayout,\n /**\n * @description sort Table manually. Property `prop` is used to set sort column, property `order` is used to set sort order\n */\n sort,\n /**\n * @description used in lazy Table, must set `rowKey`, update key children\n */\n updateKeyChildren,\n t,\n setDragVisible,\n context: table,\n computedSumText,\n computedEmptyText,\n tableLayout,\n scrollbarViewStyle,\n scrollbarStyle,\n scrollBarRef,\n /**\n * @description scrolls to a particular set of coordinates\n */\n scrollTo,\n /**\n * @description set horizontal scroll position\n */\n setScrollLeft,\n /**\n * @description set vertical scroll position\n */\n setScrollTop,\n /**\n * @description whether to allow drag the last column\n */\n allowDragLastColumn: props.allowDragLastColumn,\n }\n },\n})\n</script>\n"],"names":["_resolveComponent","_resolveDirective","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_withDirectives","_createVNode","_createCommentVNode","_withCtx","_createBlock","_createTextVNode","_toDisplayString"],"mappings":"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"}