@agentsmith.bgd/as-lib-pagination 0.0.2

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 ADDED
@@ -0,0 +1,24 @@
1
+ # Pagination
2
+
3
+ This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.1.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Run `ng generate component component-name --project pagination` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project pagination`.
8
+ > Note: Don't forget to add `--project pagination` or else it will be added to the default project in your `angular.json` file.
9
+
10
+ ## Build
11
+
12
+ Run `ng build pagination` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+
14
+ ## Publishing
15
+
16
+ After building your library with `ng build pagination`, go to the dist folder `cd dist/pagination` and run `npm publish`.
17
+
18
+ ## Running unit tests
19
+
20
+ Run `ng test pagination` to execute the unit tests via [Karma](https://karma-runner.github.io).
21
+
22
+ ## Further help
23
+
24
+ To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnRzbWl0aC5iZ2QtYXMtbGliLXBhZ2luYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9wYWdpbmF0aW9uL3NyYy9hZ2VudHNtaXRoLmJnZC1hcy1saWItcGFnaW5hdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,47 @@
1
+ import { Component, effect, input, output } from '@angular/core';
2
+ import { CommonModule } from "@angular/common";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class PaginationComponent {
6
+ first = input(false);
7
+ last = input(false);
8
+ align = input('');
9
+ enableLog = input(false);
10
+ pageChange = output();
11
+ arr = [];
12
+ totalPages = input(0);
13
+ page = input(0);
14
+ constructor() {
15
+ effect(() => {
16
+ console.log(`The count is:`, this.totalPages(), this.page());
17
+ this.calculatePager();
18
+ });
19
+ }
20
+ calculatePager() {
21
+ this.arr = [];
22
+ const midd = this.page() <= 4 || this.page() >= this.totalPages() - 4 ? Math.floor(this.totalPages() / 2) : 0;
23
+ for (let num = 0; num < this.totalPages(); num++) {
24
+ if (num < 2 || 2 >= Math.abs(this.page() - num) || 1 >= Math.abs(midd - num) || num === this.page() || num >= this.totalPages() - 2) {
25
+ this.arr.push(num);
26
+ }
27
+ else if (this.arr[this.arr.length - 1] !== -1) {
28
+ this.arr.push(-1);
29
+ }
30
+ }
31
+ }
32
+ ngOnInit() {
33
+ this.calculatePager();
34
+ }
35
+ log(value, ...rest) {
36
+ if (this.enableLog() || localStorage.getItem('loggerEnable')) {
37
+ console.log(`AS Pagination -> ${value}`, ...rest);
38
+ }
39
+ }
40
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: PaginationComponent, isStandalone: true, selector: "as-lib-pagination", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, last: { classPropertyName: "last", publicName: "last", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, enableLog: { classPropertyName: "enableLog", publicName: "enableLog", isSignal: true, isRequired: false, transformFunction: null }, totalPages: { classPropertyName: "totalPages", publicName: "totalPages", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<ul class=\"pagination {{ align() }}\">\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n ></li>\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n </li>\n <ng-container *ngFor=\"let x of arr\">\n <li *ngIf=\"x !== -1\" [class.active]=\"x === page()\" class=\"page-item d-none d-sm-block\">\n <a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n </li>\n <li *ngIf=\"x === -1\" class=\"page-item disabled d-none d-sm-block\">\n <a class=\"page-link\">...</a>\n </li>\n </ng-container>\n\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n </li>\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n ></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media (max-width: 575px){ul.pagination{justify-content:center!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PaginationComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'as-lib-pagination', standalone: true, imports: [CommonModule], template: "<ul class=\"pagination {{ align() }}\">\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n ></li>\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n </li>\n <ng-container *ngFor=\"let x of arr\">\n <li *ngIf=\"x !== -1\" [class.active]=\"x === page()\" class=\"page-item d-none d-sm-block\">\n <a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n </li>\n <li *ngIf=\"x === -1\" class=\"page-item disabled d-none d-sm-block\">\n <a class=\"page-link\">...</a>\n </li>\n </ng-container>\n\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n </li>\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n ></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media (max-width: 575px){ul.pagination{justify-content:center!important}}\n"] }]
46
+ }], ctorParameters: () => [] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYWdpbmF0aW9uL3NyYy9saWIvcGFnaW5hdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wYWdpbmF0aW9uL3NyYy9saWIvcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUzdDLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQixJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BCLEtBQUssR0FBRyxLQUFLLENBQXlELEVBQUUsQ0FBQyxDQUFDO0lBQzFFLFNBQVMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsVUFBVSxHQUFHLE1BQU0sRUFBVSxDQUFDO0lBQzlCLEdBQUcsR0FBYSxFQUFFLENBQUM7SUFDbkIsVUFBVSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztJQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBRXhCO1FBQ0UsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RyxLQUFLLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDakQsSUFBSSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNwSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxLQUFVLEVBQUUsR0FBRyxJQUFXO1FBQzVCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDSCxDQUFDO3VHQXJDVSxtQkFBbUI7MkZBQW5CLG1CQUFtQixxMkJDVmhDLG9tQ0F1QkEscVBEakJZLFlBQVk7OzJGQUlYLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIGVmZmVjdCwgaW5wdXQsIG91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcy1saWItcGFnaW5hdGlvbicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWdpbmF0aW9uQ29tcG9uZW50IHtcbiAgZmlyc3QgPSBpbnB1dChmYWxzZSk7XG4gIGxhc3QgPSBpbnB1dChmYWxzZSk7XG4gIGFsaWduID0gaW5wdXQ8JycgfCAnanVzdGlmeS1jb250ZW50LWNlbnRlcicgfCAnanVzdGlmeS1jb250ZW50LWVuZCc+KCAnJyk7XG4gIGVuYWJsZUxvZyA9IGlucHV0KGZhbHNlKTtcbiAgcGFnZUNoYW5nZSA9IG91dHB1dDxudW1iZXI+KCk7XG4gIGFycjogbnVtYmVyW10gPSBbXTtcbiAgdG90YWxQYWdlcyA9IGlucHV0PG51bWJlcj4oMCk7XG4gIHBhZ2UgPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZyhgVGhlIGNvdW50IGlzOmAgLHRoaXMudG90YWxQYWdlcygpLCB0aGlzLnBhZ2UoKSk7XG4gICAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VyKCk7XG4gICAgfSk7XG4gIH1cblxuICBjYWxjdWxhdGVQYWdlcigpOiB2b2lkIHtcbiAgICB0aGlzLmFyciA9IFtdO1xuICAgIGNvbnN0IG1pZGQgPSB0aGlzLnBhZ2UoKSA8PSA0IHx8IHRoaXMucGFnZSgpID49IHRoaXMudG90YWxQYWdlcygpIC0gNCA/IE1hdGguZmxvb3IodGhpcy50b3RhbFBhZ2VzKCkgLyAyKSA6IDA7XG4gICAgZm9yIChsZXQgbnVtID0gMDsgbnVtIDwgdGhpcy50b3RhbFBhZ2VzKCk7IG51bSsrKSB7XG4gICAgICBpZiAobnVtIDwgMiB8fCAyID49IE1hdGguYWJzKHRoaXMucGFnZSgpIC0gbnVtKSB8fCAxID49IE1hdGguYWJzKG1pZGQgLSBudW0pIHx8IG51bSA9PT0gdGhpcy5wYWdlKCkgfHwgbnVtID49IHRoaXMudG90YWxQYWdlcygpIC0gMikge1xuICAgICAgICB0aGlzLmFyci5wdXNoKG51bSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuYXJyW3RoaXMuYXJyLmxlbmd0aCAtIDFdICE9PSAtMSkge1xuICAgICAgICB0aGlzLmFyci5wdXNoKC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNhbGN1bGF0ZVBhZ2VyKCk7XG4gIH1cblxuICBsb2codmFsdWU6IGFueSwgLi4ucmVzdDogYW55W10pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lbmFibGVMb2coKSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbG9nZ2VyRW5hYmxlJykpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBBUyBQYWdpbmF0aW9uIC0+ICR7dmFsdWV9YCwgLi4ucmVzdCk7XG4gICAgfVxuICB9fVxuIiwiPHVsIGNsYXNzPVwicGFnaW5hdGlvbiB7eyBhbGlnbigpIH19XCI+XG4gIDxsaSBbY2xhc3MuZGlzYWJsZWRdPVwiZmlyc3QoKVwiIGNsYXNzPVwicGFnZS1pdGVtXCJcbiAgPjxhIChjbGljayk9XCJwYWdlQ2hhbmdlLmVtaXQoMClcIiBjbGFzcz1cInBhZ2UtbGlua1wiPiA8aSBjbGFzcz1cImZhIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0XCI+PC9pPiA8L2FcbiAgPjwvbGk+XG4gIDxsaSBbY2xhc3MuZGlzYWJsZWRdPVwiZmlyc3QoKVwiIGNsYXNzPVwicGFnZS1pdGVtXCJcbiAgPjxhIChjbGljayk9XCJwYWdlQ2hhbmdlLmVtaXQocGFnZSgpIC0gMSlcIiBjbGFzcz1cInBhZ2UtbGlua1wiPjxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtbGVmdFwiPjwvaT48L2E+XG4gIDwvbGk+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHggb2YgYXJyXCI+XG4gICAgPGxpICpuZ0lmPVwieCAhPT0gLTFcIiBbY2xhc3MuYWN0aXZlXT1cInggPT09IHBhZ2UoKVwiIGNsYXNzPVwicGFnZS1pdGVtIGQtbm9uZSBkLXNtLWJsb2NrXCI+XG4gICAgICA8YSAoY2xpY2spPVwicGFnZUNoYW5nZS5lbWl0KHgpXCIgY2xhc3M9XCJwYWdlLWxpbmtcIj57eyAxICsgeCB9fTwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdJZj1cInggPT09IC0xXCIgY2xhc3M9XCJwYWdlLWl0ZW0gZGlzYWJsZWQgZC1ub25lIGQtc20tYmxvY2tcIj5cbiAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCI+Li4uPC9hPlxuICAgIDwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxsaSBbY2xhc3MuZGlzYWJsZWRdPVwibGFzdCgpXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIlxuICA+PGEgKGNsaWNrKT1cInBhZ2VDaGFuZ2UuZW1pdChwYWdlKCkgKyAxKVwiIGNsYXNzPVwicGFnZS1saW5rXCI+PGkgY2xhc3M9XCJmYSBmYS1hbmdsZS1yaWdodFwiPjwvaT48L2E+XG4gIDwvbGk+XG4gIDxsaSBbY2xhc3MuZGlzYWJsZWRdPVwibGFzdCgpXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIlxuICA+PGEgKGNsaWNrKT1cInBhZ2VDaGFuZ2UuZW1pdCh0b3RhbFBhZ2VzKCkgLSAxKVwiIGNsYXNzPVwicGFnZS1saW5rXCI+IDxpIGNsYXNzPVwiZmEgZmEtYW5nbGUtZG91YmxlLXJpZ2h0XCI+PC9pPiA8L2FcbiAgPjwvbGk+XG48L3VsPlxuIl19
@@ -0,0 +1,3 @@
1
+ // export * from './lib/pagination-lib.module'
2
+ export * from './lib/pagination.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3BhZ2luYXRpb24vc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOENBQThDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBleHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0aW9uLWxpYi5tb2R1bGUnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,56 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, output, effect, Component } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+
6
+ class PaginationComponent {
7
+ first = input(false);
8
+ last = input(false);
9
+ align = input('');
10
+ enableLog = input(false);
11
+ pageChange = output();
12
+ arr = [];
13
+ totalPages = input(0);
14
+ page = input(0);
15
+ constructor() {
16
+ effect(() => {
17
+ console.log(`The count is:`, this.totalPages(), this.page());
18
+ this.calculatePager();
19
+ });
20
+ }
21
+ calculatePager() {
22
+ this.arr = [];
23
+ const midd = this.page() <= 4 || this.page() >= this.totalPages() - 4 ? Math.floor(this.totalPages() / 2) : 0;
24
+ for (let num = 0; num < this.totalPages(); num++) {
25
+ if (num < 2 || 2 >= Math.abs(this.page() - num) || 1 >= Math.abs(midd - num) || num === this.page() || num >= this.totalPages() - 2) {
26
+ this.arr.push(num);
27
+ }
28
+ else if (this.arr[this.arr.length - 1] !== -1) {
29
+ this.arr.push(-1);
30
+ }
31
+ }
32
+ }
33
+ ngOnInit() {
34
+ this.calculatePager();
35
+ }
36
+ log(value, ...rest) {
37
+ if (this.enableLog() || localStorage.getItem('loggerEnable')) {
38
+ console.log(`AS Pagination -> ${value}`, ...rest);
39
+ }
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.1.0", type: PaginationComponent, isStandalone: true, selector: "as-lib-pagination", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, last: { classPropertyName: "last", publicName: "last", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, enableLog: { classPropertyName: "enableLog", publicName: "enableLog", isSignal: true, isRequired: false, transformFunction: null }, totalPages: { classPropertyName: "totalPages", publicName: "totalPages", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<ul class=\"pagination {{ align() }}\">\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n ></li>\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n </li>\n <ng-container *ngFor=\"let x of arr\">\n <li *ngIf=\"x !== -1\" [class.active]=\"x === page()\" class=\"page-item d-none d-sm-block\">\n <a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n </li>\n <li *ngIf=\"x === -1\" class=\"page-item disabled d-none d-sm-block\">\n <a class=\"page-link\">...</a>\n </li>\n </ng-container>\n\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n </li>\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n ></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media (max-width: 575px){ul.pagination{justify-content:center!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: PaginationComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'as-lib-pagination', standalone: true, imports: [CommonModule], template: "<ul class=\"pagination {{ align() }}\">\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n ></li>\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n </li>\n <ng-container *ngFor=\"let x of arr\">\n <li *ngIf=\"x !== -1\" [class.active]=\"x === page()\" class=\"page-item d-none d-sm-block\">\n <a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n </li>\n <li *ngIf=\"x === -1\" class=\"page-item disabled d-none d-sm-block\">\n <a class=\"page-link\">...</a>\n </li>\n </ng-container>\n\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n </li>\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n ></li>\n</ul>\n", styles: [".pagination.right{justify-content:flex-end}.pagination.center{justify-content:center}a.page-link{cursor:pointer}@media (max-width: 575px){ul.pagination{justify-content:center!important}}\n"] }]
47
+ }], ctorParameters: () => [] });
48
+
49
+ // export * from './lib/pagination-lib.module'
50
+
51
+ /**
52
+ * Generated bundle index. Do not edit.
53
+ */
54
+
55
+ export { PaginationComponent };
56
+ //# sourceMappingURL=agentsmith.bgd-as-lib-pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentsmith.bgd-as-lib-pagination.mjs","sources":["../../../projects/pagination/src/lib/pagination.component.ts","../../../projects/pagination/src/lib/pagination.component.html","../../../projects/pagination/src/public-api.ts","../../../projects/pagination/src/agentsmith.bgd-as-lib-pagination.ts"],"sourcesContent":["import {Component, effect, input, output} from '@angular/core';\nimport {CommonModule} from \"@angular/common\";\n\n@Component({\n selector: 'as-lib-pagination',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './pagination.component.html',\n styleUrl: './pagination.component.scss'\n})\nexport class PaginationComponent {\n first = input(false);\n last = input(false);\n align = input<'' | 'justify-content-center' | 'justify-content-end'>( '');\n enableLog = input(false);\n pageChange = output<number>();\n arr: number[] = [];\n totalPages = input<number>(0);\n page = input<number>(0);\n\n constructor() {\n effect(() => {\n console.log(`The count is:` ,this.totalPages(), this.page());\n this.calculatePager();\n });\n }\n\n calculatePager(): void {\n this.arr = [];\n const midd = this.page() <= 4 || this.page() >= this.totalPages() - 4 ? Math.floor(this.totalPages() / 2) : 0;\n for (let num = 0; num < this.totalPages(); num++) {\n if (num < 2 || 2 >= Math.abs(this.page() - num) || 1 >= Math.abs(midd - num) || num === this.page() || num >= this.totalPages() - 2) {\n this.arr.push(num);\n } else if (this.arr[this.arr.length - 1] !== -1) {\n this.arr.push(-1);\n }\n }\n }\n\n ngOnInit() {\n this.calculatePager();\n }\n\n log(value: any, ...rest: any[]): void {\n if (this.enableLog() || localStorage.getItem('loggerEnable')) {\n console.log(`AS Pagination -> ${value}`, ...rest);\n }\n }}\n","<ul class=\"pagination {{ align() }}\">\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(0)\" class=\"page-link\"> <i class=\"fa fa-angle-double-left\"></i> </a\n ></li>\n <li [class.disabled]=\"first()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() - 1)\" class=\"page-link\"><i class=\"fa fa-angle-left\"></i></a>\n </li>\n <ng-container *ngFor=\"let x of arr\">\n <li *ngIf=\"x !== -1\" [class.active]=\"x === page()\" class=\"page-item d-none d-sm-block\">\n <a (click)=\"pageChange.emit(x)\" class=\"page-link\">{{ 1 + x }}</a>\n </li>\n <li *ngIf=\"x === -1\" class=\"page-item disabled d-none d-sm-block\">\n <a class=\"page-link\">...</a>\n </li>\n </ng-container>\n\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(page() + 1)\" class=\"page-link\"><i class=\"fa fa-angle-right\"></i></a>\n </li>\n <li [class.disabled]=\"last()\" class=\"page-item\"\n ><a (click)=\"pageChange.emit(totalPages() - 1)\" class=\"page-link\"> <i class=\"fa fa-angle-double-right\"></i> </a\n ></li>\n</ul>\n","// export * from './lib/pagination-lib.module'\nexport * from './lib/pagination.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@agentsmith.bgd/as-lib-pagination" />
5
+ export * from './public-api';
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PaginationComponent {
3
+ first: import("@angular/core").InputSignal<boolean>;
4
+ last: import("@angular/core").InputSignal<boolean>;
5
+ align: import("@angular/core").InputSignal<"" | "justify-content-center" | "justify-content-end">;
6
+ enableLog: import("@angular/core").InputSignal<boolean>;
7
+ pageChange: import("@angular/core").OutputEmitterRef<number>;
8
+ arr: number[];
9
+ totalPages: import("@angular/core").InputSignal<number>;
10
+ page: import("@angular/core").InputSignal<number>;
11
+ constructor();
12
+ calculatePager(): void;
13
+ ngOnInit(): void;
14
+ log(value: any, ...rest: any[]): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaginationComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<PaginationComponent, "as-lib-pagination", never, { "first": { "alias": "first"; "required": false; "isSignal": true; }; "last": { "alias": "last"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "enableLog": { "alias": "enableLog"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": false; "isSignal": true; }; "page": { "alias": "page"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
17
+ }
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@agentsmith.bgd/as-lib-pagination",
3
+ "version": "0.0.2",
4
+ "peerDependencies": {
5
+ "@angular/common": "^18.1.0",
6
+ "@angular/core": "^18.1.0",
7
+ "font-awesome": "4.7.0"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/agentsmith.bgd-as-lib-pagination.mjs",
14
+ "typings": "index.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./index.d.ts",
21
+ "esm2022": "./esm2022/agentsmith.bgd-as-lib-pagination.mjs",
22
+ "esm": "./esm2022/agentsmith.bgd-as-lib-pagination.mjs",
23
+ "default": "./fesm2022/agentsmith.bgd-as-lib-pagination.mjs"
24
+ }
25
+ }
26
+ }
@@ -0,0 +1 @@
1
+ export * from './lib/pagination.component';