UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 20.3 kB
{"version":3,"file":"pagination.mjs","sources":["../../node_modules/lodash/isNaN.js","../../src/pagination/pagination.tsx"],"sourcesContent":["var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","import { defineComponent, computed, ref, watch, toRefs } from 'vue';\nimport isNaN from 'lodash/isNaN';\nimport { TdPaginationProps } from '../pagination/type';\nimport { useConfig, usePrefixClass } from '../hooks/useConfig';\nimport TInputNumber from '../input-number';\nimport { Select } from '../select';\nimport TInputAdornment from '../input-adornment';\nimport props from './props';\nimport usePaginationClasses from './usePaginationClasses';\nimport useMoreAction from './useMoreAction';\nimport useVModel from '../hooks/useVModel';\nimport useDefaultValue from '../hooks/useDefaultValue';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport isObject from 'lodash/isObject';\n\nconst min = 1;\n\nexport default defineComponent({\n name: 'XPagination',\n props,\n\n setup(props: TdPaginationProps) {\n const { modelValue, pageSize, current } = toRefs(props);\n const renderTNodeJSX = useTNodeJSX();\n const [innerCurrent, setInnerCurrent] = useVModel(\n current,\n modelValue,\n props.defaultCurrent,\n props.onCurrentChange,\n 'current',\n );\n\n const [innerPageSize, setInnerPageSize] = useDefaultValue(\n pageSize,\n props.defaultPageSize,\n props.onPageSizeChange,\n 'pageSize',\n );\n\n const { t, globalConfig } = useConfig('pagination');\n const COMPONENT_NAME = usePrefixClass('pagination');\n\n const { pageCount, ...CLASS_MAP } = usePaginationClasses(props, innerCurrent, innerPageSize, COMPONENT_NAME);\n\n const { prevMore, isPrevMoreShow, curPageLeftCount, nextMore, isNextMoreShow, curPageRightCount } = useMoreAction(\n props,\n pageCount,\n innerCurrent,\n );\n\n const jumpIndex = ref(innerCurrent.value);\n\n const isFolded = computed(() => pageCount.value > props.maxPageBtn);\n\n const sizeOptions = computed<Array<{ label: string; value: number }>>(() => {\n const pageSizeOptions = props.pageSizeOptions as TdPaginationProps['pageSizeOptions'];\n const options = pageSizeOptions.map((option) =>\n isObject(option)\n ? option\n : {\n label: t(globalConfig.value.itemsPerPage, { size: option }),\n value: Number(option),\n },\n );\n return options.sort((a, b) => a.value - b.value);\n });\n\n const isMidEllipsis = computed(() => {\n return props.pageEllipsisMode === 'mid';\n });\n\n const pages = computed(() => {\n const array = [];\n let start;\n let end;\n\n if (isFolded.value) {\n if (isPrevMoreShow.value && isNextMoreShow.value) {\n start = innerCurrent.value - curPageLeftCount.value;\n end = innerCurrent.value + curPageRightCount.value;\n } else {\n const foldedStart = isMidEllipsis.value ? 2 : 1;\n const foldedEnd = isMidEllipsis.value ? pageCount.value - 1 : pageCount.value;\n start = isPrevMoreShow.value ? pageCount.value - props.foldedMaxPageBtn + 1 : foldedStart;\n end = isPrevMoreShow.value ? foldedEnd : props.foldedMaxPageBtn;\n }\n } else {\n start = 1;\n end = pageCount.value;\n }\n\n for (let i = start; i <= end; i++) {\n array.push(i);\n }\n return array;\n });\n\n // 如果页面总数发生变化并当前页数大于总页数则重置为1\n watch(\n () => pageCount.value,\n () => {\n if (innerCurrent.value > pageCount.value) innerCurrent.value = 1;\n },\n );\n watch(\n () => innerCurrent.value,\n (val) => (jumpIndex.value = val),\n );\n\n const toPage: (pageIndex: number, isTriggerChange?: boolean) => void = (pageIndex, isTriggerChange) => {\n if (props.disabled) {\n return;\n }\n let current = pageIndex;\n if (pageIndex < min) {\n current = min;\n } else if (pageIndex > pageCount.value) {\n current = pageCount.value;\n }\n if (innerCurrent.value !== current) {\n const prev = innerCurrent.value;\n const pageInfo = {\n current,\n previous: prev,\n pageSize: innerPageSize.value,\n };\n setInnerCurrent(current, pageInfo);\n if (isTriggerChange !== false) {\n props.onChange?.(pageInfo);\n }\n }\n };\n\n const handlePageChange = (type: string) => {\n const pageChangeMap = {\n prevPage: () => toPage(innerCurrent.value - 1),\n nextPage: () => toPage(innerCurrent.value + 1),\n prevMorePage: () => toPage(innerCurrent.value - props.foldedMaxPageBtn),\n nextMorePage: () => toPage(innerCurrent.value + props.foldedMaxPageBtn),\n };\n\n pageChangeMap[type]();\n };\n\n const onSelectorChange: (e: string) => void = (e) => {\n if (props.disabled) {\n return;\n }\n const pageSize: number = parseInt(e, 10);\n let pageCount = 1;\n if (pageSize > 0) {\n pageCount = Math.max(Math.ceil(props.total / pageSize), 1);\n }\n\n let isIndexChange = false;\n\n if (innerCurrent.value > pageCount) {\n isIndexChange = true;\n }\n\n /**\n * 分页大小变化事件\n * @param {Number} pageSize 分页大小\n * @param {Number} index 当前页\n */\n const pageInfo = {\n current: isIndexChange ? pageCount : innerCurrent.value,\n previous: innerCurrent.value,\n pageSize,\n };\n props.onChange?.(pageInfo);\n setInnerPageSize(pageSize, pageInfo);\n if (isIndexChange) {\n toPage(pageCount, false);\n }\n };\n\n const onJumperChange = (val: number) => {\n const currentIndex = Math.trunc(+val);\n if (isNaN(currentIndex)) return;\n jumpIndex.value = currentIndex;\n toPage(currentIndex);\n };\n\n return () => {\n const { total, pageSizeOptions, size, disabled, showPageSize } = props;\n if (pageCount.value < 1) return null;\n\n const Jumper = (\n <div class={CLASS_MAP.jumperClass.value}>\n {t(globalConfig.value.jumpTo)}\n <TInputAdornment append={`/ ${pageCount.value} ${t(globalConfig.value.page)}`}>\n <TInputNumber\n class={CLASS_MAP.jumperInputClass.value}\n v-model={jumpIndex.value}\n onBlur={onJumperChange}\n onEnter={onJumperChange}\n max={pageCount.value}\n min={min}\n size={size}\n disabled={disabled}\n theme=\"normal\"\n placeholder=\"\"\n />\n </TInputAdornment>\n </div>\n );\n\n return (\n <div class={CLASS_MAP.paginationClass.value}>\n {/* 数据统计区 */}\n {renderTNodeJSX(\n 'totalContent',\n <div class={CLASS_MAP.totalClass.value}>{t(globalConfig.value.total, { total })}</div>,\n )}\n {/* 分页器 */}\n {showPageSize && pageSizeOptions.length > 0 && (\n <Select\n size={size}\n value={innerPageSize}\n disabled={disabled}\n class={CLASS_MAP.sizerClass.value}\n autoWidth={true}\n onChange={onSelectorChange}\n options={sizeOptions.value}\n {...props.selectProps}\n />\n )}\n {/* 首页按钮 */}\n {props.showFirstAndLastPageBtn ? (\n <div\n class={CLASS_MAP.preBtnClass.value}\n onClick={() => toPage(1)}\n disabled={props.disabled || props.current === min}\n >\n <icon-ri-skip-left-line />\n </div>\n ) : null}\n {/* 向前按钮 */}\n {props.showPreviousAndNextBtn ? (\n <div\n class={CLASS_MAP.preBtnClass.value}\n onClick={() => handlePageChange('prevPage')}\n disabled={disabled || innerCurrent.value === min}\n >\n <icon-ri-arrow-left-s-line />\n </div>\n ) : null}\n {/* 常规版 */}\n {props.showPageNumber && props.theme === 'default' ? (\n <ul class={CLASS_MAP.btnWrapClass.value}>\n {isFolded.value && isMidEllipsis.value && (\n <li class={CLASS_MAP.getButtonClass(1)} onClick={() => toPage(min)}>\n {min}\n </li>\n )}\n {isFolded.value && isPrevMoreShow.value && isMidEllipsis.value ? (\n <li\n class={CLASS_MAP.btnMoreClass.value}\n onClick={() => handlePageChange('prevMorePage')}\n onMouseOver={() => (prevMore.value = true)}\n onMouseOut={() => (prevMore.value = false)}\n >\n {prevMore.value ? <icon-ri-arrow-left-double-line /> : <icon-ri-more-line />}\n </li>\n ) : null}\n {pages.value.map((i) => (\n <li class={CLASS_MAP.getButtonClass(i)} key={i} onClick={() => toPage(i)}>\n {i}\n </li>\n ))}\n {isFolded.value && isNextMoreShow.value && isMidEllipsis.value ? (\n <li\n class={CLASS_MAP.btnMoreClass.value}\n onClick={() => handlePageChange('nextMorePage')}\n onMouseOver={() => (nextMore.value = true)}\n onMouseOut={() => (nextMore.value = false)}\n >\n {nextMore.value ? <icon-ri-arrow-right-double-line /> : <icon-ri-more-line />}\n </li>\n ) : null}\n {isFolded.value && isMidEllipsis.value ? (\n <li class={CLASS_MAP.getButtonClass(pageCount.value)} onClick={() => toPage(pageCount.value)}>\n {pageCount.value}\n </li>\n ) : null}\n </ul>\n ) : null}\n {/* 极简版 */}\n {props.theme === 'simple' && Jumper}\n {/* 向后按钮 */}\n {props.showPreviousAndNextBtn ? (\n <div\n class={CLASS_MAP.nextBtnClass.value}\n onClick={() => handlePageChange('nextPage')}\n disabled={disabled || innerCurrent.value === pageCount.value}\n >\n <icon-ri-arrow-right-s-line />\n </div>\n ) : null}\n {/* 尾页按钮 */}\n {props.showFirstAndLastPageBtn ? (\n <div\n class={CLASS_MAP.nextBtnClass.value}\n onClick={() => toPage(pageCount.value)}\n disabled={disabled || innerCurrent.value === pageCount.value}\n >\n <icon-ri-skip-right-line />\n </div>\n ) : null}\n {/* 快速跳转 */}\n {props.theme === 'default' && props.showJumper && Jumper}\n </div>\n );\n };\n },\n});\n"],"names":["isNumber","require$$0","isNaN","value","_isNaN","name","props","innerCurrent","setInnerCurrent","innerPageSize","setInnerPageSize","CLASS_MAP","isObject","size","start","end","array","watch","current","previous","pageChangeMap","pageSize","pageCount","isIndexChange","toPage","_createVNode","total","_mergeProps","_resolveComponent"],"mappings":"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"}