UNPKG

@universis/common

Version:

Universis - common directives and services

137 lines 16 kB
import { Component, EventEmitter, Input } from '@angular/core'; import { RouterModal } from './RouterModal'; import { ButtonTypes } from './ButtonTypes'; import * as i0 from "@angular/core"; // noinspection JSUnusedGlobalSymbols export class RouterModalPreviousNextCancel extends RouterModal { constructor() { super(...arguments); this.buttonChanges = new EventEmitter(); this._previousButtonText = ButtonTypes.previous.buttonText; this._previousButtonClass = ButtonTypes.previous.buttonClass; this._previousButtonDisabled = ButtonTypes.previous.buttonDisabled; this._nextButtonText = ButtonTypes.next.buttonText; this._nextButtonClass = ButtonTypes.next.buttonClass; this._nextButtonDisabled = ButtonTypes.next.buttonDisabled; this._cancelButtonText = ButtonTypes.cancel.buttonText; this._cancelButtonClass = ButtonTypes.cancel.buttonClass; this._cancelButtonDisabled = ButtonTypes.cancel.buttonDisabled; } get previousButtonState() { return { previous: { buttonText: this._previousButtonText, buttonClass: this._previousButtonClass, buttonDisabled: this._previousButtonDisabled } }; } get nextButtonState() { return { next: { buttonText: this._nextButtonText, buttonClass: this._nextButtonClass, buttonDisabled: this._nextButtonDisabled } }; } get cancelButtonState() { return { cancel: { buttonText: this._cancelButtonText, buttonClass: this._cancelButtonClass, buttonDisabled: this._cancelButtonDisabled } }; } get previousButtonText() { return this._previousButtonText; } set previousButtonText(value) { this._previousButtonText = value; this.buttonChanges.emit(this.previousButtonState); } get previousButtonClass() { return this._previousButtonClass; } set previousButtonClass(value) { this._previousButtonClass = value; this.buttonChanges.emit(this.previousButtonState); } get previousButtonDisabled() { return this._previousButtonDisabled; } set previousButtonDisabled(value) { this._previousButtonDisabled = value; this.buttonChanges.emit(this.previousButtonState); } get nextButtonText() { return this._nextButtonText; } set nextButtonText(value) { this._nextButtonText = value; this.buttonChanges.emit(this.nextButtonState); } get nextButtonClass() { return this._nextButtonClass; } set nextButtonClass(value) { this._nextButtonClass = value; this.buttonChanges.emit(this.nextButtonState); } get nextButtonDisabled() { return this._nextButtonDisabled; } set nextButtonDisabled(value) { this._nextButtonDisabled = value; this.buttonChanges.emit(this.nextButtonState); } get cancelButtonText() { return this._cancelButtonText; } set cancelButtonText(value) { this._cancelButtonText = value; this.buttonChanges.emit(this.cancelButtonState); } get cancelButtonClass() { return this._cancelButtonClass; } set cancelButtonClass(value) { this._cancelButtonClass = value; this.buttonChanges.emit(this.cancelButtonState); } get cancelButtonDisabled() { return this._cancelButtonDisabled; } set cancelButtonDisabled(value) { this._cancelButtonDisabled = value; this.buttonChanges.emit(this.cancelButtonState); } } RouterModalPreviousNextCancel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RouterModalPreviousNextCancel, deps: null, target: i0.ɵɵFactoryTarget.Component }); RouterModalPreviousNextCancel.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RouterModalPreviousNextCancel, selector: "ng-component", inputs: { previousButtonText: "previousButtonText", previousButtonClass: "previousButtonClass", previousButtonDisabled: "previousButtonDisabled", nextButtonText: "nextButtonText", nextButtonClass: "nextButtonClass", nextButtonDisabled: "nextButtonDisabled", cancelButtonText: "cancelButtonText", cancelButtonClass: "cancelButtonClass", cancelButtonDisabled: "cancelButtonDisabled" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RouterModalPreviousNextCancel, decorators: [{ type: Component, args: [{ template: '' }] }], propDecorators: { previousButtonText: [{ type: Input }], previousButtonClass: [{ type: Input }], previousButtonDisabled: [{ type: Input }], nextButtonText: [{ type: Input }], nextButtonClass: [{ type: Input }], nextButtonDisabled: [{ type: Input }], cancelButtonText: [{ type: Input }], cancelButtonClass: [{ type: Input }], cancelButtonDisabled: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm91dGVyTW9kYWxQcmV2aW91c05leHRDYW5jZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9yb3V0aW5nL3NyYy9Sb3V0ZXJNb2RhbFByZXZpb3VzTmV4dENhbmNlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUV4RCxxQ0FBcUM7QUFJckMsTUFBTSxPQUFnQiw2QkFBOEIsU0FBUSxXQUFXO0lBSHZFOztRQUtvQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFxQyxDQUFDO1FBZ0M5RSx3QkFBbUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQVV0RCx5QkFBb0IsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQVV4RCw0QkFBdUIsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQVU5RCxvQkFBZSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBVTlDLHFCQUFnQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBVWhELHdCQUFtQixHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBVXRELHNCQUFpQixHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBVWxELHVCQUFrQixHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBVXBELDBCQUFxQixHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDO0tBWXJFO0lBMUhHLElBQWMsbUJBQW1CO1FBQzdCLE9BQU87WUFDSCxRQUFRLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLElBQUks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aUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFHRCxJQUNXLGlCQUFpQjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxDQUFDO0lBQ0QsSUFBVyxpQkFBaUIsQ0FBQyxLQUFLO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUdELElBQ1csb0JBQW9CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3RDLENBQUM7SUFDRCxJQUFXLG9CQUFvQixDQUFDLEtBQUs7UUFDakMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwRCxDQUFDOzsySEExSGlCLDZCQUE2QjsrR0FBN0IsNkJBQTZCLDJjQUZyQyxFQUFFOzRGQUVNLDZCQUE2QjtrQkFIbEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsRUFBRTtpQkFDYjs4QkFxQ1ksa0JBQWtCO3NCQUQ1QixLQUFLO2dCQVdLLG1CQUFtQjtzQkFEN0IsS0FBSztnQkFXSyxzQkFBc0I7c0JBRGhDLEtBQUs7Z0JBV0ssY0FBYztzQkFEeEIsS0FBSztnQkFXSyxlQUFlO3NCQUR6QixLQUFLO2dCQVdLLGtCQUFrQjtzQkFENUIsS0FBSztnQkFXSyxnQkFBZ0I7c0JBRDFCLEtBQUs7Z0JBV0ssaUJBQWlCO3NCQUQzQixLQUFLO2dCQVdLLG9CQUFvQjtzQkFEOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZGFsIH0gZnJvbSAnLi9Sb3V0ZXJNb2RhbCc7XG5pbXBvcnQgeyBCdXR0b25UeXBlcywgQnV0dG9uVHlwZSB9IGZyb20gJy4vQnV0dG9uVHlwZXMnO1xuXG4vLyBub2luc3BlY3Rpb24gSlNVbnVzZWRHbG9iYWxTeW1ib2xzXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJydcbiAgfSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSb3V0ZXJNb2RhbFByZXZpb3VzTmV4dENhbmNlbCBleHRlbmRzIFJvdXRlck1vZGFsIHtcblxuICAgIHB1YmxpYyByZWFkb25seSBidXR0b25DaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjx7IFsgYnV0dG9uOiBzdHJpbmddOiBCdXR0b25UeXBlIH0+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHByZXZpb3VzQnV0dG9uU3RhdGUoKTogeyBwcmV2aW91czogQnV0dG9uVHlwZSB9IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByZXZpb3VzOiB7XG4gICAgICAgICAgICAgICAgYnV0dG9uVGV4dDogdGhpcy5fcHJldmlvdXNCdXR0b25UZXh0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzOiB0aGlzLl9wcmV2aW91c0J1dHRvbkNsYXNzLFxuICAgICAgICAgICAgICAgIGJ1dHRvbkRpc2FibGVkOiB0aGlzLl9wcmV2aW91c0J1dHRvbkRpc2FibGVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBuZXh0QnV0dG9uU3RhdGUoKTogeyBuZXh0OiBCdXR0b25UeXBlIH0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmV4dDoge1xuICAgICAgICAgICAgICAgIGJ1dHRvblRleHQ6IHRoaXMuX25leHRCdXR0b25UZXh0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzOiB0aGlzLl9uZXh0QnV0dG9uQ2xhc3MsXG4gICAgICAgICAgICAgICAgYnV0dG9uRGlzYWJsZWQ6IHRoaXMuX25leHRCdXR0b25EaXNhYmxlZFxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2FuY2VsQnV0dG9uU3RhdGUoKTogeyBjYW5jZWw6IEJ1dHRvblR5cGUgfSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYW5jZWw6IHtcbiAgICAgICAgICAgICAgICBidXR0b25UZXh0OiB0aGlzLl9jYW5jZWxCdXR0b25UZXh0LFxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzOiB0aGlzLl9jYW5jZWxCdXR0b25DbGFzcyxcbiAgICAgICAgICAgICAgICBidXR0b25EaXNhYmxlZDogdGhpcy5fY2FuY2VsQnV0dG9uRGlzYWJsZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9wcmV2aW91c0J1dHRvblRleHQgPSBCdXR0b25UeXBlcy5wcmV2aW91cy5idXR0b25UZXh0O1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBwcmV2aW91c0J1dHRvblRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcmV2aW91c0J1dHRvblRleHQ7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcHJldmlvdXNCdXR0b25UZXh0KHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzQnV0dG9uVGV4dCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLnByZXZpb3VzQnV0dG9uU3RhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ByZXZpb3VzQnV0dG9uQ2xhc3MgPSBCdXR0b25UeXBlcy5wcmV2aW91cy5idXR0b25DbGFzcztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgcHJldmlvdXNCdXR0b25DbGFzcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ByZXZpb3VzQnV0dG9uQ2xhc3M7XG4gICAgfVxuICAgIHB1YmxpYyBzZXQgcHJldmlvdXNCdXR0b25DbGFzcyh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9wcmV2aW91c0J1dHRvbkNsYXNzID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMucHJldmlvdXNCdXR0b25TdGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcHJldmlvdXNCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLnByZXZpb3VzLmJ1dHRvbkRpc2FibGVkO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBwcmV2aW91c0J1dHRvbkRpc2FibGVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcHJldmlvdXNCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBwcmV2aW91c0J1dHRvbkRpc2FibGVkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3ByZXZpb3VzQnV0dG9uRGlzYWJsZWQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5wcmV2aW91c0J1dHRvblN0YXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9uZXh0QnV0dG9uVGV4dCA9IEJ1dHRvblR5cGVzLm5leHQuYnV0dG9uVGV4dDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbmV4dEJ1dHRvblRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXh0QnV0dG9uVGV4dDtcbiAgICB9XG4gICAgcHVibGljIHNldCBuZXh0QnV0dG9uVGV4dCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9uZXh0QnV0dG9uVGV4dCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLm5leHRCdXR0b25TdGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbmV4dEJ1dHRvbkNsYXNzID0gQnV0dG9uVHlwZXMubmV4dC5idXR0b25DbGFzcztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgbmV4dEJ1dHRvbkNsYXNzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fbmV4dEJ1dHRvbkNsYXNzO1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IG5leHRCdXR0b25DbGFzcyh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9uZXh0QnV0dG9uQ2xhc3MgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5idXR0b25DaGFuZ2VzLmVtaXQodGhpcy5uZXh0QnV0dG9uU3RhdGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX25leHRCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLm5leHQuYnV0dG9uRGlzYWJsZWQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IG5leHRCdXR0b25EaXNhYmxlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25leHRCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBuZXh0QnV0dG9uRGlzYWJsZWQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fbmV4dEJ1dHRvbkRpc2FibGVkID0gdmFsdWU7XG4gICAgICAgIHRoaXMuYnV0dG9uQ2hhbmdlcy5lbWl0KHRoaXMubmV4dEJ1dHRvblN0YXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5jZWxCdXR0b25UZXh0ID0gQnV0dG9uVHlwZXMuY2FuY2VsLmJ1dHRvblRleHQ7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IGNhbmNlbEJ1dHRvblRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5jZWxCdXR0b25UZXh0O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGNhbmNlbEJ1dHRvblRleHQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fY2FuY2VsQnV0dG9uVGV4dCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLmNhbmNlbEJ1dHRvblN0YXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5jZWxCdXR0b25DbGFzcyA9IEJ1dHRvblR5cGVzLmNhbmNlbC5idXR0b25DbGFzcztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgY2FuY2VsQnV0dG9uQ2xhc3MoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5jZWxCdXR0b25DbGFzcztcbiAgICB9XG4gICAgcHVibGljIHNldCBjYW5jZWxCdXR0b25DbGFzcyh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9jYW5jZWxCdXR0b25DbGFzcyA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLmNhbmNlbEJ1dHRvblN0YXRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jYW5jZWxCdXR0b25EaXNhYmxlZCA9IEJ1dHRvblR5cGVzLmNhbmNlbC5idXR0b25EaXNhYmxlZDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBnZXQgY2FuY2VsQnV0dG9uRGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYW5jZWxCdXR0b25EaXNhYmxlZDtcbiAgICB9XG4gICAgcHVibGljIHNldCBjYW5jZWxCdXR0b25EaXNhYmxlZCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9jYW5jZWxCdXR0b25EaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmJ1dHRvbkNoYW5nZXMuZW1pdCh0aGlzLmNhbmNlbEJ1dHRvblN0YXRlKTtcbiAgICB9XG4gICAgYWJzdHJhY3QgcHJldmlvdXMoKTogUHJvbWlzZTxhbnk+O1xuICAgIGFic3RyYWN0IG5leHQoKTogUHJvbWlzZTxhbnk+O1xuICAgIGFic3RyYWN0IGNhbmNlbCgpOiBQcm9taXNlPGFueT47XG59XG4iXX0=