tav-ui
Version:
1 lines • 2.18 kB
Source Map (JSON)
{"version":3,"file":"usePagination2.mjs","sources":["../../../../../../packages/hooks/web/usePagination.ts"],"sourcesContent":["import { computed, ref, unref } from 'vue'\nimport type { Ref } from 'vue'\n\nfunction pagination<T = any>(list: T[], pageNo: number, pageSize: number): T[] {\n const offset = (pageNo - 1) * Number(pageSize)\n const ret =\n offset + Number(pageSize) >= list.length\n ? list.slice(offset, list.length)\n : list.slice(offset, offset + Number(pageSize))\n return ret\n}\n\nexport function usePagination<T = any>(list: Ref<T[]>, pageSize: number) {\n const currentPage = ref(1)\n const pageSizeRef = ref(pageSize)\n\n const getPaginationList = computed(() => {\n return pagination(unref(list), unref(currentPage), unref(pageSizeRef))\n })\n\n const getTotal = computed(() => {\n return unref(list).length\n })\n\n function setCurrentPage(page: number) {\n currentPage.value = page\n }\n\n function setPageSize(pageSize: number) {\n pageSizeRef.value = pageSize\n }\n\n return { setCurrentPage, getTotal, setPageSize, getPaginationList }\n}\n"],"names":[],"mappings":";;AACA,SAAS,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC5C,EAAE,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjD,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AACzI,EAAE,OAAO,GAAG,CAAC;AACb,CAAC;AACM,SAAS,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE;AAC9C,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7B,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;AACpC,EAAE,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM;AAC3C,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3E,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM;AAClC,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAC9B,GAAG,CAAC,CAAC;AACL,EAAE,SAAS,cAAc,CAAC,IAAI,EAAE;AAChC,IAAI,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC;AAC7B,GAAG;AACH,EAAE,SAAS,WAAW,CAAC,SAAS,EAAE;AAClC,IAAI,WAAW,CAAC,KAAK,GAAG,SAAS,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;AACtE;;;;"}