systelab-components
Version:
systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.
42 lines • 5.16 kB
JavaScript
import { Subject, Subscription } from 'rxjs';
export class DialogRef {
static { this.ESCAPE_KEY = 'Escape'; }
constructor(overlayRef, context) {
this.overlayRef = overlayRef;
this.context = context;
this.subject = new Subject();
this.subscription = new Subscription();
if (!context.isBlocking) {
this.subscription.add(overlayRef.backdropClick()
.subscribe(() => this.close()));
}
if (context.showClose) {
this.subscription.add(overlayRef.keydownEvents()
.subscribe((k) => {
if (k.code === DialogRef.ESCAPE_KEY || k.key === DialogRef.ESCAPE_KEY) {
this.close();
}
}));
}
}
closeAllDialogs() {
}
close(value) {
this.overlayRef.dispose();
this.subject.next(value);
this.subject.complete();
if (this.subscription) {
this.subscription.unsubscribe();
}
}
getResult() {
return this.subject.asObservable();
}
disable() {
this.overlayRef.overlayElement.classList.add('slab-dialog-disabled');
}
enable() {
this.overlayRef.overlayElement.classList.remove('slab-dialog-disabled');
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RhbC9kaWFsb2cvZGlhbG9nLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd6RCxNQUFNLE9BQU8sU0FBUzthQUVHLGVBQVUsR0FBRyxRQUFRLEFBQVgsQ0FBWTtJQU05QyxZQUFvQixVQUFzQixFQUFTLE9BQVU7UUFBekMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFTLFlBQU8sR0FBUCxPQUFPLENBQUc7UUFKckQsWUFBTyxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRTNDLGlCQUFZLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtpQkFDOUMsU0FBUyxDQUNULEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdkI7UUFDRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtpQkFDOUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDLFVBQVUsRUFBRTtvQkFDdEUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNiO1lBQ0YsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNMO0lBQ0YsQ0FBQztJQUVNLGVBQWU7SUFFdEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFXO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNoQztJQUNGLENBQUM7SUFFTSxTQUFTO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxPQUFPO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxNQUFNO1FBQ1osSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTeXN0ZWxhYk1vZGFsQ29udGV4dCB9IGZyb20gJy4vbW9kYWwtY29udGV4dCc7XG5cbmV4cG9ydCBjbGFzcyBEaWFsb2dSZWY8VCBleHRlbmRzIFN5c3RlbGFiTW9kYWxDb250ZXh0PiB7XG5cblx0cHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgRVNDQVBFX0tFWSA9ICdFc2NhcGUnO1xuXG5cdHByaXZhdGUgc3ViamVjdDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG5cdHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBwdWJsaWMgY29udGV4dDogVCkge1xuXHRcdGlmICghY29udGV4dC5pc0Jsb2NraW5nKSB7XG5cdFx0XHR0aGlzLnN1YnNjcmlwdGlvbi5hZGQob3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKClcblx0XHRcdFx0LnN1YnNjcmliZShcblx0XHRcdFx0XHQoKSA9PiB0aGlzLmNsb3NlKCkpKTtcblx0XHR9XG5cdFx0aWYgKGNvbnRleHQuc2hvd0Nsb3NlKSB7XG5cdFx0XHR0aGlzLnN1YnNjcmlwdGlvbi5hZGQob3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKClcblx0XHRcdFx0LnN1YnNjcmliZSgoaykgPT4ge1xuXHRcdFx0XHRcdGlmIChrLmNvZGUgPT09IERpYWxvZ1JlZi5FU0NBUEVfS0VZIHx8IGsua2V5ID09PSBEaWFsb2dSZWYuRVNDQVBFX0tFWSkge1xuXHRcdFx0XHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBjbG9zZUFsbERpYWxvZ3MoKSB7XG5cblx0fVxuXG5cdHB1YmxpYyBjbG9zZSh2YWx1ZT86IGFueSk6IHZvaWQge1xuXHRcdHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKCk7XG5cdFx0dGhpcy5zdWJqZWN0Lm5leHQodmFsdWUpO1xuXHRcdHRoaXMuc3ViamVjdC5jb21wbGV0ZSgpO1xuXHRcdGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuXHRcdFx0dGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgZ2V0UmVzdWx0KCk6IE9ic2VydmFibGU8YW55PiB7XG5cdFx0cmV0dXJuIHRoaXMuc3ViamVjdC5hc09ic2VydmFibGUoKTtcblx0fVxuXG5cdHB1YmxpYyBkaXNhYmxlKCkge1xuXHRcdHRoaXMub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5jbGFzc0xpc3QuYWRkKCdzbGFiLWRpYWxvZy1kaXNhYmxlZCcpO1xuXHR9XG5cblx0cHVibGljIGVuYWJsZSgpIHtcblx0XHR0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2xhYi1kaWFsb2ctZGlzYWJsZWQnKTtcblx0fVxuXG59XG5cbiJdfQ==