{"version":3,"file":"table.mjs","sources":["../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\r\n  <div\r\n    ref=\"tableWrapper\"\r\n    :class=\"[\r\n      {\r\n        [ns.m('fit')]: fit,\r\n        [ns.m('striped')]: stripe,\r\n        [ns.m('border')]: border || isGroup,\r\n        [ns.m('hidden')]: isHidden,\r\n        [ns.m('group')]: isGroup,\r\n        [ns.m('fluid-height')]: maxHeight,\r\n        [ns.m('scrollable-x')]: layout.scrollX.value,\r\n        [ns.m('scrollable-y')]: layout.scrollY.value,\r\n        [ns.m('enable-row-hover')]: !store.states.isComplex.value,\r\n        [ns.m('enable-row-transition')]:\r\n          (store.states.data.value || []).length !== 0 &&\r\n          (store.states.data.value || []).length < 100,\r\n        'has-footer': showSummary,\r\n      },\r\n      ns.m(tableSize),\r\n      className,\r\n      ns.b(),\r\n      ns.m(`layout-${tableLayout}`),\r\n    ]\"\r\n    :style=\"style\"\r\n    :data-prefix=\"ns.namespace.value\"\r\n    @mouseleave=\"handleMouseLeave\"\r\n  >\r\n    <div :class=\"ns.e('inner-wrapper')\" :style=\"tableInnerStyle\">\r\n      <div ref=\"hiddenColumns\" class=\"hidden-columns\">\r\n        <slot />\r\n      </div>\r\n      <div\r\n        v-if=\"showHeader && tableLayout === 'fixed'\"\r\n        ref=\"headerWrapper\"\r\n        v-mousewheel=\"handleHeaderFooterMousewheel\"\r\n        :class=\"ns.e('header-wrapper')\"\r\n      >\r\n        <table\r\n          ref=\"tableHeader\"\r\n          :class=\"ns.e('header')\"\r\n          :style=\"tableBodyStyles\"\r\n          border=\"0\"\r\n          cellpadding=\"0\"\r\n          cellspacing=\"0\"\r\n        >\r\n          <hColgroup\r\n            :columns=\"store.states.columns.value\"\r\n            :table-layout=\"tableLayout\"\r\n          />\r\n          <table-header\r\n            ref=\"tableHeaderRef\"\r\n            :border=\"border\"\r\n            :default-sort=\"defaultSort\"\r\n            :store=\"store\"\r\n            @set-drag-visible=\"setDragVisible\"\r\n          />\r\n        </table>\r\n      </div>\r\n      <div ref=\"bodyWrapper\" :class=\"ns.e('body-wrapper')\">\r\n        <sg-scrollbar\r\n          ref=\"scrollBarRef\"\r\n          :view-style=\"scrollbarViewStyle\"\r\n          :wrap-style=\"scrollbarStyle\"\r\n          :always=\"scrollbarAlwaysOn\"\r\n        >\r\n          <table\r\n            ref=\"tableBody\"\r\n            :class=\"ns.e('body')\"\r\n            cellspacing=\"0\"\r\n            cellpadding=\"0\"\r\n            border=\"0\"\r\n            :style=\"{\r\n              width: bodyWidth,\r\n              tableLayout,\r\n            }\"\r\n          >\r\n            <hColgroup\r\n              :columns=\"store.states.columns.value\"\r\n              :table-layout=\"tableLayout\"\r\n            />\r\n            <table-header\r\n              v-if=\"showHeader && tableLayout === 'auto'\"\r\n              ref=\"tableHeaderRef\"\r\n              :border=\"border\"\r\n              :default-sort=\"defaultSort\"\r\n              :store=\"store\"\r\n              @set-drag-visible=\"setDragVisible\"\r\n            />\r\n            <table-body\r\n              :context=\"context\"\r\n              :highlight=\"highlightCurrentRow\"\r\n              :row-class-name=\"rowClassName\"\r\n              :tooltip-effect=\"tooltipEffect\"\r\n              :tooltip-options=\"tooltipOptions\"\r\n              :row-style=\"rowStyle\"\r\n              :store=\"store\"\r\n              :stripe=\"stripe\"\r\n              :checkOnClickNode=\"checkOnClickNode\"\r\n            />\r\n          </table>\r\n          <div\r\n            v-if=\"isEmpty\"\r\n            ref=\"emptyBlock\"\r\n            :style=\"emptyBlockStyle\"\r\n            :class=\"ns.e('empty-block')\"\r\n          >\r\n            <span :class=\"ns.e('empty-text')\">\r\n              <slot name=\"empty\">{{ computedEmptyText }}</slot>\r\n            </span>\r\n          </div>\r\n          <div\r\n            v-if=\"$slots.append\"\r\n            ref=\"appendWrapper\"\r\n            :class=\"ns.e('append-wrapper')\"\r\n          >\r\n            <slot name=\"append\" />\r\n          </div>\r\n        </sg-scrollbar>\r\n      </div>\r\n      <div\r\n        v-if=\"showSummary\"\r\n        v-show=\"!isEmpty\"\r\n        ref=\"footerWrapper\"\r\n        v-mousewheel=\"handleHeaderFooterMousewheel\"\r\n        :class=\"ns.e('footer-wrapper')\"\r\n      >\r\n        <table-footer\r\n          :border=\"border\"\r\n          :default-sort=\"defaultSort\"\r\n          :store=\"store\"\r\n          :style=\"tableBodyStyles\"\r\n          :sum-text=\"computedSumText\"\r\n          :summary-method=\"summaryMethod\"\r\n        />\r\n      </div>\r\n      <div v-if=\"border || isGroup\" :class=\"ns.e('border-left-patch')\" />\r\n    </div>\r\n    <div\r\n      v-show=\"resizeProxyVisible\"\r\n      ref=\"resizeProxy\"\r\n      :class=\"ns.e('column-resize-proxy')\"\r\n    />\r\n  </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n// @ts-nocheck\r\nimport { computed, defineComponent, getCurrentInstance, provide } from 'vue'\r\nimport { debounce } from 'lodash'\r\nimport { Mousewheel } from '@sgui-plus/directives'\r\nimport { useLocale, useNamespace } from '@sgui-plus/hooks'\r\nimport SgScrollbar from '@sgui-plus/components/scrollbar'\r\nimport { createStore } from './store/helper'\r\nimport TableLayout from './table-layout'\r\nimport TableHeader from './table-header'\r\nimport TableBody from './table-body'\r\nimport TableFooter from './table-footer'\r\nimport useUtils from './table/utils-helper'\r\nimport useStyle from './table/style-helper'\r\nimport useKeyRender from './table/key-render-helper'\r\nimport defaultProps from './table/defaults'\r\nimport { TABLE_INJECTION_KEY } from './tokens'\r\nimport { hColgroup } from './h-helper'\r\nimport { useScrollbar } from './composables/use-scrollbar'\r\n\r\nimport type { Table } from './table/defaults'\r\n\r\nlet tableIdSeed = 1\r\nexport default defineComponent({\r\n  name: 'SgTable',\r\n  directives: {\r\n    Mousewheel,\r\n  },\r\n  components: {\r\n    TableHeader,\r\n    TableBody,\r\n    TableFooter,\r\n    SgScrollbar,\r\n    hColgroup,\r\n  },\r\n  props: defaultProps,\r\n  emits: [\r\n    'select',\r\n    'select-all',\r\n    'selection-change',\r\n    'cell-mouse-enter',\r\n    'cell-mouse-leave',\r\n    'cell-contextmenu',\r\n    'cell-click',\r\n    'cell-dblclick',\r\n    'row-click',\r\n    'row-contextmenu',\r\n    'row-dblclick',\r\n    'header-click',\r\n    'header-contextmenu',\r\n    'sort-change',\r\n    'filter-change',\r\n    'current-change',\r\n    'header-dragend',\r\n    'expand-change',\r\n  ],\r\n  setup(props) {\r\n    type Row = typeof props.data[number]\r\n    const { t } = useLocale()\r\n    const ns = useNamespace('table')\r\n    const table = getCurrentInstance() as Table<Row>\r\n    provide(TABLE_INJECTION_KEY, table)\r\n    const store = createStore<Row>(table, props)\r\n    table.store = store\r\n    const layout = new TableLayout<Row>({\r\n      store: table.store,\r\n      table,\r\n      fit: props.fit,\r\n      showHeader: props.showHeader,\r\n    })\r\n    table.layout = layout\r\n\r\n    const isEmpty = computed(() => (store.states.data.value || []).length === 0)\r\n\r\n    /**\r\n     * open functions\r\n     */\r\n    const {\r\n      setCurrentRow,\r\n      getSelectionRows,\r\n      toggleRowSelection,\r\n      clearSelection,\r\n      clearFilter,\r\n      toggleAllSelection,\r\n      toggleRowExpansion,\r\n      clearSort,\r\n      sort,\r\n    } = useUtils<Row>(store)\r\n    const {\r\n      isHidden,\r\n      renderExpanded,\r\n      setDragVisible,\r\n      isGroup,\r\n      handleMouseLeave,\r\n      handleHeaderFooterMousewheel,\r\n      tableSize,\r\n      emptyBlockStyle,\r\n      handleFixedMousewheel,\r\n      resizeProxyVisible,\r\n      bodyWidth,\r\n      resizeState,\r\n      doLayout,\r\n      tableBodyStyles,\r\n      tableLayout,\r\n      scrollbarViewStyle,\r\n      tableInnerStyle,\r\n      scrollbarStyle,\r\n    } = useStyle<Row>(props, layout, store, table)\r\n\r\n    const { scrollBarRef, scrollTo, setScrollLeft, setScrollTop } =\r\n      useScrollbar()\r\n\r\n    const debouncedUpdateLayout = debounce(doLayout, 50)\r\n\r\n    const tableId = `${ns.namespace.value}-table_${tableIdSeed++}`\r\n    table.tableId = tableId\r\n    table.state = {\r\n      isGroup,\r\n      resizeState,\r\n      doLayout,\r\n      debouncedUpdateLayout,\r\n    }\r\n    const computedSumText = computed(\r\n      () => props.sumText || t('sg.table.sumText')\r\n    )\r\n\r\n    const computedEmptyText = computed(() => {\r\n      return props.emptyText || t('sg.table.emptyText')\r\n    })\r\n\r\n    useKeyRender(table)\r\n\r\n    return {\r\n      ns,\r\n      layout,\r\n      store,\r\n      handleHeaderFooterMousewheel,\r\n      handleMouseLeave,\r\n      tableId,\r\n      tableSize,\r\n      isHidden,\r\n      isEmpty,\r\n      renderExpanded,\r\n      resizeProxyVisible,\r\n      resizeState,\r\n      isGroup,\r\n      bodyWidth,\r\n      tableBodyStyles,\r\n      emptyBlockStyle,\r\n      debouncedUpdateLayout,\r\n      handleFixedMousewheel,\r\n      setCurrentRow,\r\n      getSelectionRows,\r\n      toggleRowSelection,\r\n      clearSelection,\r\n      clearFilter,\r\n      toggleAllSelection,\r\n      toggleRowExpansion,\r\n      clearSort,\r\n      doLayout,\r\n      sort,\r\n      t,\r\n      setDragVisible,\r\n      context: table,\r\n      computedSumText,\r\n      computedEmptyText,\r\n      tableLayout,\r\n      scrollbarViewStyle,\r\n      tableInnerStyle,\r\n      scrollbarStyle,\r\n      scrollBarRef,\r\n      scrollTo,\r\n      setScrollLeft,\r\n      setScrollTop,\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":["_resolveDirective","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createVNode","_createCommentVNode","_createElementVNode","_withCtx","_createBlock","_withDirectives"],"mappings":"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"}