@universis/common
Version:
Universis - common directives and services
141 lines • 16.2 kB
JavaScript
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==