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.
81 lines • 13.1 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import { OverlayConfig } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
import { DialogRef } from './dialog-ref';
import * as i0 from "@angular/core";
import * as i1 from "@angular/cdk/overlay";
export class DialogService {
static { this.breakpointMedium = 768; }
constructor(overlay, injector) {
this.overlay = overlay;
this.injector = injector;
}
showDialog(component, parameters) {
const overlayRef = this.overlay.create(this.getConfig(parameters));
const dialogRef = new DialogRef(overlayRef, parameters);
const userProfilePortal = new ComponentPortal(component, null, this.createInjector(dialogRef));
overlayRef.attach(userProfilePortal);
return dialogRef.getResult();
}
getConfig(parameters) {
const config = new OverlayConfig();
config.panelClass = parameters.dialogClass;
if (window.innerWidth <= DialogService.breakpointMedium || parameters.fullScreen) {
config.width = '100%';
config.height = '100%';
config.panelClass = 'fullscreen';
}
else {
config.width = parameters.width ? parameters.width : parameters.widthRelative;
config.height = parameters.height ? parameters.height : parameters.heightRelative;
config.minWidth = parameters.minWidth ? parameters.minWidth : parameters.minWidthRelative;
config.minHeight = parameters.minHeight ? parameters.minHeight : parameters.minHeightRelative;
config.maxWidth = parameters.maxWidth ? parameters.maxWidth : parameters.maxWidthRelative;
config.maxHeight = parameters.maxHeight ? parameters.maxHeight : parameters.maxHeightRelative;
}
config.hasBackdrop = true;
if (parameters.isContextDialog && parameters.positionX && parameters.positionY) {
config.panelClass = ['slab-context-modal', 'slab-context-modal-arrow-center'];
const screenWidth = window.innerWidth;
let positionX = parameters.positionX - (parameters.width / 2);
if ((positionX + parameters.width) > screenWidth) {
positionX = screenWidth - parameters.width;
config.panelClass = ['slab-context-modal', 'slab-context-modal-arrow-right'];
}
else if (positionX < 0) {
positionX = parameters.positionX - (parameters.positionX / 2);
config.panelClass = ['slab-context-modal', 'slab-context-modal-arrow-left'];
}
const positionY = parameters.positionY + 50;
positionX = ((positionX / screenWidth) * 100) + 5;
config.positionStrategy = this.overlay.position()
.global()
.left(positionX
.toString() + '%')
.top(positionY.toString() + 'px');
}
else {
config.positionStrategy = this.overlay.position()
.global()
.centerHorizontally()
.centerVertically();
}
config.scrollStrategy = this.overlay.scrollStrategies.block();
return config;
}
createInjector(overlayRef) {
return Injector.create({
parent: this.injector,
providers: [
{ provide: DialogRef, useValue: overlayRef }
]
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DialogService, deps: [{ token: i1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DialogService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: DialogService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvbW9kYWwvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBVyxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBSXpDLE1BQU0sT0FBTyxhQUFhO2FBRUYscUJBQWdCLEdBQUcsR0FBRyxBQUFOLENBQU87SUFFOUMsWUFBNkIsT0FBZ0IsRUFBVSxRQUFrQjtRQUE1QyxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUN6RSxDQUFDO0lBRU0sVUFBVSxDQUFDLFNBQW9CLEVBQUUsVUFBZ0M7UUFDdkUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9GLFVBQVUsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxPQUFPLFNBQVMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sU0FBUyxDQUFDLFVBQWdDO1FBQ2pE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QUFHLEdBQUcsQ0FBQztpQkFDbEIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUNuQzthQUFNO1lBQ04sTUFBTSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO2lCQUMvQyxNQUFNLEVBQUU7aUJBQ1Isa0JBQWtCLEVBQUU7aUJBQ3BCLGdCQUFnQixFQUFFLENBQUM7U0FDckI7UUFFRCxNQUFNLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFOUQsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO0lBRU8sY0FBYyxDQUFDLFVBQTJDO1FBQ2pFLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDckIsU0FBUyxFQUFFO2dCQUNWLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFO2FBQzVDO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0F6RVcsYUFBYTtrSEFBYixhQUFhLGNBREQsTUFBTTs7MkZBQ2xCLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERpYWxvZ1JlZiB9IGZyb20gJy4vZGlhbG9nLXJlZic7XG5pbXBvcnQgeyBTeXN0ZWxhYk1vZGFsQ29udGV4dCB9IGZyb20gJy4vbW9kYWwtY29udGV4dCc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2Uge1xuXG5cdHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgYnJlYWtwb2ludE1lZGl1bSA9IDc2ODtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG5cdH1cblxuXHRwdWJsaWMgc2hvd0RpYWxvZyhjb21wb25lbnQ6IFR5cGU8YW55PiwgcGFyYW1ldGVyczogU3lzdGVsYWJNb2RhbENvbnRleHQpOiBPYnNlcnZhYmxlPGFueT4ge1xuXHRcdGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHRoaXMuZ2V0Q29uZmlnKHBhcmFtZXRlcnMpKTtcblx0XHRjb25zdCBkaWFsb2dSZWYgPSBuZXcgRGlhbG9nUmVmKG92ZXJsYXlSZWYsIHBhcmFtZXRlcnMpO1xuXHRcdGNvbnN0IHVzZXJQcm9maWxlUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIG51bGwsIHRoaXMuY3JlYXRlSW5qZWN0b3IoZGlhbG9nUmVmKSk7XG5cdFx0b3ZlcmxheVJlZi5hdHRhY2godXNlclByb2ZpbGVQb3J0YWwpO1xuXHRcdHJldHVybiBkaWFsb2dSZWYuZ2V0UmVzdWx0KCk7XG5cdH1cblxuXHRwcml2YXRlIGdldENvbmZpZyhwYXJhbWV0ZXJzOiBTeXN0ZWxhYk1vZGFsQ29udGV4dCk6IE92ZXJsYXlDb25maWcge1xuXHRcdGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG5cdFx0Y29uZmlnLnBhbmVsQ2xhc3MgPSBwYXJhbWV0ZXJzLmRpYWxvZ0NsYXNzO1xuXG5cdFx0aWYgKHdpbmRvdy5pbm5lcldpZHRoIDw9IERpYWxvZ1NlcnZpY2UuYnJlYWtwb2ludE1lZGl1bSB8fCBwYXJhbWV0ZXJzLmZ1bGxTY3JlZW4pIHtcblx0XHRcdGNvbmZpZy53aWR0aCA9ICcxMDAlJztcblx0XHRcdGNvbmZpZy5oZWlnaHQgPSAnMTAwJSc7XG5cdFx0XHRjb25maWcucGFuZWxDbGFzcyA9ICdmdWxsc2NyZWVuJztcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uZmlnLndpZHRoID0gcGFyYW1ldGVycy53aWR0aCA/IHBhcmFtZXRlcnMud2lkdGggOiBwYXJhbWV0ZXJzLndpZHRoUmVsYXRpdmU7XG5cdFx0XHRjb25maWcuaGVpZ2h0ID0gcGFyYW1ldGVycy5oZWlnaHQgPyBwYXJhbWV0ZXJzLmhlaWdodCA6IHBhcmFtZXRlcnMuaGVpZ2h0UmVsYXRpdmU7XG5cblx0XHRcdGNvbmZpZy5taW5XaWR0aCA9IHBhcmFtZXRlcnMubWluV2lkdGggPyBwYXJhbWV0ZXJzLm1pbldpZHRoIDogcGFyYW1ldGVycy5taW5XaWR0aFJlbGF0aXZlO1xuXHRcdFx0Y29uZmlnLm1pbkhlaWdodCA9IHBhcmFtZXRlcnMubWluSGVpZ2h0ID8gcGFyYW1ldGVycy5taW5IZWlnaHQgOiBwYXJhbWV0ZXJzLm1pbkhlaWdodFJlbGF0aXZlO1xuXG5cdFx0XHRjb25maWcubWF4V2lkdGggPSBwYXJhbWV0ZXJzLm1heFdpZHRoID8gcGFyYW1ldGVycy5tYXhXaWR0aCA6IHBhcmFtZXRlcnMubWF4V2lkdGhSZWxhdGl2ZTtcblx0XHRcdGNvbmZpZy5tYXhIZWlnaHQgPSBwYXJhbWV0ZXJzLm1heEhlaWdodCA/IHBhcmFtZXRlcnMubWF4SGVpZ2h0IDogcGFyYW1ldGVycy5tYXhIZWlnaHRSZWxhdGl2ZTtcblx0XHR9XG5cdFx0Y29uZmlnLmhhc0JhY2tkcm9wID0gdHJ1ZTtcblxuXHRcdGlmIChwYXJhbWV0ZXJzLmlzQ29udGV4dERpYWxvZyAmJiBwYXJhbWV0ZXJzLnBvc2l0aW9uWCAmJiBwYXJhbWV0ZXJzLnBvc2l0aW9uWSkge1xuXHRcdFx0Y29uZmlnLnBhbmVsQ2xhc3MgPSBbJ3NsYWItY29udGV4dC1tb2RhbCcsICdzbGFiLWNvbnRleHQtbW9kYWwtYXJyb3ctY2VudGVyJ107XG5cdFx0XHRjb25zdCBzY3JlZW5XaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoO1xuXHRcdFx0bGV0IHBvc2l0aW9uWCA9IHBhcmFtZXRlcnMucG9zaXRpb25YIC0gKHBhcmFtZXRlcnMud2lkdGggLyAyKTtcblx0XHRcdGlmICgocG9zaXRpb25YICsgcGFyYW1ldGVycy53aWR0aCkgPiBzY3JlZW5XaWR0aCkge1xuXHRcdFx0XHRwb3NpdGlvblggPSBzY3JlZW5XaWR0aCAtIHBhcmFtZXRlcnMud2lkdGg7XG5cdFx0XHRcdGNvbmZpZy5wYW5lbENsYXNzID0gWydzbGFiLWNvbnRleHQtbW9kYWwnLCAnc2xhYi1jb250ZXh0LW1vZGFsLWFycm93LXJpZ2h0J107XG5cdFx0XHR9IGVsc2UgaWYgKHBvc2l0aW9uWCA8IDApIHtcblx0XHRcdFx0cG9zaXRpb25YID0gcGFyYW1ldGVycy5wb3NpdGlvblggLSAocGFyYW1ldGVycy5wb3NpdGlvblggLyAyKTtcblx0XHRcdFx0Y29uZmlnLnBhbmVsQ2xhc3MgPSBbJ3NsYWItY29udGV4dC1tb2RhbCcsICdzbGFiLWNvbnRleHQtbW9kYWwtYXJyb3ctbGVmdCddO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgcG9zaXRpb25ZID0gcGFyYW1ldGVycy5wb3NpdGlvblkgKyA1MDtcblx0XHRcdHBvc2l0aW9uWCA9ICgocG9zaXRpb25YIC8gc2NyZWVuV2lkdGgpICogMTAwKSArIDU7XG5cblx0XHRcdGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcblx0XHRcdFx0Lmdsb2JhbCgpXG5cdFx0XHRcdC5sZWZ0KHBvc2l0aW9uWFxuXHRcdFx0XHRcdC50b1N0cmluZygpICsgJyUnKVxuXHRcdFx0XHQudG9wKHBvc2l0aW9uWS50b1N0cmluZygpICsgJ3B4Jyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5LnBvc2l0aW9uKClcblx0XHRcdFx0Lmdsb2JhbCgpXG5cdFx0XHRcdC5jZW50ZXJIb3Jpem9udGFsbHkoKVxuXHRcdFx0XHQuY2VudGVyVmVydGljYWxseSgpO1xuXHRcdH1cblxuXHRcdGNvbmZpZy5zY3JvbGxTdHJhdGVneSA9IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCk7XG5cblx0XHRyZXR1cm4gY29uZmlnO1xuXHR9XG5cblx0cHJpdmF0ZSBjcmVhdGVJbmplY3RvcihvdmVybGF5UmVmOiBEaWFsb2dSZWY8U3lzdGVsYWJNb2RhbENvbnRleHQ+KTogSW5qZWN0b3Ige1xuXHRcdHJldHVybiBJbmplY3Rvci5jcmVhdGUoe1xuXHRcdFx0cGFyZW50OiB0aGlzLmluamVjdG9yLFxuXHRcdFx0cHJvdmlkZXJzOiBbXG5cdFx0XHRcdHsgcHJvdmlkZTogRGlhbG9nUmVmLCB1c2VWYWx1ZTogb3ZlcmxheVJlZiB9XG5cdFx0XHRdXG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==