@yimingliao/cms 0.0.192 → 0.0.193
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/export/client/index.js +1 -0
- package/dist/src/client/applications/ui/build-pagination.js +65 -0
- package/dist/types/export/client/index.d.ts +1 -1
- package/dist/types/export/client/index.d.ts.map +1 -1
- package/dist/types/src/client/applications/index.d.ts +1 -1
- package/dist/types/src/client/applications/index.d.ts.map +1 -1
- package/dist/types/src/client/applications/ui/build-pagination.d.ts +26 -0
- package/dist/types/src/client/applications/ui/build-pagination.d.ts.map +1 -0
- package/dist/types/src/client/applications/ui/index.d.ts +1 -0
- package/dist/types/src/client/applications/ui/index.d.ts.map +1 -1
- package/dist/types/src/client/index.d.ts +1 -1
- package/dist/types/src/client/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -18,3 +18,4 @@ export { createProcessContentHtml } from '../../src/client/applications/form/pro
|
|
|
18
18
|
export { cn } from '../../src/client/applications/shadcn/utils.js';
|
|
19
19
|
import 'next/navigation';
|
|
20
20
|
export { isConfirm } from '../../src/client/applications/ui/is-confirm.js';
|
|
21
|
+
export { buildPagination } from '../../src/client/applications/ui/build-pagination.js';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
function buildPagination(input) {
|
|
2
|
+
const { page, pageSize, total, siblings = 2 } = input;
|
|
3
|
+
if (pageSize <= 0) {
|
|
4
|
+
throw new Error("pageSize must be greater than 0");
|
|
5
|
+
}
|
|
6
|
+
const totalPages = Math.max(1, Math.ceil(total / pageSize));
|
|
7
|
+
const safePage = Math.min(Math.max(1, page), totalPages);
|
|
8
|
+
const canPrev = safePage > 1;
|
|
9
|
+
const canNext = safePage < totalPages;
|
|
10
|
+
const items = [];
|
|
11
|
+
items.push({
|
|
12
|
+
type: "control",
|
|
13
|
+
control: "prev",
|
|
14
|
+
disabled: !canPrev,
|
|
15
|
+
page: safePage - 1
|
|
16
|
+
});
|
|
17
|
+
items.push({
|
|
18
|
+
type: "page",
|
|
19
|
+
page: 1,
|
|
20
|
+
active: safePage === 1
|
|
21
|
+
});
|
|
22
|
+
let start = Math.max(2, safePage - siblings);
|
|
23
|
+
let end = Math.min(totalPages - 1, safePage + siblings);
|
|
24
|
+
if (safePage - siblings < 2) {
|
|
25
|
+
end = Math.min(totalPages - 1, end + (2 - (safePage - siblings)));
|
|
26
|
+
}
|
|
27
|
+
if (safePage + siblings > totalPages - 1) {
|
|
28
|
+
start = Math.max(2, start - (safePage + siblings - (totalPages - 1)));
|
|
29
|
+
}
|
|
30
|
+
if (start > 2) {
|
|
31
|
+
items.push({ type: "ellipsis" });
|
|
32
|
+
}
|
|
33
|
+
for (let i = start; i <= end; i++) {
|
|
34
|
+
items.push({
|
|
35
|
+
type: "page",
|
|
36
|
+
page: i,
|
|
37
|
+
active: i === safePage
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
if (end < totalPages - 1) {
|
|
41
|
+
items.push({ type: "ellipsis" });
|
|
42
|
+
}
|
|
43
|
+
if (totalPages > 1) {
|
|
44
|
+
items.push({
|
|
45
|
+
type: "page",
|
|
46
|
+
page: totalPages,
|
|
47
|
+
active: safePage === totalPages
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
items.push({
|
|
51
|
+
type: "control",
|
|
52
|
+
control: "next",
|
|
53
|
+
disabled: !canNext,
|
|
54
|
+
page: safePage + 1
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
page: safePage,
|
|
58
|
+
totalPages,
|
|
59
|
+
items,
|
|
60
|
+
canPrev,
|
|
61
|
+
canNext
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export { buildPagination };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { AdminProvider, useAdmin, ThemeProvider, createSmartFetch, createRequestInterceptor, createResponseInterceptor, createFileUploadApi, createMultiFilesUploadApi, createUseCommand, createUseQuery, handleToast, type ShowToastOption, NAVBAR_HEIGHT, SIDEBAR_WIDTH, PAGE_HEADER_HEIGHT, cn, getControlMeta, usePickItems, getImgIdsFromHtmls, createProcessContentHtml, isConfirm, } from "../../src/client";
|
|
1
|
+
export { AdminProvider, useAdmin, ThemeProvider, createSmartFetch, createRequestInterceptor, createResponseInterceptor, createFileUploadApi, createMultiFilesUploadApi, createUseCommand, createUseQuery, handleToast, type ShowToastOption, NAVBAR_HEIGHT, SIDEBAR_WIDTH, PAGE_HEADER_HEIGHT, cn, getControlMeta, usePickItems, getImgIdsFromHtmls, createProcessContentHtml, isConfirm, buildPagination, } from "../../src/client";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../export/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EACb,QAAQ,EACR,aAAa,EAEb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,yBAAyB,EAEzB,gBAAgB,EAChB,cAAc,EAEd,WAAW,EACX,KAAK,eAAe,EAMpB,aAAa,EACb,aAAa,EACb,kBAAkB,EAKlB,EAAE,EACF,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../export/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EACb,QAAQ,EACR,aAAa,EAEb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,yBAAyB,EAEzB,gBAAgB,EAChB,cAAc,EAEd,WAAW,EACX,KAAK,eAAe,EAMpB,aAAa,EACb,aAAa,EACb,kBAAkB,EAKlB,EAAE,EACF,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { useDeviceInfo } from "./auth";
|
|
2
2
|
export { usePickItems, getControlMeta, getImgIdsFromHtmls, createProcessContentHtml, } from "./form";
|
|
3
3
|
export { cn, useIsMobile } from "./shadcn";
|
|
4
|
-
export { useCountdown, useParentPathname, isConfirm } from "./ui";
|
|
4
|
+
export { useCountdown, useParentPathname, isConfirm, buildPagination, } from "./ui";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/applications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/applications/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EACL,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,SAAS,EACT,eAAe,GAChB,MAAM,MAAM,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
type PaginationItem = {
|
|
2
|
+
type: "page";
|
|
3
|
+
page: number;
|
|
4
|
+
active: boolean;
|
|
5
|
+
} | {
|
|
6
|
+
type: "ellipsis";
|
|
7
|
+
} | {
|
|
8
|
+
type: "control";
|
|
9
|
+
control: "prev" | "next";
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
page: number;
|
|
12
|
+
};
|
|
13
|
+
export declare function buildPagination(input: {
|
|
14
|
+
page: number;
|
|
15
|
+
pageSize: number;
|
|
16
|
+
total: number;
|
|
17
|
+
siblings?: number;
|
|
18
|
+
}): {
|
|
19
|
+
page: number;
|
|
20
|
+
totalPages: number;
|
|
21
|
+
items: PaginationItem[];
|
|
22
|
+
canPrev: boolean;
|
|
23
|
+
canNext: boolean;
|
|
24
|
+
};
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=build-pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-pagination.d.ts","sourceRoot":"","sources":["../../../../../../src/client/applications/ui/build-pagination.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GACf;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;CAClB,GACD;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAkFA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/client/applications/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/client/applications/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { AdminProvider, useAdmin, ThemeProvider, createSmartFetch, createRequestInterceptor, createResponseInterceptor, createFileUploadApi, createMultiFilesUploadApi, createUseCommand, createUseQuery, handleToast, type ShowToastOption, } from "./infrastructure";
|
|
2
2
|
export { NAVBAR_HEIGHT, SIDEBAR_WIDTH, PAGE_HEADER_HEIGHT, } from "./interfaces";
|
|
3
|
-
export { cn, getControlMeta, usePickItems, getImgIdsFromHtmls, createProcessContentHtml, isConfirm, } from "./applications";
|
|
3
|
+
export { cn, getControlMeta, usePickItems, getImgIdsFromHtmls, createProcessContentHtml, isConfirm, buildPagination, } from "./applications";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,QAAQ,EACR,aAAa,EAEb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,yBAAyB,EAEzB,gBAAgB,EAChB,cAAc,EAEd,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,EAAE,EACF,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,aAAa,EACb,QAAQ,EACR,aAAa,EAEb,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EAEzB,mBAAmB,EACnB,yBAAyB,EAEzB,gBAAgB,EAChB,cAAc,EAEd,WAAW,EACX,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAEL,aAAa,EACb,aAAa,EACb,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,EAAE,EACF,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,eAAe,GAChB,MAAM,gBAAgB,CAAC"}
|