UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

77 lines (62 loc) 2.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useTableFooter = useTableFooter; var _vue = require("vue"); var _useEventListener = require("../../../_util/hooks/use-event-listener"); var _tableFooter = _interopRequireDefault(require("../components/table-footer")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** @format */ function useTableFooter(propsRef, scrollRef, tableElRef, getDataSourceRef) { var getIsEmptyData = (0, _vue.computed)(function () { return ((0, _vue.unref)(getDataSourceRef) || []).length === 0; }); var getFooterProps = (0, _vue.computed)(function () { var _unref = (0, _vue.unref)(propsRef), summaryFunc = _unref.summaryFunc, showSummary = _unref.showSummary, summaryData = _unref.summaryData; return showSummary && !(0, _vue.unref)(getIsEmptyData) ? function () { return (0, _vue.h)(_tableFooter.default, { summaryFunc: summaryFunc, summaryData: summaryData, scroll: (0, _vue.unref)(scrollRef) }); } : undefined; }); (0, _vue.watchEffect)(function () { handleSummary(); }); function handleSummary() { var _unref2 = (0, _vue.unref)(propsRef), showSummary = _unref2.showSummary; if (!showSummary || (0, _vue.unref)(getIsEmptyData)) { return; } (0, _vue.nextTick)(function () { var tableEl = (0, _vue.unref)(tableElRef); if (!tableEl) { return; } var bodyDomList = tableEl.$el.querySelectorAll('.ant-table-body'); var bodyDom = bodyDomList[0]; (0, _useEventListener.useEventListener)({ el: bodyDom, name: 'scroll', listener: function listener() { var footerBodyDom = tableEl.$el.querySelector('.ant-table-footer .ant-table-body'); if (!footerBodyDom || !bodyDom) { return; } footerBodyDom.scrollLeft = bodyDom.scrollLeft; }, wait: 0, options: true }); }); } return { getFooterProps: getFooterProps }; }