mapa-library-ui 0.0.36 → 0.0.38
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/esm2020/lib/core/directives/custom-paginator-legacy.directive.mjs +227 -0
- package/esm2020/public-api.mjs +2 -2
- package/esm2020/src/lib/components/capability/lib/components/tag/src/tag.component.mjs +3 -3
- package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +3 -3
- package/esm2020/src/lib/components/table/lib/components/table/src/table.module.mjs +1 -4
- package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.mjs +4 -4
- package/esm2020/src/lib/components/table/table.mjs +1 -2
- package/esm2020/src/lib/components/tag/src/tag.component.mjs +3 -3
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +7 -191
- package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs +2 -2
- package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
- package/fesm2015/mapa-library-ui.mjs +211 -166
- package/fesm2015/mapa-library-ui.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +7 -190
- package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
- package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs +2 -2
- package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
- package/fesm2020/mapa-library-ui.mjs +208 -165
- package/fesm2020/mapa-library-ui.mjs.map +1 -1
- package/lib/core/directives/custom-paginator-legacy.directive.d.ts +27 -0
- package/mapa-library-ui-0.0.38.tgz +0 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/src/lib/components/capability/lib/components/tag/src/tag.component.d.ts +1 -1
- package/src/lib/components/table/lib/components/table/src/table.module.d.ts +3 -4
- package/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.d.ts +1 -1
- package/src/lib/components/table/table.d.ts +0 -1
- package/src/lib/components/tag/src/tag.component.d.ts +1 -1
- package/esm2020/lib/core/directives/custom-paginator.directive.mjs +0 -184
- package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator.directive.mjs +0 -184
- package/lib/core/directives/custom-paginator.directive.d.ts +0 -33
- package/mapa-library-ui-0.0.36.tgz +0 -0
- package/src/lib/components/table/lib/core/directives/custom-paginator.directive.d.ts +0 -33
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class TagComponent {
|
|
3
|
-
color: 'highlight' | null | undefined;
|
|
3
|
+
color: 'highlight' | 'selected' | null | undefined;
|
|
4
4
|
size?: 'small' | null | undefined;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<TagComponent, never>;
|
|
6
6
|
static ɵcmp: i0.ɵɵComponentDeclaration<TagComponent, "mapa-tag", never, { "color": "color"; "size": "size"; }, {}, never, ["*"], false, never>;
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output, } from "@angular/core";
|
|
2
|
-
import { map } from "rxjs/internal/operators/map";
|
|
3
|
-
import { startWith } from "rxjs/internal/operators/startWith";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/paginator";
|
|
6
|
-
export class BubblePaginationDirective {
|
|
7
|
-
constructor(matPag, elementRef, ren) {
|
|
8
|
-
this.matPag = matPag;
|
|
9
|
-
this.elementRef = elementRef;
|
|
10
|
-
this.ren = ren;
|
|
11
|
-
this.pageIndexChangeEmitter = new EventEmitter();
|
|
12
|
-
this.showFirstButton = true;
|
|
13
|
-
this.showLastButton = true;
|
|
14
|
-
this.renderButtonsNumber = 2;
|
|
15
|
-
this.appCustomLength = 0;
|
|
16
|
-
this.hideDefaultArrows = false;
|
|
17
|
-
this.buttonsRef = [];
|
|
18
|
-
}
|
|
19
|
-
ngAfterViewInit() {
|
|
20
|
-
this.styleDefaultPagination();
|
|
21
|
-
this.createBubbleDivRef();
|
|
22
|
-
this.renderButtons();
|
|
23
|
-
}
|
|
24
|
-
ngOnChanges(changes) {
|
|
25
|
-
if (!changes?.["appCustomLength"]?.firstChange) {
|
|
26
|
-
this.removeButtons();
|
|
27
|
-
this.switchPage(0);
|
|
28
|
-
this.renderButtons();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
renderButtons() {
|
|
32
|
-
this.buildButtons();
|
|
33
|
-
this.matPag.page
|
|
34
|
-
.pipe(map((e) => [e.previousPageIndex ?? 0, e.pageIndex]), startWith([0, 0]))
|
|
35
|
-
.subscribe(([prev, curr]) => {
|
|
36
|
-
this.changeActiveButtonStyles(prev, curr);
|
|
37
|
-
this.updateButtonsOnPageEvent();
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
changeActiveButtonStyles(previousIndex, newIndex) {
|
|
41
|
-
const previouslyActive = this.buttonsRef[previousIndex];
|
|
42
|
-
const currentActive = this.buttonsRef[newIndex];
|
|
43
|
-
try {
|
|
44
|
-
this.ren.removeClass(previouslyActive, "g-bubble__active");
|
|
45
|
-
this.ren.addClass(currentActive, "g-bubble__active");
|
|
46
|
-
}
|
|
47
|
-
catch { }
|
|
48
|
-
this.buttonsRef.forEach((button) => this.ren.setStyle(button, "display", "none"));
|
|
49
|
-
const renderElements = this.renderButtonsNumber;
|
|
50
|
-
const endDots = newIndex < this.buttonsRef.length - renderElements - 1;
|
|
51
|
-
const startDots = newIndex - renderElements > 0;
|
|
52
|
-
const firstButton = this.buttonsRef[0];
|
|
53
|
-
const lastButton = this.buttonsRef[this.buttonsRef.length - 1];
|
|
54
|
-
try {
|
|
55
|
-
if (this.showLastButton) {
|
|
56
|
-
this.ren.setStyle(this.dotsEndRef, "display", endDots ? "block" : "none");
|
|
57
|
-
this.ren.setStyle(lastButton, "display", endDots ? "flex" : "none");
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch { }
|
|
61
|
-
try {
|
|
62
|
-
if (this.showFirstButton) {
|
|
63
|
-
this.ren.setStyle(this.dotsStartRef, "display", startDots ? "block" : "none");
|
|
64
|
-
this.ren.setStyle(firstButton, "display", startDots ? "flex" : "none");
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch { }
|
|
68
|
-
const startingIndex = startDots ? newIndex - renderElements : 0;
|
|
69
|
-
const endingIndex = endDots
|
|
70
|
-
? newIndex + renderElements
|
|
71
|
-
: this.buttonsRef.length - 1;
|
|
72
|
-
for (let i = startingIndex; i <= endingIndex; i++) {
|
|
73
|
-
const button = this.buttonsRef[i];
|
|
74
|
-
this.ren.setStyle(button, "display", "flex");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
styleDefaultPagination() {
|
|
78
|
-
const nativeElement = this.elementRef.nativeElement;
|
|
79
|
-
const itemsPerPage = nativeElement.querySelector(".mat-mdc-paginator-page-size");
|
|
80
|
-
const howManyDisplayedEl = nativeElement.querySelector(".mat-mdc-paginator-range-label");
|
|
81
|
-
const previousButton = nativeElement.querySelector("button.mat-mdc-paginator-navigation-previous");
|
|
82
|
-
const nextButtonDefault = nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
|
|
83
|
-
if (this.hideDefaultArrows) {
|
|
84
|
-
this.ren.setStyle(previousButton, "display", "none");
|
|
85
|
-
this.ren.setStyle(nextButtonDefault, "display", "none");
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
createBubbleDivRef() {
|
|
89
|
-
const actionContainer = this.elementRef.nativeElement.querySelector("div.mat-mdc-paginator-range-actions");
|
|
90
|
-
const nextButtonDefault = this.elementRef.nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
|
|
91
|
-
this.bubbleContainerRef = this.ren.createElement("div");
|
|
92
|
-
this.ren.addClass(this.bubbleContainerRef, "g-bubble-container");
|
|
93
|
-
this.ren.insertBefore(actionContainer, this.bubbleContainerRef, nextButtonDefault);
|
|
94
|
-
}
|
|
95
|
-
buildButtons() {
|
|
96
|
-
const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
|
|
97
|
-
if (neededButtons === 1) {
|
|
98
|
-
this.ren.setStyle(this.elementRef.nativeElement, "display", "none");
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
this.buttonsRef = [this.createButton(0)];
|
|
102
|
-
this.dotsStartRef = this.createDotsElement();
|
|
103
|
-
for (let index = 1; index < neededButtons - 1; index++) {
|
|
104
|
-
this.buttonsRef = [...this.buttonsRef, this.createButton(index)];
|
|
105
|
-
}
|
|
106
|
-
this.dotsEndRef = this.createDotsElement();
|
|
107
|
-
this.buttonsRef = [
|
|
108
|
-
...this.buttonsRef,
|
|
109
|
-
this.createButton(neededButtons - 1),
|
|
110
|
-
];
|
|
111
|
-
}
|
|
112
|
-
removeButtons() {
|
|
113
|
-
this.bubbleContainerRef.innerHTML = '';
|
|
114
|
-
this.buttonsRef.forEach((button) => {
|
|
115
|
-
this.ren.removeChild(this.bubbleContainerRef, button);
|
|
116
|
-
});
|
|
117
|
-
this.buttonsRef = [];
|
|
118
|
-
this.buttonsRef.length = 0;
|
|
119
|
-
}
|
|
120
|
-
createButton(i) {
|
|
121
|
-
const bubbleButton = this.ren.createElement("div");
|
|
122
|
-
const text = this.ren.createText(String(i + 1));
|
|
123
|
-
this.ren.addClass(bubbleButton, "g-bubble");
|
|
124
|
-
this.ren.setStyle(bubbleButton, "margin-right", "8px");
|
|
125
|
-
this.ren.appendChild(bubbleButton, text);
|
|
126
|
-
this.ren.listen(bubbleButton, "click", () => {
|
|
127
|
-
this.switchPage(i);
|
|
128
|
-
});
|
|
129
|
-
this.ren.appendChild(this.bubbleContainerRef, bubbleButton);
|
|
130
|
-
this.ren.setStyle(bubbleButton, "display", "none");
|
|
131
|
-
return bubbleButton;
|
|
132
|
-
}
|
|
133
|
-
createDotsElement() {
|
|
134
|
-
const dotsEl = this.ren.createElement("span");
|
|
135
|
-
const dotsText = this.ren.createText(".....");
|
|
136
|
-
this.ren.setStyle(dotsEl, "font-size", "18px");
|
|
137
|
-
this.ren.setStyle(dotsEl, "margin-right", "8px");
|
|
138
|
-
this.ren.setStyle(dotsEl, "padding-top", "6px");
|
|
139
|
-
this.ren.setStyle(dotsEl, "color", "#919191");
|
|
140
|
-
this.ren.appendChild(dotsEl, dotsText);
|
|
141
|
-
this.ren.appendChild(this.bubbleContainerRef, dotsEl);
|
|
142
|
-
this.ren.setStyle(dotsEl, "display", "none");
|
|
143
|
-
return dotsEl;
|
|
144
|
-
}
|
|
145
|
-
switchPage(i) {
|
|
146
|
-
const previousPageIndex = this.matPag.pageIndex;
|
|
147
|
-
this.matPag.pageIndex = i;
|
|
148
|
-
try {
|
|
149
|
-
this.matPag["_emitPageEvent"](previousPageIndex);
|
|
150
|
-
}
|
|
151
|
-
catch { }
|
|
152
|
-
this.pageIndexChangeEmitter.emit(i);
|
|
153
|
-
}
|
|
154
|
-
updateButtonsOnPageEvent() {
|
|
155
|
-
const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
|
|
156
|
-
if (neededButtons === this.buttonsRef.length) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
this.removeButtons();
|
|
160
|
-
this.buildButtons();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
BubblePaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, deps: [{ token: i1.MatPaginator }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
164
|
-
BubblePaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BubblePaginationDirective, isStandalone: true, selector: "[appBubblePagination]", inputs: { showFirstButton: "showFirstButton", showLastButton: "showLastButton", renderButtonsNumber: "renderButtonsNumber", appCustomLength: "appCustomLength", hideDefaultArrows: "hideDefaultArrows" }, outputs: { pageIndexChangeEmitter: "pageIndexChangeEmitter" }, usesOnChanges: true, ngImport: i0 });
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, decorators: [{
|
|
166
|
-
type: Directive,
|
|
167
|
-
args: [{
|
|
168
|
-
selector: "[appBubblePagination]",
|
|
169
|
-
standalone: true,
|
|
170
|
-
}]
|
|
171
|
-
}], ctorParameters: function () { return [{ type: i1.MatPaginator }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { pageIndexChangeEmitter: [{
|
|
172
|
-
type: Output
|
|
173
|
-
}], showFirstButton: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], showLastButton: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], renderButtonsNumber: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], appCustomLength: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], hideDefaultArrows: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLHlCQUF5QjtJQVlwQyxZQUNtQixNQUFvQixFQUM3QixVQUFzQixFQUN0QixHQUFjO1FBRkwsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFkZCwyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMzRSxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0Qix3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFDNUIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGVBQVUsR0FBa0IsRUFBRSxDQUFDO0lBTXBDLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUs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LEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwXCI7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMvc3RhcnRXaXRoXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbYXBwQnViYmxlUGFnaW5hdGlvbl1cIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnViYmxlUGFnaW5hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBPdXRwdXQoKSBwYWdlSW5kZXhDaGFuZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBASW5wdXQoKSBzaG93Rmlyc3RCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93TGFzdEJ1dHRvbiA9IHRydWU7XG4gIEBJbnB1dCgpIHJlbmRlckJ1dHRvbnNOdW1iZXIgPSAyO1xuICBASW5wdXQoKSBhcHBDdXN0b21MZW5ndGg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGhpZGVEZWZhdWx0QXJyb3dzID0gZmFsc2U7XG4gIHByaXZhdGUgZG90c0VuZFJlZiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGRvdHNTdGFydFJlZiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGJ1YmJsZUNvbnRhaW5lclJlZiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGJ1dHRvbnNSZWY6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdFBhZzogTWF0UGFnaW5hdG9yLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbjogUmVuZGVyZXIyXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZURlZmF1bHRQYWdpbmF0aW9uKCk7XG4gICAgdGhpcy5jcmVhdGVCdWJibGVEaXZSZWYoKTtcbiAgICB0aGlzLnJlbmRlckJ1dHRvbnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXM/LltcImFwcEN1c3RvbUxlbmd0aFwiXT8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVtb3ZlQnV0dG9ucygpO1xuICAgICAgdGhpcy5zd2l0Y2hQYWdlKDApO1xuICAgICAgdGhpcy5yZW5kZXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJCdXR0b25zKCk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGRCdXR0b25zKCk7XG5cbiAgICB0aGlzLm1hdFBhZy5wYWdlXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlKSA9PiBbZS5wcmV2aW91c1BhZ2VJbmRleCA/PyAwLCBlLnBhZ2VJbmRleF0pLFxuICAgICAgICBzdGFydFdpdGgoWzAsIDBdKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoW3ByZXYsIGN1cnJdKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlQWN0aXZlQnV0dG9uU3R5bGVzKHByZXYsIGN1cnIpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvbnNPblBhZ2VFdmVudCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFjdGl2ZUJ1dHRvblN0eWxlcyhwcmV2aW91c0luZGV4OiBudW1iZXIsIG5ld0luZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwcmV2aW91c2x5QWN0aXZlID0gdGhpcy5idXR0b25zUmVmW3ByZXZpb3VzSW5kZXhdO1xuICAgIGNvbnN0IGN1cnJlbnRBY3RpdmUgPSB0aGlzLmJ1dHRvbnNSZWZbbmV3SW5kZXhdO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucmVuLnJlbW92ZUNsYXNzKHByZXZpb3VzbHlBY3RpdmUsIFwiZy1idWJibGVfX2FjdGl2ZVwiKTtcbiAgICAgIHRoaXMucmVuLmFkZENsYXNzKGN1cnJlbnRBY3RpdmUsIFwiZy1idWJibGVfX2FjdGl2ZVwiKTtcbiAgICB9IGNhdGNoIHt9XG5cbiAgICB0aGlzLmJ1dHRvbnNSZWYuZm9yRWFjaCgoYnV0dG9uKSA9PlxuICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoYnV0dG9uLCBcImRpc3BsYXlcIiwgXCJub25lXCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHJlbmRlckVsZW1lbnRzID0gdGhpcy5yZW5kZXJCdXR0b25zTnVtYmVyO1xuICAgIGNvbnN0IGVuZERvdHMgPSBuZXdJbmRleCA8IHRoaXMuYnV0dG9uc1JlZi5sZW5ndGggLSByZW5kZXJFbGVtZW50cyAtIDE7XG4gICAgY29uc3Qgc3RhcnREb3RzID0gbmV3SW5kZXggLSByZW5kZXJFbGVtZW50cyA+IDA7XG5cbiAgICBjb25zdCBmaXJzdEJ1dHRvbiA9IHRoaXMuYnV0dG9uc1JlZlswXTtcbiAgICBjb25zdCBsYXN0QnV0dG9uID0gdGhpcy5idXR0b25zUmVmW3RoaXMuYnV0dG9uc1JlZi5sZW5ndGggLSAxXTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zaG93TGFzdEJ1dHRvbikge1xuICAgICAgICB0aGlzLnJlbi5zZXRTdHlsZSh0aGlzLmRvdHNFbmRSZWYsIFwiZGlzcGxheVwiLCBlbmREb3RzID8gXCJibG9ja1wiIDogXCJub25lXCIpO1xuICAgICAgICB0aGlzLnJlbi5zZXRTdHlsZShsYXN0QnV0dG9uLCBcImRpc3BsYXlcIiwgZW5kRG90cyA/IFwiZmxleFwiIDogXCJub25lXCIpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge31cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zaG93Rmlyc3RCdXR0b24pIHtcbiAgICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5kb3RzU3RhcnRSZWYsXG4gICAgICAgICAgXCJkaXNwbGF5XCIsXG4gICAgICAgICAgc3RhcnREb3RzID8gXCJibG9ja1wiIDogXCJub25lXCJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoZmlyc3RCdXR0b24sIFwiZGlzcGxheVwiLCBzdGFydERvdHMgPyBcImZsZXhcIiA6IFwibm9uZVwiKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG5cbiAgICBjb25zdCBzdGFydGluZ0luZGV4ID0gc3RhcnREb3RzID8gbmV3SW5kZXggLSByZW5kZXJFbGVtZW50cyA6IDA7XG4gICAgY29uc3QgZW5kaW5nSW5kZXggPSBlbmREb3RzXG4gICAgICA/IG5ld0luZGV4ICsgcmVuZGVyRWxlbWVudHNcbiAgICAgIDogdGhpcy5idXR0b25zUmVmLmxlbmd0aCAtIDE7XG5cbiAgICBmb3IgKGxldCBpID0gc3RhcnRpbmdJbmRleDsgaSA8PSBlbmRpbmdJbmRleDsgaSsrKSB7XG4gICAgICBjb25zdCBidXR0b24gPSB0aGlzLmJ1dHRvbnNSZWZbaV07XG4gICAgICB0aGlzLnJlbi5zZXRTdHlsZShidXR0b24sIFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdHlsZURlZmF1bHRQYWdpbmF0aW9uKCkge1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5tYXQtbWRjLXBhZ2luYXRvci1wYWdlLXNpemVcIlxuICAgICk7XG4gICAgY29uc3QgaG93TWFueURpc3BsYXllZEVsID0gbmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCIubWF0LW1kYy1wYWdpbmF0b3ItcmFuZ2UtbGFiZWxcIlxuICAgICk7XG4gICAgY29uc3QgcHJldmlvdXNCdXR0b24gPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImJ1dHRvbi5tYXQtbWRjLXBhZ2luYXRvci1uYXZpZ2F0aW9uLXByZXZpb3VzXCJcbiAgICApO1xuICAgIGNvbnN0IG5leHRCdXR0b25EZWZhdWx0ID0gbmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJidXR0b24ubWF0LW1kYy1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0XCJcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuaGlkZURlZmF1bHRBcnJvd3MpIHtcbiAgICAgIHRoaXMucmVuLnNldFN0eWxlKHByZXZpb3VzQnV0dG9uLCBcImRpc3BsYXlcIiwgXCJub25lXCIpO1xuICAgICAgdGhpcy5yZW4uc2V0U3R5bGUobmV4dEJ1dHRvbkRlZmF1bHQsIFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCdWJibGVEaXZSZWYoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uQ29udGFpbmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2Lm1hdC1tZGMtcGFnaW5hdG9yLXJhbmdlLWFjdGlvbnNcIlxuICAgICk7XG4gICAgY29uc3QgbmV4dEJ1dHRvbkRlZmF1bHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJidXR0b24ubWF0LW1kYy1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0XCJcbiAgICApO1xuXG4gICAgdGhpcy5idWJibGVDb250YWluZXJSZWYgPSB0aGlzLnJlbi5jcmVhdGVFbGVtZW50KFwiZGl2XCIpIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMucmVuLmFkZENsYXNzKHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLCBcImctYnViYmxlLWNvbnRhaW5lclwiKTtcblxuICAgIHRoaXMucmVuLmluc2VydEJlZm9yZShcbiAgICAgIGFjdGlvbkNvbnRhaW5lcixcbiAgICAgIHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLFxuICAgICAgbmV4dEJ1dHRvbkRlZmF1bHRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEJ1dHRvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgbmVlZGVkQnV0dG9ucyA9IE1hdGguY2VpbChcbiAgICAgIHRoaXMuYXBwQ3VzdG9tTGVuZ3RoIC8gdGhpcy5tYXRQYWcucGFnZVNpemVcbiAgICApO1xuXG4gICAgaWYgKG5lZWRlZEJ1dHRvbnMgPT09IDEpIHtcbiAgICAgIHRoaXMucmVuLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImRpc3BsYXlcIiwgXCJub25lXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYnV0dG9uc1JlZiA9IFt0aGlzLmNyZWF0ZUJ1dHRvbigwKV07XG4gICAgdGhpcy5kb3RzU3RhcnRSZWYgPSB0aGlzLmNyZWF0ZURvdHNFbGVtZW50KCk7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgbmVlZGVkQnV0dG9ucyAtIDE7IGluZGV4KyspIHtcbiAgICAgIHRoaXMuYnV0dG9uc1JlZiA9IFsuLi50aGlzLmJ1dHRvbnNSZWYsIHRoaXMuY3JlYXRlQnV0dG9uKGluZGV4KV07XG4gICAgfVxuXG4gICAgdGhpcy5kb3RzRW5kUmVmID0gdGhpcy5jcmVhdGVEb3RzRWxlbWVudCgpO1xuXG4gICAgdGhpcy5idXR0b25zUmVmID0gW1xuICAgICAgLi4udGhpcy5idXR0b25zUmVmLFxuICAgICAgdGhpcy5jcmVhdGVCdXR0b24obmVlZGVkQnV0dG9ucyAtIDEpLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUJ1dHRvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5idWJibGVDb250YWluZXJSZWYuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5idXR0b25zUmVmLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICAgICAgdGhpcy5yZW4ucmVtb3ZlQ2hpbGQodGhpcy5idWJibGVDb250YWluZXJSZWYsIGJ1dHRvbik7XG4gICAgfSk7XG4gICAgdGhpcy5idXR0b25zUmVmID0gW107XG4gICAgdGhpcy5idXR0b25zUmVmLmxlbmd0aCA9IDA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJ1dHRvbihpOiBudW1iZXIpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgYnViYmxlQnV0dG9uID0gdGhpcy5yZW4uY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5yZW4uY3JlYXRlVGV4dChTdHJpbmcoaSArIDEpKTtcblxuICAgIHRoaXMucmVuLmFkZENsYXNzKGJ1YmJsZUJ1dHRvbiwgXCJnLWJ1YmJsZVwiKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShidWJibGVCdXR0b24sIFwibWFyZ2luLXJpZ2h0XCIsIFwiOHB4XCIpO1xuICAgIHRoaXMucmVuLmFwcGVuZENoaWxkKGJ1YmJsZUJ1dHRvbiwgdGV4dCk7XG5cbiAgICB0aGlzLnJlbi5saXN0ZW4oYnViYmxlQnV0dG9uLCBcImNsaWNrXCIsICgpID0+IHtcbiAgICAgIHRoaXMuc3dpdGNoUGFnZShpKTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVuLmFwcGVuZENoaWxkKHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLCBidWJibGVCdXR0b24pO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGJ1YmJsZUJ1dHRvbiwgXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcblxuICAgIHJldHVybiBidWJibGVCdXR0b247XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvdHNFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBkb3RzRWwgPSB0aGlzLnJlbi5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgICBjb25zdCBkb3RzVGV4dCA9IHRoaXMucmVuLmNyZWF0ZVRleHQoXCIuLi4uLlwiKTtcblxuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJmb250LXNpemVcIiwgXCIxOHB4XCIpO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJtYXJnaW4tcmlnaHRcIiwgXCI4cHhcIik7XG4gICAgdGhpcy5yZW4uc2V0U3R5bGUoZG90c0VsLCBcInBhZGRpbmctdG9wXCIsIFwiNnB4XCIpO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJjb2xvclwiLCBcIiM5MTkxOTFcIik7XG5cbiAgICB0aGlzLnJlbi5hcHBlbmRDaGlsZChkb3RzRWwsIGRvdHNUZXh0KTtcbiAgICB0aGlzLnJlbi5hcHBlbmRDaGlsZCh0aGlzLmJ1YmJsZUNvbnRhaW5lclJlZiwgZG90c0VsKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShkb3RzRWwsIFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG5cbiAgICByZXR1cm4gZG90c0VsO1xuICB9XG5cbiAgcHJpdmF0ZSBzd2l0Y2hQYWdlKGk6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5tYXRQYWcucGFnZUluZGV4O1xuICAgIHRoaXMubWF0UGFnLnBhZ2VJbmRleCA9IGk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubWF0UGFnW1wiX2VtaXRQYWdlRXZlbnRcIl0ocHJldmlvdXNQYWdlSW5kZXgpO1xuICAgIH0gY2F0Y2gge31cblxuICAgIHRoaXMucGFnZUluZGV4Q2hhbmdlRW1pdHRlci5lbWl0KGkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCdXR0b25zT25QYWdlRXZlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgbmVlZGVkQnV0dG9ucyA9IE1hdGguY2VpbChcbiAgICAgIHRoaXMuYXBwQ3VzdG9tTGVuZ3RoIC8gdGhpcy5tYXRQYWcucGFnZVNpemVcbiAgICApO1xuICAgIGlmIChuZWVkZWRCdXR0b25zID09PSB0aGlzLmJ1dHRvbnNSZWYubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVCdXR0b25zKCk7XG4gICAgdGhpcy5idWlsZEJ1dHRvbnMoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
import { Directive, EventEmitter, Input, Output, } from "@angular/core";
|
|
2
|
-
import { map } from "rxjs/internal/operators/map";
|
|
3
|
-
import { startWith } from "rxjs/internal/operators/startWith";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/paginator";
|
|
6
|
-
export class BubblePaginationDirective {
|
|
7
|
-
constructor(matPag, elementRef, ren) {
|
|
8
|
-
this.matPag = matPag;
|
|
9
|
-
this.elementRef = elementRef;
|
|
10
|
-
this.ren = ren;
|
|
11
|
-
this.pageIndexChangeEmitter = new EventEmitter();
|
|
12
|
-
this.showFirstButton = true;
|
|
13
|
-
this.showLastButton = true;
|
|
14
|
-
this.renderButtonsNumber = 2;
|
|
15
|
-
this.appCustomLength = 0;
|
|
16
|
-
this.hideDefaultArrows = false;
|
|
17
|
-
this.buttonsRef = [];
|
|
18
|
-
}
|
|
19
|
-
ngAfterViewInit() {
|
|
20
|
-
this.styleDefaultPagination();
|
|
21
|
-
this.createBubbleDivRef();
|
|
22
|
-
this.renderButtons();
|
|
23
|
-
}
|
|
24
|
-
ngOnChanges(changes) {
|
|
25
|
-
if (!changes?.["appCustomLength"]?.firstChange) {
|
|
26
|
-
this.removeButtons();
|
|
27
|
-
this.switchPage(0);
|
|
28
|
-
this.renderButtons();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
renderButtons() {
|
|
32
|
-
this.buildButtons();
|
|
33
|
-
this.matPag.page
|
|
34
|
-
.pipe(map((e) => [e.previousPageIndex ?? 0, e.pageIndex]), startWith([0, 0]))
|
|
35
|
-
.subscribe(([prev, curr]) => {
|
|
36
|
-
this.changeActiveButtonStyles(prev, curr);
|
|
37
|
-
this.updateButtonsOnPageEvent();
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
changeActiveButtonStyles(previousIndex, newIndex) {
|
|
41
|
-
const previouslyActive = this.buttonsRef[previousIndex];
|
|
42
|
-
const currentActive = this.buttonsRef[newIndex];
|
|
43
|
-
try {
|
|
44
|
-
this.ren.removeClass(previouslyActive, "g-bubble__active");
|
|
45
|
-
this.ren.addClass(currentActive, "g-bubble__active");
|
|
46
|
-
}
|
|
47
|
-
catch { }
|
|
48
|
-
this.buttonsRef.forEach((button) => this.ren.setStyle(button, "display", "none"));
|
|
49
|
-
const renderElements = this.renderButtonsNumber;
|
|
50
|
-
const endDots = newIndex < this.buttonsRef.length - renderElements - 1;
|
|
51
|
-
const startDots = newIndex - renderElements > 0;
|
|
52
|
-
const firstButton = this.buttonsRef[0];
|
|
53
|
-
const lastButton = this.buttonsRef[this.buttonsRef.length - 1];
|
|
54
|
-
try {
|
|
55
|
-
if (this.showLastButton) {
|
|
56
|
-
this.ren.setStyle(this.dotsEndRef, "display", endDots ? "block" : "none");
|
|
57
|
-
this.ren.setStyle(lastButton, "display", endDots ? "flex" : "none");
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
catch { }
|
|
61
|
-
try {
|
|
62
|
-
if (this.showFirstButton) {
|
|
63
|
-
this.ren.setStyle(this.dotsStartRef, "display", startDots ? "block" : "none");
|
|
64
|
-
this.ren.setStyle(firstButton, "display", startDots ? "flex" : "none");
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch { }
|
|
68
|
-
const startingIndex = startDots ? newIndex - renderElements : 0;
|
|
69
|
-
const endingIndex = endDots
|
|
70
|
-
? newIndex + renderElements
|
|
71
|
-
: this.buttonsRef.length - 1;
|
|
72
|
-
for (let i = startingIndex; i <= endingIndex; i++) {
|
|
73
|
-
const button = this.buttonsRef[i];
|
|
74
|
-
this.ren.setStyle(button, "display", "flex");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
styleDefaultPagination() {
|
|
78
|
-
const nativeElement = this.elementRef.nativeElement;
|
|
79
|
-
const itemsPerPage = nativeElement.querySelector(".mat-mdc-paginator-page-size");
|
|
80
|
-
const howManyDisplayedEl = nativeElement.querySelector(".mat-mdc-paginator-range-label");
|
|
81
|
-
const previousButton = nativeElement.querySelector("button.mat-mdc-paginator-navigation-previous");
|
|
82
|
-
const nextButtonDefault = nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
|
|
83
|
-
if (this.hideDefaultArrows) {
|
|
84
|
-
this.ren.setStyle(previousButton, "display", "none");
|
|
85
|
-
this.ren.setStyle(nextButtonDefault, "display", "none");
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
createBubbleDivRef() {
|
|
89
|
-
const actionContainer = this.elementRef.nativeElement.querySelector("div.mat-mdc-paginator-range-actions");
|
|
90
|
-
const nextButtonDefault = this.elementRef.nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
|
|
91
|
-
this.bubbleContainerRef = this.ren.createElement("div");
|
|
92
|
-
this.ren.addClass(this.bubbleContainerRef, "g-bubble-container");
|
|
93
|
-
this.ren.insertBefore(actionContainer, this.bubbleContainerRef, nextButtonDefault);
|
|
94
|
-
}
|
|
95
|
-
buildButtons() {
|
|
96
|
-
const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
|
|
97
|
-
if (neededButtons === 1) {
|
|
98
|
-
this.ren.setStyle(this.elementRef.nativeElement, "display", "none");
|
|
99
|
-
return;
|
|
100
|
-
}
|
|
101
|
-
this.buttonsRef = [this.createButton(0)];
|
|
102
|
-
this.dotsStartRef = this.createDotsElement();
|
|
103
|
-
for (let index = 1; index < neededButtons - 1; index++) {
|
|
104
|
-
this.buttonsRef = [...this.buttonsRef, this.createButton(index)];
|
|
105
|
-
}
|
|
106
|
-
this.dotsEndRef = this.createDotsElement();
|
|
107
|
-
this.buttonsRef = [
|
|
108
|
-
...this.buttonsRef,
|
|
109
|
-
this.createButton(neededButtons - 1),
|
|
110
|
-
];
|
|
111
|
-
}
|
|
112
|
-
removeButtons() {
|
|
113
|
-
this.bubbleContainerRef.innerHTML = '';
|
|
114
|
-
this.buttonsRef.forEach((button) => {
|
|
115
|
-
this.ren.removeChild(this.bubbleContainerRef, button);
|
|
116
|
-
});
|
|
117
|
-
this.buttonsRef = [];
|
|
118
|
-
this.buttonsRef.length = 0;
|
|
119
|
-
}
|
|
120
|
-
createButton(i) {
|
|
121
|
-
const bubbleButton = this.ren.createElement("div");
|
|
122
|
-
const text = this.ren.createText(String(i + 1));
|
|
123
|
-
this.ren.addClass(bubbleButton, "g-bubble");
|
|
124
|
-
this.ren.setStyle(bubbleButton, "margin-right", "8px");
|
|
125
|
-
this.ren.appendChild(bubbleButton, text);
|
|
126
|
-
this.ren.listen(bubbleButton, "click", () => {
|
|
127
|
-
this.switchPage(i);
|
|
128
|
-
});
|
|
129
|
-
this.ren.appendChild(this.bubbleContainerRef, bubbleButton);
|
|
130
|
-
this.ren.setStyle(bubbleButton, "display", "none");
|
|
131
|
-
return bubbleButton;
|
|
132
|
-
}
|
|
133
|
-
createDotsElement() {
|
|
134
|
-
const dotsEl = this.ren.createElement("span");
|
|
135
|
-
const dotsText = this.ren.createText(".....");
|
|
136
|
-
this.ren.setStyle(dotsEl, "font-size", "18px");
|
|
137
|
-
this.ren.setStyle(dotsEl, "margin-right", "8px");
|
|
138
|
-
this.ren.setStyle(dotsEl, "padding-top", "6px");
|
|
139
|
-
this.ren.setStyle(dotsEl, "color", "#919191");
|
|
140
|
-
this.ren.appendChild(dotsEl, dotsText);
|
|
141
|
-
this.ren.appendChild(this.bubbleContainerRef, dotsEl);
|
|
142
|
-
this.ren.setStyle(dotsEl, "display", "none");
|
|
143
|
-
return dotsEl;
|
|
144
|
-
}
|
|
145
|
-
switchPage(i) {
|
|
146
|
-
const previousPageIndex = this.matPag.pageIndex;
|
|
147
|
-
this.matPag.pageIndex = i;
|
|
148
|
-
try {
|
|
149
|
-
this.matPag["_emitPageEvent"](previousPageIndex);
|
|
150
|
-
}
|
|
151
|
-
catch { }
|
|
152
|
-
this.pageIndexChangeEmitter.emit(i);
|
|
153
|
-
}
|
|
154
|
-
updateButtonsOnPageEvent() {
|
|
155
|
-
const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
|
|
156
|
-
if (neededButtons === this.buttonsRef.length) {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
this.removeButtons();
|
|
160
|
-
this.buildButtons();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
BubblePaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, deps: [{ token: i1.MatPaginator }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
164
|
-
BubblePaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BubblePaginationDirective, isStandalone: true, selector: "[appBubblePagination]", inputs: { showFirstButton: "showFirstButton", showLastButton: "showLastButton", renderButtonsNumber: "renderButtonsNumber", appCustomLength: "appCustomLength", hideDefaultArrows: "hideDefaultArrows" }, outputs: { pageIndexChangeEmitter: "pageIndexChangeEmitter" }, usesOnChanges: true, ngImport: i0 });
|
|
165
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, decorators: [{
|
|
166
|
-
type: Directive,
|
|
167
|
-
args: [{
|
|
168
|
-
selector: "[appBubblePagination]",
|
|
169
|
-
standalone: true,
|
|
170
|
-
}]
|
|
171
|
-
}], ctorParameters: function () { return [{ type: i1.MatPaginator }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { pageIndexChangeEmitter: [{
|
|
172
|
-
type: Output
|
|
173
|
-
}], showFirstButton: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], showLastButton: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], renderButtonsNumber: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], appCustomLength: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], hideDefaultArrows: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}] } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXBhLWxpYnJhcnktdWkvc3JjL2xpYi9jb3JlL2RpcmVjdGl2ZXMvY3VzdG9tLXBhZ2luYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLHlCQUF5QjtJQVlwQyxZQUNtQixNQUFvQixFQUM3QixVQUFzQixFQUN0QixHQUFjO1FBRkwsV0FBTSxHQUFOLE1BQU0sQ0FBYztRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQVc7UUFkZCwyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMzRSxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0Qix3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFDNUIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGVBQVUsR0FBa0IsRUFBRSxDQUFDO0lBTXBDLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGlCQUFp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QkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwXCI7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tIFwicnhqcy9pbnRlcm5hbC9vcGVyYXRvcnMvc3RhcnRXaXRoXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbYXBwQnViYmxlUGFnaW5hdGlvbl1cIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnViYmxlUGFnaW5hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBPdXRwdXQoKSBwYWdlSW5kZXhDaGFuZ2VFbWl0dGVyOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBASW5wdXQoKSBzaG93Rmlyc3RCdXR0b24gPSB0cnVlO1xuICBASW5wdXQoKSBzaG93TGFzdEJ1dHRvbiA9IHRydWU7XG4gIEBJbnB1dCgpIHJlbmRlckJ1dHRvbnNOdW1iZXIgPSAyO1xuICBASW5wdXQoKSBhcHBDdXN0b21MZW5ndGg6IG51bWJlciA9IDA7XG4gIEBJbnB1dCgpIGhpZGVEZWZhdWx0QXJyb3dzID0gZmFsc2U7XG4gIHByaXZhdGUgZG90c0VuZFJlZiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGRvdHNTdGFydFJlZiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGJ1YmJsZUNvbnRhaW5lclJlZiE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIGJ1dHRvbnNSZWY6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hdFBhZzogTWF0UGFnaW5hdG9yLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbjogUmVuZGVyZXIyXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZURlZmF1bHRQYWdpbmF0aW9uKCk7XG4gICAgdGhpcy5jcmVhdGVCdWJibGVEaXZSZWYoKTtcbiAgICB0aGlzLnJlbmRlckJ1dHRvbnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIWNoYW5nZXM/LltcImFwcEN1c3RvbUxlbmd0aFwiXT8uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMucmVtb3ZlQnV0dG9ucygpO1xuICAgICAgdGhpcy5zd2l0Y2hQYWdlKDApO1xuICAgICAgdGhpcy5yZW5kZXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW5kZXJCdXR0b25zKCk6IHZvaWQge1xuICAgIHRoaXMuYnVpbGRCdXR0b25zKCk7XG5cbiAgICB0aGlzLm1hdFBhZy5wYWdlXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChlKSA9PiBbZS5wcmV2aW91c1BhZ2VJbmRleCA/PyAwLCBlLnBhZ2VJbmRleF0pLFxuICAgICAgICBzdGFydFdpdGgoWzAsIDBdKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoW3ByZXYsIGN1cnJdKSA9PiB7XG4gICAgICAgIHRoaXMuY2hhbmdlQWN0aXZlQnV0dG9uU3R5bGVzKHByZXYsIGN1cnIpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJ1dHRvbnNPblBhZ2VFdmVudCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUFjdGl2ZUJ1dHRvblN0eWxlcyhwcmV2aW91c0luZGV4OiBudW1iZXIsIG5ld0luZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBwcmV2aW91c2x5QWN0aXZlID0gdGhpcy5idXR0b25zUmVmW3ByZXZpb3VzSW5kZXhdO1xuICAgIGNvbnN0IGN1cnJlbnRBY3RpdmUgPSB0aGlzLmJ1dHRvbnNSZWZbbmV3SW5kZXhdO1xuXG4gICAgdHJ5IHtcbiAgICAgIHRoaXMucmVuLnJlbW92ZUNsYXNzKHByZXZpb3VzbHlBY3RpdmUsIFwiZy1idWJibGVfX2FjdGl2ZVwiKTtcbiAgICAgIHRoaXMucmVuLmFkZENsYXNzKGN1cnJlbnRBY3RpdmUsIFwiZy1idWJibGVfX2FjdGl2ZVwiKTtcbiAgICB9IGNhdGNoIHt9XG5cbiAgICB0aGlzLmJ1dHRvbnNSZWYuZm9yRWFjaCgoYnV0dG9uKSA9PlxuICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoYnV0dG9uLCBcImRpc3BsYXlcIiwgXCJub25lXCIpXG4gICAgKTtcblxuICAgIGNvbnN0IHJlbmRlckVsZW1lbnRzID0gdGhpcy5yZW5kZXJCdXR0b25zTnVtYmVyO1xuICAgIGNvbnN0IGVuZERvdHMgPSBuZXdJbmRleCA8IHRoaXMuYnV0dG9uc1JlZi5sZW5ndGggLSByZW5kZXJFbGVtZW50cyAtIDE7XG4gICAgY29uc3Qgc3RhcnREb3RzID0gbmV3SW5kZXggLSByZW5kZXJFbGVtZW50cyA+IDA7XG5cbiAgICBjb25zdCBmaXJzdEJ1dHRvbiA9IHRoaXMuYnV0dG9uc1JlZlswXTtcbiAgICBjb25zdCBsYXN0QnV0dG9uID0gdGhpcy5idXR0b25zUmVmW3RoaXMuYnV0dG9uc1JlZi5sZW5ndGggLSAxXTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zaG93TGFzdEJ1dHRvbikge1xuICAgICAgICB0aGlzLnJlbi5zZXRTdHlsZSh0aGlzLmRvdHNFbmRSZWYsIFwiZGlzcGxheVwiLCBlbmREb3RzID8gXCJibG9ja1wiIDogXCJub25lXCIpO1xuICAgICAgICB0aGlzLnJlbi5zZXRTdHlsZShsYXN0QnV0dG9uLCBcImRpc3BsYXlcIiwgZW5kRG90cyA/IFwiZmxleFwiIDogXCJub25lXCIpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge31cblxuICAgIHRyeSB7XG4gICAgICBpZiAodGhpcy5zaG93Rmlyc3RCdXR0b24pIHtcbiAgICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoXG4gICAgICAgICAgdGhpcy5kb3RzU3RhcnRSZWYsXG4gICAgICAgICAgXCJkaXNwbGF5XCIsXG4gICAgICAgICAgc3RhcnREb3RzID8gXCJibG9ja1wiIDogXCJub25lXCJcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZW4uc2V0U3R5bGUoZmlyc3RCdXR0b24sIFwiZGlzcGxheVwiLCBzdGFydERvdHMgPyBcImZsZXhcIiA6IFwibm9uZVwiKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHt9XG5cbiAgICBjb25zdCBzdGFydGluZ0luZGV4ID0gc3RhcnREb3RzID8gbmV3SW5kZXggLSByZW5kZXJFbGVtZW50cyA6IDA7XG4gICAgY29uc3QgZW5kaW5nSW5kZXggPSBlbmREb3RzXG4gICAgICA/IG5ld0luZGV4ICsgcmVuZGVyRWxlbWVudHNcbiAgICAgIDogdGhpcy5idXR0b25zUmVmLmxlbmd0aCAtIDE7XG5cbiAgICBmb3IgKGxldCBpID0gc3RhcnRpbmdJbmRleDsgaSA8PSBlbmRpbmdJbmRleDsgaSsrKSB7XG4gICAgICBjb25zdCBidXR0b24gPSB0aGlzLmJ1dHRvbnNSZWZbaV07XG4gICAgICB0aGlzLnJlbi5zZXRTdHlsZShidXR0b24sIFwiZGlzcGxheVwiLCBcImZsZXhcIik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdHlsZURlZmF1bHRQYWdpbmF0aW9uKCkge1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBpdGVtc1BlclBhZ2UgPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcIi5tYXQtbWRjLXBhZ2luYXRvci1wYWdlLXNpemVcIlxuICAgICk7XG4gICAgY29uc3QgaG93TWFueURpc3BsYXllZEVsID0gbmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCIubWF0LW1kYy1wYWdpbmF0b3ItcmFuZ2UtbGFiZWxcIlxuICAgICk7XG4gICAgY29uc3QgcHJldmlvdXNCdXR0b24gPSBuYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICBcImJ1dHRvbi5tYXQtbWRjLXBhZ2luYXRvci1uYXZpZ2F0aW9uLXByZXZpb3VzXCJcbiAgICApO1xuICAgIGNvbnN0IG5leHRCdXR0b25EZWZhdWx0ID0gbmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJidXR0b24ubWF0LW1kYy1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0XCJcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuaGlkZURlZmF1bHRBcnJvd3MpIHtcbiAgICAgIHRoaXMucmVuLnNldFN0eWxlKHByZXZpb3VzQnV0dG9uLCBcImRpc3BsYXlcIiwgXCJub25lXCIpO1xuICAgICAgdGhpcy5yZW4uc2V0U3R5bGUobmV4dEJ1dHRvbkRlZmF1bHQsIFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCdWJibGVEaXZSZWYoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aW9uQ29udGFpbmVyID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIFwiZGl2Lm1hdC1tZGMtcGFnaW5hdG9yLXJhbmdlLWFjdGlvbnNcIlxuICAgICk7XG4gICAgY29uc3QgbmV4dEJ1dHRvbkRlZmF1bHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgXCJidXR0b24ubWF0LW1kYy1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0XCJcbiAgICApO1xuXG4gICAgdGhpcy5idWJibGVDb250YWluZXJSZWYgPSB0aGlzLnJlbi5jcmVhdGVFbGVtZW50KFwiZGl2XCIpIGFzIEhUTUxFbGVtZW50O1xuICAgIHRoaXMucmVuLmFkZENsYXNzKHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLCBcImctYnViYmxlLWNvbnRhaW5lclwiKTtcblxuICAgIHRoaXMucmVuLmluc2VydEJlZm9yZShcbiAgICAgIGFjdGlvbkNvbnRhaW5lcixcbiAgICAgIHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLFxuICAgICAgbmV4dEJ1dHRvbkRlZmF1bHRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEJ1dHRvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgbmVlZGVkQnV0dG9ucyA9IE1hdGguY2VpbChcbiAgICAgIHRoaXMuYXBwQ3VzdG9tTGVuZ3RoIC8gdGhpcy5tYXRQYWcucGFnZVNpemVcbiAgICApO1xuXG4gICAgaWYgKG5lZWRlZEJ1dHRvbnMgPT09IDEpIHtcbiAgICAgIHRoaXMucmVuLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcImRpc3BsYXlcIiwgXCJub25lXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYnV0dG9uc1JlZiA9IFt0aGlzLmNyZWF0ZUJ1dHRvbigwKV07XG4gICAgdGhpcy5kb3RzU3RhcnRSZWYgPSB0aGlzLmNyZWF0ZURvdHNFbGVtZW50KCk7XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDE7IGluZGV4IDwgbmVlZGVkQnV0dG9ucyAtIDE7IGluZGV4KyspIHtcbiAgICAgIHRoaXMuYnV0dG9uc1JlZiA9IFsuLi50aGlzLmJ1dHRvbnNSZWYsIHRoaXMuY3JlYXRlQnV0dG9uKGluZGV4KV07XG4gICAgfVxuXG4gICAgdGhpcy5kb3RzRW5kUmVmID0gdGhpcy5jcmVhdGVEb3RzRWxlbWVudCgpO1xuXG4gICAgdGhpcy5idXR0b25zUmVmID0gW1xuICAgICAgLi4udGhpcy5idXR0b25zUmVmLFxuICAgICAgdGhpcy5jcmVhdGVCdXR0b24obmVlZGVkQnV0dG9ucyAtIDEpLFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUJ1dHRvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5idWJibGVDb250YWluZXJSZWYuaW5uZXJIVE1MID0gJyc7XG4gICAgdGhpcy5idXR0b25zUmVmLmZvckVhY2goKGJ1dHRvbikgPT4ge1xuICAgICAgdGhpcy5yZW4ucmVtb3ZlQ2hpbGQodGhpcy5idWJibGVDb250YWluZXJSZWYsIGJ1dHRvbik7XG4gICAgfSk7XG4gICAgdGhpcy5idXR0b25zUmVmID0gW107XG4gICAgdGhpcy5idXR0b25zUmVmLmxlbmd0aCA9IDA7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUJ1dHRvbihpOiBudW1iZXIpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgYnViYmxlQnV0dG9uID0gdGhpcy5yZW4uY3JlYXRlRWxlbWVudChcImRpdlwiKTtcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5yZW4uY3JlYXRlVGV4dChTdHJpbmcoaSArIDEpKTtcblxuICAgIHRoaXMucmVuLmFkZENsYXNzKGJ1YmJsZUJ1dHRvbiwgXCJnLWJ1YmJsZVwiKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShidWJibGVCdXR0b24sIFwibWFyZ2luLXJpZ2h0XCIsIFwiOHB4XCIpO1xuICAgIHRoaXMucmVuLmFwcGVuZENoaWxkKGJ1YmJsZUJ1dHRvbiwgdGV4dCk7XG5cbiAgICB0aGlzLnJlbi5saXN0ZW4oYnViYmxlQnV0dG9uLCBcImNsaWNrXCIsICgpID0+IHtcbiAgICAgIHRoaXMuc3dpdGNoUGFnZShpKTtcbiAgICB9KTtcblxuICAgIHRoaXMucmVuLmFwcGVuZENoaWxkKHRoaXMuYnViYmxlQ29udGFpbmVyUmVmLCBidWJibGVCdXR0b24pO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGJ1YmJsZUJ1dHRvbiwgXCJkaXNwbGF5XCIsIFwibm9uZVwiKTtcblxuICAgIHJldHVybiBidWJibGVCdXR0b247XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZURvdHNFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBkb3RzRWwgPSB0aGlzLnJlbi5jcmVhdGVFbGVtZW50KFwic3BhblwiKTtcbiAgICBjb25zdCBkb3RzVGV4dCA9IHRoaXMucmVuLmNyZWF0ZVRleHQoXCIuLi4uLlwiKTtcblxuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJmb250LXNpemVcIiwgXCIxOHB4XCIpO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJtYXJnaW4tcmlnaHRcIiwgXCI4cHhcIik7XG4gICAgdGhpcy5yZW4uc2V0U3R5bGUoZG90c0VsLCBcInBhZGRpbmctdG9wXCIsIFwiNnB4XCIpO1xuICAgIHRoaXMucmVuLnNldFN0eWxlKGRvdHNFbCwgXCJjb2xvclwiLCBcIiM5MTkxOTFcIik7XG5cbiAgICB0aGlzLnJlbi5hcHBlbmRDaGlsZChkb3RzRWwsIGRvdHNUZXh0KTtcbiAgICB0aGlzLnJlbi5hcHBlbmRDaGlsZCh0aGlzLmJ1YmJsZUNvbnRhaW5lclJlZiwgZG90c0VsKTtcbiAgICB0aGlzLnJlbi5zZXRTdHlsZShkb3RzRWwsIFwiZGlzcGxheVwiLCBcIm5vbmVcIik7XG5cbiAgICByZXR1cm4gZG90c0VsO1xuICB9XG5cbiAgcHJpdmF0ZSBzd2l0Y2hQYWdlKGk6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHByZXZpb3VzUGFnZUluZGV4ID0gdGhpcy5tYXRQYWcucGFnZUluZGV4O1xuICAgIHRoaXMubWF0UGFnLnBhZ2VJbmRleCA9IGk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMubWF0UGFnW1wiX2VtaXRQYWdlRXZlbnRcIl0ocHJldmlvdXNQYWdlSW5kZXgpO1xuICAgIH0gY2F0Y2gge31cblxuICAgIHRoaXMucGFnZUluZGV4Q2hhbmdlRW1pdHRlci5lbWl0KGkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVCdXR0b25zT25QYWdlRXZlbnQoKTogdm9pZCB7XG4gICAgY29uc3QgbmVlZGVkQnV0dG9ucyA9IE1hdGguY2VpbChcbiAgICAgIHRoaXMuYXBwQ3VzdG9tTGVuZ3RoIC8gdGhpcy5tYXRQYWcucGFnZVNpemVcbiAgICApO1xuICAgIGlmIChuZWVkZWRCdXR0b25zID09PSB0aGlzLmJ1dHRvbnNSZWYubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVCdXR0b25zKCk7XG4gICAgdGhpcy5idWlsZEJ1dHRvbnMoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges } from "@angular/core";
|
|
2
|
-
import { MatPaginator } from "@angular/material/paginator";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BubblePaginationDirective implements AfterViewInit, OnChanges {
|
|
5
|
-
private readonly matPag;
|
|
6
|
-
private elementRef;
|
|
7
|
-
private ren;
|
|
8
|
-
pageIndexChangeEmitter: EventEmitter<number>;
|
|
9
|
-
showFirstButton: boolean;
|
|
10
|
-
showLastButton: boolean;
|
|
11
|
-
renderButtonsNumber: number;
|
|
12
|
-
appCustomLength: number;
|
|
13
|
-
hideDefaultArrows: boolean;
|
|
14
|
-
private dotsEndRef;
|
|
15
|
-
private dotsStartRef;
|
|
16
|
-
private bubbleContainerRef;
|
|
17
|
-
private buttonsRef;
|
|
18
|
-
constructor(matPag: MatPaginator, elementRef: ElementRef, ren: Renderer2);
|
|
19
|
-
ngAfterViewInit(): void;
|
|
20
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
21
|
-
private renderButtons;
|
|
22
|
-
private changeActiveButtonStyles;
|
|
23
|
-
private styleDefaultPagination;
|
|
24
|
-
private createBubbleDivRef;
|
|
25
|
-
private buildButtons;
|
|
26
|
-
private removeButtons;
|
|
27
|
-
private createButton;
|
|
28
|
-
private createDotsElement;
|
|
29
|
-
private switchPage;
|
|
30
|
-
private updateButtonsOnPageEvent;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BubblePaginationDirective, never>;
|
|
32
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BubblePaginationDirective, "[appBubblePagination]", never, { "showFirstButton": "showFirstButton"; "showLastButton": "showLastButton"; "renderButtonsNumber": "renderButtonsNumber"; "appCustomLength": "appCustomLength"; "hideDefaultArrows": "hideDefaultArrows"; }, { "pageIndexChangeEmitter": "pageIndexChangeEmitter"; }, never, never, true, never>;
|
|
33
|
-
}
|
|
Binary file
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, Renderer2, SimpleChanges } from "@angular/core";
|
|
2
|
-
import { MatPaginator } from "@angular/material/paginator";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class BubblePaginationDirective implements AfterViewInit, OnChanges {
|
|
5
|
-
private readonly matPag;
|
|
6
|
-
private elementRef;
|
|
7
|
-
private ren;
|
|
8
|
-
pageIndexChangeEmitter: EventEmitter<number>;
|
|
9
|
-
showFirstButton: boolean;
|
|
10
|
-
showLastButton: boolean;
|
|
11
|
-
renderButtonsNumber: number;
|
|
12
|
-
appCustomLength: number;
|
|
13
|
-
hideDefaultArrows: boolean;
|
|
14
|
-
private dotsEndRef;
|
|
15
|
-
private dotsStartRef;
|
|
16
|
-
private bubbleContainerRef;
|
|
17
|
-
private buttonsRef;
|
|
18
|
-
constructor(matPag: MatPaginator, elementRef: ElementRef, ren: Renderer2);
|
|
19
|
-
ngAfterViewInit(): void;
|
|
20
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
21
|
-
private renderButtons;
|
|
22
|
-
private changeActiveButtonStyles;
|
|
23
|
-
private styleDefaultPagination;
|
|
24
|
-
private createBubbleDivRef;
|
|
25
|
-
private buildButtons;
|
|
26
|
-
private removeButtons;
|
|
27
|
-
private createButton;
|
|
28
|
-
private createDotsElement;
|
|
29
|
-
private switchPage;
|
|
30
|
-
private updateButtonsOnPageEvent;
|
|
31
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<BubblePaginationDirective, never>;
|
|
32
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<BubblePaginationDirective, "[appBubblePagination]", never, { "showFirstButton": "showFirstButton"; "showLastButton": "showLastButton"; "renderButtonsNumber": "renderButtonsNumber"; "appCustomLength": "appCustomLength"; "hideDefaultArrows": "hideDefaultArrows"; }, { "pageIndexChangeEmitter": "pageIndexChangeEmitter"; }, never, never, true, never>;
|
|
33
|
-
}
|