@universis/common
Version:
Universis - common directives and services
126 lines (125 loc) • 14.6 kB
JavaScript
import { Input, EventEmitter } from '@angular/core';
import { RouterModal } from './RouterModal';
import { ButtonTypes } from './ButtonTypes';
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.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyTW9kYWxBYm9ydFJldHJ5SWdub3JlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVuaXZlcnNpcy9jb21tb24vcm91dGluZy8iLCJzb3VyY2VzIjpbIlJvdXRlck1vZGFsQWJvcnRSZXRyeUlnbm9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBYSxXQUFXLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFdEQsTUFBTSxrQ0FBNEMsU0FBUSxXQUFXO0lBQXJFOztRQUVvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBOEJ0Rix1QkFBdUI7UUFDZixxQkFBZ0IsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQVNoRCxzQkFBaUIsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQVNsRCx5QkFBb0IsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQVNoRSxxQkFBcUI7UUFFckIsdUJBQXVCO1FBQ2YscUJBQWdCLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFTaEQsc0JBQWlCLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFTbEQseUJBQW9CLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFTaEUscUJBQXFCO1FBRXJCLHdCQUF3QjtRQUNoQixzQkFBaUIsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQVNsRCx1QkFBa0IsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQVNwRCwwQkFBcUIsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQztJQWV0RSxDQUFDO0lBMUhHLElBQWMsZ0JBQWdCO1FB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QUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQ1csaUJBQWlCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUFXLGlCQUFpQixDQUFDLEtBQUs7UUFDOUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFDVyxvQkFBb0I7UUFDM0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDdEMsQ0FBQztJQUNELElBQVcsb0JBQW9CLENBQUMsS0FBSztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs4QkFyRkEsS0FBSzsrQkFTTCxLQUFLO2tDQVNMLEtBQUs7OEJBWUwsS0FBSzsrQkFTTCxLQUFLO2tDQVNMLEtBQUs7K0JBWUwsS0FBSztnQ0FTTCxLQUFLO21DQVNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbnB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZGFsIH0gZnJvbSAnLi9Sb3V0ZXJNb2RhbCc7XG5pbXBvcnQge0J1dHRvblR5cGUsIEJ1dHRvblR5cGVzfSBmcm9tICcuL0J1dHRvblR5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvdXRlck1vZGFsQWJvcnRSZXRyeUlnbm9yZSBleHRlbmRzIFJvdXRlck1vZGFsIHtcblxuICAgIHB1YmxpYyByZWFkb25seSBidXR0b25DaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjx7IFsgYnV0dG9uOiBzdHJpbmddOiBCdXR0b25UeXBlIH0+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFib3J0QnV0dG9uU3RhdGUoKTogeyBhYm9ydDogQnV0dG9uVHlwZSB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFib3J0OiB7XG4gICAgICAgICAgICAgICAgYnV0dG9uVGV4dDogdGhpcy5fYWJvcnRCdXR0b25UZXh0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzOiB0aGlzLl9hYm9ydEJ1dHRvbkNsYXNzLFxuICAgICAgICAgICAgICAgIGJ1dHRvbkRpc2FibGVkOiB0aGlzLl9hYm9ydEJ1dHRvbkRpc2FibGVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgcmV0cnlCdXR0b25TdGF0ZSgpOiB7IHJldHJ5OiBCdXR0b25UeXBlIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmV0cnk6IHtcbiAgICAgICAgICAgICAgICBidXR0b25UZXh0OiB0aGlzLl9yZXRyeUJ1dHRvblRleHQsXG4gICAgICAgICAgICAgICAgYnV0dG9uQ2xhc3M6IHRoaXMuX3JldHJ5QnV0dG9uQ2xhc3MsXG4gICAgICAgICAgICAgICAgYnV0dG9uRGlzYWJsZWQ6IHRoaXMuX3JldHJ5QnV0dG9uRGlzYWJsZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBpZ25vcmVCdXR0b25TdGF0ZSgpOiB7IGlnbm9yZTogQnV0dG9uVHlwZSB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlnbm9yZToge1xuICAgICAgICAgICAgICAgIGJ1dHRvblRleHQ6IHRoaXMuX2lnbm9yZUJ1dHRvblRleHQsXG4gICAgICAgICAgICAgICAgYnV0dG9uQ2xhc3M6IHRoaXMuX2lnbm9yZUJ1dHRvbkNsYXNzLFxuICAgICAgICAgICAgICAgIGJ1dHRvbkRpc2FibGVkOiB0aGlzLl9pZ25vcmVCdXR0b25EaXNhYmxlZFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8vIGFib3J0IGJ1dHRvbiAoc3RhcnQpXG4gICAgcHJpdmF0ZSBfYWJvcnRCdXR0b25UZXh0ID0gQnV0dG9uVHlwZXMuYWJvcnQuYnV0dG9uVGV4dDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgYWJvcnRCdXR0b25UZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWJvcnRCdXR0b25UZXh0O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGFib3J0QnV0dG9uVGV4dCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9hYm9ydEJ1dHRvblRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5hYm9ydEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWJvcnRCdXR0b25DbGFzcyA9IEJ1dHRvblR5cGVzLmFib3J0LmJ1dHRvbkNsYXNzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhYm9ydEJ1dHRvbkNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWJvcnRCdXR0b25DbGFzcztcbiAgICB9XG4gICAgcHVibGljIHNldCBhYm9ydEJ1dHRvbkNsYXNzKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Fib3J0QnV0dG9uQ2xhc3MgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5hYm9ydEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfYWJvcnRCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLmFib3J0LmJ1dHRvbkRpc2FibGVkO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBhYm9ydEJ1dHRvbkRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWJvcnRCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBhYm9ydEJ1dHRvbkRpc2FibGVkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2Fib3J0QnV0dG9uRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5hYm9ydEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgLy8gYWJvcnQgYnV0dG9uIChlbmQpXG5cbiAgICAvLyByZXRyeSBidXR0b24gKHN0YXJ0KVxuICAgIHByaXZhdGUgX3JldHJ5QnV0dG9uVGV4dCA9IEJ1dHRvblR5cGVzLnJldHJ5LmJ1dHRvblRleHQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHJldHJ5QnV0dG9uVGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldHJ5QnV0dG9uVGV4dDtcbiAgICB9XG4gICAgcHVibGljIHNldCByZXRyeUJ1dHRvblRleHQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fcmV0cnlCdXR0b25UZXh0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucmV0cnlCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JldHJ5QnV0dG9uQ2xhc3MgPSBCdXR0b25UeXBlcy5yZXRyeS5idXR0b25DbGFzcztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgcmV0cnlCdXR0b25DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldHJ5QnV0dG9uQ2xhc3M7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcmV0cnlCdXR0b25DbGFzcyh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yZXRyeUJ1dHRvbkNsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucmV0cnlCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX3JldHJ5QnV0dG9uRGlzYWJsZWQgPSBCdXR0b25UeXBlcy5yZXRyeS5idXR0b25EaXNhYmxlZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgcmV0cnlCdXR0b25EaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JldHJ5QnV0dG9uRGlzYWJsZWQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcmV0cnlCdXR0b25EaXNhYmxlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9yZXRyeUJ1dHRvbkRpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucmV0cnlCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIC8vIHJldHJ5IGJ1dHRvbiAoZW5kKVxuXG4gICAgLy8gaWdub3JlIGJ1dHRvbiAoc3RhcnQpXG4gICAgcHJpdmF0ZSBfaWdub3JlQnV0dG9uVGV4dCA9IEJ1dHRvblR5cGVzLmlnbm9yZS5idXR0b25UZXh0O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpZ25vcmVCdXR0b25UZXh0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faWdub3JlQnV0dG9uVGV4dDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpZ25vcmVCdXR0b25UZXh0KHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lnbm9yZUJ1dHRvblRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5pZ25vcmVCdXR0b25TdGF0ZSk7XG4gICAgfVxuICAgIHByaXZhdGUgX2lnbm9yZUJ1dHRvbkNsYXNzID0gQnV0dG9uVHlwZXMuaWdub3JlLmJ1dHRvbkNsYXNzO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBpZ25vcmVCdXR0b25DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lnbm9yZUJ1dHRvbkNsYXNzO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlnbm9yZUJ1dHRvbkNsYXNzKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lnbm9yZUJ1dHRvbkNsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMuaWdub3JlQnV0dG9uU3RhdGUpO1xuICAgIH1cbiAgICBwcml2YXRlIF9pZ25vcmVCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLmlnbm9yZS5idXR0b25EaXNhYmxlZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgaWdub3JlQnV0dG9uRGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZ25vcmVCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBpZ25vcmVCdXR0b25EaXNhYmxlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9pZ25vcmVCdXR0b25EaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLmlnbm9yZUJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgLy8gaWdub3JlIGJ1dHRvbiAoZW5kKVxuXG4gICAgLy8gbm9pbnNwZWN0aW9uIEpTVW51c2VkR2xvYmFsU3ltYm9sc1xuICAgIGFic3RyYWN0IGFib3J0KCk6IFByb21pc2U8YW55PjtcbiAgICBhYnN0cmFjdCByZXRyeSgpOiBQcm9taXNlPGFueT47XG4gICAgYWJzdHJhY3QgaWdub3JlKCk6IFByb21pc2U8YW55Pjtcbn1cbiJdfQ==