@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
|
@@ -3561,13 +3561,17 @@ class ModalComponent {
|
|
|
3561
3561
|
* Event emitted when the Modal content is accepted.
|
|
3562
3562
|
*/
|
|
3563
3563
|
this.accept = new EventEmitter();
|
|
3564
|
-
this._interactableId = this._interactionService.add(this);
|
|
3565
3564
|
}
|
|
3566
3565
|
/**
|
|
3567
3566
|
* Determines if the Modal should be shown immediately.
|
|
3568
3567
|
*/
|
|
3569
3568
|
set show(show) {
|
|
3570
|
-
|
|
3569
|
+
if (show) {
|
|
3570
|
+
this.open();
|
|
3571
|
+
}
|
|
3572
|
+
else {
|
|
3573
|
+
this.close();
|
|
3574
|
+
}
|
|
3571
3575
|
}
|
|
3572
3576
|
get interactableId() {
|
|
3573
3577
|
return this._interactableId;
|
|
@@ -3591,6 +3595,7 @@ class ModalComponent {
|
|
|
3591
3595
|
return !this.titleText && !this.dismissable;
|
|
3592
3596
|
}
|
|
3593
3597
|
ngOnInit() {
|
|
3598
|
+
this._interactableId = this._interactionService.add(this);
|
|
3594
3599
|
if (this.dismissable === undefined && this.theme === ModalTheme.Working) {
|
|
3595
3600
|
this.dismissable = true;
|
|
3596
3601
|
}
|
|
@@ -3608,7 +3613,7 @@ class ModalComponent {
|
|
|
3608
3613
|
!!((_c = (_b = (_a = this.dismissEl) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.disabled)) {
|
|
3609
3614
|
return;
|
|
3610
3615
|
}
|
|
3611
|
-
this.
|
|
3616
|
+
this.close();
|
|
3612
3617
|
this.dismiss.emit(event);
|
|
3613
3618
|
}
|
|
3614
3619
|
handleDeny(event) {
|
|
@@ -3616,29 +3621,32 @@ class ModalComponent {
|
|
|
3616
3621
|
if (!!((_c = (_b = (_a = this.denyEl) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.disabled)) {
|
|
3617
3622
|
return;
|
|
3618
3623
|
}
|
|
3619
|
-
this.
|
|
3624
|
+
this.close();
|
|
3620
3625
|
this.deny.emit(event);
|
|
3621
3626
|
}
|
|
3622
3627
|
handleAccept(event) {
|
|
3623
3628
|
var _a, _b, _c;
|
|
3624
|
-
console.log('this.acceptEl', this.acceptEl);
|
|
3625
3629
|
if (!!((_c = (_b = (_a = this.acceptEl) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.firstChild) === null || _c === void 0 ? void 0 : _c.disabled)) {
|
|
3626
3630
|
return;
|
|
3627
3631
|
}
|
|
3628
|
-
this.
|
|
3632
|
+
this.close();
|
|
3629
3633
|
this.accept.emit(event);
|
|
3630
3634
|
}
|
|
3631
3635
|
/**
|
|
3632
|
-
* Opens/shows the modal programmatically.
|
|
3636
|
+
* Opens/shows the modal. Can be used programmatically.
|
|
3633
3637
|
*/
|
|
3634
3638
|
open() {
|
|
3639
|
+
if (this.backdrop) {
|
|
3640
|
+
this._interactionService.queueBackdrop(this.interactableId);
|
|
3641
|
+
}
|
|
3635
3642
|
this._show = true;
|
|
3636
3643
|
}
|
|
3637
3644
|
/**
|
|
3638
|
-
* Closes/hides the modal programmatically.
|
|
3645
|
+
* Closes/hides the modal. Can be used programmatically.
|
|
3639
3646
|
*/
|
|
3640
3647
|
close() {
|
|
3641
3648
|
this._show = false;
|
|
3649
|
+
this._interactionService.dequeueBackdrop(this.interactableId);
|
|
3642
3650
|
}
|
|
3643
3651
|
}
|
|
3644
3652
|
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ModalComponent, deps: [{ token: InteractionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -3872,7 +3880,6 @@ class DropdownComponent {
|
|
|
3872
3880
|
*/
|
|
3873
3881
|
this.buttonClick = new EventEmitter();
|
|
3874
3882
|
this.classBtnGroup = true;
|
|
3875
|
-
this._interactableId = this._interactionService.add(this);
|
|
3876
3883
|
}
|
|
3877
3884
|
get classDropdown() {
|
|
3878
3885
|
return this.position === 'down';
|
|
@@ -3903,6 +3910,9 @@ class DropdownComponent {
|
|
|
3903
3910
|
get shown() {
|
|
3904
3911
|
return this.valid && this.show;
|
|
3905
3912
|
}
|
|
3913
|
+
ngOnInit() {
|
|
3914
|
+
this._interactableId = this._interactionService.add(this);
|
|
3915
|
+
}
|
|
3906
3916
|
ngOnDestroy() {
|
|
3907
3917
|
this._interactionService.remove(this.interactableId);
|
|
3908
3918
|
this._interactableId = 0;
|
|
@@ -7606,22 +7616,24 @@ class PaginationComponent {
|
|
|
7606
7616
|
return Math.ceil(this.total / this.perPage);
|
|
7607
7617
|
}
|
|
7608
7618
|
get firstPageResult() {
|
|
7609
|
-
|
|
7619
|
+
const page = this._getPageClamped();
|
|
7620
|
+
if (this.total < 1 || page < 1 || this.perPage < 1) {
|
|
7610
7621
|
return 0;
|
|
7611
7622
|
}
|
|
7612
|
-
if (
|
|
7623
|
+
if (page === 1) {
|
|
7613
7624
|
return 1;
|
|
7614
7625
|
}
|
|
7615
|
-
if (
|
|
7626
|
+
if (page > Math.ceil(this.total / this.perPage)) {
|
|
7616
7627
|
return this.total;
|
|
7617
7628
|
}
|
|
7618
|
-
return (
|
|
7629
|
+
return (page - 1) * this.perPage + 1;
|
|
7619
7630
|
}
|
|
7620
7631
|
get lastPageResult() {
|
|
7621
|
-
|
|
7632
|
+
const page = this._getPageClamped();
|
|
7633
|
+
if (this.total <= 0 || page < 1 || this.perPage < 1) {
|
|
7622
7634
|
return 0;
|
|
7623
7635
|
}
|
|
7624
|
-
if (
|
|
7636
|
+
if (page === 1) {
|
|
7625
7637
|
if (this.total < this.perPage) {
|
|
7626
7638
|
return this.total;
|
|
7627
7639
|
}
|
|
@@ -7629,26 +7641,38 @@ class PaginationComponent {
|
|
|
7629
7641
|
return this.perPage;
|
|
7630
7642
|
}
|
|
7631
7643
|
}
|
|
7632
|
-
if (this.total < this.perPage *
|
|
7644
|
+
if (this.total < this.perPage * page) {
|
|
7633
7645
|
return this.total;
|
|
7634
7646
|
}
|
|
7635
7647
|
else {
|
|
7636
|
-
return this.perPage *
|
|
7648
|
+
return this.perPage * page;
|
|
7649
|
+
}
|
|
7650
|
+
}
|
|
7651
|
+
_getPageClamped(page) {
|
|
7652
|
+
page = Number(page || this.page || 0);
|
|
7653
|
+
if (isNaN(page) || page < 1) {
|
|
7654
|
+
return 1;
|
|
7637
7655
|
}
|
|
7656
|
+
if (page > this.totalPages) {
|
|
7657
|
+
return this.totalPages;
|
|
7658
|
+
}
|
|
7659
|
+
return page;
|
|
7638
7660
|
}
|
|
7639
7661
|
goToPreviousPage() {
|
|
7640
|
-
|
|
7662
|
+
const page = this._getPageClamped();
|
|
7663
|
+
if (page <= 1) {
|
|
7641
7664
|
return;
|
|
7642
7665
|
}
|
|
7643
|
-
const previousPage =
|
|
7666
|
+
const previousPage = page - 1;
|
|
7644
7667
|
this.page = previousPage;
|
|
7645
7668
|
this.goToPage.emit(previousPage);
|
|
7646
7669
|
}
|
|
7647
7670
|
goToNextPage() {
|
|
7648
|
-
|
|
7671
|
+
const page = this._getPageClamped();
|
|
7672
|
+
if (page >= this.totalPages) {
|
|
7649
7673
|
return;
|
|
7650
7674
|
}
|
|
7651
|
-
const nextPage =
|
|
7675
|
+
const nextPage = page + 1;
|
|
7652
7676
|
this.page = nextPage;
|
|
7653
7677
|
this.goToPage.emit(nextPage);
|
|
7654
7678
|
}
|
|
@@ -7656,25 +7680,20 @@ class PaginationComponent {
|
|
|
7656
7680
|
this.goToExactPage(target === null || target === void 0 ? void 0 : target.value);
|
|
7657
7681
|
}
|
|
7658
7682
|
goToExactPage(page) {
|
|
7659
|
-
|
|
7660
|
-
|
|
7661
|
-
|
|
7662
|
-
|
|
7663
|
-
|
|
7664
|
-
|
|
7665
|
-
|
|
7666
|
-
if (allowedPageNumber > this.totalPages) {
|
|
7667
|
-
allowedPageNumber = this.totalPages;
|
|
7668
|
-
}
|
|
7669
|
-
this.page = allowedPageNumber;
|
|
7670
|
-
this.goToPage.emit(allowedPageNumber);
|
|
7683
|
+
this.page = this._getPageClamped(page);
|
|
7684
|
+
this.goToPage.emit(this.page);
|
|
7685
|
+
}
|
|
7686
|
+
preventDefaultAndBlur(event) {
|
|
7687
|
+
// prevents PRM form submit
|
|
7688
|
+
event.preventDefault();
|
|
7689
|
+
event.target.blur();
|
|
7671
7690
|
}
|
|
7672
7691
|
}
|
|
7673
7692
|
PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7674
|
-
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
|
|
7693
|
+
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"] }] });
|
|
7675
7694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
7676
7695
|
type: Component,
|
|
7677
|
-
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
|
|
7696
|
+
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"] }]
|
|
7678
7697
|
}], propDecorators: { page: [{
|
|
7679
7698
|
type: Input
|
|
7680
7699
|
}], perPage: [{
|
|
@@ -7691,12 +7710,12 @@ class PaginationModule {
|
|
|
7691
7710
|
constructor() { }
|
|
7692
7711
|
}
|
|
7693
7712
|
PaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7694
|
-
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] });
|
|
7695
|
-
PaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule, ButtonModule, ImpdcFormsModule, ButtonModule, ImpdcFormsModule] });
|
|
7713
|
+
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] });
|
|
7714
|
+
PaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, imports: [CommonModule, ButtonModule, FormsModule, ImpdcFormsModule, ButtonModule, ImpdcFormsModule] });
|
|
7696
7715
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: PaginationModule, decorators: [{
|
|
7697
7716
|
type: NgModule,
|
|
7698
7717
|
args: [{
|
|
7699
|
-
imports: [CommonModule, ButtonModule, ImpdcFormsModule],
|
|
7718
|
+
imports: [CommonModule, ButtonModule, FormsModule, ImpdcFormsModule],
|
|
7700
7719
|
declarations: [PaginationComponent],
|
|
7701
7720
|
exports: [ButtonModule, ImpdcFormsModule, PaginationComponent]
|
|
7702
7721
|
}]
|
|
@@ -8423,9 +8442,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
8423
8442
|
class InteractionService {
|
|
8424
8443
|
constructor() {
|
|
8425
8444
|
this._interactables = [];
|
|
8445
|
+
this._backdropQueue = [];
|
|
8426
8446
|
}
|
|
8427
8447
|
get showBackdrop() {
|
|
8428
|
-
return this.
|
|
8448
|
+
return this._backdropQueue.length > 0;
|
|
8429
8449
|
}
|
|
8430
8450
|
registerBackdrop(modalBackdrop) {
|
|
8431
8451
|
// WARNING: there should only be 1 backdrop component, preferably loaded in the body
|
|
@@ -8447,8 +8467,12 @@ class InteractionService {
|
|
|
8447
8467
|
}
|
|
8448
8468
|
}
|
|
8449
8469
|
add(interactable) {
|
|
8450
|
-
|
|
8451
|
-
|
|
8470
|
+
const interactableId = interactable.interactableId;
|
|
8471
|
+
if (interactableId > 0) {
|
|
8472
|
+
if (!this._interactables.some(i => i.interactableId === interactableId)) {
|
|
8473
|
+
this._interactables.push(interactable);
|
|
8474
|
+
}
|
|
8475
|
+
return interactableId;
|
|
8452
8476
|
}
|
|
8453
8477
|
this._interactables.push(interactable);
|
|
8454
8478
|
return this._interactables.length;
|
|
@@ -8458,6 +8482,7 @@ class InteractionService {
|
|
|
8458
8482
|
return;
|
|
8459
8483
|
}
|
|
8460
8484
|
this._interactables.splice(interactableId - 1, 1);
|
|
8485
|
+
this.dequeueBackdrop(interactableId);
|
|
8461
8486
|
}
|
|
8462
8487
|
toggle(interactable) {
|
|
8463
8488
|
if (interactable.interactableId <= 0 || interactable.show) {
|
|
@@ -8471,6 +8496,17 @@ class InteractionService {
|
|
|
8471
8496
|
}
|
|
8472
8497
|
return true;
|
|
8473
8498
|
}
|
|
8499
|
+
queueBackdrop(interactableId) {
|
|
8500
|
+
if (!this._backdropQueue.includes(interactableId)) {
|
|
8501
|
+
this._backdropQueue.push(interactableId);
|
|
8502
|
+
}
|
|
8503
|
+
}
|
|
8504
|
+
dequeueBackdrop(interactableId) {
|
|
8505
|
+
const interactableIdIndex = this._backdropQueue.indexOf(interactableId);
|
|
8506
|
+
if (interactableIdIndex !== -1) {
|
|
8507
|
+
this._backdropQueue.splice(interactableIdIndex, 1);
|
|
8508
|
+
}
|
|
8509
|
+
}
|
|
8474
8510
|
}
|
|
8475
8511
|
InteractionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
8476
8512
|
InteractionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: InteractionService, providedIn: 'root' });
|