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
JavaScript
/**
* @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==