mapa-library-ui 0.0.35 → 0.0.37

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.
Files changed (43) hide show
  1. package/esm2020/lib/core/directives/custom-paginator-legacy.directive.mjs +227 -0
  2. package/esm2020/public-api.mjs +2 -2
  3. package/esm2020/src/lib/components/capability/lib/components/tag/src/tag.component.mjs +3 -3
  4. package/esm2020/src/lib/components/dropdown/lib/components/dropdown/src/dropdown.component.mjs +4 -5
  5. package/esm2020/src/lib/components/table/lib/components/table/src/table.component.mjs +3 -3
  6. package/esm2020/src/lib/components/table/lib/components/table/src/table.module.mjs +1 -4
  7. package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.mjs +4 -4
  8. package/esm2020/src/lib/components/table/table.mjs +1 -2
  9. package/esm2020/src/lib/components/tag/src/tag.component.mjs +3 -3
  10. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  11. package/fesm2015/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  12. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs +3 -4
  13. package/fesm2015/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  14. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs +7 -191
  15. package/fesm2015/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  16. package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs +2 -2
  17. package/fesm2015/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
  18. package/fesm2015/mapa-library-ui.mjs +211 -166
  19. package/fesm2015/mapa-library-ui.mjs.map +1 -1
  20. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs +2 -2
  21. package/fesm2020/mapa-library-ui-src-lib-components-capability.mjs.map +1 -1
  22. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs +3 -4
  23. package/fesm2020/mapa-library-ui-src-lib-components-dropdown.mjs.map +1 -1
  24. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs +7 -190
  25. package/fesm2020/mapa-library-ui-src-lib-components-table.mjs.map +1 -1
  26. package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs +2 -2
  27. package/fesm2020/mapa-library-ui-src-lib-components-tag.mjs.map +1 -1
  28. package/fesm2020/mapa-library-ui.mjs +208 -165
  29. package/fesm2020/mapa-library-ui.mjs.map +1 -1
  30. package/lib/core/directives/custom-paginator-legacy.directive.d.ts +27 -0
  31. package/mapa-library-ui-0.0.37.tgz +0 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +1 -1
  34. package/src/lib/components/capability/lib/components/tag/src/tag.component.d.ts +1 -1
  35. package/src/lib/components/table/lib/components/table/src/table.module.d.ts +3 -4
  36. package/src/lib/components/table/lib/core/directives/custom-paginator-legacy.directive.d.ts +1 -1
  37. package/src/lib/components/table/table.d.ts +0 -1
  38. package/src/lib/components/tag/src/tag.component.d.ts +1 -1
  39. package/esm2020/lib/core/directives/custom-paginator.directive.mjs +0 -184
  40. package/esm2020/src/lib/components/table/lib/core/directives/custom-paginator.directive.mjs +0 -184
  41. package/lib/core/directives/custom-paginator.directive.d.ts +0 -33
  42. package/mapa-library-ui-0.0.35.tgz +0 -0
  43. package/src/lib/components/table/lib/core/directives/custom-paginator.directive.d.ts +0 -33
@@ -1,9 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Self, Optional, Input, EventEmitter, Output } from '@angular/core';
2
+ import { Directive, Self, Optional, Input, Host } from '@angular/core';
3
3
  import * as i1 from '@angular/material/input';
4
4
  import * as i2 from '@angular/forms';
5
- import { map } from 'rxjs/internal/operators/map';
6
- import { startWith } from 'rxjs/internal/operators/startWith';
7
5
  import * as i1$1 from '@angular/material/paginator';
8
6
 
9
7
  class ElementBase {
@@ -134,184 +132,229 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
134
132
  type: Input
135
133
  }] } });
136
134
 
137
- class BubblePaginationDirective {
138
- constructor(matPag, elementRef, ren) {
135
+ class PaginatorLegacyDirective {
136
+ constructor(matPag, ViewContainer, renderer) {
139
137
  this.matPag = matPag;
140
- this.elementRef = elementRef;
141
- this.ren = ren;
142
- this.pageIndexChangeEmitter = new EventEmitter();
143
- this.showFirstButton = true;
144
- this.showLastButton = true;
145
- this.renderButtonsNumber = 2;
146
- this.appCustomLength = 0;
147
- this.hideDefaultArrows = false;
148
- this.buttonsRef = [];
149
- }
150
- ngAfterViewInit() {
151
- this.styleDefaultPagination();
152
- this.createBubbleDivRef();
153
- this.renderButtons();
154
- }
155
- ngOnChanges(changes) {
156
- if (!changes?.["appCustomLength"]?.firstChange) {
157
- this.removeButtons();
158
- this.switchPage(0);
159
- this.renderButtons();
160
- }
161
- }
162
- renderButtons() {
163
- this.buildButtons();
164
- this.matPag.page
165
- .pipe(map((e) => [e.previousPageIndex ?? 0, e.pageIndex]), startWith([0, 0]))
166
- .subscribe(([prev, curr]) => {
167
- this.changeActiveButtonStyles(prev, curr);
168
- this.updateButtonsOnPageEvent();
169
- });
170
- }
171
- changeActiveButtonStyles(previousIndex, newIndex) {
172
- const previouslyActive = this.buttonsRef[previousIndex];
173
- const currentActive = this.buttonsRef[newIndex];
174
- try {
175
- this.ren.removeClass(previouslyActive, "g-bubble__active");
176
- this.ren.addClass(currentActive, "g-bubble__active");
177
- }
178
- catch { }
179
- this.buttonsRef.forEach((button) => this.ren.setStyle(button, "display", "none"));
180
- const renderElements = this.renderButtonsNumber;
181
- const endDots = newIndex < this.buttonsRef.length - renderElements - 1;
182
- const startDots = newIndex - renderElements > 0;
183
- const firstButton = this.buttonsRef[0];
184
- const lastButton = this.buttonsRef[this.buttonsRef.length - 1];
185
- try {
186
- if (this.showLastButton) {
187
- this.ren.setStyle(this.dotsEndRef, "display", endDots ? "block" : "none");
188
- this.ren.setStyle(lastButton, "display", endDots ? "flex" : "none");
138
+ this.ViewContainer = ViewContainer;
139
+ this.renderer = renderer;
140
+ this.buttons = [];
141
+ this.buildPageNumbers = () => {
142
+ let dots;
143
+ let page;
144
+ let pageDifference;
145
+ let startIndex;
146
+ let totalPages;
147
+ totalPages = this.matPag.getNumberOfPages();
148
+ // Container div with paginator elements
149
+ const actionContainer = this.ViewContainer.element.nativeElement.querySelector('div.mat-paginator-range-actions');
150
+ // Button that triggers the next page action
151
+ const nextPageNode = this.ViewContainer.element.nativeElement.querySelector('button.mat-paginator-navigation-next');
152
+ // Label showing the page range
153
+ const pageRange = this.ViewContainer.element.nativeElement.querySelector('div.mat-paginator-range-label');
154
+ let prevButtonCount = this.buttons.length;
155
+ // Remove buttons before creating new ones
156
+ if (prevButtonCount > 0) {
157
+ this.buttons.forEach((button) => {
158
+ this.renderer.removeChild(actionContainer, button);
159
+ });
160
+ // Empty state array
161
+ prevButtonCount = 0;
189
162
  }
190
- }
191
- catch { }
192
- try {
193
- if (this.showFirstButton) {
194
- this.ren.setStyle(this.dotsStartRef, "display", startDots ? "block" : "none");
195
- this.ren.setStyle(firstButton, "display", startDots ? "flex" : "none");
163
+ this.renderer.addClass(pageRange, 'custom-paginator-counter');
164
+ this.renderer.addClass(actionContainer, 'custom-paginator-container');
165
+ // Initialize next page and last page buttons
166
+ if (prevButtonCount === 0) {
167
+ const nodeArray = actionContainer.childNodes;
168
+ setTimeout(() => {
169
+ for (const node of nodeArray) {
170
+ if (node.nodeName === 'BUTTON') {
171
+ // Next Button styles
172
+ if (node.innerHTML.length > 100 && node.disabled) {
173
+ this.renderer.addClass(node, 'custom-paginator-arrow-disabled');
174
+ this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');
175
+ }
176
+ else if (node.innerHTML.length > 100 && !node.disabled) {
177
+ this.renderer.addClass(node, 'custom-paginator-arrow-enabled');
178
+ this.renderer.removeClass(node, 'custom-paginator-arrow-disabled');
179
+ }
180
+ }
181
+ }
182
+ });
196
183
  }
197
- }
198
- catch { }
199
- const startingIndex = startDots ? newIndex - renderElements : 0;
200
- const endingIndex = endDots
201
- ? newIndex + renderElements
202
- : this.buttonsRef.length - 1;
203
- for (let i = startingIndex; i <= endingIndex; i++) {
204
- const button = this.buttonsRef[i];
205
- this.ren.setStyle(button, "display", "flex");
206
- }
184
+ dots = [false, false];
185
+ if (totalPages > 0) {
186
+ this.renderer.insertBefore(actionContainer, this.createButton('0', this.matPag.pageIndex), nextPageNode);
187
+ }
188
+ page = this.showTotalPages + 2;
189
+ pageDifference = totalPages - page;
190
+ startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);
191
+ for (let index = startIndex; index < totalPages - 1; index = index + 1) {
192
+ if ((index < page && this.currentPage <= this.showTotalPages) ||
193
+ (index >= this.rangeStart && index <= this.rangeEnd) ||
194
+ (this.currentPage > pageDifference && index >= pageDifference) ||
195
+ totalPages < this.showTotalPages + page) {
196
+ this.renderer.insertBefore(actionContainer, this.createButton(`${index}`, this.matPag.pageIndex), nextPageNode);
197
+ }
198
+ else {
199
+ if (index > this.rangeEnd && !dots[0]) {
200
+ this.renderer.insertBefore(actionContainer, this.createButton(this.pageGapTxt[0], this.matPag.pageIndex), nextPageNode);
201
+ dots[0] = true;
202
+ break;
203
+ }
204
+ if (index < this.rangeEnd && !dots[1]) {
205
+ this.renderer.insertBefore(actionContainer, this.createButton(this.pageGapTxt[1], this.matPag.pageIndex), nextPageNode);
206
+ dots[1] = true;
207
+ }
208
+ }
209
+ }
210
+ if (totalPages > 1) {
211
+ this.renderer.insertBefore(actionContainer, this.createButton(`${totalPages - 1}`, this.matPag.pageIndex), nextPageNode);
212
+ }
213
+ };
214
+ this.currentPage = 1;
215
+ this.pageGapTxt = ['•••', '---'];
216
+ this.showTotalPages = 2;
217
+ this.checkPage = [0, 0, 0];
218
+ // Display custom range label text
219
+ this.matPag._intl.getRangeLabel = (page, pageSize, length) => {
220
+ const startIndex = page * pageSize;
221
+ const endIndex = startIndex < length
222
+ ? Math.min(startIndex + pageSize, length)
223
+ : startIndex + pageSize;
224
+ if (length === 0) {
225
+ return 'Mostrando 0 – 0 de 0 item';
226
+ }
227
+ if (length === 1) {
228
+ return ('Mostrando ' +
229
+ (startIndex + 1) +
230
+ ' – ' +
231
+ endIndex +
232
+ ' de ' +
233
+ length +
234
+ ' item');
235
+ }
236
+ else {
237
+ return ('Mostrando ' +
238
+ (startIndex + 1) +
239
+ ' – ' +
240
+ endIndex +
241
+ ' de ' +
242
+ length +
243
+ ' itens');
244
+ }
245
+ };
246
+ // Subscribe to rerender buttons when next page and last page button is used
247
+ this.matPag.page.subscribe((paginator) => {
248
+ this.currentPage = paginator.pageIndex;
249
+ this.matPag.pageIndex = paginator.pageIndex;
250
+ this.initPageRange();
251
+ });
252
+ this.matPag._intl.itemsPerPageLabel = 'Itens por página';
253
+ const paginatorIntl = this.matPag._intl;
254
+ paginatorIntl.nextPageLabel = '';
255
+ paginatorIntl.previousPageLabel = '';
207
256
  }
208
- styleDefaultPagination() {
209
- const nativeElement = this.elementRef.nativeElement;
210
- const itemsPerPage = nativeElement.querySelector(".mat-mdc-paginator-page-size");
211
- const howManyDisplayedEl = nativeElement.querySelector(".mat-mdc-paginator-range-label");
212
- const previousButton = nativeElement.querySelector("button.mat-mdc-paginator-navigation-previous");
213
- const nextButtonDefault = nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
214
- if (this.hideDefaultArrows) {
215
- this.ren.setStyle(previousButton, "display", "none");
216
- this.ren.setStyle(nextButtonDefault, "display", "none");
257
+ ngDoCheck() {
258
+ // Reset paginator if the pageSize, pageIndex, length changes
259
+ if (this.matPag?.length !== this.checkPage[0] ||
260
+ this.matPag?.pageSize !== this.checkPage[1] ||
261
+ this.matPag?.pageIndex !== this.checkPage[2]) {
262
+ const pageCount = this.matPag.getNumberOfPages();
263
+ if (this.currentPage > pageCount && pageCount !== 0) {
264
+ this.currentPage = 1;
265
+ this.matPag.pageIndex = 0;
266
+ }
267
+ this.currentPage = this.matPag.pageIndex;
268
+ this.initPageRange();
269
+ this.checkPage = [
270
+ this.matPag.length,
271
+ this.matPag.pageSize,
272
+ this.matPag.pageIndex,
273
+ ];
217
274
  }
218
275
  }
219
- createBubbleDivRef() {
220
- const actionContainer = this.elementRef.nativeElement.querySelector("div.mat-mdc-paginator-range-actions");
221
- const nextButtonDefault = this.elementRef.nativeElement.querySelector("button.mat-mdc-paginator-navigation-next");
222
- this.bubbleContainerRef = this.ren.createElement("div");
223
- this.ren.addClass(this.bubbleContainerRef, "g-bubble-container");
224
- this.ren.insertBefore(actionContainer, this.bubbleContainerRef, nextButtonDefault);
225
- }
226
- buildButtons() {
227
- const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
228
- if (neededButtons === 1) {
229
- this.ren.setStyle(this.elementRef.nativeElement, "display", "none");
230
- return;
276
+ createButton(index, pageIndex) {
277
+ const linkBtn = this.renderer.createElement('button');
278
+ this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');
279
+ this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');
280
+ if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {
281
+ this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');
231
282
  }
232
- this.buttonsRef = [this.createButton(0)];
233
- this.dotsStartRef = this.createDotsElement();
234
- for (let index = 1; index < neededButtons - 1; index++) {
235
- this.buttonsRef = [...this.buttonsRef, this.createButton(index)];
283
+ const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;
284
+ const text = this.renderer.createText(pagingTxt + '');
285
+ this.renderer.addClass(linkBtn, 'mat-custom-page');
286
+ switch (index) {
287
+ case `${pageIndex}`:
288
+ this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');
289
+ this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');
290
+ this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');
291
+ break;
292
+ case this.pageGapTxt[0]:
293
+ this.renderer.listen(linkBtn, 'click', () => {
294
+ this.switchPage(this.currentPage < this.showTotalPages + 1
295
+ ? this.showTotalPages + 2
296
+ : this.currentPage + this.showTotalPages - 1);
297
+ });
298
+ break;
299
+ case this.pageGapTxt[1]:
300
+ this.renderer.listen(linkBtn, 'click', () => {
301
+ this.switchPage(this.currentPage >
302
+ this.matPag.getNumberOfPages() - this.showTotalPages - 2
303
+ ? this.matPag.getNumberOfPages() - this.showTotalPages - 3
304
+ : this.currentPage - this.showTotalPages + 1);
305
+ });
306
+ break;
307
+ default:
308
+ this.renderer.listen(linkBtn, 'click', () => {
309
+ this.switchPage(+index);
310
+ });
311
+ break;
236
312
  }
237
- this.dotsEndRef = this.createDotsElement();
238
- this.buttonsRef = [
239
- ...this.buttonsRef,
240
- this.createButton(neededButtons - 1),
241
- ];
313
+ this.renderer.appendChild(linkBtn, text);
314
+ // Add button to private array for state
315
+ this.buttons.push(linkBtn);
316
+ return linkBtn;
242
317
  }
243
- removeButtons() {
244
- this.bubbleContainerRef.innerHTML = '';
245
- this.buttonsRef.forEach((button) => {
246
- this.ren.removeChild(this.bubbleContainerRef, button);
247
- });
248
- this.buttonsRef = [];
249
- this.buttonsRef.length = 0;
318
+ /**
319
+ * @description calculates the button range based on class input parameters and based on current page index value.
320
+ */
321
+ initPageRange() {
322
+ this.rangeStart = this.currentPage - this.showTotalPages / 2;
323
+ this.rangeEnd = this.currentPage + this.showTotalPages / 2;
324
+ this.buildPageNumbers();
250
325
  }
251
- createButton(i) {
252
- const bubbleButton = this.ren.createElement("div");
253
- const text = this.ren.createText(String(i + 1));
254
- this.ren.addClass(bubbleButton, "g-bubble");
255
- this.ren.setStyle(bubbleButton, "margin-right", "8px");
256
- this.ren.appendChild(bubbleButton, text);
257
- this.ren.listen(bubbleButton, "click", () => {
258
- this.switchPage(i);
326
+ switchPage(index) {
327
+ this.matPag.pageIndex = index;
328
+ this.matPag.page.emit({
329
+ previousPageIndex: this.currentPage,
330
+ pageIndex: index,
331
+ pageSize: this.matPag.pageSize,
332
+ length: this.matPag.length,
259
333
  });
260
- this.ren.appendChild(this.bubbleContainerRef, bubbleButton);
261
- this.ren.setStyle(bubbleButton, "display", "none");
262
- return bubbleButton;
263
- }
264
- createDotsElement() {
265
- const dotsEl = this.ren.createElement("span");
266
- const dotsText = this.ren.createText(".....");
267
- this.ren.setStyle(dotsEl, "font-size", "18px");
268
- this.ren.setStyle(dotsEl, "margin-right", "8px");
269
- this.ren.setStyle(dotsEl, "padding-top", "6px");
270
- this.ren.setStyle(dotsEl, "color", "#919191");
271
- this.ren.appendChild(dotsEl, dotsText);
272
- this.ren.appendChild(this.bubbleContainerRef, dotsEl);
273
- this.ren.setStyle(dotsEl, "display", "none");
274
- return dotsEl;
275
- }
276
- switchPage(i) {
277
- const previousPageIndex = this.matPag.pageIndex;
278
- this.matPag.pageIndex = i;
279
- try {
280
- this.matPag["_emitPageEvent"](previousPageIndex);
281
- }
282
- catch { }
283
- this.pageIndexChangeEmitter.emit(i);
334
+ this.currentPage = index;
335
+ this.initPageRange();
284
336
  }
285
- updateButtonsOnPageEvent() {
286
- const neededButtons = Math.ceil(this.appCustomLength / this.matPag.pageSize);
287
- if (neededButtons === this.buttonsRef.length) {
288
- return;
289
- }
290
- this.removeButtons();
291
- this.buildButtons();
337
+ ngAfterViewInit() {
338
+ this.rangeStart = 0;
339
+ this.rangeEnd = this.showTotalPages - 1;
340
+ this.initPageRange();
292
341
  }
293
342
  }
294
- BubblePaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, deps: [{ token: i1$1.MatPaginator }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
295
- 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 });
296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BubblePaginationDirective, decorators: [{
343
+ PaginatorLegacyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginatorLegacyDirective, deps: [{ token: i1$1.MatPaginator, host: true, optional: true, self: true }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
344
+ PaginatorLegacyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PaginatorLegacyDirective, isStandalone: true, selector: "[appStylePaginatorMv]", ngImport: i0 });
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginatorLegacyDirective, decorators: [{
297
346
  type: Directive,
298
347
  args: [{
299
- selector: "[appBubblePagination]",
300
- standalone: true,
348
+ selector: '[appStylePaginatorMv]',
349
+ standalone: true
301
350
  }]
302
- }], ctorParameters: function () { return [{ type: i1$1.MatPaginator }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { pageIndexChangeEmitter: [{
303
- type: Output
304
- }], showFirstButton: [{
305
- type: Input
306
- }], showLastButton: [{
307
- type: Input
308
- }], renderButtonsNumber: [{
309
- type: Input
310
- }], appCustomLength: [{
311
- type: Input
312
- }], hideDefaultArrows: [{
313
- type: Input
314
- }] } });
351
+ }], ctorParameters: function () { return [{ type: i1$1.MatPaginator, decorators: [{
352
+ type: Host
353
+ }, {
354
+ type: Self
355
+ }, {
356
+ type: Optional
357
+ }] }, { type: i0.ViewContainerRef }, { type: i0.Renderer2 }]; } });
315
358
 
316
359
  /*
317
360
  * Public API Surface of mapa-library-ui
@@ -321,5 +364,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
321
364
  * Generated bundle index. Do not edit.
322
365
  */
323
366
 
324
- export { BubblePaginationDirective, Dropdown, ElementBase, InputText, MatInputAutosizeDirective };
367
+ export { Dropdown, ElementBase, InputText, MatInputAutosizeDirective, PaginatorLegacyDirective };
325
368
  //# sourceMappingURL=mapa-library-ui.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapa-library-ui.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/core/elements/input-text.ts","../../../projects/mapa-library-ui/src/lib/core/directives/mat-input-autosize.directive.ts","../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator.directive.ts","../../../projects/mapa-library-ui/src/public-api.ts","../../../projects/mapa-library-ui/src/mapa-library-ui.ts"],"sourcesContent":["import { ElementOption } from '../interfaces/option.interface';\nimport { ElementSearch } from './element-search';\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n options: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n \n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n options?: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n } = {}\n ) {\n this.value = options.value || '';\n this.key = options.key || '';\n this.label = options.label || '';\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || '';\n this.type = options.type || '';\n this.placeholder = options.placeholder || '';\n this.hint = options.hint || '';\n this.prefix = options.prefix || '';\n this.suffix = options.suffix || '';\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || '212px';\n this.autosizeMaxWidth = options.autosizeMaxWidth || '400px';\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { ElementBase } from './element-base';\n\nexport class InputText extends ElementBase {\n override controlType = 'input';\n}\n","/*\n* Originally from: https://github.com/anotherkitten/mat-input-autosize\n* @author: Ellie Larson (anotherkitten)\n*/\n\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { MatInput } from '@angular/material/input';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[matInputAutosize]',\n standalone: true,\n})\nexport class MatInputAutosizeDirective implements AfterViewInit, OnDestroy {\n inputElement: HTMLInputElement;\n hiddenText!: Text;\n changeDetectSub!: Subscription;\n\n @Input() matInputAutosizeMaxWidth: any;\n @Input() matInputAutosizeMinWidth = '120px';\n @Input() matInputAutosizeFontStyle: any;\n\n constructor(\n el: ElementRef<HTMLInputElement>,\n @Self() private childMatInput: MatInput,\n @Optional() @Self() private childNgModel: NgModel\n ) {\n this.inputElement = el.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.checkErrors();\n this.overwriteParentWidth();\n this.createHiddenTextContainer();\n this.setOwnStyles();\n this.subscribeToChanges();\n }\n\n ngOnDestroy(): void {\n if (this.changeDetectSub) {\n this.changeDetectSub.unsubscribe();\n }\n }\n\n checkErrors(): void {\n if (!(this.inputElement instanceof HTMLInputElement)) {\n throw new Error('matInputAutosize directive must be on an input element');\n }\n\n if (!this.childMatInput) {\n throw new Error(\n 'Element with matInputAutosize directive must also have the matInput directive'\n );\n }\n }\n\n overwriteParentWidth(): void {\n Object.assign((this.inputElement.parentNode as HTMLElement).style, {\n width: '100%',\n });\n }\n\n createHiddenTextContainer(): void {\n const textContainer = document.createElement('div');\n Object.assign(textContainer.style, {\n display: 'inline-block',\n 'max-width': this.matInputAutosizeMaxWidth || null,\n 'min-width': this.matInputAutosizeMinWidth,\n font: this.matInputAutosizeFontStyle || null,\n visibility: 'hidden',\n 'white-space': 'pre',\n });\n this.inputElement.parentNode?.appendChild(textContainer);\n\n this.hiddenText = document.createTextNode(' ');\n textContainer.appendChild(this.hiddenText);\n }\n\n setOwnStyles(): void {\n Object.assign(this.inputElement.style, {\n position: 'absolute',\n left: '0',\n });\n }\n\n subscribeToChanges(): void {\n if (this.childNgModel) {\n this.changeDetectSub = this.childNgModel.control.valueChanges.subscribe(\n this.changeHiddenText\n );\n } else {\n this.inputElement.addEventListener('input', () =>\n this.changeHiddenText(this.inputElement.value)\n );\n }\n }\n\n changeHiddenText = (newValue: string): void => {\n if (this.hiddenText) {\n this.hiddenText.data = newValue + ' ';\n }\n };\n}\n","import {\n AfterViewInit,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n Renderer2,\n SimpleChanges,\n} from \"@angular/core\";\nimport { MatPaginator } from \"@angular/material/paginator\";\nimport { map } from \"rxjs/internal/operators/map\";\nimport { startWith } from \"rxjs/internal/operators/startWith\";\n\n@Directive({\n selector: \"[appBubblePagination]\",\n standalone: true,\n})\nexport class BubblePaginationDirective implements AfterViewInit, OnChanges {\n @Output() pageIndexChangeEmitter: EventEmitter<number> = new EventEmitter<number>();\n @Input() showFirstButton = true;\n @Input() showLastButton = true;\n @Input() renderButtonsNumber = 2;\n @Input() appCustomLength: number = 0;\n @Input() hideDefaultArrows = false;\n private dotsEndRef!: HTMLElement;\n private dotsStartRef!: HTMLElement;\n private bubbleContainerRef!: HTMLElement;\n private buttonsRef: HTMLElement[] = [];\n\n constructor(\n private readonly matPag: MatPaginator,\n private elementRef: ElementRef,\n private ren: Renderer2\n ) {}\n\n ngAfterViewInit(): void {\n this.styleDefaultPagination();\n this.createBubbleDivRef();\n this.renderButtons();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (!changes?.[\"appCustomLength\"]?.firstChange) {\n this.removeButtons();\n this.switchPage(0);\n this.renderButtons();\n }\n }\n\n private renderButtons(): void {\n this.buildButtons();\n\n this.matPag.page\n .pipe(\n map((e) => [e.previousPageIndex ?? 0, e.pageIndex]),\n startWith([0, 0])\n )\n .subscribe(([prev, curr]) => {\n this.changeActiveButtonStyles(prev, curr);\n this.updateButtonsOnPageEvent();\n });\n }\n\n private changeActiveButtonStyles(previousIndex: number, newIndex: number) {\n const previouslyActive = this.buttonsRef[previousIndex];\n const currentActive = this.buttonsRef[newIndex];\n\n try {\n this.ren.removeClass(previouslyActive, \"g-bubble__active\");\n this.ren.addClass(currentActive, \"g-bubble__active\");\n } catch {}\n\n this.buttonsRef.forEach((button) =>\n this.ren.setStyle(button, \"display\", \"none\")\n );\n\n const renderElements = this.renderButtonsNumber;\n const endDots = newIndex < this.buttonsRef.length - renderElements - 1;\n const startDots = newIndex - renderElements > 0;\n\n const firstButton = this.buttonsRef[0];\n const lastButton = this.buttonsRef[this.buttonsRef.length - 1];\n\n try {\n if (this.showLastButton) {\n this.ren.setStyle(this.dotsEndRef, \"display\", endDots ? \"block\" : \"none\");\n this.ren.setStyle(lastButton, \"display\", endDots ? \"flex\" : \"none\");\n }\n } catch {}\n\n try {\n if (this.showFirstButton) {\n this.ren.setStyle(\n this.dotsStartRef,\n \"display\",\n startDots ? \"block\" : \"none\"\n );\n this.ren.setStyle(firstButton, \"display\", startDots ? \"flex\" : \"none\");\n }\n } catch {}\n\n const startingIndex = startDots ? newIndex - renderElements : 0;\n const endingIndex = endDots\n ? newIndex + renderElements\n : this.buttonsRef.length - 1;\n\n for (let i = startingIndex; i <= endingIndex; i++) {\n const button = this.buttonsRef[i];\n this.ren.setStyle(button, \"display\", \"flex\");\n }\n }\n\n private styleDefaultPagination() {\n const nativeElement = this.elementRef.nativeElement;\n const itemsPerPage = nativeElement.querySelector(\n \".mat-mdc-paginator-page-size\"\n );\n const howManyDisplayedEl = nativeElement.querySelector(\n \".mat-mdc-paginator-range-label\"\n );\n const previousButton = nativeElement.querySelector(\n \"button.mat-mdc-paginator-navigation-previous\"\n );\n const nextButtonDefault = nativeElement.querySelector(\n \"button.mat-mdc-paginator-navigation-next\"\n );\n\n if (this.hideDefaultArrows) {\n this.ren.setStyle(previousButton, \"display\", \"none\");\n this.ren.setStyle(nextButtonDefault, \"display\", \"none\");\n }\n }\n\n private createBubbleDivRef(): void {\n const actionContainer = this.elementRef.nativeElement.querySelector(\n \"div.mat-mdc-paginator-range-actions\"\n );\n const nextButtonDefault = this.elementRef.nativeElement.querySelector(\n \"button.mat-mdc-paginator-navigation-next\"\n );\n\n this.bubbleContainerRef = this.ren.createElement(\"div\") as HTMLElement;\n this.ren.addClass(this.bubbleContainerRef, \"g-bubble-container\");\n\n this.ren.insertBefore(\n actionContainer,\n this.bubbleContainerRef,\n nextButtonDefault\n );\n }\n\n private buildButtons(): void {\n const neededButtons = Math.ceil(\n this.appCustomLength / this.matPag.pageSize\n );\n\n if (neededButtons === 1) {\n this.ren.setStyle(this.elementRef.nativeElement, \"display\", \"none\");\n return;\n }\n\n this.buttonsRef = [this.createButton(0)];\n this.dotsStartRef = this.createDotsElement();\n\n for (let index = 1; index < neededButtons - 1; index++) {\n this.buttonsRef = [...this.buttonsRef, this.createButton(index)];\n }\n\n this.dotsEndRef = this.createDotsElement();\n\n this.buttonsRef = [\n ...this.buttonsRef,\n this.createButton(neededButtons - 1),\n ];\n }\n\n private removeButtons(): void {\n this.bubbleContainerRef.innerHTML = '';\n this.buttonsRef.forEach((button) => {\n this.ren.removeChild(this.bubbleContainerRef, button);\n });\n this.buttonsRef = [];\n this.buttonsRef.length = 0;\n }\n\n private createButton(i: number): HTMLElement {\n const bubbleButton = this.ren.createElement(\"div\");\n const text = this.ren.createText(String(i + 1));\n\n this.ren.addClass(bubbleButton, \"g-bubble\");\n this.ren.setStyle(bubbleButton, \"margin-right\", \"8px\");\n this.ren.appendChild(bubbleButton, text);\n\n this.ren.listen(bubbleButton, \"click\", () => {\n this.switchPage(i);\n });\n\n this.ren.appendChild(this.bubbleContainerRef, bubbleButton);\n this.ren.setStyle(bubbleButton, \"display\", \"none\");\n\n return bubbleButton;\n }\n\n private createDotsElement(): HTMLElement {\n const dotsEl = this.ren.createElement(\"span\");\n const dotsText = this.ren.createText(\".....\");\n\n this.ren.setStyle(dotsEl, \"font-size\", \"18px\");\n this.ren.setStyle(dotsEl, \"margin-right\", \"8px\");\n this.ren.setStyle(dotsEl, \"padding-top\", \"6px\");\n this.ren.setStyle(dotsEl, \"color\", \"#919191\");\n\n this.ren.appendChild(dotsEl, dotsText);\n this.ren.appendChild(this.bubbleContainerRef, dotsEl);\n this.ren.setStyle(dotsEl, \"display\", \"none\");\n\n return dotsEl;\n }\n\n private switchPage(i: number): void {\n const previousPageIndex = this.matPag.pageIndex;\n this.matPag.pageIndex = i;\n try {\n this.matPag[\"_emitPageEvent\"](previousPageIndex);\n } catch {}\n\n this.pageIndexChangeEmitter.emit(i);\n }\n\n private updateButtonsOnPageEvent(): void {\n const neededButtons = Math.ceil(\n this.appCustomLength / this.matPag.pageSize\n );\n if (neededButtons === this.buttonsRef.length) {\n return;\n }\n\n this.removeButtons();\n this.buildButtons();\n }\n}\n","/*\n * Public API Surface of mapa-library-ui\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\nexport * from './lib/core/elements/input-text';\n\nexport * from './lib/core/interfaces/option.interface';\n\nexport * from './lib/core/directives/mat-input-autosize.directive';\nexport * from './lib/core/directives/custom-paginator.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"mapa-library-ui.mjs","sources":["../../../projects/mapa-library-ui/src/lib/core/elements/element-base.ts","../../../projects/mapa-library-ui/src/lib/core/elements/dropdown.ts","../../../projects/mapa-library-ui/src/lib/core/elements/input-text.ts","../../../projects/mapa-library-ui/src/lib/core/directives/mat-input-autosize.directive.ts","../../../projects/mapa-library-ui/src/lib/core/directives/custom-paginator-legacy.directive.ts","../../../projects/mapa-library-ui/src/public-api.ts","../../../projects/mapa-library-ui/src/mapa-library-ui.ts"],"sourcesContent":["import { ElementOption } from '../interfaces/option.interface';\nimport { ElementSearch } from './element-search';\n\nexport class ElementBase {\n value: string;\n key: string;\n label: string;\n required: boolean;\n order: number;\n controlType: string;\n type: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n options: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n \n constructor(\n options: {\n value?: string;\n key?: string;\n label?: string;\n required?: boolean;\n order?: number;\n controlType?: string;\n type?: string;\n placeholder?: string;\n hint?: string;\n prefix?: string;\n suffix?: string;\n autosize?: boolean;\n autosizeMinWidth?: string;\n autosizeMaxWidth?: string;\n options?: ElementOption[];\n multiple?: boolean;\n search?: ElementSearch;\n } = {}\n ) {\n this.value = options.value || '';\n this.key = options.key || '';\n this.label = options.label || '';\n this.required = !!options.required;\n this.order = options.order === undefined ? 1 : options.order;\n this.controlType = options.controlType || '';\n this.type = options.type || '';\n this.placeholder = options.placeholder || '';\n this.hint = options.hint || '';\n this.prefix = options.prefix || '';\n this.suffix = options.suffix || '';\n this.autosize = options.autosize || false;\n this.autosizeMinWidth = options.autosizeMinWidth || '212px';\n this.autosizeMaxWidth = options.autosizeMaxWidth || '400px';\n this.options = options.options || [];\n this.multiple = options.multiple || false;\n this.search = options.search || undefined;\n }\n}\n","import { ElementBase } from './element-base';\n\nexport class Dropdown extends ElementBase {\n override controlType = 'dropdown';\n}\n","import { ElementBase } from './element-base';\n\nexport class InputText extends ElementBase {\n override controlType = 'input';\n}\n","/*\n* Originally from: https://github.com/anotherkitten/mat-input-autosize\n* @author: Ellie Larson (anotherkitten)\n*/\n\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgModel } from '@angular/forms';\nimport { MatInput } from '@angular/material/input';\nimport { Subscription } from 'rxjs';\n\n@Directive({\n selector: '[matInputAutosize]',\n standalone: true,\n})\nexport class MatInputAutosizeDirective implements AfterViewInit, OnDestroy {\n inputElement: HTMLInputElement;\n hiddenText!: Text;\n changeDetectSub!: Subscription;\n\n @Input() matInputAutosizeMaxWidth: any;\n @Input() matInputAutosizeMinWidth = '120px';\n @Input() matInputAutosizeFontStyle: any;\n\n constructor(\n el: ElementRef<HTMLInputElement>,\n @Self() private childMatInput: MatInput,\n @Optional() @Self() private childNgModel: NgModel\n ) {\n this.inputElement = el.nativeElement;\n }\n\n ngAfterViewInit(): void {\n this.checkErrors();\n this.overwriteParentWidth();\n this.createHiddenTextContainer();\n this.setOwnStyles();\n this.subscribeToChanges();\n }\n\n ngOnDestroy(): void {\n if (this.changeDetectSub) {\n this.changeDetectSub.unsubscribe();\n }\n }\n\n checkErrors(): void {\n if (!(this.inputElement instanceof HTMLInputElement)) {\n throw new Error('matInputAutosize directive must be on an input element');\n }\n\n if (!this.childMatInput) {\n throw new Error(\n 'Element with matInputAutosize directive must also have the matInput directive'\n );\n }\n }\n\n overwriteParentWidth(): void {\n Object.assign((this.inputElement.parentNode as HTMLElement).style, {\n width: '100%',\n });\n }\n\n createHiddenTextContainer(): void {\n const textContainer = document.createElement('div');\n Object.assign(textContainer.style, {\n display: 'inline-block',\n 'max-width': this.matInputAutosizeMaxWidth || null,\n 'min-width': this.matInputAutosizeMinWidth,\n font: this.matInputAutosizeFontStyle || null,\n visibility: 'hidden',\n 'white-space': 'pre',\n });\n this.inputElement.parentNode?.appendChild(textContainer);\n\n this.hiddenText = document.createTextNode(' ');\n textContainer.appendChild(this.hiddenText);\n }\n\n setOwnStyles(): void {\n Object.assign(this.inputElement.style, {\n position: 'absolute',\n left: '0',\n });\n }\n\n subscribeToChanges(): void {\n if (this.childNgModel) {\n this.changeDetectSub = this.childNgModel.control.valueChanges.subscribe(\n this.changeHiddenText\n );\n } else {\n this.inputElement.addEventListener('input', () =>\n this.changeHiddenText(this.inputElement.value)\n );\n }\n }\n\n changeHiddenText = (newValue: string): void => {\n if (this.hiddenText) {\n this.hiddenText.data = newValue + ' ';\n }\n };\n}\n","import {\n AfterViewInit,\n Directive,\n DoCheck,\n Host,\n Optional,\n Renderer2,\n Self,\n ViewContainerRef,\n} from '@angular/core';\nimport { MatPaginator, PageEvent } from '@angular/material/paginator';\nimport { MatButton } from '@angular/material/button';\n\n@Directive({\n selector: '[appStylePaginatorMv]',\n standalone: true\n})\nexport class PaginatorLegacyDirective implements DoCheck, AfterViewInit {\n private currentPage: number;\n private pageGapTxt: string[];\n private rangeStart!: number;\n private rangeEnd!: number;\n private buttons: MatButton[] = [];\n private showTotalPages: number;\n private checkPage: number[];\n\n constructor(\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\n private readonly ViewContainer: ViewContainerRef,\n private readonly renderer: Renderer2\n ) {\n this.currentPage = 1;\n this.pageGapTxt = ['•••', '---'];\n this.showTotalPages = 2;\n this.checkPage = [0, 0, 0];\n // Display custom range label text\n this.matPag._intl.getRangeLabel = (\n page: number,\n pageSize: number,\n length: number\n ): string => {\n const startIndex = page * pageSize;\n const endIndex =\n startIndex < length\n ? Math.min(startIndex + pageSize, length)\n : startIndex + pageSize;\n if (length === 0) {\n return 'Mostrando 0 – 0 de 0 item';\n }\n if (length === 1) {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' item'\n );\n } else {\n return (\n 'Mostrando ' +\n (startIndex + 1) +\n ' – ' +\n endIndex +\n ' de ' +\n length +\n ' itens'\n );\n }\n };\n // Subscribe to rerender buttons when next page and last page button is used\n this.matPag.page.subscribe((paginator: PageEvent) => {\n this.currentPage = paginator.pageIndex;\n this.matPag.pageIndex = paginator.pageIndex;\n this.initPageRange();\n });\n this.matPag._intl.itemsPerPageLabel = 'Itens por página';\n const paginatorIntl = this.matPag._intl;\n paginatorIntl.nextPageLabel = '';\n paginatorIntl.previousPageLabel = '';\n }\n\n ngDoCheck(): void {\n // Reset paginator if the pageSize, pageIndex, length changes\n if (\n this.matPag?.length !== this.checkPage[0] ||\n this.matPag?.pageSize !== this.checkPage[1] ||\n this.matPag?.pageIndex !== this.checkPage[2]\n ) {\n const pageCount = this.matPag.getNumberOfPages();\n if (this.currentPage > pageCount && pageCount !== 0) {\n this.currentPage = 1;\n this.matPag.pageIndex = 0;\n }\n this.currentPage = this.matPag.pageIndex;\n this.initPageRange();\n this.checkPage = [\n this.matPag.length,\n this.matPag.pageSize,\n this.matPag.pageIndex,\n ];\n }\n }\n\n private buildPageNumbers = () => {\n let dots: boolean[];\n let page: number;\n let pageDifference: number;\n let startIndex: number;\n let totalPages: number;\n totalPages = this.matPag.getNumberOfPages();\n // Container div with paginator elements\n const actionContainer =\n this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-actions'\n );\n // Button that triggers the next page action\n const nextPageNode = this.ViewContainer.element.nativeElement.querySelector(\n 'button.mat-paginator-navigation-next'\n );\n // Label showing the page range\n const pageRange = this.ViewContainer.element.nativeElement.querySelector(\n 'div.mat-paginator-range-label'\n );\n\n let prevButtonCount = this.buttons.length;\n\n // Remove buttons before creating new ones\n if (prevButtonCount > 0) {\n this.buttons.forEach((button) => {\n this.renderer.removeChild(actionContainer, button);\n });\n // Empty state array\n prevButtonCount = 0;\n }\n\n this.renderer.addClass(pageRange, 'custom-paginator-counter');\n this.renderer.addClass(actionContainer, 'custom-paginator-container');\n\n // Initialize next page and last page buttons\n if (prevButtonCount === 0) {\n const nodeArray = actionContainer.childNodes;\n setTimeout(() => {\n for (const node of nodeArray) {\n if (node.nodeName === 'BUTTON') {\n // Next Button styles\n if (node.innerHTML.length > 100 && node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-disabled');\n this.renderer.removeClass(node, 'custom-paginator-arrow-enabled');\n } else if (node.innerHTML.length > 100 && !node.disabled) {\n this.renderer.addClass(node, 'custom-paginator-arrow-enabled');\n this.renderer.removeClass(\n node,\n 'custom-paginator-arrow-disabled'\n );\n }\n }\n }\n });\n }\n\n dots = [false, false];\n\n if (totalPages > 0) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton('0', this.matPag.pageIndex),\n nextPageNode\n );\n }\n\n page = this.showTotalPages + 2;\n pageDifference = totalPages - page;\n startIndex = Math.max(this.currentPage - this.showTotalPages - 2, 1);\n\n for (let index = startIndex; index < totalPages - 1; index = index + 1) {\n if (\n (index < page && this.currentPage <= this.showTotalPages) ||\n (index >= this.rangeStart && index <= this.rangeEnd) ||\n (this.currentPage > pageDifference && index >= pageDifference) ||\n totalPages < this.showTotalPages + page\n ) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${index}`, this.matPag.pageIndex),\n nextPageNode\n );\n } else {\n if (index > this.rangeEnd && !dots[0]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[0], this.matPag.pageIndex),\n nextPageNode\n );\n dots[0] = true;\n break;\n }\n if (index < this.rangeEnd && !dots[1]) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(this.pageGapTxt[1], this.matPag.pageIndex),\n nextPageNode\n );\n dots[1] = true;\n }\n }\n }\n\n if (totalPages > 1) {\n this.renderer.insertBefore(\n actionContainer,\n this.createButton(`${totalPages - 1}`, this.matPag.pageIndex),\n nextPageNode\n );\n }\n };\n\n private createButton(index: string, pageIndex: number): MatButton {\n const linkBtn: MatButton = this.renderer.createElement('button');\n this.renderer.setAttribute(linkBtn, 'class', 'custom-paginator-page');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-enabled');\n if (index === this.pageGapTxt[0] || index === this.pageGapTxt[1]) {\n this.renderer.addClass(linkBtn, 'custom-paginator-arrow-enabled');\n }\n const pagingTxt = isNaN(+index) ? this.pageGapTxt[0] : +index + 1;\n const text = this.renderer.createText(pagingTxt + '');\n this.renderer.addClass(linkBtn, 'mat-custom-page');\n switch (index) {\n case `${pageIndex}`:\n this.renderer.setAttribute(linkBtn, 'disabled', 'disabled');\n this.renderer.removeClass(linkBtn, 'custom-paginator-page-enabled');\n this.renderer.addClass(linkBtn, 'custom-paginator-page-disabled');\n break;\n case this.pageGapTxt[0]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage < this.showTotalPages + 1\n ? this.showTotalPages + 2\n : this.currentPage + this.showTotalPages - 1\n );\n });\n break;\n case this.pageGapTxt[1]:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(\n this.currentPage >\n this.matPag.getNumberOfPages() - this.showTotalPages - 2\n ? this.matPag.getNumberOfPages() - this.showTotalPages - 3\n : this.currentPage - this.showTotalPages + 1\n );\n });\n break;\n default:\n this.renderer.listen(linkBtn, 'click', () => {\n this.switchPage(+index);\n });\n break;\n }\n this.renderer.appendChild(linkBtn, text);\n // Add button to private array for state\n this.buttons.push(linkBtn);\n return linkBtn;\n }\n\n /**\n * @description calculates the button range based on class input parameters and based on current page index value.\n */\n private initPageRange(): void {\n this.rangeStart = this.currentPage - this.showTotalPages / 2;\n this.rangeEnd = this.currentPage + this.showTotalPages / 2;\n this.buildPageNumbers();\n }\n\n private switchPage(index: number): void {\n this.matPag.pageIndex = index;\n this.matPag.page.emit({\n previousPageIndex: this.currentPage,\n pageIndex: index,\n pageSize: this.matPag.pageSize,\n length: this.matPag.length,\n });\n this.currentPage = index;\n this.initPageRange();\n }\n\n public ngAfterViewInit(): void {\n this.rangeStart = 0;\n this.rangeEnd = this.showTotalPages - 1;\n this.initPageRange();\n }\n}\n","/*\n * Public API Surface of mapa-library-ui\n */\n\nexport * from './lib/core/elements/element-search';\nexport * from './lib/core/elements/element-base';\nexport * from './lib/core/elements/dropdown';\nexport * from './lib/core/elements/input-text';\n\nexport * from './lib/core/interfaces/option.interface';\n\nexport * from './lib/core/directives/mat-input-autosize.directive';\nexport * from './lib/core/directives/custom-paginator-legacy.directive';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { AfterViewInit, DoCheck, Renderer2, ViewContainerRef } from '@angular/core';
2
+ import { MatPaginator } from '@angular/material/paginator';
3
+ import * as i0 from "@angular/core";
4
+ export declare class PaginatorLegacyDirective implements DoCheck, AfterViewInit {
5
+ private readonly matPag;
6
+ private readonly ViewContainer;
7
+ private readonly renderer;
8
+ private currentPage;
9
+ private pageGapTxt;
10
+ private rangeStart;
11
+ private rangeEnd;
12
+ private buttons;
13
+ private showTotalPages;
14
+ private checkPage;
15
+ constructor(matPag: MatPaginator, ViewContainer: ViewContainerRef, renderer: Renderer2);
16
+ ngDoCheck(): void;
17
+ private buildPageNumbers;
18
+ private createButton;
19
+ /**
20
+ * @description calculates the button range based on class input parameters and based on current page index value.
21
+ */
22
+ private initPageRange;
23
+ private switchPage;
24
+ ngAfterViewInit(): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorLegacyDirective, [{ optional: true; host: true; self: true; }, null, null]>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PaginatorLegacyDirective, "[appStylePaginatorMv]", never, {}, {}, never, never, true, never>;
27
+ }
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapa-library-ui",
3
- "version": "0.0.35",
3
+ "version": "0.0.37",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"
package/public-api.d.ts CHANGED
@@ -4,4 +4,4 @@ export * from './lib/core/elements/dropdown';
4
4
  export * from './lib/core/elements/input-text';
5
5
  export * from './lib/core/interfaces/option.interface';
6
6
  export * from './lib/core/directives/mat-input-autosize.directive';
7
- export * from './lib/core/directives/custom-paginator.directive';
7
+ export * from './lib/core/directives/custom-paginator-legacy.directive';
@@ -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>;
@@ -5,11 +5,10 @@ import * as i3 from "@angular/material/checkbox";
5
5
  import * as i4 from "@angular/material/icon";
6
6
  import * as i5 from "@angular/material/paginator";
7
7
  import * as i6 from "@angular/material/table";
8
- import * as i7 from "../../../core/directives/custom-paginator.directive";
9
- import * as i8 from "../../../core/directives/custom-paginator-legacy.directive";
10
- import * as i9 from "@angular/forms";
8
+ import * as i7 from "../../../core/directives/custom-paginator-legacy.directive";
9
+ import * as i8 from "@angular/forms";
11
10
  export declare class MapaTableModule {
12
11
  static ɵfac: i0.ɵɵFactoryDeclaration<MapaTableModule, never>;
13
- static ɵmod: i0.ɵɵNgModuleDeclaration<MapaTableModule, [typeof i1.MapaTableComponent], [typeof i2.CommonModule, typeof i3.MatCheckboxModule, typeof i4.MatIconModule, typeof i5.MatPaginatorModule, typeof i6.MatTableModule, typeof i7.BubblePaginationDirective, typeof i8.PaginatorLegacyDirective, typeof i9.FormsModule, typeof i9.ReactiveFormsModule], [typeof i1.MapaTableComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MapaTableModule, [typeof i1.MapaTableComponent], [typeof i2.CommonModule, typeof i3.MatCheckboxModule, typeof i4.MatIconModule, typeof i5.MatPaginatorModule, typeof i6.MatTableModule, typeof i7.PaginatorLegacyDirective, typeof i8.FormsModule, typeof i8.ReactiveFormsModule], [typeof i1.MapaTableComponent]>;
14
13
  static ɵinj: i0.ɵɵInjectorDeclaration<MapaTableModule>;
15
14
  }
@@ -23,5 +23,5 @@ export declare class PaginatorLegacyDirective implements DoCheck, AfterViewInit
23
23
  private switchPage;
24
24
  ngAfterViewInit(): void;
25
25
  static ɵfac: i0.ɵɵFactoryDeclaration<PaginatorLegacyDirective, [{ optional: true; host: true; self: true; }, null, null]>;
26
- static ɵdir: i0.ɵɵDirectiveDeclaration<PaginatorLegacyDirective, "[appStylePaginator]", never, {}, {}, never, never, true, never>;
26
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PaginatorLegacyDirective, "[appStylePaginatorMv]", never, {}, {}, never, never, true, never>;
27
27
  }