@whitesev/data-paging 0.0.4 → 0.0.5
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/README.md +48 -48
- package/dist/index.amd.js +61 -61
- package/dist/index.amd.min.js +1 -1
- package/dist/index.cjs.js +61 -61
- package/dist/index.cjs.min.js +1 -1
- package/dist/index.esm.js +61 -61
- package/dist/index.esm.min.js +1 -1
- package/dist/index.iife.js +61 -61
- package/dist/index.iife.min.js +1 -1
- package/dist/index.system.js +61 -61
- package/dist/index.system.min.js +1 -1
- package/dist/index.umd.js +61 -61
- package/dist/index.umd.min.js +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/src/types/config.d.ts +58 -58
- package/index.ts +5 -4
- package/package.json +33 -30
- package/src/config.ts +27 -27
- package/src/index.ts +648 -648
- package/src/types/config.d.ts +58 -58
- package/src/utils.ts +22 -22
package/README.md
CHANGED
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
## 数据分页导航
|
|
2
|
-
|
|
3
|
-
- 基本使用
|
|
4
|
-
|
|
5
|
-
```javascript
|
|
6
|
-
let dataPaging = new DataPaging({
|
|
7
|
-
data: [1, 2, 3, 4, 5, 6, 7, 8, 9], // 数组,里面具体什么值无所谓,需要的是它的长度用来分页
|
|
8
|
-
pageShowDataMaxCount: 5, // 每一页显示的数据条数,如上面的数组共有9个,每页显示5个,会有2页
|
|
9
|
-
pageMaxStep: 3, // 显示出来的按钮数量
|
|
10
|
-
currentPage: 1, // 当前处于的第几个页码
|
|
11
|
-
pageChangeCallBack: function (page) {
|
|
12
|
-
// 当页码切换时发生的回调
|
|
13
|
-
console.log(page);
|
|
14
|
-
},
|
|
15
|
-
/* 上一页按钮 */
|
|
16
|
-
prevBtn: {
|
|
17
|
-
enable: true /* 是否启用 */,
|
|
18
|
-
callBack: function () {} /* 点击事件回调 */,
|
|
19
|
-
},
|
|
20
|
-
/* 下一页按钮 */
|
|
21
|
-
nextBtn: {
|
|
22
|
-
enable: true /* 是否启用 */,
|
|
23
|
-
callBack: function () {},
|
|
24
|
-
},
|
|
25
|
-
/* 第一页按钮 */
|
|
26
|
-
firstBtn: {
|
|
27
|
-
enable: true /* 是否启用 */,
|
|
28
|
-
callBack: function () {},
|
|
29
|
-
},
|
|
30
|
-
/* 最后一页按钮 */
|
|
31
|
-
lastBtn: {
|
|
32
|
-
enable: true /* 是否启用 */,
|
|
33
|
-
callBack: function () {},
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
- 将分页视图追加到某个元素里
|
|
39
|
-
|
|
40
|
-
```javascript
|
|
41
|
-
dataPaging.append(element:HTMLElement);
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
- 动态修改上面的`init`的配置,如果当前数据长度改变的话可以使用它
|
|
45
|
-
|
|
46
|
-
```javascript
|
|
47
|
-
dataPaging.changeConfig(details:Object);
|
|
48
|
-
```
|
|
1
|
+
## 数据分页导航
|
|
2
|
+
|
|
3
|
+
- 基本使用
|
|
4
|
+
|
|
5
|
+
```javascript
|
|
6
|
+
let dataPaging = new DataPaging({
|
|
7
|
+
data: [1, 2, 3, 4, 5, 6, 7, 8, 9], // 数组,里面具体什么值无所谓,需要的是它的长度用来分页
|
|
8
|
+
pageShowDataMaxCount: 5, // 每一页显示的数据条数,如上面的数组共有9个,每页显示5个,会有2页
|
|
9
|
+
pageMaxStep: 3, // 显示出来的按钮数量
|
|
10
|
+
currentPage: 1, // 当前处于的第几个页码
|
|
11
|
+
pageChangeCallBack: function (page) {
|
|
12
|
+
// 当页码切换时发生的回调
|
|
13
|
+
console.log(page);
|
|
14
|
+
},
|
|
15
|
+
/* 上一页按钮 */
|
|
16
|
+
prevBtn: {
|
|
17
|
+
enable: true /* 是否启用 */,
|
|
18
|
+
callBack: function () {} /* 点击事件回调 */,
|
|
19
|
+
},
|
|
20
|
+
/* 下一页按钮 */
|
|
21
|
+
nextBtn: {
|
|
22
|
+
enable: true /* 是否启用 */,
|
|
23
|
+
callBack: function () {},
|
|
24
|
+
},
|
|
25
|
+
/* 第一页按钮 */
|
|
26
|
+
firstBtn: {
|
|
27
|
+
enable: true /* 是否启用 */,
|
|
28
|
+
callBack: function () {},
|
|
29
|
+
},
|
|
30
|
+
/* 最后一页按钮 */
|
|
31
|
+
lastBtn: {
|
|
32
|
+
enable: true /* 是否启用 */,
|
|
33
|
+
callBack: function () {},
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
- 将分页视图追加到某个元素里
|
|
39
|
+
|
|
40
|
+
```javascript
|
|
41
|
+
dataPaging.append(element:HTMLElement);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
- 动态修改上面的`init`的配置,如果当前数据长度改变的话可以使用它
|
|
45
|
+
|
|
46
|
+
```javascript
|
|
47
|
+
dataPaging.changeConfig(details:Object);
|
|
48
|
+
```
|
package/dist/index.amd.js
CHANGED
|
@@ -36,9 +36,9 @@ define((function () { 'use strict';
|
|
|
36
36
|
$el.innerHTML = text;
|
|
37
37
|
}
|
|
38
38
|
catch {
|
|
39
|
-
// @ts-
|
|
39
|
+
// @ts-expect-error
|
|
40
40
|
if (globalThis.trustedTypes) {
|
|
41
|
-
// @ts-
|
|
41
|
+
// @ts-expect-error
|
|
42
42
|
const policy = globalThis.trustedTypes.createPolicy("safe-innerHTML", {
|
|
43
43
|
createHTML: (html) => html,
|
|
44
44
|
});
|
|
@@ -51,7 +51,7 @@ define((function () { 'use strict';
|
|
|
51
51
|
},
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
-
const version = "0.0.
|
|
54
|
+
const version = "0.0.5";
|
|
55
55
|
|
|
56
56
|
class Paging {
|
|
57
57
|
version = version;
|
|
@@ -255,64 +255,64 @@ define((function () { 'use strict';
|
|
|
255
255
|
addCSS($parent = document.head) {
|
|
256
256
|
const $style = document.createElement("style");
|
|
257
257
|
$style.setAttribute("type", "text/css");
|
|
258
|
-
const cssText = /*css*/ `@charset "utf-8";
|
|
259
|
-
#${this.DOM_CONFIG.$pageWrapper.id} {
|
|
260
|
-
text-align: center;
|
|
261
|
-
display: inline-block;
|
|
262
|
-
}
|
|
263
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},
|
|
264
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},
|
|
265
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},
|
|
266
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {
|
|
267
|
-
font-family: Arial, sans-serif;
|
|
268
|
-
color: #333;
|
|
269
|
-
font-size: 22px;
|
|
270
|
-
fill: currentColor;
|
|
271
|
-
display: inline-flex;
|
|
272
|
-
justify-content: center;
|
|
273
|
-
align-items: center;
|
|
274
|
-
text-decoration: none;
|
|
275
|
-
}
|
|
276
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a,
|
|
277
|
-
#${this.DOM_CONFIG.$pageWrapper.id} span {
|
|
278
|
-
width: 45px;
|
|
279
|
-
height: 40px;
|
|
280
|
-
border: 1px solid #ebebeb;
|
|
281
|
-
margin-left: -1px;
|
|
282
|
-
color: #000000;
|
|
283
|
-
line-height: 40px;
|
|
284
|
-
float: left;
|
|
285
|
-
font-size: 15px;
|
|
286
|
-
text-decoration: none;
|
|
287
|
-
margin: 0 2px;
|
|
288
|
-
border-radius: 6px;
|
|
289
|
-
}
|
|
290
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a:hover,
|
|
291
|
-
#${this.DOM_CONFIG.$pageWrapper.id} span:hover {
|
|
292
|
-
border-color: #3897cd;
|
|
293
|
-
color: #3897cd;
|
|
294
|
-
position: relative;
|
|
295
|
-
z-index: 1;
|
|
296
|
-
}
|
|
297
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a {
|
|
298
|
-
cursor: pointer;
|
|
299
|
-
user-select: none;
|
|
300
|
-
}
|
|
301
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {
|
|
302
|
-
background-color: #222a35;
|
|
303
|
-
color: #fff;
|
|
304
|
-
border-color: #ebebeb;
|
|
305
|
-
position: relative;
|
|
306
|
-
z-index: 1;
|
|
307
|
-
}
|
|
308
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],
|
|
309
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],
|
|
310
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],
|
|
311
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{
|
|
312
|
-
cursor: not-allowed;
|
|
313
|
-
border: 1px solid transparent;
|
|
314
|
-
color: #c9c9c9;
|
|
315
|
-
}
|
|
258
|
+
const cssText = /*css*/ `@charset "utf-8";
|
|
259
|
+
#${this.DOM_CONFIG.$pageWrapper.id} {
|
|
260
|
+
text-align: center;
|
|
261
|
+
display: inline-block;
|
|
262
|
+
}
|
|
263
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},
|
|
264
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},
|
|
265
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},
|
|
266
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {
|
|
267
|
+
font-family: Arial, sans-serif;
|
|
268
|
+
color: #333;
|
|
269
|
+
font-size: 22px;
|
|
270
|
+
fill: currentColor;
|
|
271
|
+
display: inline-flex;
|
|
272
|
+
justify-content: center;
|
|
273
|
+
align-items: center;
|
|
274
|
+
text-decoration: none;
|
|
275
|
+
}
|
|
276
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a,
|
|
277
|
+
#${this.DOM_CONFIG.$pageWrapper.id} span {
|
|
278
|
+
width: 45px;
|
|
279
|
+
height: 40px;
|
|
280
|
+
border: 1px solid #ebebeb;
|
|
281
|
+
margin-left: -1px;
|
|
282
|
+
color: #000000;
|
|
283
|
+
line-height: 40px;
|
|
284
|
+
float: left;
|
|
285
|
+
font-size: 15px;
|
|
286
|
+
text-decoration: none;
|
|
287
|
+
margin: 0 2px;
|
|
288
|
+
border-radius: 6px;
|
|
289
|
+
}
|
|
290
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a:hover,
|
|
291
|
+
#${this.DOM_CONFIG.$pageWrapper.id} span:hover {
|
|
292
|
+
border-color: #3897cd;
|
|
293
|
+
color: #3897cd;
|
|
294
|
+
position: relative;
|
|
295
|
+
z-index: 1;
|
|
296
|
+
}
|
|
297
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a {
|
|
298
|
+
cursor: pointer;
|
|
299
|
+
user-select: none;
|
|
300
|
+
}
|
|
301
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {
|
|
302
|
+
background-color: #222a35;
|
|
303
|
+
color: #fff;
|
|
304
|
+
border-color: #ebebeb;
|
|
305
|
+
position: relative;
|
|
306
|
+
z-index: 1;
|
|
307
|
+
}
|
|
308
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],
|
|
309
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],
|
|
310
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],
|
|
311
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{
|
|
312
|
+
cursor: not-allowed;
|
|
313
|
+
border: 1px solid transparent;
|
|
314
|
+
color: #c9c9c9;
|
|
315
|
+
}
|
|
316
316
|
`;
|
|
317
317
|
PagingUtils.setSafeHTML($style, cssText);
|
|
318
318
|
$parent.appendChild($style);
|
package/dist/index.amd.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(function(){"use strict";const t={setSafeHTML(t,e){try{t.innerHTML=e}catch{if(!globalThis.trustedTypes)throw new Error("PagingUtils trustedTypes is not defined");{const i=globalThis.trustedTypes.createPolicy("safe-innerHTML",{createHTML:t=>t});t.innerHTML=i.createHTML(e)}}}};return class{version="0.0.4";CONFIG;PAGE_CONFIG={currentPage:()=>{const t=this.DOM_CONFIG.getAttributeWithCurrentPage();return this.DOM_CONFIG.getAttributeWithPageId(t)??1},maxPage:1};DOM_CONFIG={$pageWrapper:{localName:"div",id:"data-paging-wrapper",dom:null},firstBtnNode:{localName:"a",className:"pg-first",svgHTML:'<svg t="1694497357294" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4758" width="20"><path d="M730.639277 211.376748l60.943177 60.943176-301.698894 301.698893L428.940384 513.075641z" p-id="4759"></path><path d="M730.496772 814.924547l60.943176-60.943176-301.698893-301.698893L428.797879 513.225654z" p-id="4760"></path><path d="M298.666667 213.333333h85.333333v597.333334H298.666667z" p-id="4761"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.firstBtnNode.localName}.${this.DOM_CONFIG.firstBtnNode.className}`)},prevBtnNode:{localName:"a",className:"pg-prev",svgHTML:'<svg t="1694497840770" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5272" width="20"><path d="M620.322607 151.04875l60.943176 60.943176-362.038672 362.038672L258.283935 513.087422z" p-id="5273"></path><path d="M620.180101 875.252545l60.943177-60.943176-362.038672-362.038672L258.141429 513.213873z" p-id="5274"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.prevBtnNode.localName}.${this.DOM_CONFIG.prevBtnNode.className}`)},nextBtnNode:{localName:"a",className:"pg-next",svgHTML:'<svg t="1694497949481" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5465" width="20"><path d="M403.399239 151.02258l-60.943177 60.943177 362.038672 362.038672L765.437911 513.061252z" p-id="5466"></path><path d="M403.576858 875.263008l-60.943176-60.943176 362.038672-362.038672L765.61553 513.224336z" p-id="5467"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.nextBtnNode.localName}.${this.DOM_CONFIG.nextBtnNode.className}`)},lastBtnNode:{localName:"a",className:"pg-last",svgHTML:'<svg t="1694498035538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2299" width="20"><path d="M516.266667 490.666667L256 230.4 315.733333 170.666667l320 320L315.733333 810.666667 256 750.933333l260.266667-260.266666zM678.4 170.666667h85.333333v640h-85.333333V170.666667z" p-id="2300"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.lastBtnNode.localName}.${this.DOM_CONFIG.lastBtnNode.className}`)},setAttributeWithPageId:(t,e)=>{t.setAttribute("page-id",String(e))},getAttributeWithPageId:t=>{const e=t?.getAttribute("page-id");return e?parseInt(e):null},hasAttributeWithPageId:t=>t.hasAttribute("page-id"),setAttributeWithCurrentPage:t=>{t.setAttribute("data-current-page","")},getAttributeWithCurrentPage:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[data-current-page]"),hasAttributeWithCurrentPage:t=>t.hasAttribute("data-current-page"),removeAttributeWithCurrentPage:t=>{t.removeAttribute("data-current-page")},setAttributeWithDisabled:t=>{t.setAttribute("disabled","true")},removeAllAttributeWithDisabled:t=>{(t||this.DOM_CONFIG.$pageWrapper.dom)?.querySelectorAll("a[class][disabled]").forEach(t=>{t.removeAttribute("disabled")})},getFirstPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[page-id='1']"),getLastPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector(`a[page-id='${this.PAGE_CONFIG.maxPage}']`),getAllPageNode:t=>Array.from((t||this.DOM_CONFIG.$pageWrapper.dom).querySelectorAll("a[page-id]"))};constructor(t){this.CONFIG={data:[],pageShowDataMaxCount:5,pageMaxStep:3,currentPage:1,pageChangeCallBack:function(){},prevBtn:{enable:!0,callBack:function(){}},nextBtn:{enable:!0,callBack:function(){}},firstBtn:{enable:!0,callBack:function(){}},lastBtn:{enable:!0,callBack:function(){}}},this.changeConfig(t)}hide(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="none")}show(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="")}isHide(t=this.DOM_CONFIG.$pageWrapper.dom){if(t)return t.style.display.includes("none")}destory(){const t=this.DOM_CONFIG.$pageWrapper.dom;if(!t)return;const e=t.parentElement;e?.removeChild?.(t),this.DOM_CONFIG.$pageWrapper.dom=null}addCSS(e=document.head){const i=document.createElement("style");i.setAttribute("type","text/css");const a=`@charset "utf-8";\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} {\n\t\t\ttext-align: center;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {\n\t\t\tfont-family: Arial, sans-serif;\n\t\t\tcolor: #333;\n\t\t\tfont-size: 22px;\n\t\t\tfill: currentColor;\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\ttext-decoration: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span {\n\t\t\twidth: 45px;\n\t\t\theight: 40px;\n\t\t\tborder: 1px solid #ebebeb;\n\t\t\tmargin-left: -1px;\n\t\t\tcolor: #000000;\n\t\t\tline-height: 40px;\n\t\t\tfloat: left;\n\t\t\tfont-size: 15px;\n\t\t\ttext-decoration: none;\n\t\t\tmargin: 0 2px;\n\t\t\tborder-radius: 6px;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a:hover,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span:hover {\n\t\t\tborder-color: #3897cd;\n\t\t\tcolor: #3897cd;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {\n\t\t\tbackground-color: #222a35;\n\t\t\tcolor: #fff;\n\t\t\tborder-color: #ebebeb;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{\n\t\t\tcursor: not-allowed;\n\t\t\tborder: 1px solid transparent;\n\t\t\tcolor: #c9c9c9;\n\t\t}\n\t\t`;t.setSafeHTML(i,a),e.appendChild(i)}createDataPagingWrapper(){const e=document.createElement(this.DOM_CONFIG.$pageWrapper.localName);this.DOM_CONFIG.$pageWrapper.dom=e,e.id=this.DOM_CONFIG.$pageWrapper.id;const i=document.createElement(this.DOM_CONFIG.firstBtnNode.localName);t.setSafeHTML(i,this.DOM_CONFIG.firstBtnNode.svgHTML);const a=document.createElement(this.DOM_CONFIG.prevBtnNode.localName);t.setSafeHTML(a,this.DOM_CONFIG.prevBtnNode.svgHTML);const s=document.createElement(this.DOM_CONFIG.nextBtnNode.localName);t.setSafeHTML(s,this.DOM_CONFIG.nextBtnNode.svgHTML);const r=document.createElement(this.DOM_CONFIG.lastBtnNode.localName);if(t.setSafeHTML(r,this.DOM_CONFIG.lastBtnNode.svgHTML),i.className=this.DOM_CONFIG.firstBtnNode.className,a.className=this.DOM_CONFIG.prevBtnNode.className,s.className=this.DOM_CONFIG.nextBtnNode.className,r.className=this.DOM_CONFIG.lastBtnNode.className,this.PAGE_CONFIG.maxPage=Math.ceil(this.CONFIG.data.length/this.CONFIG.pageShowDataMaxCount),this.CONFIG.currentPage<1?this.CONFIG.currentPage=1:this.CONFIG.currentPage>this.PAGE_CONFIG.maxPage&&(this.CONFIG.currentPage=this.PAGE_CONFIG.maxPage),this.PAGE_CONFIG.maxPage<2)return e;this.CONFIG.firstBtn.enable&&(this.setFirstBtnClickEvent(i,e),e.appendChild(i)),this.CONFIG.prevBtn.enable&&(this.setPrevBtnClickEvent(a,e),e.appendChild(a));let n=this.CONFIG.currentPage;if(this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage)for(let t=n;t<=this.PAGE_CONFIG.maxPage;t++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,t),i.innerText=String(t),this.CONFIG.currentPage===t&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),e.appendChild(i)}else if(n+this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage){n=this.PAGE_CONFIG.maxPage;const t=[];for(let i=0;i<this.CONFIG.pageMaxStep;i++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,n),i.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),t.push(i),n--}t.reverse(),t.forEach(t=>{e.appendChild(t)})}else for(let t=0;t<this.CONFIG.pageMaxStep;t++){const t=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(t,n),t.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(t),this.setPageBtnClickEvent(t,e),e.appendChild(t),n++}return this.CONFIG.nextBtn.enable&&(this.setNextBtnClickEvent(s,e),e.appendChild(s)),this.CONFIG.lastBtn.enable&&(this.setLastBtnClickEvent(r,e),e.appendChild(r)),1===this.CONFIG.currentPage?(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())):this.CONFIG.currentPage===this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get())),e}setFirstBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.firstBtn?.callBack?.(t));const a=this.DOM_CONFIG.getAllPageNode(e);for(let t=0;t<this.CONFIG.pageMaxStep;t++){const e=a[t];null!=e&&(0===t?this.DOM_CONFIG.setAttributeWithCurrentPage(e):this.DOM_CONFIG.removeAttributeWithCurrentPage(e),this.DOM_CONFIG.setAttributeWithPageId(e,t+1),e.innerText=String(t+1))}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.CONFIG.pageChangeCallBack(1)})}setPrevBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.prevBtn?.callBack?.(t));const a=i.previousElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e--,this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e)}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get()))})}setNextBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.nextBtn?.callBack?.(t));const a=i.nextElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e++,e>this.PAGE_CONFIG.maxPage||(this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e))}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}setLastBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.lastBtn?.callBack?.(t));const a=Array.from(this.DOM_CONFIG.getAllPageNode(e));a.reverse();let s=this.PAGE_CONFIG.maxPage,r=0;for(;!(this.PAGE_CONFIG.maxPage-s>3);){const t=a[r];if(null==t)break;0===r?this.DOM_CONFIG.setAttributeWithCurrentPage(t):this.DOM_CONFIG.removeAttributeWithCurrentPage(t),this.DOM_CONFIG.setAttributeWithPageId(t,s),t.innerText=String(s),s--,r++}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.maxPage)})}setPageBtnClickEvent(t,e){t.addEventListener("click",async()=>{const i=t,a=this.DOM_CONFIG.getAllPageNode(e);for(const t of a)if(t==i){if(!this.DOM_CONFIG.hasAttributeWithCurrentPage(i)){this.DOM_CONFIG.setAttributeWithCurrentPage(i);const t=this.PAGE_CONFIG.currentPage();await(this.CONFIG?.pageChangeCallBack?.(t))}}else this.DOM_CONFIG.removeAttributeWithCurrentPage(t);this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}append(t){const e=this.isHide();this.destory();const i=this.createDataPagingWrapper();e&&this.hide(i),t.appendChild(i)}after(t){const e=this.isHide(),i=t.parentElement,a=t.nextSibling;this.destory();const s=this.createDataPagingWrapper();e&&this.hide(s),!i||a?t.after(s):i.insertBefore(s,a)}changeConfig(t){Object.assign(this.CONFIG,t)}refresh(t){this.CONFIG.data=[],this.CONFIG.data=t;let e=this.PAGE_CONFIG.currentPage();const i=Math.ceil(t.length/this.CONFIG.pageShowDataMaxCount);e>i&&(e=i),this.CONFIG.currentPage=e;const a=this.DOM_CONFIG.$pageWrapper.dom;a&&this.after(a)}}});
|
|
1
|
+
define(function(){"use strict";const t={setSafeHTML(t,e){try{t.innerHTML=e}catch{if(!globalThis.trustedTypes)throw new Error("PagingUtils trustedTypes is not defined");{const i=globalThis.trustedTypes.createPolicy("safe-innerHTML",{createHTML:t=>t});t.innerHTML=i.createHTML(e)}}}};return class{version="0.0.5";CONFIG;PAGE_CONFIG={currentPage:()=>{const t=this.DOM_CONFIG.getAttributeWithCurrentPage();return this.DOM_CONFIG.getAttributeWithPageId(t)??1},maxPage:1};DOM_CONFIG={$pageWrapper:{localName:"div",id:"data-paging-wrapper",dom:null},firstBtnNode:{localName:"a",className:"pg-first",svgHTML:'<svg t="1694497357294" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4758" width="20"><path d="M730.639277 211.376748l60.943177 60.943176-301.698894 301.698893L428.940384 513.075641z" p-id="4759"></path><path d="M730.496772 814.924547l60.943176-60.943176-301.698893-301.698893L428.797879 513.225654z" p-id="4760"></path><path d="M298.666667 213.333333h85.333333v597.333334H298.666667z" p-id="4761"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.firstBtnNode.localName}.${this.DOM_CONFIG.firstBtnNode.className}`)},prevBtnNode:{localName:"a",className:"pg-prev",svgHTML:'<svg t="1694497840770" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5272" width="20"><path d="M620.322607 151.04875l60.943176 60.943176-362.038672 362.038672L258.283935 513.087422z" p-id="5273"></path><path d="M620.180101 875.252545l60.943177-60.943176-362.038672-362.038672L258.141429 513.213873z" p-id="5274"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.prevBtnNode.localName}.${this.DOM_CONFIG.prevBtnNode.className}`)},nextBtnNode:{localName:"a",className:"pg-next",svgHTML:'<svg t="1694497949481" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5465" width="20"><path d="M403.399239 151.02258l-60.943177 60.943177 362.038672 362.038672L765.437911 513.061252z" p-id="5466"></path><path d="M403.576858 875.263008l-60.943176-60.943176 362.038672-362.038672L765.61553 513.224336z" p-id="5467"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.nextBtnNode.localName}.${this.DOM_CONFIG.nextBtnNode.className}`)},lastBtnNode:{localName:"a",className:"pg-last",svgHTML:'<svg t="1694498035538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2299" width="20"><path d="M516.266667 490.666667L256 230.4 315.733333 170.666667l320 320L315.733333 810.666667 256 750.933333l260.266667-260.266666zM678.4 170.666667h85.333333v640h-85.333333V170.666667z" p-id="2300"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.lastBtnNode.localName}.${this.DOM_CONFIG.lastBtnNode.className}`)},setAttributeWithPageId:(t,e)=>{t.setAttribute("page-id",String(e))},getAttributeWithPageId:t=>{const e=t?.getAttribute("page-id");return e?parseInt(e):null},hasAttributeWithPageId:t=>t.hasAttribute("page-id"),setAttributeWithCurrentPage:t=>{t.setAttribute("data-current-page","")},getAttributeWithCurrentPage:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[data-current-page]"),hasAttributeWithCurrentPage:t=>t.hasAttribute("data-current-page"),removeAttributeWithCurrentPage:t=>{t.removeAttribute("data-current-page")},setAttributeWithDisabled:t=>{t.setAttribute("disabled","true")},removeAllAttributeWithDisabled:t=>{(t||this.DOM_CONFIG.$pageWrapper.dom)?.querySelectorAll("a[class][disabled]").forEach(t=>{t.removeAttribute("disabled")})},getFirstPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[page-id='1']"),getLastPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector(`a[page-id='${this.PAGE_CONFIG.maxPage}']`),getAllPageNode:t=>Array.from((t||this.DOM_CONFIG.$pageWrapper.dom).querySelectorAll("a[page-id]"))};constructor(t){this.CONFIG={data:[],pageShowDataMaxCount:5,pageMaxStep:3,currentPage:1,pageChangeCallBack:function(){},prevBtn:{enable:!0,callBack:function(){}},nextBtn:{enable:!0,callBack:function(){}},firstBtn:{enable:!0,callBack:function(){}},lastBtn:{enable:!0,callBack:function(){}}},this.changeConfig(t)}hide(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="none")}show(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="")}isHide(t=this.DOM_CONFIG.$pageWrapper.dom){if(t)return t.style.display.includes("none")}destory(){const t=this.DOM_CONFIG.$pageWrapper.dom;if(!t)return;const e=t.parentElement;e?.removeChild?.(t),this.DOM_CONFIG.$pageWrapper.dom=null}addCSS(e=document.head){const i=document.createElement("style");i.setAttribute("type","text/css");const a=`@charset "utf-8";\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} {\n\t\t\ttext-align: center;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {\n\t\t\tfont-family: Arial, sans-serif;\n\t\t\tcolor: #333;\n\t\t\tfont-size: 22px;\n\t\t\tfill: currentColor;\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\ttext-decoration: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span {\n\t\t\twidth: 45px;\n\t\t\theight: 40px;\n\t\t\tborder: 1px solid #ebebeb;\n\t\t\tmargin-left: -1px;\n\t\t\tcolor: #000000;\n\t\t\tline-height: 40px;\n\t\t\tfloat: left;\n\t\t\tfont-size: 15px;\n\t\t\ttext-decoration: none;\n\t\t\tmargin: 0 2px;\n\t\t\tborder-radius: 6px;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a:hover,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span:hover {\n\t\t\tborder-color: #3897cd;\n\t\t\tcolor: #3897cd;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {\n\t\t\tbackground-color: #222a35;\n\t\t\tcolor: #fff;\n\t\t\tborder-color: #ebebeb;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{\n\t\t\tcursor: not-allowed;\n\t\t\tborder: 1px solid transparent;\n\t\t\tcolor: #c9c9c9;\n\t\t}\n\t\t`;t.setSafeHTML(i,a),e.appendChild(i)}createDataPagingWrapper(){const e=document.createElement(this.DOM_CONFIG.$pageWrapper.localName);this.DOM_CONFIG.$pageWrapper.dom=e,e.id=this.DOM_CONFIG.$pageWrapper.id;const i=document.createElement(this.DOM_CONFIG.firstBtnNode.localName);t.setSafeHTML(i,this.DOM_CONFIG.firstBtnNode.svgHTML);const a=document.createElement(this.DOM_CONFIG.prevBtnNode.localName);t.setSafeHTML(a,this.DOM_CONFIG.prevBtnNode.svgHTML);const s=document.createElement(this.DOM_CONFIG.nextBtnNode.localName);t.setSafeHTML(s,this.DOM_CONFIG.nextBtnNode.svgHTML);const r=document.createElement(this.DOM_CONFIG.lastBtnNode.localName);if(t.setSafeHTML(r,this.DOM_CONFIG.lastBtnNode.svgHTML),i.className=this.DOM_CONFIG.firstBtnNode.className,a.className=this.DOM_CONFIG.prevBtnNode.className,s.className=this.DOM_CONFIG.nextBtnNode.className,r.className=this.DOM_CONFIG.lastBtnNode.className,this.PAGE_CONFIG.maxPage=Math.ceil(this.CONFIG.data.length/this.CONFIG.pageShowDataMaxCount),this.CONFIG.currentPage<1?this.CONFIG.currentPage=1:this.CONFIG.currentPage>this.PAGE_CONFIG.maxPage&&(this.CONFIG.currentPage=this.PAGE_CONFIG.maxPage),this.PAGE_CONFIG.maxPage<2)return e;this.CONFIG.firstBtn.enable&&(this.setFirstBtnClickEvent(i,e),e.appendChild(i)),this.CONFIG.prevBtn.enable&&(this.setPrevBtnClickEvent(a,e),e.appendChild(a));let n=this.CONFIG.currentPage;if(this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage)for(let t=n;t<=this.PAGE_CONFIG.maxPage;t++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,t),i.innerText=String(t),this.CONFIG.currentPage===t&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),e.appendChild(i)}else if(n+this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage){n=this.PAGE_CONFIG.maxPage;const t=[];for(let i=0;i<this.CONFIG.pageMaxStep;i++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,n),i.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),t.push(i),n--}t.reverse(),t.forEach(t=>{e.appendChild(t)})}else for(let t=0;t<this.CONFIG.pageMaxStep;t++){const t=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(t,n),t.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(t),this.setPageBtnClickEvent(t,e),e.appendChild(t),n++}return this.CONFIG.nextBtn.enable&&(this.setNextBtnClickEvent(s,e),e.appendChild(s)),this.CONFIG.lastBtn.enable&&(this.setLastBtnClickEvent(r,e),e.appendChild(r)),1===this.CONFIG.currentPage?(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())):this.CONFIG.currentPage===this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get())),e}setFirstBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.firstBtn?.callBack?.(t));const a=this.DOM_CONFIG.getAllPageNode(e);for(let t=0;t<this.CONFIG.pageMaxStep;t++){const e=a[t];null!=e&&(0===t?this.DOM_CONFIG.setAttributeWithCurrentPage(e):this.DOM_CONFIG.removeAttributeWithCurrentPage(e),this.DOM_CONFIG.setAttributeWithPageId(e,t+1),e.innerText=String(t+1))}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.CONFIG.pageChangeCallBack(1)})}setPrevBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.prevBtn?.callBack?.(t));const a=i.previousElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e--,this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e)}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get()))})}setNextBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.nextBtn?.callBack?.(t));const a=i.nextElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e++,e>this.PAGE_CONFIG.maxPage||(this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e))}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}setLastBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.lastBtn?.callBack?.(t));const a=Array.from(this.DOM_CONFIG.getAllPageNode(e));a.reverse();let s=this.PAGE_CONFIG.maxPage,r=0;for(;!(this.PAGE_CONFIG.maxPage-s>3);){const t=a[r];if(null==t)break;0===r?this.DOM_CONFIG.setAttributeWithCurrentPage(t):this.DOM_CONFIG.removeAttributeWithCurrentPage(t),this.DOM_CONFIG.setAttributeWithPageId(t,s),t.innerText=String(s),s--,r++}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.maxPage)})}setPageBtnClickEvent(t,e){t.addEventListener("click",async()=>{const i=t,a=this.DOM_CONFIG.getAllPageNode(e);for(const t of a)if(t==i){if(!this.DOM_CONFIG.hasAttributeWithCurrentPage(i)){this.DOM_CONFIG.setAttributeWithCurrentPage(i);const t=this.PAGE_CONFIG.currentPage();await(this.CONFIG?.pageChangeCallBack?.(t))}}else this.DOM_CONFIG.removeAttributeWithCurrentPage(t);this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}append(t){const e=this.isHide();this.destory();const i=this.createDataPagingWrapper();e&&this.hide(i),t.appendChild(i)}after(t){const e=this.isHide(),i=t.parentElement,a=t.nextSibling;this.destory();const s=this.createDataPagingWrapper();e&&this.hide(s),!i||a?t.after(s):i.insertBefore(s,a)}changeConfig(t){Object.assign(this.CONFIG,t)}refresh(t){this.CONFIG.data=[],this.CONFIG.data=t;let e=this.PAGE_CONFIG.currentPage();const i=Math.ceil(t.length/this.CONFIG.pageShowDataMaxCount);e>i&&(e=i),this.CONFIG.currentPage=e;const a=this.DOM_CONFIG.$pageWrapper.dom;a&&this.after(a)}}});
|
|
2
2
|
//# sourceMappingURL=index.amd.min.js.map
|
package/dist/index.cjs.js
CHANGED
|
@@ -36,9 +36,9 @@ const PagingUtils = {
|
|
|
36
36
|
$el.innerHTML = text;
|
|
37
37
|
}
|
|
38
38
|
catch {
|
|
39
|
-
// @ts-
|
|
39
|
+
// @ts-expect-error
|
|
40
40
|
if (globalThis.trustedTypes) {
|
|
41
|
-
// @ts-
|
|
41
|
+
// @ts-expect-error
|
|
42
42
|
const policy = globalThis.trustedTypes.createPolicy("safe-innerHTML", {
|
|
43
43
|
createHTML: (html) => html,
|
|
44
44
|
});
|
|
@@ -51,7 +51,7 @@ const PagingUtils = {
|
|
|
51
51
|
},
|
|
52
52
|
};
|
|
53
53
|
|
|
54
|
-
const version = "0.0.
|
|
54
|
+
const version = "0.0.5";
|
|
55
55
|
|
|
56
56
|
class Paging {
|
|
57
57
|
version = version;
|
|
@@ -255,64 +255,64 @@ class Paging {
|
|
|
255
255
|
addCSS($parent = document.head) {
|
|
256
256
|
const $style = document.createElement("style");
|
|
257
257
|
$style.setAttribute("type", "text/css");
|
|
258
|
-
const cssText = /*css*/ `@charset "utf-8";
|
|
259
|
-
#${this.DOM_CONFIG.$pageWrapper.id} {
|
|
260
|
-
text-align: center;
|
|
261
|
-
display: inline-block;
|
|
262
|
-
}
|
|
263
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},
|
|
264
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},
|
|
265
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},
|
|
266
|
-
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {
|
|
267
|
-
font-family: Arial, sans-serif;
|
|
268
|
-
color: #333;
|
|
269
|
-
font-size: 22px;
|
|
270
|
-
fill: currentColor;
|
|
271
|
-
display: inline-flex;
|
|
272
|
-
justify-content: center;
|
|
273
|
-
align-items: center;
|
|
274
|
-
text-decoration: none;
|
|
275
|
-
}
|
|
276
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a,
|
|
277
|
-
#${this.DOM_CONFIG.$pageWrapper.id} span {
|
|
278
|
-
width: 45px;
|
|
279
|
-
height: 40px;
|
|
280
|
-
border: 1px solid #ebebeb;
|
|
281
|
-
margin-left: -1px;
|
|
282
|
-
color: #000000;
|
|
283
|
-
line-height: 40px;
|
|
284
|
-
float: left;
|
|
285
|
-
font-size: 15px;
|
|
286
|
-
text-decoration: none;
|
|
287
|
-
margin: 0 2px;
|
|
288
|
-
border-radius: 6px;
|
|
289
|
-
}
|
|
290
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a:hover,
|
|
291
|
-
#${this.DOM_CONFIG.$pageWrapper.id} span:hover {
|
|
292
|
-
border-color: #3897cd;
|
|
293
|
-
color: #3897cd;
|
|
294
|
-
position: relative;
|
|
295
|
-
z-index: 1;
|
|
296
|
-
}
|
|
297
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a {
|
|
298
|
-
cursor: pointer;
|
|
299
|
-
user-select: none;
|
|
300
|
-
}
|
|
301
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {
|
|
302
|
-
background-color: #222a35;
|
|
303
|
-
color: #fff;
|
|
304
|
-
border-color: #ebebeb;
|
|
305
|
-
position: relative;
|
|
306
|
-
z-index: 1;
|
|
307
|
-
}
|
|
308
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],
|
|
309
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],
|
|
310
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],
|
|
311
|
-
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{
|
|
312
|
-
cursor: not-allowed;
|
|
313
|
-
border: 1px solid transparent;
|
|
314
|
-
color: #c9c9c9;
|
|
315
|
-
}
|
|
258
|
+
const cssText = /*css*/ `@charset "utf-8";
|
|
259
|
+
#${this.DOM_CONFIG.$pageWrapper.id} {
|
|
260
|
+
text-align: center;
|
|
261
|
+
display: inline-block;
|
|
262
|
+
}
|
|
263
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},
|
|
264
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},
|
|
265
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},
|
|
266
|
+
#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {
|
|
267
|
+
font-family: Arial, sans-serif;
|
|
268
|
+
color: #333;
|
|
269
|
+
font-size: 22px;
|
|
270
|
+
fill: currentColor;
|
|
271
|
+
display: inline-flex;
|
|
272
|
+
justify-content: center;
|
|
273
|
+
align-items: center;
|
|
274
|
+
text-decoration: none;
|
|
275
|
+
}
|
|
276
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a,
|
|
277
|
+
#${this.DOM_CONFIG.$pageWrapper.id} span {
|
|
278
|
+
width: 45px;
|
|
279
|
+
height: 40px;
|
|
280
|
+
border: 1px solid #ebebeb;
|
|
281
|
+
margin-left: -1px;
|
|
282
|
+
color: #000000;
|
|
283
|
+
line-height: 40px;
|
|
284
|
+
float: left;
|
|
285
|
+
font-size: 15px;
|
|
286
|
+
text-decoration: none;
|
|
287
|
+
margin: 0 2px;
|
|
288
|
+
border-radius: 6px;
|
|
289
|
+
}
|
|
290
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a:hover,
|
|
291
|
+
#${this.DOM_CONFIG.$pageWrapper.id} span:hover {
|
|
292
|
+
border-color: #3897cd;
|
|
293
|
+
color: #3897cd;
|
|
294
|
+
position: relative;
|
|
295
|
+
z-index: 1;
|
|
296
|
+
}
|
|
297
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a {
|
|
298
|
+
cursor: pointer;
|
|
299
|
+
user-select: none;
|
|
300
|
+
}
|
|
301
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {
|
|
302
|
+
background-color: #222a35;
|
|
303
|
+
color: #fff;
|
|
304
|
+
border-color: #ebebeb;
|
|
305
|
+
position: relative;
|
|
306
|
+
z-index: 1;
|
|
307
|
+
}
|
|
308
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],
|
|
309
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],
|
|
310
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],
|
|
311
|
+
#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{
|
|
312
|
+
cursor: not-allowed;
|
|
313
|
+
border: 1px solid transparent;
|
|
314
|
+
color: #c9c9c9;
|
|
315
|
+
}
|
|
316
316
|
`;
|
|
317
317
|
PagingUtils.setSafeHTML($style, cssText);
|
|
318
318
|
$parent.appendChild($style);
|
package/dist/index.cjs.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";const t={setSafeHTML(t,e){try{t.innerHTML=e}catch{if(!globalThis.trustedTypes)throw new Error("PagingUtils trustedTypes is not defined");{const i=globalThis.trustedTypes.createPolicy("safe-innerHTML",{createHTML:t=>t});t.innerHTML=i.createHTML(e)}}}};const e=class{version="0.0.4";CONFIG;PAGE_CONFIG={currentPage:()=>{const t=this.DOM_CONFIG.getAttributeWithCurrentPage();return this.DOM_CONFIG.getAttributeWithPageId(t)??1},maxPage:1};DOM_CONFIG={$pageWrapper:{localName:"div",id:"data-paging-wrapper",dom:null},firstBtnNode:{localName:"a",className:"pg-first",svgHTML:'<svg t="1694497357294" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4758" width="20"><path d="M730.639277 211.376748l60.943177 60.943176-301.698894 301.698893L428.940384 513.075641z" p-id="4759"></path><path d="M730.496772 814.924547l60.943176-60.943176-301.698893-301.698893L428.797879 513.225654z" p-id="4760"></path><path d="M298.666667 213.333333h85.333333v597.333334H298.666667z" p-id="4761"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.firstBtnNode.localName}.${this.DOM_CONFIG.firstBtnNode.className}`)},prevBtnNode:{localName:"a",className:"pg-prev",svgHTML:'<svg t="1694497840770" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5272" width="20"><path d="M620.322607 151.04875l60.943176 60.943176-362.038672 362.038672L258.283935 513.087422z" p-id="5273"></path><path d="M620.180101 875.252545l60.943177-60.943176-362.038672-362.038672L258.141429 513.213873z" p-id="5274"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.prevBtnNode.localName}.${this.DOM_CONFIG.prevBtnNode.className}`)},nextBtnNode:{localName:"a",className:"pg-next",svgHTML:'<svg t="1694497949481" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5465" width="20"><path d="M403.399239 151.02258l-60.943177 60.943177 362.038672 362.038672L765.437911 513.061252z" p-id="5466"></path><path d="M403.576858 875.263008l-60.943176-60.943176 362.038672-362.038672L765.61553 513.224336z" p-id="5467"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.nextBtnNode.localName}.${this.DOM_CONFIG.nextBtnNode.className}`)},lastBtnNode:{localName:"a",className:"pg-last",svgHTML:'<svg t="1694498035538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2299" width="20"><path d="M516.266667 490.666667L256 230.4 315.733333 170.666667l320 320L315.733333 810.666667 256 750.933333l260.266667-260.266666zM678.4 170.666667h85.333333v640h-85.333333V170.666667z" p-id="2300"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.lastBtnNode.localName}.${this.DOM_CONFIG.lastBtnNode.className}`)},setAttributeWithPageId:(t,e)=>{t.setAttribute("page-id",String(e))},getAttributeWithPageId:t=>{const e=t?.getAttribute("page-id");return e?parseInt(e):null},hasAttributeWithPageId:t=>t.hasAttribute("page-id"),setAttributeWithCurrentPage:t=>{t.setAttribute("data-current-page","")},getAttributeWithCurrentPage:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[data-current-page]"),hasAttributeWithCurrentPage:t=>t.hasAttribute("data-current-page"),removeAttributeWithCurrentPage:t=>{t.removeAttribute("data-current-page")},setAttributeWithDisabled:t=>{t.setAttribute("disabled","true")},removeAllAttributeWithDisabled:t=>{(t||this.DOM_CONFIG.$pageWrapper.dom)?.querySelectorAll("a[class][disabled]").forEach(t=>{t.removeAttribute("disabled")})},getFirstPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[page-id='1']"),getLastPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector(`a[page-id='${this.PAGE_CONFIG.maxPage}']`),getAllPageNode:t=>Array.from((t||this.DOM_CONFIG.$pageWrapper.dom).querySelectorAll("a[page-id]"))};constructor(t){this.CONFIG={data:[],pageShowDataMaxCount:5,pageMaxStep:3,currentPage:1,pageChangeCallBack:function(){},prevBtn:{enable:!0,callBack:function(){}},nextBtn:{enable:!0,callBack:function(){}},firstBtn:{enable:!0,callBack:function(){}},lastBtn:{enable:!0,callBack:function(){}}},this.changeConfig(t)}hide(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="none")}show(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="")}isHide(t=this.DOM_CONFIG.$pageWrapper.dom){if(t)return t.style.display.includes("none")}destory(){const t=this.DOM_CONFIG.$pageWrapper.dom;if(!t)return;const e=t.parentElement;e?.removeChild?.(t),this.DOM_CONFIG.$pageWrapper.dom=null}addCSS(e=document.head){const i=document.createElement("style");i.setAttribute("type","text/css");const a=`@charset "utf-8";\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} {\n\t\t\ttext-align: center;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {\n\t\t\tfont-family: Arial, sans-serif;\n\t\t\tcolor: #333;\n\t\t\tfont-size: 22px;\n\t\t\tfill: currentColor;\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\ttext-decoration: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span {\n\t\t\twidth: 45px;\n\t\t\theight: 40px;\n\t\t\tborder: 1px solid #ebebeb;\n\t\t\tmargin-left: -1px;\n\t\t\tcolor: #000000;\n\t\t\tline-height: 40px;\n\t\t\tfloat: left;\n\t\t\tfont-size: 15px;\n\t\t\ttext-decoration: none;\n\t\t\tmargin: 0 2px;\n\t\t\tborder-radius: 6px;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a:hover,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span:hover {\n\t\t\tborder-color: #3897cd;\n\t\t\tcolor: #3897cd;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {\n\t\t\tbackground-color: #222a35;\n\t\t\tcolor: #fff;\n\t\t\tborder-color: #ebebeb;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{\n\t\t\tcursor: not-allowed;\n\t\t\tborder: 1px solid transparent;\n\t\t\tcolor: #c9c9c9;\n\t\t}\n\t\t`;t.setSafeHTML(i,a),e.appendChild(i)}createDataPagingWrapper(){const e=document.createElement(this.DOM_CONFIG.$pageWrapper.localName);this.DOM_CONFIG.$pageWrapper.dom=e,e.id=this.DOM_CONFIG.$pageWrapper.id;const i=document.createElement(this.DOM_CONFIG.firstBtnNode.localName);t.setSafeHTML(i,this.DOM_CONFIG.firstBtnNode.svgHTML);const a=document.createElement(this.DOM_CONFIG.prevBtnNode.localName);t.setSafeHTML(a,this.DOM_CONFIG.prevBtnNode.svgHTML);const s=document.createElement(this.DOM_CONFIG.nextBtnNode.localName);t.setSafeHTML(s,this.DOM_CONFIG.nextBtnNode.svgHTML);const r=document.createElement(this.DOM_CONFIG.lastBtnNode.localName);if(t.setSafeHTML(r,this.DOM_CONFIG.lastBtnNode.svgHTML),i.className=this.DOM_CONFIG.firstBtnNode.className,a.className=this.DOM_CONFIG.prevBtnNode.className,s.className=this.DOM_CONFIG.nextBtnNode.className,r.className=this.DOM_CONFIG.lastBtnNode.className,this.PAGE_CONFIG.maxPage=Math.ceil(this.CONFIG.data.length/this.CONFIG.pageShowDataMaxCount),this.CONFIG.currentPage<1?this.CONFIG.currentPage=1:this.CONFIG.currentPage>this.PAGE_CONFIG.maxPage&&(this.CONFIG.currentPage=this.PAGE_CONFIG.maxPage),this.PAGE_CONFIG.maxPage<2)return e;this.CONFIG.firstBtn.enable&&(this.setFirstBtnClickEvent(i,e),e.appendChild(i)),this.CONFIG.prevBtn.enable&&(this.setPrevBtnClickEvent(a,e),e.appendChild(a));let n=this.CONFIG.currentPage;if(this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage)for(let t=n;t<=this.PAGE_CONFIG.maxPage;t++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,t),i.innerText=String(t),this.CONFIG.currentPage===t&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),e.appendChild(i)}else if(n+this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage){n=this.PAGE_CONFIG.maxPage;const t=[];for(let i=0;i<this.CONFIG.pageMaxStep;i++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,n),i.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),t.push(i),n--}t.reverse(),t.forEach(t=>{e.appendChild(t)})}else for(let t=0;t<this.CONFIG.pageMaxStep;t++){const t=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(t,n),t.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(t),this.setPageBtnClickEvent(t,e),e.appendChild(t),n++}return this.CONFIG.nextBtn.enable&&(this.setNextBtnClickEvent(s,e),e.appendChild(s)),this.CONFIG.lastBtn.enable&&(this.setLastBtnClickEvent(r,e),e.appendChild(r)),1===this.CONFIG.currentPage?(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())):this.CONFIG.currentPage===this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get())),e}setFirstBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.firstBtn?.callBack?.(t));const a=this.DOM_CONFIG.getAllPageNode(e);for(let t=0;t<this.CONFIG.pageMaxStep;t++){const e=a[t];null!=e&&(0===t?this.DOM_CONFIG.setAttributeWithCurrentPage(e):this.DOM_CONFIG.removeAttributeWithCurrentPage(e),this.DOM_CONFIG.setAttributeWithPageId(e,t+1),e.innerText=String(t+1))}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.CONFIG.pageChangeCallBack(1)})}setPrevBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.prevBtn?.callBack?.(t));const a=i.previousElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e--,this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e)}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get()))})}setNextBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.nextBtn?.callBack?.(t));const a=i.nextElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e++,e>this.PAGE_CONFIG.maxPage||(this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e))}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}setLastBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.lastBtn?.callBack?.(t));const a=Array.from(this.DOM_CONFIG.getAllPageNode(e));a.reverse();let s=this.PAGE_CONFIG.maxPage,r=0;for(;!(this.PAGE_CONFIG.maxPage-s>3);){const t=a[r];if(null==t)break;0===r?this.DOM_CONFIG.setAttributeWithCurrentPage(t):this.DOM_CONFIG.removeAttributeWithCurrentPage(t),this.DOM_CONFIG.setAttributeWithPageId(t,s),t.innerText=String(s),s--,r++}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.maxPage)})}setPageBtnClickEvent(t,e){t.addEventListener("click",async()=>{const i=t,a=this.DOM_CONFIG.getAllPageNode(e);for(const t of a)if(t==i){if(!this.DOM_CONFIG.hasAttributeWithCurrentPage(i)){this.DOM_CONFIG.setAttributeWithCurrentPage(i);const t=this.PAGE_CONFIG.currentPage();await(this.CONFIG?.pageChangeCallBack?.(t))}}else this.DOM_CONFIG.removeAttributeWithCurrentPage(t);this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}append(t){const e=this.isHide();this.destory();const i=this.createDataPagingWrapper();e&&this.hide(i),t.appendChild(i)}after(t){const e=this.isHide(),i=t.parentElement,a=t.nextSibling;this.destory();const s=this.createDataPagingWrapper();e&&this.hide(s),!i||a?t.after(s):i.insertBefore(s,a)}changeConfig(t){Object.assign(this.CONFIG,t)}refresh(t){this.CONFIG.data=[],this.CONFIG.data=t;let e=this.PAGE_CONFIG.currentPage();const i=Math.ceil(t.length/this.CONFIG.pageShowDataMaxCount);e>i&&(e=i),this.CONFIG.currentPage=e;const a=this.DOM_CONFIG.$pageWrapper.dom;a&&this.after(a)}};module.exports=e;
|
|
1
|
+
"use strict";const t={setSafeHTML(t,e){try{t.innerHTML=e}catch{if(!globalThis.trustedTypes)throw new Error("PagingUtils trustedTypes is not defined");{const i=globalThis.trustedTypes.createPolicy("safe-innerHTML",{createHTML:t=>t});t.innerHTML=i.createHTML(e)}}}};const e=class{version="0.0.5";CONFIG;PAGE_CONFIG={currentPage:()=>{const t=this.DOM_CONFIG.getAttributeWithCurrentPage();return this.DOM_CONFIG.getAttributeWithPageId(t)??1},maxPage:1};DOM_CONFIG={$pageWrapper:{localName:"div",id:"data-paging-wrapper",dom:null},firstBtnNode:{localName:"a",className:"pg-first",svgHTML:'<svg t="1694497357294" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4758" width="20"><path d="M730.639277 211.376748l60.943177 60.943176-301.698894 301.698893L428.940384 513.075641z" p-id="4759"></path><path d="M730.496772 814.924547l60.943176-60.943176-301.698893-301.698893L428.797879 513.225654z" p-id="4760"></path><path d="M298.666667 213.333333h85.333333v597.333334H298.666667z" p-id="4761"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.firstBtnNode.localName}.${this.DOM_CONFIG.firstBtnNode.className}`)},prevBtnNode:{localName:"a",className:"pg-prev",svgHTML:'<svg t="1694497840770" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5272" width="20"><path d="M620.322607 151.04875l60.943176 60.943176-362.038672 362.038672L258.283935 513.087422z" p-id="5273"></path><path d="M620.180101 875.252545l60.943177-60.943176-362.038672-362.038672L258.141429 513.213873z" p-id="5274"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.prevBtnNode.localName}.${this.DOM_CONFIG.prevBtnNode.className}`)},nextBtnNode:{localName:"a",className:"pg-next",svgHTML:'<svg t="1694497949481" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5465" width="20"><path d="M403.399239 151.02258l-60.943177 60.943177 362.038672 362.038672L765.437911 513.061252z" p-id="5466"></path><path d="M403.576858 875.263008l-60.943176-60.943176 362.038672-362.038672L765.61553 513.224336z" p-id="5467"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.nextBtnNode.localName}.${this.DOM_CONFIG.nextBtnNode.className}`)},lastBtnNode:{localName:"a",className:"pg-last",svgHTML:'<svg t="1694498035538" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2299" width="20"><path d="M516.266667 490.666667L256 230.4 315.733333 170.666667l320 320L315.733333 810.666667 256 750.933333l260.266667-260.266666zM678.4 170.666667h85.333333v640h-85.333333V170.666667z" p-id="2300"></path></svg>',get:()=>this.DOM_CONFIG.$pageWrapper.dom.querySelector(`${this.DOM_CONFIG.lastBtnNode.localName}.${this.DOM_CONFIG.lastBtnNode.className}`)},setAttributeWithPageId:(t,e)=>{t.setAttribute("page-id",String(e))},getAttributeWithPageId:t=>{const e=t?.getAttribute("page-id");return e?parseInt(e):null},hasAttributeWithPageId:t=>t.hasAttribute("page-id"),setAttributeWithCurrentPage:t=>{t.setAttribute("data-current-page","")},getAttributeWithCurrentPage:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[data-current-page]"),hasAttributeWithCurrentPage:t=>t.hasAttribute("data-current-page"),removeAttributeWithCurrentPage:t=>{t.removeAttribute("data-current-page")},setAttributeWithDisabled:t=>{t.setAttribute("disabled","true")},removeAllAttributeWithDisabled:t=>{(t||this.DOM_CONFIG.$pageWrapper.dom)?.querySelectorAll("a[class][disabled]").forEach(t=>{t.removeAttribute("disabled")})},getFirstPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector("a[page-id='1']"),getLastPageNode:t=>(t||this.DOM_CONFIG.$pageWrapper.dom).querySelector(`a[page-id='${this.PAGE_CONFIG.maxPage}']`),getAllPageNode:t=>Array.from((t||this.DOM_CONFIG.$pageWrapper.dom).querySelectorAll("a[page-id]"))};constructor(t){this.CONFIG={data:[],pageShowDataMaxCount:5,pageMaxStep:3,currentPage:1,pageChangeCallBack:function(){},prevBtn:{enable:!0,callBack:function(){}},nextBtn:{enable:!0,callBack:function(){}},firstBtn:{enable:!0,callBack:function(){}},lastBtn:{enable:!0,callBack:function(){}}},this.changeConfig(t)}hide(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="none")}show(t=this.DOM_CONFIG.$pageWrapper.dom){t&&(t.style.display="")}isHide(t=this.DOM_CONFIG.$pageWrapper.dom){if(t)return t.style.display.includes("none")}destory(){const t=this.DOM_CONFIG.$pageWrapper.dom;if(!t)return;const e=t.parentElement;e?.removeChild?.(t),this.DOM_CONFIG.$pageWrapper.dom=null}addCSS(e=document.head){const i=document.createElement("style");i.setAttribute("type","text/css");const a=`@charset "utf-8";\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} {\n\t\t\ttext-align: center;\n\t\t\tdisplay: inline-block;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.firstBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.prevBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.nextBtnNode.className},\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} .${this.DOM_CONFIG.lastBtnNode.className} {\n\t\t\tfont-family: Arial, sans-serif;\n\t\t\tcolor: #333;\n\t\t\tfont-size: 22px;\n\t\t\tfill: currentColor;\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\ttext-decoration: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span {\n\t\t\twidth: 45px;\n\t\t\theight: 40px;\n\t\t\tborder: 1px solid #ebebeb;\n\t\t\tmargin-left: -1px;\n\t\t\tcolor: #000000;\n\t\t\tline-height: 40px;\n\t\t\tfloat: left;\n\t\t\tfont-size: 15px;\n\t\t\ttext-decoration: none;\n\t\t\tmargin: 0 2px;\n\t\t\tborder-radius: 6px;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a:hover,\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} span:hover {\n\t\t\tborder-color: #3897cd;\n\t\t\tcolor: #3897cd;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a {\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a[data-current-page] {\n\t\t\tbackground-color: #222a35;\n\t\t\tcolor: #fff;\n\t\t\tborder-color: #ebebeb;\n\t\t\tposition: relative;\n\t\t\tz-index: 1;\n\t\t}\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.firstBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.prevBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.nextBtnNode.className}[disabled="true"],\n\t\t#${this.DOM_CONFIG.$pageWrapper.id} a.${this.DOM_CONFIG.lastBtnNode.className}[disabled="true"]{\n\t\t\tcursor: not-allowed;\n\t\t\tborder: 1px solid transparent;\n\t\t\tcolor: #c9c9c9;\n\t\t}\n\t\t`;t.setSafeHTML(i,a),e.appendChild(i)}createDataPagingWrapper(){const e=document.createElement(this.DOM_CONFIG.$pageWrapper.localName);this.DOM_CONFIG.$pageWrapper.dom=e,e.id=this.DOM_CONFIG.$pageWrapper.id;const i=document.createElement(this.DOM_CONFIG.firstBtnNode.localName);t.setSafeHTML(i,this.DOM_CONFIG.firstBtnNode.svgHTML);const a=document.createElement(this.DOM_CONFIG.prevBtnNode.localName);t.setSafeHTML(a,this.DOM_CONFIG.prevBtnNode.svgHTML);const s=document.createElement(this.DOM_CONFIG.nextBtnNode.localName);t.setSafeHTML(s,this.DOM_CONFIG.nextBtnNode.svgHTML);const r=document.createElement(this.DOM_CONFIG.lastBtnNode.localName);if(t.setSafeHTML(r,this.DOM_CONFIG.lastBtnNode.svgHTML),i.className=this.DOM_CONFIG.firstBtnNode.className,a.className=this.DOM_CONFIG.prevBtnNode.className,s.className=this.DOM_CONFIG.nextBtnNode.className,r.className=this.DOM_CONFIG.lastBtnNode.className,this.PAGE_CONFIG.maxPage=Math.ceil(this.CONFIG.data.length/this.CONFIG.pageShowDataMaxCount),this.CONFIG.currentPage<1?this.CONFIG.currentPage=1:this.CONFIG.currentPage>this.PAGE_CONFIG.maxPage&&(this.CONFIG.currentPage=this.PAGE_CONFIG.maxPage),this.PAGE_CONFIG.maxPage<2)return e;this.CONFIG.firstBtn.enable&&(this.setFirstBtnClickEvent(i,e),e.appendChild(i)),this.CONFIG.prevBtn.enable&&(this.setPrevBtnClickEvent(a,e),e.appendChild(a));let n=this.CONFIG.currentPage;if(this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage)for(let t=n;t<=this.PAGE_CONFIG.maxPage;t++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,t),i.innerText=String(t),this.CONFIG.currentPage===t&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),e.appendChild(i)}else if(n+this.CONFIG.pageMaxStep>this.PAGE_CONFIG.maxPage){n=this.PAGE_CONFIG.maxPage;const t=[];for(let i=0;i<this.CONFIG.pageMaxStep;i++){const i=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(i,n),i.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(i),this.setPageBtnClickEvent(i,e),t.push(i),n--}t.reverse(),t.forEach(t=>{e.appendChild(t)})}else for(let t=0;t<this.CONFIG.pageMaxStep;t++){const t=document.createElement("a");this.DOM_CONFIG.setAttributeWithPageId(t,n),t.innerText=String(n),this.CONFIG.currentPage===n&&this.DOM_CONFIG.setAttributeWithCurrentPage(t),this.setPageBtnClickEvent(t,e),e.appendChild(t),n++}return this.CONFIG.nextBtn.enable&&(this.setNextBtnClickEvent(s,e),e.appendChild(s)),this.CONFIG.lastBtn.enable&&(this.setLastBtnClickEvent(r,e),e.appendChild(r)),1===this.CONFIG.currentPage?(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())):this.CONFIG.currentPage===this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get())),e}setFirstBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.firstBtn?.callBack?.(t));const a=this.DOM_CONFIG.getAllPageNode(e);for(let t=0;t<this.CONFIG.pageMaxStep;t++){const e=a[t];null!=e&&(0===t?this.DOM_CONFIG.setAttributeWithCurrentPage(e):this.DOM_CONFIG.removeAttributeWithCurrentPage(e),this.DOM_CONFIG.setAttributeWithPageId(e,t+1),e.innerText=String(t+1))}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.CONFIG.pageChangeCallBack(1)})}setPrevBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(1===this.DOM_CONFIG.getAttributeWithPageId(i))return;await(this.CONFIG.prevBtn?.callBack?.(t));const a=i.previousElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e--,this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e)}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get()))})}setNextBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.nextBtn?.callBack?.(t));const a=i.nextElementSibling;if(a&&this.DOM_CONFIG.hasAttributeWithPageId(a))a.click();else{this.DOM_CONFIG.getAllPageNode(e).forEach(t=>{let e=this.DOM_CONFIG.getAttributeWithPageId(t);e++,e>this.PAGE_CONFIG.maxPage||(this.DOM_CONFIG.setAttributeWithPageId(t,e),t.innerText=String(e))}),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.currentPage())}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}setLastBtnClickEvent(t,e){t.addEventListener("click",async t=>{const i=this.DOM_CONFIG.getAttributeWithCurrentPage();if(this.DOM_CONFIG.getAttributeWithPageId(i)===this.PAGE_CONFIG.maxPage)return;await(this.CONFIG.lastBtn?.callBack?.(t));const a=Array.from(this.DOM_CONFIG.getAllPageNode(e));a.reverse();let s=this.PAGE_CONFIG.maxPage,r=0;for(;!(this.PAGE_CONFIG.maxPage-s>3);){const t=a[r];if(null==t)break;0===r?this.DOM_CONFIG.setAttributeWithCurrentPage(t):this.DOM_CONFIG.removeAttributeWithCurrentPage(t),this.DOM_CONFIG.setAttributeWithPageId(t,s),t.innerText=String(s),s--,r++}this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()),this.CONFIG.pageChangeCallBack(this.PAGE_CONFIG.maxPage)})}setPageBtnClickEvent(t,e){t.addEventListener("click",async()=>{const i=t,a=this.DOM_CONFIG.getAllPageNode(e);for(const t of a)if(t==i){if(!this.DOM_CONFIG.hasAttributeWithCurrentPage(i)){this.DOM_CONFIG.setAttributeWithCurrentPage(i);const t=this.PAGE_CONFIG.currentPage();await(this.CONFIG?.pageChangeCallBack?.(t))}}else this.DOM_CONFIG.removeAttributeWithCurrentPage(t);this.DOM_CONFIG.removeAllAttributeWithDisabled(e),this.DOM_CONFIG.getFirstPageNode(e)&&1==this.PAGE_CONFIG.currentPage()&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.firstBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.prevBtnNode.get())),this.DOM_CONFIG.getLastPageNode()&&this.PAGE_CONFIG.currentPage()==this.PAGE_CONFIG.maxPage&&(this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.nextBtnNode.get()),this.DOM_CONFIG.setAttributeWithDisabled(this.DOM_CONFIG.lastBtnNode.get()))})}append(t){const e=this.isHide();this.destory();const i=this.createDataPagingWrapper();e&&this.hide(i),t.appendChild(i)}after(t){const e=this.isHide(),i=t.parentElement,a=t.nextSibling;this.destory();const s=this.createDataPagingWrapper();e&&this.hide(s),!i||a?t.after(s):i.insertBefore(s,a)}changeConfig(t){Object.assign(this.CONFIG,t)}refresh(t){this.CONFIG.data=[],this.CONFIG.data=t;let e=this.PAGE_CONFIG.currentPage();const i=Math.ceil(t.length/this.CONFIG.pageShowDataMaxCount);e>i&&(e=i),this.CONFIG.currentPage=e;const a=this.DOM_CONFIG.$pageWrapper.dom;a&&this.after(a)}};module.exports=e;
|
|
2
2
|
//# sourceMappingURL=index.cjs.min.js.map
|