@idds/js 1.0.70 → 1.0.72
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/index.iife.js +63 -18
- package/dist/index.js +63 -18
- package/package.json +1 -1
package/dist/index.iife.js
CHANGED
|
@@ -2404,53 +2404,65 @@ var InaUI = (() => {
|
|
|
2404
2404
|
let currentPage = parseInt(container.dataset.current || "1", 10);
|
|
2405
2405
|
let totalPages = parseInt(container.dataset.total || "10", 10);
|
|
2406
2406
|
let pageSize = parseInt(container.dataset.pageSize || "10", 10);
|
|
2407
|
+
let isDisabled = container.dataset.disabled === "true";
|
|
2407
2408
|
let pageButtons = [];
|
|
2408
2409
|
const updateUI = () => {
|
|
2409
2410
|
pageInfo.textContent = `Halaman ${currentPage} dari ${totalPages}`;
|
|
2410
2411
|
const isFirst = currentPage === 1;
|
|
2411
2412
|
if (firstBtn) {
|
|
2412
|
-
|
|
2413
|
+
const disabled = isDisabled || isFirst;
|
|
2414
|
+
firstBtn.disabled = disabled;
|
|
2413
2415
|
firstBtn.classList.toggle(
|
|
2414
2416
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2415
|
-
|
|
2417
|
+
disabled
|
|
2416
2418
|
);
|
|
2417
2419
|
firstBtn.classList.toggle(
|
|
2418
2420
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2419
|
-
!
|
|
2421
|
+
!disabled
|
|
2420
2422
|
);
|
|
2421
2423
|
}
|
|
2422
2424
|
if (prevBtn) {
|
|
2423
|
-
|
|
2425
|
+
const disabled = isDisabled || isFirst;
|
|
2426
|
+
prevBtn.disabled = disabled;
|
|
2424
2427
|
prevBtn.classList.toggle(
|
|
2425
2428
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2426
|
-
|
|
2429
|
+
disabled
|
|
2427
2430
|
);
|
|
2428
2431
|
prevBtn.classList.toggle(
|
|
2429
2432
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2430
|
-
!
|
|
2433
|
+
!disabled
|
|
2431
2434
|
);
|
|
2432
2435
|
}
|
|
2433
2436
|
const isLast = currentPage === totalPages;
|
|
2434
2437
|
if (nextBtn) {
|
|
2435
|
-
|
|
2438
|
+
const disabled = isDisabled || isLast;
|
|
2439
|
+
nextBtn.disabled = disabled;
|
|
2436
2440
|
nextBtn.classList.toggle(
|
|
2437
2441
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2438
|
-
|
|
2442
|
+
disabled
|
|
2439
2443
|
);
|
|
2440
2444
|
nextBtn.classList.toggle(
|
|
2441
2445
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2442
|
-
!
|
|
2446
|
+
!disabled
|
|
2443
2447
|
);
|
|
2444
2448
|
}
|
|
2445
2449
|
if (lastBtn) {
|
|
2446
|
-
|
|
2450
|
+
const disabled = isDisabled || isLast;
|
|
2451
|
+
lastBtn.disabled = disabled;
|
|
2447
2452
|
lastBtn.classList.toggle(
|
|
2448
2453
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2449
|
-
|
|
2454
|
+
disabled
|
|
2450
2455
|
);
|
|
2451
2456
|
lastBtn.classList.toggle(
|
|
2452
2457
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2453
|
-
!
|
|
2458
|
+
!disabled
|
|
2459
|
+
);
|
|
2460
|
+
}
|
|
2461
|
+
if (pageSizeSelect) {
|
|
2462
|
+
pageSizeSelect.disabled = isDisabled;
|
|
2463
|
+
pageSizeSelect.classList.toggle(
|
|
2464
|
+
`${PREFIX}-pagination__page-size-select--disabled`,
|
|
2465
|
+
isDisabled
|
|
2454
2466
|
);
|
|
2455
2467
|
}
|
|
2456
2468
|
renderPageNumbers();
|
|
@@ -2477,10 +2489,11 @@ var InaUI = (() => {
|
|
|
2477
2489
|
const button = document.createElement("button");
|
|
2478
2490
|
button.type = "button";
|
|
2479
2491
|
button.textContent = i;
|
|
2480
|
-
button.
|
|
2492
|
+
button.disabled = isDisabled;
|
|
2493
|
+
button.className = `${PREFIX}-pagination__page-button ${PREFIX}-pagination__page-button--${isActive ? "active" : isDisabled ? "disabled" : "enabled"}`;
|
|
2481
2494
|
button.addEventListener("click", (e) => {
|
|
2482
2495
|
e.stopPropagation();
|
|
2483
|
-
if (i !== currentPage) {
|
|
2496
|
+
if (!isDisabled && i !== currentPage) {
|
|
2484
2497
|
goToPage(i);
|
|
2485
2498
|
}
|
|
2486
2499
|
});
|
|
@@ -2489,6 +2502,7 @@ var InaUI = (() => {
|
|
|
2489
2502
|
}
|
|
2490
2503
|
};
|
|
2491
2504
|
const goToPage = (page) => {
|
|
2505
|
+
if (isDisabled) return;
|
|
2492
2506
|
if (page < 1) page = 1;
|
|
2493
2507
|
if (page > totalPages) page = totalPages;
|
|
2494
2508
|
if (page === currentPage) return;
|
|
@@ -2509,24 +2523,55 @@ var InaUI = (() => {
|
|
|
2509
2523
|
})
|
|
2510
2524
|
);
|
|
2511
2525
|
};
|
|
2526
|
+
const observer = new MutationObserver((mutations) => {
|
|
2527
|
+
mutations.forEach((mutation) => {
|
|
2528
|
+
if (mutation.type === "attributes") {
|
|
2529
|
+
if (mutation.attributeName === "data-current") {
|
|
2530
|
+
const newVal = parseInt(container.dataset.current || "1", 10);
|
|
2531
|
+
if (newVal !== currentPage) {
|
|
2532
|
+
currentPage = newVal;
|
|
2533
|
+
updateUI();
|
|
2534
|
+
}
|
|
2535
|
+
} else if (mutation.attributeName === "data-total") {
|
|
2536
|
+
totalPages = parseInt(container.dataset.total || "10", 10);
|
|
2537
|
+
updateUI();
|
|
2538
|
+
} else if (mutation.attributeName === "data-page-size") {
|
|
2539
|
+
pageSize = parseInt(container.dataset.pageSize || "10", 10);
|
|
2540
|
+
} else if (mutation.attributeName === "data-disabled") {
|
|
2541
|
+
isDisabled = container.dataset.disabled === "true";
|
|
2542
|
+
updateUI();
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2545
|
+
});
|
|
2546
|
+
});
|
|
2547
|
+
observer.observe(container, {
|
|
2548
|
+
attributes: true,
|
|
2549
|
+
attributeFilter: [
|
|
2550
|
+
"data-current",
|
|
2551
|
+
"data-total",
|
|
2552
|
+
"data-page-size",
|
|
2553
|
+
"data-disabled"
|
|
2554
|
+
]
|
|
2555
|
+
});
|
|
2512
2556
|
if (firstBtn)
|
|
2513
2557
|
firstBtn.addEventListener("click", () => {
|
|
2514
|
-
if (currentPage > 1) goToPage(1);
|
|
2558
|
+
if (!isDisabled && currentPage > 1) goToPage(1);
|
|
2515
2559
|
});
|
|
2516
2560
|
if (prevBtn)
|
|
2517
2561
|
prevBtn.addEventListener("click", () => {
|
|
2518
|
-
if (currentPage > 1) goToPage(currentPage - 1);
|
|
2562
|
+
if (!isDisabled && currentPage > 1) goToPage(currentPage - 1);
|
|
2519
2563
|
});
|
|
2520
2564
|
if (nextBtn)
|
|
2521
2565
|
nextBtn.addEventListener("click", () => {
|
|
2522
|
-
if (currentPage < totalPages) goToPage(currentPage + 1);
|
|
2566
|
+
if (!isDisabled && currentPage < totalPages) goToPage(currentPage + 1);
|
|
2523
2567
|
});
|
|
2524
2568
|
if (lastBtn)
|
|
2525
2569
|
lastBtn.addEventListener("click", () => {
|
|
2526
|
-
if (currentPage < totalPages) goToPage(totalPages);
|
|
2570
|
+
if (!isDisabled && currentPage < totalPages) goToPage(totalPages);
|
|
2527
2571
|
});
|
|
2528
2572
|
if (pageSizeSelect) {
|
|
2529
2573
|
pageSizeSelect.addEventListener("change", (e) => {
|
|
2574
|
+
if (isDisabled) return;
|
|
2530
2575
|
pageSize = parseInt(e.target.value, 10);
|
|
2531
2576
|
currentPage = 1;
|
|
2532
2577
|
container.dataset.pageSize = pageSize;
|
package/dist/index.js
CHANGED
|
@@ -2566,53 +2566,65 @@ function initPagination() {
|
|
|
2566
2566
|
let currentPage = parseInt(container.dataset.current || "1", 10);
|
|
2567
2567
|
let totalPages = parseInt(container.dataset.total || "10", 10);
|
|
2568
2568
|
let pageSize = parseInt(container.dataset.pageSize || "10", 10);
|
|
2569
|
+
let isDisabled = container.dataset.disabled === "true";
|
|
2569
2570
|
let pageButtons = [];
|
|
2570
2571
|
const updateUI = () => {
|
|
2571
2572
|
pageInfo.textContent = `Halaman ${currentPage} dari ${totalPages}`;
|
|
2572
2573
|
const isFirst = currentPage === 1;
|
|
2573
2574
|
if (firstBtn) {
|
|
2574
|
-
|
|
2575
|
+
const disabled = isDisabled || isFirst;
|
|
2576
|
+
firstBtn.disabled = disabled;
|
|
2575
2577
|
firstBtn.classList.toggle(
|
|
2576
2578
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2577
|
-
|
|
2579
|
+
disabled
|
|
2578
2580
|
);
|
|
2579
2581
|
firstBtn.classList.toggle(
|
|
2580
2582
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2581
|
-
!
|
|
2583
|
+
!disabled
|
|
2582
2584
|
);
|
|
2583
2585
|
}
|
|
2584
2586
|
if (prevBtn) {
|
|
2585
|
-
|
|
2587
|
+
const disabled = isDisabled || isFirst;
|
|
2588
|
+
prevBtn.disabled = disabled;
|
|
2586
2589
|
prevBtn.classList.toggle(
|
|
2587
2590
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2588
|
-
|
|
2591
|
+
disabled
|
|
2589
2592
|
);
|
|
2590
2593
|
prevBtn.classList.toggle(
|
|
2591
2594
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2592
|
-
!
|
|
2595
|
+
!disabled
|
|
2593
2596
|
);
|
|
2594
2597
|
}
|
|
2595
2598
|
const isLast = currentPage === totalPages;
|
|
2596
2599
|
if (nextBtn) {
|
|
2597
|
-
|
|
2600
|
+
const disabled = isDisabled || isLast;
|
|
2601
|
+
nextBtn.disabled = disabled;
|
|
2598
2602
|
nextBtn.classList.toggle(
|
|
2599
2603
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2600
|
-
|
|
2604
|
+
disabled
|
|
2601
2605
|
);
|
|
2602
2606
|
nextBtn.classList.toggle(
|
|
2603
2607
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2604
|
-
!
|
|
2608
|
+
!disabled
|
|
2605
2609
|
);
|
|
2606
2610
|
}
|
|
2607
2611
|
if (lastBtn) {
|
|
2608
|
-
|
|
2612
|
+
const disabled = isDisabled || isLast;
|
|
2613
|
+
lastBtn.disabled = disabled;
|
|
2609
2614
|
lastBtn.classList.toggle(
|
|
2610
2615
|
`${PREFIX}-pagination__nav-button--disabled`,
|
|
2611
|
-
|
|
2616
|
+
disabled
|
|
2612
2617
|
);
|
|
2613
2618
|
lastBtn.classList.toggle(
|
|
2614
2619
|
`${PREFIX}-pagination__nav-button--enabled`,
|
|
2615
|
-
!
|
|
2620
|
+
!disabled
|
|
2621
|
+
);
|
|
2622
|
+
}
|
|
2623
|
+
if (pageSizeSelect) {
|
|
2624
|
+
pageSizeSelect.disabled = isDisabled;
|
|
2625
|
+
pageSizeSelect.classList.toggle(
|
|
2626
|
+
`${PREFIX}-pagination__page-size-select--disabled`,
|
|
2627
|
+
isDisabled
|
|
2616
2628
|
);
|
|
2617
2629
|
}
|
|
2618
2630
|
renderPageNumbers();
|
|
@@ -2639,10 +2651,11 @@ function initPagination() {
|
|
|
2639
2651
|
const button = document.createElement("button");
|
|
2640
2652
|
button.type = "button";
|
|
2641
2653
|
button.textContent = i;
|
|
2642
|
-
button.
|
|
2654
|
+
button.disabled = isDisabled;
|
|
2655
|
+
button.className = `${PREFIX}-pagination__page-button ${PREFIX}-pagination__page-button--${isActive ? "active" : isDisabled ? "disabled" : "enabled"}`;
|
|
2643
2656
|
button.addEventListener("click", (e) => {
|
|
2644
2657
|
e.stopPropagation();
|
|
2645
|
-
if (i !== currentPage) {
|
|
2658
|
+
if (!isDisabled && i !== currentPage) {
|
|
2646
2659
|
goToPage(i);
|
|
2647
2660
|
}
|
|
2648
2661
|
});
|
|
@@ -2651,6 +2664,7 @@ function initPagination() {
|
|
|
2651
2664
|
}
|
|
2652
2665
|
};
|
|
2653
2666
|
const goToPage = (page) => {
|
|
2667
|
+
if (isDisabled) return;
|
|
2654
2668
|
if (page < 1) page = 1;
|
|
2655
2669
|
if (page > totalPages) page = totalPages;
|
|
2656
2670
|
if (page === currentPage) return;
|
|
@@ -2671,24 +2685,55 @@ function initPagination() {
|
|
|
2671
2685
|
})
|
|
2672
2686
|
);
|
|
2673
2687
|
};
|
|
2688
|
+
const observer = new MutationObserver((mutations) => {
|
|
2689
|
+
mutations.forEach((mutation) => {
|
|
2690
|
+
if (mutation.type === "attributes") {
|
|
2691
|
+
if (mutation.attributeName === "data-current") {
|
|
2692
|
+
const newVal = parseInt(container.dataset.current || "1", 10);
|
|
2693
|
+
if (newVal !== currentPage) {
|
|
2694
|
+
currentPage = newVal;
|
|
2695
|
+
updateUI();
|
|
2696
|
+
}
|
|
2697
|
+
} else if (mutation.attributeName === "data-total") {
|
|
2698
|
+
totalPages = parseInt(container.dataset.total || "10", 10);
|
|
2699
|
+
updateUI();
|
|
2700
|
+
} else if (mutation.attributeName === "data-page-size") {
|
|
2701
|
+
pageSize = parseInt(container.dataset.pageSize || "10", 10);
|
|
2702
|
+
} else if (mutation.attributeName === "data-disabled") {
|
|
2703
|
+
isDisabled = container.dataset.disabled === "true";
|
|
2704
|
+
updateUI();
|
|
2705
|
+
}
|
|
2706
|
+
}
|
|
2707
|
+
});
|
|
2708
|
+
});
|
|
2709
|
+
observer.observe(container, {
|
|
2710
|
+
attributes: true,
|
|
2711
|
+
attributeFilter: [
|
|
2712
|
+
"data-current",
|
|
2713
|
+
"data-total",
|
|
2714
|
+
"data-page-size",
|
|
2715
|
+
"data-disabled"
|
|
2716
|
+
]
|
|
2717
|
+
});
|
|
2674
2718
|
if (firstBtn)
|
|
2675
2719
|
firstBtn.addEventListener("click", () => {
|
|
2676
|
-
if (currentPage > 1) goToPage(1);
|
|
2720
|
+
if (!isDisabled && currentPage > 1) goToPage(1);
|
|
2677
2721
|
});
|
|
2678
2722
|
if (prevBtn)
|
|
2679
2723
|
prevBtn.addEventListener("click", () => {
|
|
2680
|
-
if (currentPage > 1) goToPage(currentPage - 1);
|
|
2724
|
+
if (!isDisabled && currentPage > 1) goToPage(currentPage - 1);
|
|
2681
2725
|
});
|
|
2682
2726
|
if (nextBtn)
|
|
2683
2727
|
nextBtn.addEventListener("click", () => {
|
|
2684
|
-
if (currentPage < totalPages) goToPage(currentPage + 1);
|
|
2728
|
+
if (!isDisabled && currentPage < totalPages) goToPage(currentPage + 1);
|
|
2685
2729
|
});
|
|
2686
2730
|
if (lastBtn)
|
|
2687
2731
|
lastBtn.addEventListener("click", () => {
|
|
2688
|
-
if (currentPage < totalPages) goToPage(totalPages);
|
|
2732
|
+
if (!isDisabled && currentPage < totalPages) goToPage(totalPages);
|
|
2689
2733
|
});
|
|
2690
2734
|
if (pageSizeSelect) {
|
|
2691
2735
|
pageSizeSelect.addEventListener("change", (e) => {
|
|
2736
|
+
if (isDisabled) return;
|
|
2692
2737
|
pageSize = parseInt(e.target.value, 10);
|
|
2693
2738
|
currentPage = 1;
|
|
2694
2739
|
container.dataset.pageSize = pageSize;
|