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