UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 20.2 kB
{"version":3,"file":"table.vue.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 ref=\"tableInnerWrapper\" :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 :native=\"nativeScrollbar\"\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\">\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 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 /**\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":["_createElementBlock","_normalizeClass","_normalizeStyle","_createElementVNode","_renderSlot","_withDirectives","_openBlock","_createVNode","_createCommentVNode","_createBlock","_createTextVNode"],"mappings":"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"}