UNPKG

@fe6/water-pro

Version:

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

91 lines (77 loc) 2.9 kB
import { createVNode as _createVNode } from "vue"; import _regeneratorRuntime from "@babel/runtime/regenerator"; function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /** @format */ import { __awaiter } from "tslib"; import { computed, unref, ref } from 'vue'; import { LeftOutlined, RightOutlined } from '@ant-design/icons-vue'; import { isBoolean, isFunction } from '@fe6/shared'; import { PAGE_SIZE, PAGE_SIZE_OPTIONS } from '../const'; function itemRender(_ref) { var page = _ref.page, type = _ref.type, originalElement = _ref.originalElement; if (type === 'prev') { return page === 0 ? null : _createVNode(LeftOutlined, null, null); } else if (type === 'next') { return page === 1 ? null : _createVNode(RightOutlined, null, null); } return originalElement; } export function usePagination(refProps) { var configRef = ref({}); var show = ref(true); var getPaginationInfo = computed(function () { var _unref = unref(refProps), pagination = _unref.pagination, totalRender = _unref.totalRender; if (!unref(show) || isBoolean(pagination) && !pagination) { return false; } return _extends(_extends({ current: 1, pageSize: PAGE_SIZE, size: 'small', defaultPageSize: PAGE_SIZE, showTotal: isFunction(totalRender) ? totalRender : function (total) { return "\u5171 ".concat(total, " \u6761\u6570\u636E"); }, showSizeChanger: false, pageSizeOptions: PAGE_SIZE_OPTIONS, itemRender: itemRender, showQuickJumper: false }, isBoolean(pagination) ? {} : pagination), unref(configRef)); }); function setPagination(info) { var paginationInfo = unref(getPaginationInfo); configRef.value = _extends(_extends({}, !isBoolean(paginationInfo) ? paginationInfo : {}), info); } function getPagination() { return unref(getPaginationInfo); } function getShowPagination() { return unref(show); } function setShowPagination(flag) { return __awaiter(this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: show.value = flag; case 1: case "end": return _context.stop(); } } }, _callee); })); } return { getPagination: getPagination, getPaginationInfo: getPaginationInfo, setShowPagination: setShowPagination, getShowPagination: getShowPagination, setPagination: setPagination }; }