UNPKG

ngx-diagrams

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.

79 lines 6.83 kB
/** * @fileoverview added by tsickle * Generated from: lib/defaults/factories/default-link.factory.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { AbstractLinkFactory } from '../../factories/link.factory'; import { DefaultLinkComponent } from '../components/default-link/default-link.component'; import { DefaultLinkModel } from '../models/default-link.model'; export class DefaultLinkFactory extends AbstractLinkFactory { /** * @param {?} resolver * @param {?} renderer */ constructor(resolver, renderer) { super('default'); this.resolver = resolver; this.renderer = renderer; } /** * @param {?} diagramEngine * @param {?} link * @param {?} linksHost * @return {?} */ generateWidget(diagramEngine, link, linksHost) { /** @type {?} */ const componentRef = linksHost.createComponent(this.getRecipe()); // attach coordinates and default positional behaviour to the generated component host /** @type {?} */ const rootNode = componentRef.location.nativeElement; // default style for link this.renderer.setStyle(rootNode, 'position', 'absolute'); this.renderer.addClass(rootNode, 'label'); // data attributes this.renderer.setAttribute(rootNode, 'data-linkid', link.id); // on destroy make sure to destroy the componentRef link.onEntityDestroy().subscribe((/** * @return {?} */ () => { componentRef.destroy(); })); // assign all passed properties to link initialization. Object.entries(link).forEach((/** * @param {?} __0 * @return {?} */ ([key, value]) => { componentRef.instance[key] = value; })); componentRef.instance.diagramEngine = diagramEngine; return componentRef; } /** * @return {?} */ getRecipe() { return this.resolver.resolveComponentFactory(DefaultLinkComponent); } /** * @return {?} */ getNewInstance() { return new DefaultLinkModel(); } } if (false) { /** * @type {?} * @private */ DefaultLinkFactory.prototype.resolver; /** * @type {?} * @private */ DefaultLinkFactory.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1saW5rLmZhY3RvcnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZGlhZ3JhbXMvIiwic291cmNlcyI6WyJsaWIvZGVmYXVsdHMvZmFjdG9yaWVzL2RlZmF1bHQtbGluay5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFJaEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFxQzs7Ozs7SUFDNUUsWUFBb0IsUUFBa0MsRUFBVSxRQUFtQjtRQUNsRixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFERSxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7SUFFbkYsQ0FBQzs7Ozs7OztJQUVELGNBQWMsQ0FBQyxhQUE0QixFQUFFLElBQXNCLEVBQUUsU0FBMkI7O2NBQ3pGLFlBQVksR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7O2NBRzFELFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWE7UUFFcEQseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU3RCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVM7OztRQUFDLEdBQUcsRUFBRTtZQUNyQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxFQUFDLENBQUM7UUFFSCx1REFBdUQ7UUFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzdDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO1FBRUgsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRXBELE9BQU8sWUFBWSxDQUFDO0lBQ3JCLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDcEUsQ0FBQzs7OztJQUVELGNBQWM7UUFDYixPQUFPLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0Q7Ozs7OztJQXZDWSxzQ0FBMEM7Ozs7O0lBQUUsc0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMaW5rRmFjdG9yeSB9IGZyb20gJy4uLy4uL2ZhY3Rvcmllcy9saW5rLmZhY3RvcnknO1xuaW1wb3J0IHsgRGVmYXVsdExpbmtDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RlZmF1bHQtbGluay9kZWZhdWx0LWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IERlZmF1bHRMaW5rTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZGVmYXVsdC1saW5rLm1vZGVsJztcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRGYWN0b3J5LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWdyYW1FbmdpbmUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbmdpbmUuc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0TGlua0ZhY3RvcnkgZXh0ZW5kcyBBYnN0cmFjdExpbmtGYWN0b3J5PERlZmF1bHRMaW5rTW9kZWw+IHtcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcblx0XHRzdXBlcignZGVmYXVsdCcpO1xuXHR9XG5cblx0Z2VuZXJhdGVXaWRnZXQoZGlhZ3JhbUVuZ2luZTogRGlhZ3JhbUVuZ2luZSwgbGluazogRGVmYXVsdExpbmtNb2RlbCwgbGlua3NIb3N0OiBWaWV3Q29udGFpbmVyUmVmKTogQ29tcG9uZW50UmVmPERlZmF1bHRMaW5rQ29tcG9uZW50PiB7XG5cdFx0Y29uc3QgY29tcG9uZW50UmVmID0gbGlua3NIb3N0LmNyZWF0ZUNvbXBvbmVudCh0aGlzLmdldFJlY2lwZSgpKTtcblxuXHRcdC8vIGF0dGFjaCBjb29yZGluYXRlcyBhbmQgZGVmYXVsdCBwb3NpdGlvbmFsIGJlaGF2aW91ciB0byB0aGUgZ2VuZXJhdGVkIGNvbXBvbmVudCBob3N0XG5cdFx0Y29uc3Qgcm9vdE5vZGUgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcblxuXHRcdC8vIGRlZmF1bHQgc3R5bGUgZm9yIGxpbmtcblx0XHR0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJvb3ROb2RlLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcblx0XHR0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHJvb3ROb2RlLCAnbGFiZWwnKTtcblxuXHRcdC8vIGRhdGEgYXR0cmlidXRlc1xuXHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHJvb3ROb2RlLCAnZGF0YS1saW5raWQnLCBsaW5rLmlkKTtcblxuXHRcdC8vIG9uIGRlc3Ryb3kgbWFrZSBzdXJlIHRvIGRlc3Ryb3kgdGhlIGNvbXBvbmVudFJlZlxuXHRcdGxpbmsub25FbnRpdHlEZXN0cm95KCkuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG5cdFx0fSk7XG5cblx0XHQvLyBhc3NpZ24gYWxsIHBhc3NlZCBwcm9wZXJ0aWVzIHRvIGxpbmsgaW5pdGlhbGl6YXRpb24uXG5cdFx0T2JqZWN0LmVudHJpZXMobGluaykuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG5cdFx0XHRjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xuXHRcdH0pO1xuXG5cdFx0Y29tcG9uZW50UmVmLmluc3RhbmNlLmRpYWdyYW1FbmdpbmUgPSBkaWFncmFtRW5naW5lO1xuXG5cdFx0cmV0dXJuIGNvbXBvbmVudFJlZjtcblx0fVxuXG5cdGdldFJlY2lwZSgpOiBDb21wb25lbnRGYWN0b3J5PERlZmF1bHRMaW5rQ29tcG9uZW50PiB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRGVmYXVsdExpbmtDb21wb25lbnQpO1xuXHR9XG5cblx0Z2V0TmV3SW5zdGFuY2UoKSB7XG5cdFx0cmV0dXJuIG5ldyBEZWZhdWx0TGlua01vZGVsKCk7XG5cdH1cbn1cbiJdfQ==