{"version":3,"file":"universis-common-routing.mjs","sources":["../../routing/src/ButtonTypes.ts","../../routing/src/RouterModal.ts","../../routing/src/RouterModalYesNo.ts","../../routing/src/RouterModalYesNoCancel.ts","../../routing/src/RouterModalOkCancel.ts","../../routing/src/RouterModalAbortRetryIgnore.ts","../../routing/src/RouterModalPreviousNextCancel.ts","../../routing/src/RouterModalComponent.ts","../../routing/src/RouterModalModule.ts","../../routing/src/public_api.ts","../../routing/src/universis-common-routing.ts"],"sourcesContent":["\nexport declare interface ButtonType {\n    buttonText: string;\n    buttonClass: string;\n    buttonDisabled?: boolean;\n}\n\nexport const ButtonTypes = {\n    ok: {\n      buttonText: 'OK',\n      buttonClass: 'btn btn-indigo',\n      buttonDisabled: false\n    },\n    cancel: {\n      buttonText: 'Cancel',\n      buttonClass: 'btn btn-gray-100',\n      buttonDisabled: false\n    },\n    yes: {\n      buttonText: 'Yes',\n      buttonClass: 'btn btn-primary',\n      buttonDisabled: false\n    },\n    no: {\n      buttonText: 'No',\n      buttonClass: 'btn btn-gray-100',\n      buttonDisabled: false\n    },\n    abort: {\n      buttonText: 'Abort',\n      buttonClass: 'btn btn-danger',\n      buttonDisabled: false\n    },\n    retry: {\n      buttonText: 'Retry',\n      buttonClass: 'btn btn-primary',\n      buttonDisabled: false\n    },\n    ignore: {\n      buttonText: 'Ignore',\n      buttonClass: 'btn btn-warning',\n      buttonDisabled: false\n    },\n    previous: {\n        buttonText: 'Previous',\n        buttonClass: 'btn btn-gray-100',\n        buttonDisabled: false\n    },\n    next: {\n        buttonText: 'Next',\n        buttonClass: 'btn btn-theme',\n        buttonDisabled: false\n    }\n  };\n","import {Input, EventEmitter, Component} from '@angular/core';\nimport {ActivatedRoute, NavigationExtras, Router} from '@angular/router';\n\n\nexport declare interface ModalChanges {\n    modalTitle?: string;\n    modalClass?: string;\n}\n@Component({\n    template: ''\n  })\nexport abstract class RouterModal {\n    constructor(protected router: Router, protected activatedRoute: ActivatedRoute) {\n        //\n    }\n    private _modalTitle: string | undefined;\n    private _modalClass: string | undefined;\n    public readonly modalChanges = new EventEmitter<ModalChanges>();\n\n    /**\n     * Gets or modal window title\n     */\n    @Input()\n    get modalTitle(): string | undefined {\n        return this._modalTitle;\n    }\n    set modalTitle(value: string | undefined) {\n        this._modalTitle = value;\n        this.modalChanges.emit({\n            modalTitle: this._modalTitle,\n            modalClass: this._modalClass,\n        });\n    }\n\n    /**\n     * Gets or sets modal window additional class\n     */\n    @Input()\n    get modalClass(): string | undefined {\n        return this._modalClass;\n    }\n    set modalClass(value: string | undefined) {\n        this._modalClass = value;\n        this.modalChanges.emit({\n            modalTitle: this._modalTitle,\n            modalClass: this._modalClass,\n        });\n    }\n    /**\n     * Closes modal window\n     */\n    public close(navigationExtras?: NavigationExtras) {\n        return this.router.navigate([\n            {\n                outlets: {\n                    modal: null\n                }\n            }\n        ], {\n            relativeTo: this.activatedRoute.parent,\n        }).then( navigationEnd => {\n            if (navigationEnd && navigationExtras) {\n                if (this.activatedRoute.parent && this.activatedRoute.parent.component) {\n                    const finalNavigationExtras = Object.assign({\n                        relativeTo: this.activatedRoute.parent\n                    }, navigationExtras);\n                    return this.router.navigate( [ '.' ], finalNavigationExtras);\n                }\n            }\n            return Promise.resolve(navigationEnd);\n        });\n    }\n}\n","import { Input, EventEmitter, Component } from '@angular/core';\nimport { RouterModal } from './RouterModal';\nimport { ButtonTypes, ButtonType } from './ButtonTypes';\n@Component({\n    template: ''\n  })\nexport abstract class RouterModalYesNo extends RouterModal {\n    public readonly buttonChanges = new EventEmitter<{ [ button: string]: ButtonType }>();\n\n    protected get yesButtonState(): { yes: ButtonType } {\n        return {\n            yes: {\n                buttonText: this._yesButtonText,\n                buttonClass: this._yesButtonClass,\n                buttonDisabled: this._yesButtonDisabled\n            }\n        };\n    }\n\n    protected get noButtonState(): { no: ButtonType } {\n        return {\n            no: {\n                buttonText: this._noButtonText,\n                buttonClass: this._noButtonClass,\n                buttonDisabled: this._noButtonDisabled\n            }\n        };\n    }\n    private _yesButtonText = ButtonTypes.yes.buttonText;\n    @Input()\n    public get yesButtonText() {\n        return this._yesButtonText;\n    }\n    public set yesButtonText(value) {\n        this._yesButtonText = value;\n        this.buttonChanges.emit(this.yesButtonState);\n    }\n    private _yesButtonClass = ButtonTypes.yes.buttonClass;\n    @Input()\n    public get yesButtonClass() {\n        return this._yesButtonClass;\n    }\n    public set yesButtonClass(value) {\n        this._yesButtonClass = value;\n        this.buttonChanges.emit(this.yesButtonState);\n    }\n    private _noButtonText = ButtonTypes.no.buttonText;\n    @Input()\n    public get noButtonText() {\n        return this._noButtonText;\n    }\n    public set noButtonText(value) {\n        this._noButtonText = value;\n        this.buttonChanges.emit(this.noButtonState);\n    }\n    private _noButtonClass = ButtonTypes.no.buttonClass;\n    @Input()\n    public get noButtonClass() {\n        return this._noButtonClass;\n    }\n    public set noButtonClass(value) {\n        this._noButtonClass = value;\n        this.buttonChanges.emit(this.noButtonState);\n    }\n\n    private _yesButtonDisabled = ButtonTypes.yes.buttonDisabled;\n    @Input()\n    public get yesButtonDisabled() {\n        return this._yesButtonDisabled;\n    }\n    public set yesButtonDisabled(value) {\n        this._yesButtonDisabled = value;\n        this.buttonChanges.emit(this.yesButtonState);\n    }\n\n    private _noButtonDisabled = ButtonTypes.no.buttonDisabled;\n    @Input()\n    public get noButtonDisabled() {\n        return this._noButtonDisabled;\n    }\n    public set noButtonDisabled(value) {\n        this._noButtonDisabled = value;\n       this.buttonChanges.emit(this.noButtonState);\n    }\n\n    abstract yes(): Promise<any>;\n    abstract no(): Promise<any>;\n}\n","import { Component, Input } from '@angular/core';\nimport { ButtonTypes, ButtonType } from './ButtonTypes';\nimport { RouterModalYesNo } from './RouterModalYesNo';\n// noinspection JSUnusedGlobalSymbols\n@Component({\n    template: ''\n  })\nexport abstract class RouterModalYesNoCancel extends RouterModalYesNo {\n\n    protected get cancelButtonState(): { cancel: ButtonType } {\n        return {\n            cancel: {\n                buttonText: this._cancelButtonText,\n                buttonClass: this._cancelButtonClass,\n                buttonDisabled: this._cancelButtonDisabled\n            }\n        };\n    }\n\n    private _cancelButtonText = ButtonTypes.cancel.buttonText;\n    @Input()\n    public get cancelButtonText() {\n        return this._cancelButtonText;\n    }\n    public set cancelButtonText(value) {\n        this._cancelButtonText = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    private _cancelButtonClass = ButtonTypes.cancel.buttonClass;\n    @Input()\n    public get cancelButtonClass() {\n        return this._cancelButtonClass;\n    }\n    public set cancelButtonClass(value) {\n        this._cancelButtonClass = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    private _cancelButtonDisabled = ButtonTypes.cancel.buttonDisabled;\n    @Input()\n    public get cancelButtonDisabled() {\n        return this._cancelButtonDisabled;\n    }\n    public set cancelButtonDisabled(value) {\n        this._cancelButtonDisabled = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    abstract yes(): Promise<any>;\n    abstract no(): Promise<any>;\n    abstract cancel(): Promise<any>;\n}\n","import { Input, EventEmitter, Component } from '@angular/core';\nimport { RouterModal } from './RouterModal';\nimport { ButtonTypes, ButtonType } from './ButtonTypes';\n@Component({\n    template: ''\n  })\nexport abstract class RouterModalOkCancel extends RouterModal {\n    public readonly buttonChanges = new EventEmitter<{ [ button: string]: ButtonType }>();\n\n    protected get okButtonState(): { ok: ButtonType } {\n        return {\n            ok: {\n                buttonText: this._okButtonText,\n                buttonClass: this._okButtonClass,\n                buttonDisabled: this._okButtonDisabled\n            }\n        };\n    }\n\n    protected get cancelButtonState(): { cancel: ButtonType } {\n        return {\n            cancel: {\n                buttonText: this._cancelButtonText,\n                buttonClass: this._cancelButtonClass,\n                buttonDisabled: this._cancelButtonDisabled\n            }\n        };\n    }\n\n    private _okButtonText = ButtonTypes.ok.buttonText;\n    @Input()\n    public get okButtonText() {\n        return this._okButtonText;\n    }\n    public set okButtonText(value) {\n        this._okButtonText = value;\n        this.buttonChanges.emit(this.okButtonState);\n    }\n\n    private _okButtonClass = ButtonTypes.ok.buttonClass;\n    @Input()\n    public get okButtonClass() {\n        return this._okButtonClass;\n    }\n    public set okButtonClass(value) {\n        this._okButtonClass = value;\n        this.buttonChanges.emit(this.okButtonState);\n    }\n\n    private _cancelButtonText = ButtonTypes.cancel.buttonText;\n    @Input()\n    public get cancelButtonText() {\n        return this._cancelButtonText;\n    }\n    public set cancelButtonText(value) {\n        this._cancelButtonText = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    private _cancelButtonClass = ButtonTypes.cancel.buttonClass;\n    @Input()\n    public get cancelButtonClass() {\n        return this._cancelButtonClass;\n    }\n    public set cancelButtonClass(value) {\n        this._cancelButtonClass = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    private _okButtonDisabled = ButtonTypes.ok.buttonDisabled;\n    @Input()\n    public get okButtonDisabled() {\n        return this._okButtonDisabled;\n    }\n    public set okButtonDisabled(value) {\n        this._okButtonDisabled = value;\n        this.buttonChanges.emit(this.okButtonState);\n    }\n\n    private _cancelButtonDisabled = ButtonTypes.cancel.buttonDisabled;\n    @Input()\n    public get cancelButtonDisabled() {\n        return this._cancelButtonDisabled;\n    }\n    public set cancelButtonDisabled(value) {\n        this._cancelButtonDisabled = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n    abstract ok(): Promise<any>;\n    abstract cancel(): Promise<any>;\n}\n","import { Input, EventEmitter, Component } from '@angular/core';\nimport { RouterModal } from './RouterModal';\nimport {ButtonType, ButtonTypes} from './ButtonTypes';\n@Component({\n    template: ''\n  })\nexport abstract class RouterModalAbortRetryIgnore extends RouterModal {\n\n    public readonly buttonChanges = new EventEmitter<{ [ button: string]: ButtonType }>();\n\n    protected get abortButtonState(): { abort: ButtonType } {\n        return {\n            abort: {\n                buttonText: this._abortButtonText,\n                buttonClass: this._abortButtonClass,\n                buttonDisabled: this._abortButtonDisabled\n            }\n        };\n    }\n    protected get retryButtonState(): { retry: ButtonType } {\n        return {\n            retry: {\n                buttonText: this._retryButtonText,\n                buttonClass: this._retryButtonClass,\n                buttonDisabled: this._retryButtonDisabled\n            }\n        };\n    }\n    protected get ignoreButtonState(): { ignore: ButtonType } {\n        return {\n            ignore: {\n                buttonText: this._ignoreButtonText,\n                buttonClass: this._ignoreButtonClass,\n                buttonDisabled: this._ignoreButtonDisabled\n            }\n        };\n    }\n\n    // abort button (start)\n    private _abortButtonText = ButtonTypes.abort.buttonText;\n    @Input()\n    public get abortButtonText() {\n        return this._abortButtonText;\n    }\n    public set abortButtonText(value) {\n        this._abortButtonText = value;\n        this.buttonChanges.emit(this.abortButtonState);\n    }\n    private _abortButtonClass = ButtonTypes.abort.buttonClass;\n    @Input()\n    public get abortButtonClass() {\n        return this._abortButtonClass;\n    }\n    public set abortButtonClass(value) {\n        this._abortButtonClass = value;\n        this.buttonChanges.emit(this.abortButtonState);\n    }\n    private _abortButtonDisabled = ButtonTypes.abort.buttonDisabled;\n    @Input()\n    public get abortButtonDisabled() {\n        return this._abortButtonDisabled;\n    }\n    public set abortButtonDisabled(value) {\n        this._abortButtonDisabled = value;\n        this.buttonChanges.emit(this.abortButtonState);\n    }\n    // abort button (end)\n\n    // retry button (start)\n    private _retryButtonText = ButtonTypes.retry.buttonText;\n    @Input()\n    public get retryButtonText() {\n        return this._retryButtonText;\n    }\n    public set retryButtonText(value) {\n        this._retryButtonText = value;\n        this.buttonChanges.emit(this.retryButtonState);\n    }\n    private _retryButtonClass = ButtonTypes.retry.buttonClass;\n    @Input()\n    public get retryButtonClass() {\n        return this._retryButtonClass;\n    }\n    public set retryButtonClass(value) {\n        this._retryButtonClass = value;\n        this.buttonChanges.emit(this.retryButtonState);\n    }\n    private _retryButtonDisabled = ButtonTypes.retry.buttonDisabled;\n    @Input()\n    public get retryButtonDisabled() {\n        return this._retryButtonDisabled;\n    }\n    public set retryButtonDisabled(value) {\n        this._retryButtonDisabled = value;\n        this.buttonChanges.emit(this.retryButtonState);\n    }\n    // retry button (end)\n\n    // ignore button (start)\n    private _ignoreButtonText = ButtonTypes.ignore.buttonText;\n    @Input()\n    public get ignoreButtonText() {\n        return this._ignoreButtonText;\n    }\n    public set ignoreButtonText(value) {\n        this._ignoreButtonText = value;\n        this.buttonChanges.emit(this.ignoreButtonState);\n    }\n    private _ignoreButtonClass = ButtonTypes.ignore.buttonClass;\n    @Input()\n    public get ignoreButtonClass() {\n        return this._ignoreButtonClass;\n    }\n    public set ignoreButtonClass(value) {\n        this._ignoreButtonClass = value;\n        this.buttonChanges.emit(this.ignoreButtonState);\n    }\n    private _ignoreButtonDisabled = ButtonTypes.ignore.buttonDisabled;\n    @Input()\n    public get ignoreButtonDisabled() {\n        return this._ignoreButtonDisabled;\n    }\n    public set ignoreButtonDisabled(value) {\n        this._ignoreButtonDisabled = value;\n        this.buttonChanges.emit(this.ignoreButtonState);\n    }\n    // ignore button (end)\n\n    // noinspection JSUnusedGlobalSymbols\n    abstract abort(): Promise<any>;\n    abstract retry(): Promise<any>;\n    abstract ignore(): Promise<any>;\n}\n","import {Component, EventEmitter, Input} from '@angular/core';\nimport { RouterModal } from './RouterModal';\nimport { ButtonTypes, ButtonType } from './ButtonTypes';\n\n// noinspection JSUnusedGlobalSymbols\n@Component({\n    template: ''\n  })\nexport abstract class RouterModalPreviousNextCancel extends RouterModal {\n\n    public readonly buttonChanges = new EventEmitter<{ [ button: string]: ButtonType }>();\n\n    protected get previousButtonState(): { previous: ButtonType } {\n        return {\n            previous: {\n                buttonText: this._previousButtonText,\n                buttonClass: this._previousButtonClass,\n                buttonDisabled: this._previousButtonDisabled\n            }\n        };\n    }\n\n    protected get nextButtonState(): { next: ButtonType } {\n        return {\n            next: {\n                buttonText: this._nextButtonText,\n                buttonClass: this._nextButtonClass,\n                buttonDisabled: this._nextButtonDisabled\n            }\n        };\n    }\n\n    protected get cancelButtonState(): { cancel: ButtonType } {\n        return {\n            cancel: {\n                buttonText: this._cancelButtonText,\n                buttonClass: this._cancelButtonClass,\n                buttonDisabled: this._cancelButtonDisabled\n            }\n        };\n    }\n\n    private _previousButtonText = ButtonTypes.previous.buttonText;\n    @Input()\n    public get previousButtonText() {\n        return this._previousButtonText;\n    }\n    public set previousButtonText(value) {\n        this._previousButtonText = value;\n        this.buttonChanges.emit(this.previousButtonState);\n    }\n\n    private _previousButtonClass = ButtonTypes.previous.buttonClass;\n    @Input()\n    public get previousButtonClass() {\n        return this._previousButtonClass;\n    }\n    public set previousButtonClass(value) {\n        this._previousButtonClass = value;\n        this.buttonChanges.emit(this.previousButtonState);\n    }\n\n    private _previousButtonDisabled = ButtonTypes.previous.buttonDisabled;\n    @Input()\n    public get previousButtonDisabled() {\n        return this._previousButtonDisabled;\n    }\n    public set previousButtonDisabled(value) {\n        this._previousButtonDisabled = value;\n        this.buttonChanges.emit(this.previousButtonState);\n    }\n\n    private _nextButtonText = ButtonTypes.next.buttonText;\n    @Input()\n    public get nextButtonText() {\n        return this._nextButtonText;\n    }\n    public set nextButtonText(value) {\n        this._nextButtonText = value;\n        this.buttonChanges.emit(this.nextButtonState);\n    }\n\n    private _nextButtonClass = ButtonTypes.next.buttonClass;\n    @Input()\n    public get nextButtonClass() {\n        return this._nextButtonClass;\n    }\n    public set nextButtonClass(value) {\n        this._nextButtonClass = value;\n        this.buttonChanges.emit(this.nextButtonState);\n    }\n\n    private _nextButtonDisabled = ButtonTypes.next.buttonDisabled;\n    @Input()\n    public get nextButtonDisabled() {\n        return this._nextButtonDisabled;\n    }\n    public set nextButtonDisabled(value) {\n        this._nextButtonDisabled = value;\n        this.buttonChanges.emit(this.nextButtonState);\n    }\n\n    private _cancelButtonText = ButtonTypes.cancel.buttonText;\n    @Input()\n    public get cancelButtonText() {\n        return this._cancelButtonText;\n    }\n    public set cancelButtonText(value) {\n        this._cancelButtonText = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    private _cancelButtonClass = ButtonTypes.cancel.buttonClass;\n    @Input()\n    public get cancelButtonClass() {\n        return this._cancelButtonClass;\n    }\n    public set cancelButtonClass(value) {\n        this._cancelButtonClass = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n\n    private _cancelButtonDisabled = ButtonTypes.cancel.buttonDisabled;\n    @Input()\n    public get cancelButtonDisabled() {\n        return this._cancelButtonDisabled;\n    }\n    public set cancelButtonDisabled(value) {\n        this._cancelButtonDisabled = value;\n        this.buttonChanges.emit(this.cancelButtonState);\n    }\n    abstract previous(): Promise<any>;\n    abstract next(): Promise<any>;\n    abstract cancel(): Promise<any>;\n}\n","import {Component, Input, ElementRef, ViewEncapsulation, EventEmitter, Renderer2} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {Subscription} from 'rxjs';\nimport { ButtonTypes, ButtonType } from './ButtonTypes';\nimport { ModalChanges } from './RouterModal';\n\nexport declare interface RouterModalOutletComponent {\n  modalTitle: string;\n  modalClass: string;\n  statusChanges: EventEmitter<any>;\n}\n\n@Component({\n  // tslint:disable-next-line:component-selector\n  selector: 'router-modal',\n  template: `\n  <div class=\"bd-modal d-none\">\n    <div class=\"modal-backdrop fade d-none\"></div>\n    <div class=\"modal\" tabindex=\"-1\" role=\"dialog\" [ngClass]=\"{ 'modal-waiting': waiting }\">\n    <div class=\"modal-dialog\" [ngClass]=\"modalInstanceClass\" role=\"document\">\n      <div class=\"modal-content\">\n        <div class=\"modal-header\" *ngIf=\"modalInstanceTitle\">\n          <h5 class=\"modal-title\">{{modalInstanceTitle | translate}}</h5>\n          <button *ngIf=\"instanceButtons.cancel\" [disabled]=\"waiting || instanceButtons.cancel.buttonDisabled\" (click)=\"cancel()\"\n                  type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Cancel\">\n            <span aria-hidden=\"true\">&times;</span>\n          </button>\n        </div>\n        <div class=\"modal-body\">\n          <router-outlet (activate)=\"onActivate($event)\" (deactivate)=\"onDeactivate($event)\" name=\"modal\"></router-outlet>\n        </div>\n        <div class=\"modal-footer justify-content-end\">\n          <button *ngIf=\"instanceButtons.previous\" [disabled]=\"waiting || instanceButtons.previous.buttonDisabled\" (click)=\"previous()\"\n                  type=\"button\" [ngClass]=\"instanceButtons.previous.buttonClass\">\n            {{instanceButtons.previous.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.ok\" [disabled]=\"waiting || instanceButtons.ok.buttonDisabled\" (click)=\"ok()\"\n                  type=\"button\" [ngClass]=\"instanceButtons.ok.buttonClass\">\n            {{instanceButtons.ok.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.yes\" [disabled]=\"waiting || instanceButtons.yes.buttonDisabled\"\n                  (click)=\"yes()\" type=\"button\" [ngClass]=\"instanceButtons.yes.buttonClass\">\n            {{instanceButtons.yes.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.no\" [disabled]=\"waiting || instanceButtons.no.buttonDisabled\"\n                  (click)=\"no()\" type=\"button\" [ngClass]=\"instanceButtons.no.buttonClass\">\n            {{instanceButtons.no.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.next\" [disabled]=\"waiting || instanceButtons.next.buttonDisabled\" (click)=\"next()\"\n                  type=\"button\" [ngClass]=\"instanceButtons.next.buttonClass\">\n            {{instanceButtons.next.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.cancel\" [disabled]=\"waiting || instanceButtons.cancel.buttonDisabled\"\n                  (click)=\"cancel()\" type=\"button\" [ngClass]=\"instanceButtons.cancel.buttonClass\" data-dismiss=\"modal\">\n            {{instanceButtons.cancel.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.abort\" [disabled]=\"waiting || instanceButtons.abort.buttonDisabled\"\n                  (click)=\"abort()\" type=\"button\" [ngClass]=\"instanceButtons.abort.buttonClass\">\n            {{instanceButtons.abort.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.retry\" [disabled]=\"waiting || instanceButtons.retry.buttonDisabled\"\n                  (click)=\"retry()\" type=\"button\" [ngClass]=\"instanceButtons.retry.buttonClass\">\n            {{instanceButtons.retry.buttonText | translate}}\n          </button>\n          <button *ngIf=\"instanceButtons.ignore\" [disabled]=\"waiting || instanceButtons.ignore.buttonDisabled\"\n                  (click)=\"ignore()\" type=\"button\" [ngClass]=\"instanceButtons.ignore.buttonClass\" data-dismiss=\"modal\">\n            {{instanceButtons.ignore.buttonText | translate}}\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n  </div>\n  `,\n  styles: [`\n    .bd-modal .modal {\n        position: fixed;\n        right: auto;\n        bottom: auto;\n        z-index: 1045;\n        display: block;\n        }\n        .bd-modal .modal .modal-body {\n                margin-top: 0;\n                margin-bottom: 0;\n          }\n        .bd-modal .modal.modal-waiting {\n            opacity: 0.6;\n          }\n  `],\n  encapsulation: ViewEncapsulation.None\n})\nexport class RouterModalComponent {\n\n  private componentReference: any;\n  private componentModalChanges: Subscription | null = null;\n  private componentButtonChanges: Subscription | null = null;\n  public waiting = false;\n  @Input() modalTitle = '';\n  @Input() modalClass: string | undefined;\n\n  // these properties are here as inputs in order to have a way to customize text and class of each button\n\n  @Input() okButtonText = ButtonTypes.ok.buttonText;\n  @Input() okButtonClass = ButtonTypes.ok.buttonClass;\n\n  @Input() cancelButtonText = ButtonTypes.cancel.buttonText;\n  @Input() cancelButtonClass = ButtonTypes.cancel.buttonClass;\n\n  @Input() yesButtonText = ButtonTypes.yes.buttonText ;\n  @Input() yesButtonClass = ButtonTypes.yes.buttonClass;\n\n  @Input() noButtonText = ButtonTypes.no.buttonText ;\n  @Input() noButtonClass = ButtonTypes.no.buttonClass;\n\n  @Input() abortButtonText = ButtonTypes.abort.buttonText;\n  @Input() abortButtonClass = ButtonTypes.abort.buttonClass;\n\n  @Input() retryButtonText = ButtonTypes.retry.buttonText;\n  @Input() retryButtonClass = ButtonTypes.retry.buttonClass;\n\n  @Input() ignoreButtonText = ButtonTypes.ignore.buttonText;\n  @Input() ignoreButtonClass = ButtonTypes.ignore.buttonClass;\n\n  @Input() previousButtonText = ButtonTypes.previous.buttonText;\n  @Input() previousButtonClass = ButtonTypes.previous.buttonClass;\n\n  @Input() nextButtonText = ButtonTypes.next.buttonText;\n  @Input() nextButtonClass = ButtonTypes.next.buttonClass;\n\n  public modalInstanceTitle: string | undefined;\n  public modalInstanceClass: string | undefined;\n\n  // default instance buttons\n\n  public instanceButtons: {\n    ok: ButtonType | null,\n    cancel: ButtonType | null,\n    yes: ButtonType | null,\n    no: ButtonType | null,\n    abort: ButtonType | null,\n    retry: ButtonType | null,\n    ignore: ButtonType | null,\n    previous: ButtonType | null,\n    next: ButtonType | null\n  } = {\n    ok: null,\n    cancel: null,\n    yes: null,\n    no: null,\n    abort: null,\n    retry: null,\n    ignore: null,\n    previous: null,\n    next: null\n  };\n\n  constructor(private _element: ElementRef,\n            private _activatedRoute: ActivatedRoute,\n            private _router: Router,\n            private _renderer: Renderer2) {\n\n  }\n\n  async cancel() {\n    try {\n      if (this.componentReference) {\n\n        // set waiting\n        this.waiting = true;\n        // if component has cancel() method\n        if (typeof this.componentReference.cancel === 'function') {\n          // do cancel\n          await this.componentReference.cancel();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async ok() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.ok === 'function') {\n          // do submit\n          await this.componentReference.ok();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async abort() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.abort === 'function') {\n          // do submit\n          await this.componentReference.abort();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async retry() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.retry === 'function') {\n          // do submit\n          await this.componentReference.retry();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async ignore() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.ignore === 'function') {\n          // do submit\n          await this.componentReference.ignore();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async previous() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.previous === 'function') {\n          // do submit\n          await this.componentReference.previous();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async next() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.next === 'function') {\n          // do submit\n          await this.componentReference.next();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async yes() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.yes === 'function') {\n          // do submit\n          await this.componentReference.yes();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  async no() {\n    try {\n      if (this.componentReference) {\n        // set waiting\n        this.waiting = true;\n        if (typeof this.componentReference.no === 'function') {\n          // do submit\n          await this.componentReference.no();\n        } else {\n          await this._router.navigate(['../'], { relativeTo: this._activatedRoute });\n        }\n        // unset waiting\n        this.waiting = false;\n      }\n    } catch (err) {\n      this.waiting = false;\n    }\n  }\n\n  onActivate(event) {\n    this.componentReference = event;\n    // get router outlet component\n    if (this.componentReference) {\n\n        if (this.componentReference.buttonChanges) {\n            // subscribe for any button changes\n            this.componentButtonChanges = this.componentReference.buttonChanges\n                .subscribe( (buttonChange: { [ button: string]: ButtonType }) => {\n                if (buttonChange) {\n                    // assign button changes\n                    Object.assign(this.instanceButtons, buttonChange);\n                }\n            });\n        }\n\n      if (this.componentReference.modalChanges) {\n          // get modal changes\n          this.componentModalChanges = this.componentReference.modalChanges.subscribe( (modalChanges: ModalChanges) => {\n              this.modalInstanceTitle = modalChanges.modalTitle;\n              if (modalChanges.modalClass) {\n                  this.modalInstanceClass = modalChanges.modalClass;\n              }\n          });\n      }\n      // get title\n      this.modalInstanceTitle = this.componentReference.modalTitle;\n      // get class\n      this.modalInstanceClass = this.componentReference.modalClass;\n      // hold this to validate buttons\n      let hasAtLeastOneButton = false;\n      this.instanceButtons = {\n        ok: null,\n        cancel: null,\n        yes: null,\n        no: null,\n        abort: null,\n        retry: null,\n        ignore: null,\n        previous: null,\n        next: null\n      };\n      // enumerate button types\n      Object.keys(ButtonTypes).forEach( key => {\n        // search if component has a method with the same name\n        if (typeof this.componentReference[key] === 'function') {\n          // enable button\n          this.instanceButtons[key] = Object.assign({ }, ButtonTypes[key]);\n          hasAtLeastOneButton = true;\n          const buttonTextProperty = `${key}ButtonText`;\n          if (this.componentReference.hasOwnProperty(buttonTextProperty)) {\n            this.instanceButtons[key].buttonText = this.componentReference[buttonTextProperty];\n          } else {\n            // get property from this component\n            this.instanceButtons[key].buttonText = this[buttonTextProperty];\n          }\n          const buttonClassProperty = `${key}ButtonClass`;\n          if (this.componentReference.hasOwnProperty(buttonClassProperty)) {\n            this.instanceButtons[key].buttonClass = this.componentReference[buttonClassProperty];\n          } else {\n            // get property from this component\n            this.instanceButtons[key].buttonClass = this[buttonClassProperty];\n          }\n        }\n      });\n      if (!hasAtLeastOneButton) {\n        // there are no buttons, so add only ok\n        this.instanceButtons.ok = Object.assign({ }, ButtonTypes.ok);\n      }\n    }\n    const backdropElement = <HTMLDivElement> this._element.nativeElement.querySelector('.modal-backdrop');\n    this._element.nativeElement.querySelector('.bd-modal').classList.remove('d-none');\n    this._renderer.addClass(document.body, 'overflow-hidden');\n    this._renderer.addClass(document.body, 'pr-3');\n    // add large modal default styles\n    // this operation adds scrolling to modal container\n    // in cases where modal overflows the height of the container\n    const modalElement = this._element.nativeElement.querySelector('.modal');\n    if (modalElement) {\n      modalElement.style.setProperty('overflow-x', 'hidden');\n      modalElement.style.setProperty('overflow-y', 'auto');\n    }\n    if (backdropElement) {\n      // remove d-none\n      backdropElement.classList.remove('d-none');\n      // add show\n      backdropElement.classList.add('show');\n    }\n    return false;\n  }\n\n  // noinspection JSUnusedLocalSymbols\n  onDeactivate(event) {\n    if (this.componentModalChanges) {\n      this.componentModalChanges.unsubscribe();\n      this.componentModalChanges = null;\n    }\n    if (this.componentButtonChanges) {\n      this.componentButtonChanges.unsubscribe();\n      this.componentButtonChanges = null;\n    }\n    // restore properties\n    this.modalInstanceTitle = this.modalTitle;\n    this.modalInstanceClass = this.modalClass;\n\n    this.componentReference = null;\n    const backdropElement = <HTMLDivElement> this._element.nativeElement.querySelector('.modal-backdrop');\n    this._element.nativeElement.querySelector('.bd-modal').classList.add('d-none');\n    this._renderer.removeClass(document.body, 'overflow-hidden');\n    this._renderer.removeClass(document.body, 'pr-3');\n    if (backdropElement) {\n      // remove show\n      backdropElement.classList.remove('show');\n      // add d-none\n      backdropElement.classList.add('d-none');\n    }\n    return false;\n  }\n\n}\n","import {NgModule} from '@angular/core';\nimport { RouterModalComponent } from './RouterModalComponent';\nimport {RouterModule} from '@angular/router';\nimport {CommonModule} from '@angular/common';\nimport {TranslateModule} from '@ngx-translate/core';\n\n@NgModule({\n  declarations: [RouterModalComponent],\n  imports: [\n    RouterModule,\n    CommonModule,\n    TranslateModule\n  ],\n  providers: [\n  ],\n  exports: [RouterModalComponent]\n})\nexport class RouterModalModule {\n  constructor() {\n    //\n  }\n}\n","/*\n * Public API Surface of modals\n */\nexport * from './ButtonTypes';\nexport * from './RouterModal';\nexport * from './RouterModalYesNo';\nexport * from './RouterModalYesNoCancel';\nexport * from './RouterModalOkCancel';\nexport * from './RouterModalAbortRetryIgnore';\nexport * from './RouterModalPreviousNextCancel';\nexport * from './RouterModalComponent';\nexport * from './RouterModalModule';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}