UNPKG

@universis/common

Version:

Universis - common directives and services

141 lines 16.2 kB
import { Input, EventEmitter, Component } from '@angular/core'; import { RouterModal } from './RouterModal'; import { ButtonTypes } from './ButtonTypes'; import * as i0 from "@angular/core"; export class RouterModalAbortRetryIgnore extends RouterModal { constructor() { super(...arguments); this.buttonChanges = new EventEmitter(); // abort button (start) this._abortButtonText = ButtonTypes.abort.buttonText; this._abortButtonClass = ButtonTypes.abort.buttonClass; this._abortButtonDisabled = ButtonTypes.abort.buttonDisabled; // abort button (end) // retry button (start) this._retryButtonText = ButtonTypes.retry.buttonText; this._retryButtonClass = ButtonTypes.retry.buttonClass; this._retryButtonDisabled = ButtonTypes.retry.buttonDisabled; // retry button (end) // ignore button (start) this._ignoreButtonText = ButtonTypes.ignore.buttonText; this._ignoreButtonClass = ButtonTypes.ignore.buttonClass; this._ignoreButtonDisabled = ButtonTypes.ignore.buttonDisabled; } get abortButtonState() { return { abort: { buttonText: this._abortButtonText, buttonClass: this._abortButtonClass, buttonDisabled: this._abortButtonDisabled } }; } get retryButtonState() { return { retry: { buttonText: this._retryButtonText, buttonClass: this._retryButtonClass, buttonDisabled: this._retryButtonDisabled } }; } get ignoreButtonState() { return { ignore: { buttonText: this._ignoreButtonText, buttonClass: this._ignoreButtonClass, buttonDisabled: this._ignoreButtonDisabled } }; } get abortButtonText() { return this._abortButtonText; } set abortButtonText(value) { this._abortButtonText = value; this.buttonChanges.emit(this.abortButtonState); } get abortButtonClass() { return this._abortButtonClass; } set abortButtonClass(value) { this._abortButtonClass = value; this.buttonChanges.emit(this.abortButtonState); } get abortButtonDisabled() { return this._abortButtonDisabled; } set abortButtonDisabled(value) { this._abortButtonDisabled = value; this.buttonChanges.emit(this.abortButtonState); } get retryButtonText() { return this._retryButtonText; } set retryButtonText(value) { this._retryButtonText = value; this.buttonChanges.emit(this.retryButtonState); } get retryButtonClass() { return this._retryButtonClass; } set retryButtonClass(value) { this._retryButtonClass = value; this.buttonChanges.emit(this.retryButtonState); } get retryButtonDisabled() { return this._retryButtonDisabled; } set retryButtonDisabled(value) { this._retryButtonDisabled = value; this.buttonChanges.emit(this.retryButtonState); } get ignoreButtonText() { return this._ignoreButtonText; } set ignoreButtonText(value) { this._ignoreButtonText = value; this.buttonChanges.emit(this.ignoreButtonState); } get ignoreButtonClass() { return this._ignoreButtonClass; } set ignoreButtonClass(value) { this._ignoreButtonClass = value; this.buttonChanges.emit(this.ignoreButtonState); } get ignoreButtonDisabled() { return this._ignoreButtonDisabled; } set ignoreButtonDisabled(value) { this._ignoreButtonDisabled = value; this.buttonChanges.emit(this.ignoreButtonState); } } RouterModalAbortRetryIgnore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RouterModalAbortRetryIgnore, deps: null, target: i0.ɵɵFactoryTarget.Component }); RouterModalAbortRetryIgnore.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RouterModalAbortRetryIgnore, selector: "ng-component", inputs: { abortButtonText: "abortButtonText", abortButtonClass: "abortButtonClass", abortButtonDisabled: "abortButtonDisabled", retryButtonText: "retryButtonText", retryButtonClass: "retryButtonClass", retryButtonDisabled: "retryButtonDisabled", ignoreButtonText: "ignoreButtonText", ignoreButtonClass: "ignoreButtonClass", ignoreButtonDisabled: "ignoreButtonDisabled" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RouterModalAbortRetryIgnore, decorators: [{ type: Component, args: [{ template: '' }] }], propDecorators: { abortButtonText: [{ type: Input }], abortButtonClass: [{ type: Input }], abortButtonDisabled: [{ type: Input }], retryButtonText: [{ type: Input }], retryButtonClass: [{ type: Input }], retryButtonDisabled: [{ type: Input }], ignoreButtonText: [{ type: Input }], ignoreButtonClass: [{ type: Input }], ignoreButtonDisabled: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyTW9kYWxBYm9ydFJldHJ5SWdub3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcm91dGluZy9zcmMvUm91dGVyTW9kYWxBYm9ydFJldHJ5SWdub3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBYSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBSXRELE1BQU0sT0FBZ0IsMkJBQTRCLFNBQVEsV0FBVztJQUhyRTs7UUFLb0Isa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBcUMsQ0FBQztRQThCdEYsdUJBQXVCO1FBQ2YscUJBQWdCLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFTaEQsc0JBQWlCLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFTbEQseUJBQW9CLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFTaEUscUJBQXFCO1FBRXJCLHVCQUF1QjtRQUNmLHFCQUFnQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBU2hELHNCQUFpQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBU2xELHlCQUFvQixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBU2hFLHFCQUFxQjtRQUVyQix3QkFBd0I7UUFDaEIsc0JBQWlCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFTbEQsdUJBQWtCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFTcEQsMEJBQXFCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUM7S0FlckU7SUExSEcsSUFBYyxnQkFBZ0I7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LEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFDVyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQVcsaUJBQWlCLENBQUMsS0FBSztRQUM5QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNXLG9CQUFvQjtRQUMzQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsSUFBVyxvQkFBb0IsQ0FBQyxLQUFLO1FBQ2pDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsQ0FBQzs7eUhBdkhpQiwyQkFBMkI7NkdBQTNCLDJCQUEyQiwrYkFGbkMsRUFBRTs0RkFFTSwyQkFBMkI7a0JBSGhELFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7OEJBb0NZLGVBQWU7c0JBRHpCLEtBQUs7Z0JBVUssZ0JBQWdCO3NCQUQxQixLQUFLO2dCQVVLLG1CQUFtQjtzQkFEN0IsS0FBSztnQkFhSyxlQUFlO3NCQUR6QixLQUFLO2dCQVVLLGdCQUFnQjtzQkFEMUIsS0FBSztnQkFVSyxtQkFBbUI7c0JBRDdCLEtBQUs7Z0JBYUssZ0JBQWdCO3NCQUQxQixLQUFLO2dCQVVLLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFVSyxvQkFBb0I7c0JBRDlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZGFsIH0gZnJvbSAnLi9Sb3V0ZXJNb2RhbCc7XG5pbXBvcnQge0J1dHRvblR5cGUsIEJ1dHRvblR5cGVzfSBmcm9tICcuL0J1dHRvblR5cGVzJztcbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiAnJ1xuICB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvdXRlck1vZGFsQWJvcnRSZXRyeUlnbm9yZSBleHRlbmRzIFJvdXRlck1vZGFsIHtcblxuICAgIHB1YmxpYyByZWFkb25seSBidXR0b25DaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjx7IFsgYnV0dG9uOiBzdHJpbmddOiBCdXR0b25UeXBlIH0+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFib3J0QnV0dG9uU3RhdGUoKTogeyBhYm9ydDogQnV0dG9uVHlwZSB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFib3J0OiB7XG4gICAgICAgICAgICAgICAgYnV0dG9uVGV4dDogdGhpcy5fYWJvcnRCdXR0b25UZXh0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzOiB0aGlzLl9hYm9ydEJ1dHRvbkNsYXNzLFxuICAgICAgICAgICAgICAgIGJ1dHRvbkRpc2FibGVkOiB0aGlzLl9hYm9ydEJ1dHRvbkRpc2FibGVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgcmV0cnlCdXR0b25TdGF0ZSgpOiB7IHJldHJ5OiBCdXR0b25UeXBlIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICAgICAgICBidXR0b25UZXh0OiB0aGlzLl9yZXRyeUJ1dHRvblRleHQsXG4gICAgICAgICAgICAgICAgYnV0dG9uQ2xhc3M6IHRoaXMuX3JldHJ5QnV0dG9uQ2xhc3MsXG4gICAgICAgICAgICAgICAgYnV0dG9uRGlzYWJsZWQ6IHRoaXMuX3JldHJ5QnV0dG9uRGlzYWJsZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBpZ25vcmVCdXR0b25TdGF0ZSgpOiB7IGlnbm9yZTogQnV0dG9uVHlwZSB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlnbm9yZToge1xuICAgICAgICAgICAgICAgIGJ1dHRvblRleHQ6IHRoaXMuX2lnbm9yZUJ1dHRvblRleHQsXG4gICAgICAgICAgICAgICAgYnV0dG9uQ2xhc3M6IHRoaXMuX2lnbm9yZUJ1dHRvbkNsYXNzLFxuICAgICAgICAgICAgICAgIGJ1dHRvbkRpc2FibGVkOiB0aGlzLl9pZ25vcmVCdXR0b25EaXNhYmxlZFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIGFib3J0IGJ1dHRvbiAoc3RhcnQpXG4gICAgcHJpdmF0ZSBfYWJvcnRCdXR0b25UZXh0ID0gQnV0dG9uVHlwZXMuYWJvcnQuYnV0dG9uVGV4dDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYWJvcnRCdXR0b25UZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWJvcnRCdXR0b25UZXh0O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGFib3J0QnV0dG9uVGV4dCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9hYm9ydEJ1dHRvblRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5hYm9ydEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWJvcnRCdXR0b25DbGFzcyA9IEJ1dHRvblR5cGVzLmFib3J0LmJ1dHRvbkNsYXNzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhYm9ydEJ1dHRvbkNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWJvcnRCdXR0b25DbGFzcztcbiAgICB9XG4gICAgcHVibGljIHNldCBhYm9ydEJ1dHRvbkNsYXNzKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Fib3J0QnV0dG9uQ2xhc3MgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5hYm9ydEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWJvcnRCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLmFib3J0LmJ1dHRvbkRpc2FibGVkO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhYm9ydEJ1dHRvbkRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWJvcnRCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBhYm9ydEJ1dHRvbkRpc2FibGVkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Fib3J0QnV0dG9uRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5hYm9ydEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgLy8gYWJvcnQgYnV0dG9uIChlbmQpXG5cbiAgICAvLyByZXRyeSBidXR0b24gKHN0YXJ0KVxuICAgIHByaXZhdGUgX3JldHJ5QnV0dG9uVGV4dCA9IEJ1dHRvblR5cGVzLnJldHJ5LmJ1dHRvblRleHQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHJldHJ5QnV0dG9uVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldHJ5QnV0dG9uVGV4dDtcbiAgICB9XG4gICAgcHVibGljIHNldCByZXRyeUJ1dHRvblRleHQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fcmV0cnlCdXR0b25UZXh0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucmV0cnlCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JldHJ5QnV0dG9uQ2xhc3MgPSBCdXR0b25UeXBlcy5yZXRyeS5idXR0b25DbGFzcztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgcmV0cnlCdXR0b25DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldHJ5QnV0dG9uQ2xhc3M7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcmV0cnlCdXR0b25DbGFzcyh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yZXRyeUJ1dHRvbkNsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucmV0cnlCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JldHJ5QnV0dG9uRGlzYWJsZWQgPSBCdXR0b25UeXBlcy5yZXRyeS5idXR0b25EaXNhYmxlZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgcmV0cnlCdXR0b25EaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldHJ5QnV0dG9uRGlzYWJsZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcmV0cnlCdXR0b25EaXNhYmxlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yZXRyeUJ1dHRvbkRpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucmV0cnlCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIC8vIHJldHJ5IGJ1dHRvbiAoZW5kKVxuXG4gICAgLy8gaWdub3JlIGJ1dHRvbiAoc3RhcnQpXG4gICAgcHJpdmF0ZSBfaWdub3JlQnV0dG9uVGV4dCA9IEJ1dHRvblR5cGVzLmlnbm9yZS5idXR0b25UZXh0O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpZ25vcmVCdXR0b25UZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faWdub3JlQnV0dG9uVGV4dDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpZ25vcmVCdXR0b25UZXh0KHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lnbm9yZUJ1dHRvblRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5pZ25vcmVCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lnbm9yZUJ1dHRvbkNsYXNzID0gQnV0dG9uVHlwZXMuaWdub3JlLmJ1dHRvbkNsYXNzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpZ25vcmVCdXR0b25DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lnbm9yZUJ1dHRvbkNsYXNzO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlnbm9yZUJ1dHRvbkNsYXNzKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lnbm9yZUJ1dHRvbkNsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMuaWdub3JlQnV0dG9uU3RhdGUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pZ25vcmVCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLmlnbm9yZS5idXR0b25EaXNhYmxlZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaWdub3JlQnV0dG9uRGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZ25vcmVCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpZ25vcmVCdXR0b25EaXNhYmxlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9pZ25vcmVCdXR0b25EaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLmlnbm9yZUJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgLy8gaWdub3JlIGJ1dHRvbiAoZW5kKVxuXG4gICAgLy8gbm9pbnNwZWN0aW9uIEpTVW51c2VkR2xvYmFsU3ltYm9sc1xuICAgIGFic3RyYWN0IGFib3J0KCk6IFByb21pc2U8YW55PjtcbiAgICBhYnN0cmFjdCByZXRyeSgpOiBQcm9taXNlPGFueT47XG4gICAgYWJzdHJhY3QgaWdub3JlKCk6IFByb21pc2U8YW55Pjtcbn1cbiJdfQ==