@whitesev/data-paging 0.0.3 → 0.0.4

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.
@@ -1,189 +1,189 @@
1
1
  import type { PagingConfig } from "./types/config";
2
2
  export declare class Paging<T> {
3
- version: string;
4
- CONFIG: Required<PagingConfig<T>>;
5
- PAGE_CONFIG: {
6
- /**
7
- * 获取当前所在页
8
- */
9
- currentPage: () => number;
10
- /** 最大页码 */
11
- maxPage: number;
12
- };
13
- DOM_CONFIG: {
14
- $pageWrapper: {
15
- localName: string;
16
- id: string;
17
- dom: HTMLElement | null;
3
+ version: string;
4
+ CONFIG: Required<PagingConfig<T>>;
5
+ PAGE_CONFIG: {
6
+ /**
7
+ * 获取当前所在页
8
+ */
9
+ currentPage: () => number;
10
+ /** 最大页码 */
11
+ maxPage: number;
18
12
  };
19
- firstBtnNode: {
20
- localName: string;
21
- className: string;
22
- svgHTML: string;
23
- get: () => HTMLAnchorElement;
24
- };
25
- prevBtnNode: {
26
- localName: string;
27
- className: string;
28
- svgHTML: string;
29
- get: () => HTMLAnchorElement;
30
- };
31
- nextBtnNode: {
32
- localName: string;
33
- className: string;
34
- svgHTML: string;
35
- get: () => HTMLAnchorElement;
36
- };
37
- lastBtnNode: {
38
- localName: string;
39
- className: string;
40
- svgHTML: string;
41
- get: () => HTMLAnchorElement;
13
+ DOM_CONFIG: {
14
+ $pageWrapper: {
15
+ localName: string;
16
+ id: string;
17
+ dom: HTMLElement | null;
18
+ };
19
+ firstBtnNode: {
20
+ localName: string;
21
+ className: string;
22
+ svgHTML: string;
23
+ get: () => HTMLAnchorElement;
24
+ };
25
+ prevBtnNode: {
26
+ localName: string;
27
+ className: string;
28
+ svgHTML: string;
29
+ get: () => HTMLAnchorElement;
30
+ };
31
+ nextBtnNode: {
32
+ localName: string;
33
+ className: string;
34
+ svgHTML: string;
35
+ get: () => HTMLAnchorElement;
36
+ };
37
+ lastBtnNode: {
38
+ localName: string;
39
+ className: string;
40
+ svgHTML: string;
41
+ get: () => HTMLAnchorElement;
42
+ };
43
+ /**
44
+ * 设置 元素的 页码 值
45
+ * @param $el
46
+ * @param page
47
+ */
48
+ setAttributeWithPageId: ($el: HTMLElement, page: number) => void;
49
+ /**
50
+ * 获取 元素 的页码属性
51
+ * @param $el
52
+ */
53
+ getAttributeWithPageId: ($el: HTMLElement) => number | null;
54
+ /**
55
+ * 判断 元素 是否存在页码属性
56
+ * @param $el
57
+ */
58
+ hasAttributeWithPageId: ($el: HTMLElement) => boolean;
59
+ /**
60
+ * 设置 元素的属性 为当前所在页码
61
+ * @param $el
62
+ */
63
+ setAttributeWithCurrentPage: ($el: HTMLElement) => void;
64
+ /**
65
+ * 获取当前页码的元素
66
+ * @param $pageWrapper
67
+ */
68
+ getAttributeWithCurrentPage: ($pageWrapper?: HTMLElement) => HTMLAnchorElement;
69
+ /**
70
+ * 判断 元素 是否存在 当前页的属性
71
+ * @param $el
72
+ */
73
+ hasAttributeWithCurrentPage: ($el: HTMLElement) => boolean;
74
+ /**
75
+ * 移除 当前页码的属性
76
+ * @param $el
77
+ */
78
+ removeAttributeWithCurrentPage: ($el: HTMLElement) => void;
79
+ /**
80
+ * 设置 元素 禁用
81
+ * @param $el
82
+ */
83
+ setAttributeWithDisabled: ($el: HTMLElement) => void;
84
+ /**
85
+ * 移除当前页面的禁用的元素
86
+ * @param $pageWrapper
87
+ */
88
+ removeAllAttributeWithDisabled: ($pageWrapper: HTMLElement | null) => void;
89
+ /**
90
+ * 获取 第一页 元素节点
91
+ * @param $pageWrapper
92
+ */
93
+ getFirstPageNode: ($pageWrapper?: HTMLElement) => HTMLElement | null;
94
+ /**
95
+ * 获取 最后一页 元素节点
96
+ * @param {$pageWrapper
97
+ */
98
+ getLastPageNode: ($pageWrapper?: HTMLElement) => HTMLAnchorElement | null;
99
+ /**
100
+ * 获取当前所有的页码元素节点
101
+ * @param $pageWrapper
102
+ */
103
+ getAllPageNode: ($pageWrapper?: HTMLElement) => HTMLAnchorElement[];
42
104
  };
43
105
  /**
44
- * 设置 元素的 页码 值
45
- * @param $el
46
- * @param page
47
- */
48
- setAttributeWithPageId: ($el: HTMLElement, page: number) => void;
49
- /**
50
- * 获取 元素 的页码属性
51
- * @param $el
52
- */
53
- getAttributeWithPageId: ($el: HTMLElement) => number | null;
54
- /**
55
- * 判断 元素 是否存在页码属性
56
- * @param $el
57
- */
58
- hasAttributeWithPageId: ($el: HTMLElement) => boolean;
59
- /**
60
- * 设置 元素的属性 为当前所在页码
61
- * @param $el
62
- */
63
- setAttributeWithCurrentPage: ($el: HTMLElement) => void;
64
- /**
65
- * 获取当前页码的元素
66
- * @param $pageWrapper
67
- */
68
- getAttributeWithCurrentPage: ($pageWrapper?: HTMLElement) => HTMLAnchorElement;
69
- /**
70
- * 判断 元素 是否存在 当前页的属性
71
- * @param $el
72
- */
73
- hasAttributeWithCurrentPage: ($el: HTMLElement) => boolean;
74
- /**
75
- * 移除 当前页码的属性
76
- * @param $el
77
- */
78
- removeAttributeWithCurrentPage: ($el: HTMLElement) => void;
79
- /**
80
- * 设置 元素 禁用
81
- * @param $el
82
- */
83
- setAttributeWithDisabled: ($el: HTMLElement) => void;
84
- /**
85
- * 移除当前页面的禁用的元素
86
- * @param $pageWrapper
87
- */
88
- removeAllAttributeWithDisabled: ($pageWrapper: HTMLElement | null) => void;
89
- /**
90
- * 获取 第一页 元素节点
91
- * @param $pageWrapper
92
- */
93
- getFirstPageNode: ($pageWrapper?: HTMLElement) => HTMLElement | null;
94
- /**
95
- * 获取 最后一页 元素节点
96
- * @param {$pageWrapper
97
- */
98
- getLastPageNode: ($pageWrapper?: HTMLElement) => HTMLAnchorElement | null;
99
- /**
100
- * 获取当前所有的页码元素节点
101
- * @param $pageWrapper
102
- */
103
- getAllPageNode: ($pageWrapper?: HTMLElement) => HTMLAnchorElement[];
104
- };
105
- /**
106
- * @param config
107
- */
108
- constructor(config: PagingConfig<T>);
109
- /**
110
- * 隐藏分页容器
111
- * @param $wrapper 分页容器
112
- */
113
- hide($wrapper?: HTMLElement | null): void;
114
- /**
115
- * 显示分页容器
116
- * @param $wrapper 分页容器
117
- */
118
- show($wrapper?: HTMLElement | null): void;
119
- /**
120
- * 判断分页容器是否隐藏
121
- * @param $wrapper 分页容器
122
- */
123
- isHide($wrapper?: HTMLElement | null): boolean | undefined;
124
- /**
125
- * 销毁分页容器
126
- */
127
- destory(): void;
128
- /**
129
- * 添加CSS
130
- * @param $parent 添加到目标元素
131
- */
132
- addCSS($parent?: Node): void;
133
- /**
134
- * 创建分页元素
135
- */
136
- createDataPagingWrapper(): HTMLElement;
137
- /**
138
- * 设置 第一页 点击事件
139
- * @param $page 分页元素
140
- * @param $pageWrapper 分页按钮的容器元素
141
- */
142
- setFirstBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
143
- /**
144
- * 设置 上一页 点击事件
145
- * @param $page 分页元素
146
- * @param $pageWrapper 分页按钮的容器元素
147
- */
148
- setPrevBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
149
- /**
150
- * 设置 下一页 点击事件
151
- * @param $page 分页元素
152
- * @param $pageWrapper 分页按钮的容器元素
153
- */
154
- setNextBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
155
- /**
156
- * 设置 最后一页 点击事件
157
- * @param $page 分页元素
158
- * @param $pageWrapper 分页按钮的容器元素
159
- */
160
- setLastBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
161
- /**
162
- * 设置 页 点击事件
163
- * @param $page 分页元素
164
- * @param $pageWrapper 分页按钮的容器元素
165
- */
166
- setPageBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
167
- /**
168
- * 把分页添加到某个父元素下
169
- * @param $parent
170
- */
171
- append($parent: Node): void;
172
- /**
173
- * 把分页添加到某个元素之后
174
- */
175
- after($el: Element): void;
176
- /**
177
- * 动态修改配置,注意,修改后需要.append修改原来的元素
178
- * @param config 配置
179
- */
180
- changeConfig(config: Partial<PagingConfig<T>>): void;
181
- /**
182
- * 刷新页面,重新渲染分页元素
183
- * @param data 新的数据
184
- * @example
185
- * 当总页数5页,当前在第3页,把第3页的数据删完,后面2页的数据会自动往前,需要重新计算数据
186
- * 且重新计算的数据的页数大于当前页(第3页)时,当前页不变,若小于当前页(第3页),则当前页为计算好的最大页
187
- */
188
- refresh(data: T[]): void;
106
+ * @param config
107
+ */
108
+ constructor(config: PagingConfig<T>);
109
+ /**
110
+ * 隐藏分页容器
111
+ * @param $wrapper 分页容器
112
+ */
113
+ hide($wrapper?: HTMLElement | null): void;
114
+ /**
115
+ * 显示分页容器
116
+ * @param $wrapper 分页容器
117
+ */
118
+ show($wrapper?: HTMLElement | null): void;
119
+ /**
120
+ * 判断分页容器是否隐藏
121
+ * @param $wrapper 分页容器
122
+ */
123
+ isHide($wrapper?: HTMLElement | null): boolean | undefined;
124
+ /**
125
+ * 销毁分页容器
126
+ */
127
+ destory(): void;
128
+ /**
129
+ * 添加CSS
130
+ * @param $parent 添加到目标元素
131
+ */
132
+ addCSS($parent?: Node): void;
133
+ /**
134
+ * 创建分页元素
135
+ */
136
+ createDataPagingWrapper(): HTMLElement;
137
+ /**
138
+ * 设置 第一页 点击事件
139
+ * @param $page 分页元素
140
+ * @param $pageWrapper 分页按钮的容器元素
141
+ */
142
+ setFirstBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
143
+ /**
144
+ * 设置 上一页 点击事件
145
+ * @param $page 分页元素
146
+ * @param $pageWrapper 分页按钮的容器元素
147
+ */
148
+ setPrevBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
149
+ /**
150
+ * 设置 下一页 点击事件
151
+ * @param $page 分页元素
152
+ * @param $pageWrapper 分页按钮的容器元素
153
+ */
154
+ setNextBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
155
+ /**
156
+ * 设置 最后一页 点击事件
157
+ * @param $page 分页元素
158
+ * @param $pageWrapper 分页按钮的容器元素
159
+ */
160
+ setLastBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
161
+ /**
162
+ * 设置 页 点击事件
163
+ * @param $page 分页元素
164
+ * @param $pageWrapper 分页按钮的容器元素
165
+ */
166
+ setPageBtnClickEvent($page: HTMLElement, $pageWrapper: HTMLElement): void;
167
+ /**
168
+ * 把分页添加到某个父元素下
169
+ * @param $parent
170
+ */
171
+ append($parent: Node): void;
172
+ /**
173
+ * 把分页添加到某个元素之后
174
+ */
175
+ after($el: Element): void;
176
+ /**
177
+ * 动态修改配置,注意,修改后需要.append修改原来的元素
178
+ * @param config 配置
179
+ */
180
+ changeConfig(config: Partial<PagingConfig<T>>): void;
181
+ /**
182
+ * 刷新页面,重新渲染分页元素
183
+ * @param data 新的数据
184
+ * @example
185
+ * 当总页数5页,当前在第3页,把第3页的数据删完,后面2页的数据会自动往前,需要重新计算数据
186
+ * 且重新计算的数据的页数大于当前页(第3页)时,当前页不变,若小于当前页(第3页),则当前页为计算好的最大页
187
+ */
188
+ refresh(data: T[]): void;
189
189
  }
@@ -1,6 +1,6 @@
1
1
  export declare const PagingUtils: {
2
- /**
3
- * 设置安全的html
4
- */
5
- setSafeHTML($el: Element, text: string): void;
2
+ /**
3
+ * 设置安全的html
4
+ */
5
+ setSafeHTML($el: Element, text: string): void;
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whitesev/data-paging",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "description": "数据分页导航UI组件",
6
6
  "main": "dist/index.cjs.js",
@@ -35,24 +35,24 @@
35
35
  "author": "WhiteSev",
36
36
  "license": "MIT",
37
37
  "devDependencies": {
38
- "@eslint/js": "^9.36.0",
39
- "@rollup/plugin-commonjs": "^28.0.6",
38
+ "@eslint/js": "^9.38.0",
39
+ "@rollup/plugin-commonjs": "^28.0.9",
40
40
  "@rollup/plugin-json": "^6.1.0",
41
- "@rollup/plugin-node-resolve": "^16.0.1",
41
+ "@rollup/plugin-node-resolve": "^16.0.3",
42
42
  "@rollup/plugin-terser": "^0.4.4",
43
- "@rollup/plugin-typescript": "^12.1.2",
44
- "browserslist": "^4.26.2",
45
- "caniuse-lite": "^1.0.30001743",
46
- "eslint": "^9.36.0",
43
+ "@rollup/plugin-typescript": "^12.3.0",
44
+ "browserslist": "^4.27.0",
45
+ "caniuse-lite": "^1.0.30001751",
46
+ "eslint": "^9.38.0",
47
47
  "eslint-config-prettier": "^10.1.8",
48
48
  "eslint-plugin-compat": "^6.0.2",
49
49
  "eslint-plugin-prettier": "^5.5.4",
50
50
  "globals": "^16.4.0",
51
- "rollup": "^4.44.1",
51
+ "rollup": "^4.52.5",
52
52
  "rollup-plugin-clear": "^2.0.7",
53
53
  "tslib": "^2.8.1",
54
- "typescript": "^5.8.3",
55
- "typescript-eslint": "^8.44.0"
54
+ "typescript": "^5.9.3",
55
+ "typescript-eslint": "^8.46.2"
56
56
  },
57
57
  "scripts": {
58
58
  "lint": "eslint .",