@impartner/design-components 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/dropdown/dropdown.component.mjs +4 -2
- package/esm2020/lib/modal/modal.component.mjs +17 -9
- package/esm2020/lib/pagination/pagination.component.mjs +38 -28
- package/esm2020/lib/pagination/pagination.module.mjs +5 -4
- package/esm2020/services/interaction.service.mjs +22 -5
- package/fesm2015/impartner-design-components.mjs +77 -41
- package/fesm2015/impartner-design-components.mjs.map +1 -1
- package/fesm2020/impartner-design-components.mjs +77 -41
- package/fesm2020/impartner-design-components.mjs.map +1 -1
- package/lib/dropdown/dropdown.component.d.ts +4 -3
- package/lib/modal/modal.component.d.ts +2 -2
- package/lib/pagination/pagination.component.d.ts +2 -0
- package/lib/pagination/pagination.module.d.ts +3 -2
- package/package.json +1 -1
- package/services/interaction.service.d.ts +3 -0
|
@@ -3560,13 +3560,17 @@ class ModalComponent {
|
|
|
3560
3560
|
* Event emitted when the Modal content is accepted.
|
|
3561
3561
|
*/
|
|
3562
3562
|
this.accept = new EventEmitter();
|
|
3563
|
-
this._interactableId = this._interactionService.add(this);
|
|
3564
3563
|
}
|
|
3565
3564
|
/**
|
|
3566
3565
|
* Determines if the Modal should be shown immediately.
|
|
3567
3566
|
*/
|
|
3568
3567
|
set show(show) {
|
|
3569
|
-
|
|
3568
|
+
if (show) {
|
|
3569
|
+
this.open();
|
|
3570
|
+
}
|
|
3571
|
+
else {
|
|
3572
|
+
this.close();
|
|
3573
|
+
}
|
|
3570
3574
|
}
|
|
3571
3575
|
get interactableId() {
|
|
3572
3576
|
return this._interactableId;
|
|
@@ -3590,6 +3594,7 @@ class ModalComponent {
|
|
|
3590
3594
|
return !this.titleText && !this.dismissable;
|
|
3591
3595
|
}
|
|
3592
3596
|
ngOnInit() {
|
|
3597
|
+
this._interactableId = this._interactionService.add(this);
|
|
3593
3598
|
if (this.dismissable === undefined && this.theme === ModalTheme.Working) {
|
|
3594
3599
|
this.dismissable = true;
|
|
3595
3600
|
}
|
|
@@ -3606,35 +3611,38 @@ class ModalComponent {
|
|
|
3606
3611
|
!!this.dismissEl?.nativeElement?.firstChild?.disabled) {
|
|
3607
3612
|
return;
|
|
3608
3613
|
}
|
|
3609
|
-
this.
|
|
3614
|
+
this.close();
|
|
3610
3615
|
this.dismiss.emit(event);
|
|
3611
3616
|
}
|
|
3612
3617
|
handleDeny(event) {
|
|
3613
3618
|
if (!!this.denyEl?.nativeElement?.firstChild?.disabled) {
|
|
3614
3619
|
return;
|
|
3615
3620
|
}
|
|
3616
|
-
this.
|
|
3621
|
+
this.close();
|
|
3617
3622
|
this.deny.emit(event);
|
|
3618
3623
|
}
|
|
3619
3624
|
handleAccept(event) {
|
|
3620
|
-
console.log('this.acceptEl', this.acceptEl);
|
|
3621
3625
|
if (!!this.acceptEl?.nativeElement?.firstChild?.disabled) {
|
|
3622
3626
|
return;
|
|
3623
3627
|
}
|
|
3624
|
-
this.
|
|
3628
|
+
this.close();
|
|
3625
3629
|
this.accept.emit(event);
|
|
3626
3630
|
}
|
|
3627
3631
|
/**
|
|
3628
|
-
* Opens/shows the modal programmatically.
|
|
3632
|
+
* Opens/shows the modal. Can be used programmatically.
|
|
3629
3633
|
*/
|
|
3630
3634
|
open() {
|
|
3635
|
+
if (this.backdrop) {
|
|
3636
|
+
this._interactionService.queueBackdrop(this.interactableId);
|
|
3637
|
+
}
|
|
3631
3638
|
this._show = true;
|
|
3632
3639
|
}
|
|
3633
3640
|
/**
|
|
3634
|
-
* Closes/hides the modal programmatically.
|
|
3641
|
+
* Closes/hides the modal. Can be used programmatically.
|
|
3635
3642
|
*/
|
|
3636
3643
|
close() {
|
|
3637
3644
|
this._show = false;
|
|
3645
|
+
this._interactionService.dequeueBackdrop(this.interactableId);
|
|
3638
3646
|
}
|
|
3639
3647
|
}
|
|
3640
3648
|
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -3868,7 +3876,6 @@ class DropdownComponent {
|
|
|
3868
3876
|
*/
|
|
3869
3877
|
this.buttonClick = new EventEmitter();
|
|
3870
3878
|
this.classBtnGroup = true;
|
|
3871
|
-
this._interactableId = this._interactionService.add(this);
|
|
3872
3879
|
}
|
|
3873
3880
|
get classDropdown() {
|
|
3874
3881
|
return this.position === 'down';
|
|
@@ -3899,6 +3906,9 @@ class DropdownComponent {
|
|
|
3899
3906
|
get shown() {
|
|
3900
3907
|
return this.valid && this.show;
|
|
3901
3908
|
}
|
|
3909
|
+
ngOnInit() {
|
|
3910
|
+
this._interactableId = this._interactionService.add(this);
|
|
3911
|
+
}
|
|
3902
3912
|
ngOnDestroy() {
|
|
3903
3913
|
this._interactionService.remove(this.interactableId);
|
|
3904
3914
|
this._interactableId = 0;
|
|
@@ -7580,22 +7590,24 @@ class PaginationComponent {
|
|
|
7580
7590
|
return Math.ceil(this.total / this.perPage);
|
|
7581
7591
|
}
|
|
7582
7592
|
get firstPageResult() {
|
|
7583
|
-
|
|
7593
|
+
const page = this._getPageClamped();
|
|
7594
|
+
if (this.total < 1 || page < 1 || this.perPage < 1) {
|
|
7584
7595
|
return 0;
|
|
7585
7596
|
}
|
|
7586
|
-
if (
|
|
7597
|
+
if (page === 1) {
|
|
7587
7598
|
return 1;
|
|
7588
7599
|
}
|
|
7589
|
-
if (
|
|
7600
|
+
if (page > Math.ceil(this.total / this.perPage)) {
|
|
7590
7601
|
return this.total;
|
|
7591
7602
|
}
|
|
7592
|
-
return (
|
|
7603
|
+
return (page - 1) * this.perPage + 1;
|
|
7593
7604
|
}
|
|
7594
7605
|
get lastPageResult() {
|
|
7595
|
-
|
|
7606
|
+
const page = this._getPageClamped();
|
|
7607
|
+
if (this.total <= 0 || page < 1 || this.perPage < 1) {
|
|
7596
7608
|
return 0;
|
|
7597
7609
|
}
|
|
7598
|
-
if (
|
|
7610
|
+
if (page === 1) {
|
|
7599
7611
|
if (this.total < this.perPage) {
|
|
7600
7612
|
return this.total;
|
|
7601
7613
|
}
|
|
@@ -7603,26 +7615,38 @@ class PaginationComponent {
|
|
|
7603
7615
|
return this.perPage;
|
|
7604
7616
|
}
|
|
7605
7617
|
}
|
|
7606
|
-
if (this.total < this.perPage *
|
|
7618
|
+
if (this.total < this.perPage * page) {
|
|
7607
7619
|
return this.total;
|
|
7608
7620
|
}
|
|
7609
7621
|
else {
|
|
7610
|
-
return this.perPage *
|
|
7622
|
+
return this.perPage * page;
|
|
7623
|
+
}
|
|
7624
|
+
}
|
|
7625
|
+
_getPageClamped(page) {
|
|
7626
|
+
page = Number(page || this.page || 0);
|
|
7627
|
+
if (isNaN(page) || page < 1) {
|
|
7628
|
+
return 1;
|
|
7611
7629
|
}
|
|
7630
|
+
if (page > this.totalPages) {
|
|
7631
|
+
return this.totalPages;
|
|
7632
|
+
}
|
|
7633
|
+
return page;
|
|
7612
7634
|
}
|
|
7613
7635
|
goToPreviousPage() {
|
|
7614
|
-
|
|
7636
|
+
const page = this._getPageClamped();
|
|
7637
|
+
if (page <= 1) {
|
|
7615
7638
|
return;
|
|
7616
7639
|
}
|
|
7617
|
-
const previousPage =
|
|
7640
|
+
const previousPage = page - 1;
|
|
7618
7641
|
this.page = previousPage;
|
|
7619
7642
|
this.goToPage.emit(previousPage);
|
|
7620
7643
|
}
|
|
7621
7644
|
goToNextPage() {
|
|
7622
|
-
|
|
7645
|
+
const page = this._getPageClamped();
|
|
7646
|
+
if (page >= this.totalPages) {
|
|
7623
7647
|
return;
|
|
7624
7648
|
}
|
|
7625
|
-
const nextPage =
|
|
7649
|
+
const nextPage = page + 1;
|
|
7626
7650
|
this.page = nextPage;
|
|
7627
7651
|
this.goToPage.emit(nextPage);
|
|
7628
7652
|
}
|
|
@@ -7630,25 +7654,20 @@ class PaginationComponent {
|
|
|
7630
7654
|
this.goToExactPage(target?.value);
|
|
7631
7655
|
}
|
|
7632
7656
|
goToExactPage(page) {
|
|
7633
|
-
|
|
7634
|
-
|
|
7635
|
-
|
|
7636
|
-
|
|
7637
|
-
|
|
7638
|
-
|
|
7639
|
-
|
|
7640
|
-
if (allowedPageNumber > this.totalPages) {
|
|
7641
|
-
allowedPageNumber = this.totalPages;
|
|
7642
|
-
}
|
|
7643
|
-
this.page = allowedPageNumber;
|
|
7644
|
-
this.goToPage.emit(allowedPageNumber);
|
|
7657
|
+
this.page = this._getPageClamped(page);
|
|
7658
|
+
this.goToPage.emit(this.page);
|
|
7659
|
+
}
|
|
7660
|
+
preventDefaultAndBlur(event) {
|
|
7661
|
+
// prevents PRM form submit
|
|
7662
|
+
event.preventDefault();
|
|
7663
|
+
event.target.blur();
|
|
7645
7664
|
}
|
|
7646
7665
|
}
|
|
7647
7666
|
PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7648
|
-
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PaginationComponent, selector: "impdc-pagination, div[impdc-pagination]", inputs: { page: "page", perPage: "perPage", total: "total", summary: "summary" }, outputs: { goToPage: "goToPage" }, ngImport: i0, template: "<div class=\"pagination-container\">\n <div class=\"mobile-pagination\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left first\"></i>\n <i class=\"fas fa-chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n
|
|
7667
|
+
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: PaginationComponent, selector: "impdc-pagination, div[impdc-pagination]", inputs: { page: "page", perPage: "perPage", total: "total", summary: "summary" }, outputs: { goToPage: "goToPage" }, ngImport: i0, template: "<div class=\"pagination-container\">\n <div class=\"mobile-pagination\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left first\"></i>\n <i class=\"fas fa-chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span class=\"total-pages\"> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i class=\"fas fa-chevron-right\"></i>\n <i class=\"fas fa-chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-6);gap:1rem;color:var(--impd-color-gray-700, #374151)}@media (min-width: 640px){.pagination-container{padding-left:var(--impd-size-6);padding-right:var(--impd-size-6)}}.mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}@media (min-width: 640px){.mobile-pagination{display:none}}.desktop-pagination{display:none}@media (min-width: 640px){.desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}}.summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-actions .first{margin-right:-1.2rem}.pagination-actions .last{margin-left:-1.2rem}.page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.page-change .total-pages{padding:0 1.2rem}.pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[impdcButton]", inputs: ["type", "theme", "text", "disabled", "titleText", "ariaLabel"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputDirective, selector: "input[impdcInput], textarea[impdcInput], select[impdcNativeSelect]", inputs: ["disabled", "id", "type", "required", "readonly", "errorStateMatcher", "value"], exportAs: ["impdcInput"] }] });
|
|
7649
7668
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
7650
7669
|
type: Component,
|
|
7651
|
-
args: [{ selector: 'impdc-pagination, div[impdc-pagination]', template: "<div class=\"pagination-container\">\n <div class=\"mobile-pagination\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left first\"></i>\n <i class=\"fas fa-chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n
|
|
7670
|
+
args: [{ selector: 'impdc-pagination, div[impdc-pagination]', template: "<div class=\"pagination-container\">\n <div class=\"mobile-pagination\">\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page <= 1\"\n (click)=\"goToPreviousPage()\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n [disabled]=\"page === totalPages\"\n (click)=\"goToNextPage()\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n </div>\n\n <div class=\"desktop-pagination\">\n <div>\n <span class=\"summary\" [innerHTML]=\"summary\"></span>\n </div>\n <div class=\"pagination-actions\">\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"First Page\"\n class=\"pagination-first-last-btns\"\n (click)=\"goToExactPage(1)\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left first\"></i>\n <i class=\"fas fa-chevron-left\"></i>\n <!-- 1 -->\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"previous\"\n aria-label=\"Previous\"\n (click)=\"goToPreviousPage()\"\n [disabled]=\"page <= 1\">\n <i class=\"fas fa-chevron-left\"></i>\n </button>\n <div class=\"page-change\">\n <input\n impdcInput\n [(ngModel)]=\"page\"\n maxlength=\"4\"\n (blur)=\"goToExactPageFromEvent($event)\"\n (keydown.enter)=\"preventDefaultAndBlur($event)\" />\n <span class=\"total-pages\"> / {{ totalPages }} </span>\n </div>\n <button\n impdcButton\n theme=\"secondary\"\n aria-label=\"Next\"\n (click)=\"goToNextPage()\"\n [disabled]=\"page >= totalPages\">\n <i class=\"fas fa-chevron-right\"></i>\n </button>\n <button\n impdcButton\n theme=\"secondary\"\n class=\"pagination-first-last-btns\"\n aria-label=\"Last Page\"\n (click)=\"goToExactPage(totalPages)\"\n [disabled]=\"page === totalPages\">\n <i class=\"fas fa-chevron-right\"></i>\n <i class=\"fas fa-chevron-right last\"></i>\n <!-- {{ totalPages }} -->\n </button>\n </div>\n </div>\n</div>\n", styles: [".pagination-container{background-color:var(--impd-color-white);padding:var(--impd-size-3) var(--impd-size-6);gap:1rem;color:var(--impd-color-gray-700, #374151)}@media (min-width: 640px){.pagination-container{padding-left:var(--impd-size-6);padding-right:var(--impd-size-6)}}.mobile-pagination{display:flex;gap:2rem;justify-content:space-between;align-items:center}@media (min-width: 640px){.mobile-pagination{display:none}}.desktop-pagination{display:none}@media (min-width: 640px){.desktop-pagination{display:flex;flex:1 1 0%;align-items:center;justify-content:space-between;gap:2rem;flex-flow:wrap}}.summary{font-size:var(--impd-font-size-sm);line-height:var(--impd-size-5);font-weight:400;color:var(--impd-color-gray-700)}.pagination-actions{display:flex;flex-direction:row;gap:.4rem;flex-flow:wrap}.pagination-actions .first{margin-right:-1.2rem}.pagination-actions .last{margin-left:-1.2rem}.page-change{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-size:var(--impd-size-3_5, 1.4rem)}.page-change .form-control{min-width:4.275rem;max-width:6.3rem;text-align:center}.page-change .total-pages{padding:0 1.2rem}.pagination-first-last-btns{padding-left:1.325rem;padding-right:1.325rem}\n"] }]
|
|
7652
7671
|
}], propDecorators: { page: [{
|
|
7653
7672
|
type: Input
|
|
7654
7673
|
}], perPage: [{
|
|
@@ -7665,12 +7684,12 @@ class PaginationModule {
|
|
|
7665
7684
|
constructor() { }
|
|
7666
7685
|
}
|
|
7667
7686
|
PaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7668
|
-
PaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, declarations: [PaginationComponent], imports: [CommonModule, ButtonModule, ImpdcFormsModule], exports: [ButtonModule, ImpdcFormsModule, PaginationComponent] });
|
|
7669
|
-
PaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule, ButtonModule, ImpdcFormsModule, ButtonModule, ImpdcFormsModule] });
|
|
7687
|
+
PaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, declarations: [PaginationComponent], imports: [CommonModule, ButtonModule, FormsModule, ImpdcFormsModule], exports: [ButtonModule, ImpdcFormsModule, PaginationComponent] });
|
|
7688
|
+
PaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule, ButtonModule, FormsModule, ImpdcFormsModule, ButtonModule, ImpdcFormsModule] });
|
|
7670
7689
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, decorators: [{
|
|
7671
7690
|
type: NgModule,
|
|
7672
7691
|
args: [{
|
|
7673
|
-
imports: [CommonModule, ButtonModule, ImpdcFormsModule],
|
|
7692
|
+
imports: [CommonModule, ButtonModule, FormsModule, ImpdcFormsModule],
|
|
7674
7693
|
declarations: [PaginationComponent],
|
|
7675
7694
|
exports: [ButtonModule, ImpdcFormsModule, PaginationComponent]
|
|
7676
7695
|
}]
|
|
@@ -8390,9 +8409,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8390
8409
|
class InteractionService {
|
|
8391
8410
|
constructor() {
|
|
8392
8411
|
this._interactables = [];
|
|
8412
|
+
this._backdropQueue = [];
|
|
8393
8413
|
}
|
|
8394
8414
|
get showBackdrop() {
|
|
8395
|
-
return this.
|
|
8415
|
+
return this._backdropQueue.length > 0;
|
|
8396
8416
|
}
|
|
8397
8417
|
registerBackdrop(modalBackdrop) {
|
|
8398
8418
|
// WARNING: there should only be 1 backdrop component, preferably loaded in the body
|
|
@@ -8414,8 +8434,12 @@ class InteractionService {
|
|
|
8414
8434
|
}
|
|
8415
8435
|
}
|
|
8416
8436
|
add(interactable) {
|
|
8417
|
-
|
|
8418
|
-
|
|
8437
|
+
const interactableId = interactable.interactableId;
|
|
8438
|
+
if (interactableId > 0) {
|
|
8439
|
+
if (!this._interactables.some(i => i.interactableId === interactableId)) {
|
|
8440
|
+
this._interactables.push(interactable);
|
|
8441
|
+
}
|
|
8442
|
+
return interactableId;
|
|
8419
8443
|
}
|
|
8420
8444
|
this._interactables.push(interactable);
|
|
8421
8445
|
return this._interactables.length;
|
|
@@ -8425,6 +8449,7 @@ class InteractionService {
|
|
|
8425
8449
|
return;
|
|
8426
8450
|
}
|
|
8427
8451
|
this._interactables.splice(interactableId - 1, 1);
|
|
8452
|
+
this.dequeueBackdrop(interactableId);
|
|
8428
8453
|
}
|
|
8429
8454
|
toggle(interactable) {
|
|
8430
8455
|
if (interactable.interactableId <= 0 || interactable.show) {
|
|
@@ -8438,6 +8463,17 @@ class InteractionService {
|
|
|
8438
8463
|
}
|
|
8439
8464
|
return true;
|
|
8440
8465
|
}
|
|
8466
|
+
queueBackdrop(interactableId) {
|
|
8467
|
+
if (!this._backdropQueue.includes(interactableId)) {
|
|
8468
|
+
this._backdropQueue.push(interactableId);
|
|
8469
|
+
}
|
|
8470
|
+
}
|
|
8471
|
+
dequeueBackdrop(interactableId) {
|
|
8472
|
+
const interactableIdIndex = this._backdropQueue.indexOf(interactableId);
|
|
8473
|
+
if (interactableIdIndex !== -1) {
|
|
8474
|
+
this._backdropQueue.splice(interactableIdIndex, 1);
|
|
8475
|
+
}
|
|
8476
|
+
}
|
|
8441
8477
|
}
|
|
8442
8478
|
InteractionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8443
8479
|
InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, providedIn: 'root' });
|