UNPKG

ngx-diagrams

Version:

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

76 lines 6.29 kB
/** * @fileoverview added by tsickle * Generated from: lib/defaults/factories/default-label.factory.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { AbstractLabelFactory } from '../../factories/label.factory'; import { DefaultLabelComponent } from '../components/default-label/default-label.component'; import { DefaultLabelModel } from '../models/default-label.model'; export class DefaultLabelFactory extends AbstractLabelFactory { /** * @param {?} resolver * @param {?} renderer */ constructor(resolver, renderer) { super('default'); this.resolver = resolver; this.renderer = renderer; } /** * @param {?} label * @param {?} labelHost * @return {?} */ generateWidget(label, labelHost) { /** @type {?} */ const componentRef = labelHost.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'); // data attributes this.renderer.setAttribute(rootNode, 'data-labelid', label.id); // on destroy make sure to destroy the componentRef label.onEntityDestroy().subscribe((/** * @return {?} */ () => { componentRef.destroy(); })); // assign all passed properties to node initialization. Object.entries(label).forEach((/** * @param {?} __0 * @return {?} */ ([key, value]) => { componentRef.instance[key] = value; })); return componentRef; } /** * @return {?} */ getRecipe() { return this.resolver.resolveComponentFactory(DefaultLabelComponent); } /** * @return {?} */ getNewInstance() { return new DefaultLabelModel(); } } if (false) { /** * @type {?} * @private */ DefaultLabelFactory.prototype.resolver; /** * @type {?} * @private */ DefaultLabelFactory.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1sYWJlbC5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWRpYWdyYW1zLyIsInNvdXJjZXMiOlsibGliL2RlZmF1bHRzL2ZhY3Rvcmllcy9kZWZhdWx0LWxhYmVsLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVsRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsb0JBQXVDOzs7OztJQUMvRSxZQUFvQixRQUFrQyxFQUFVLFFBQW1CO1FBQ2xGLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQURFLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUVuRixDQUFDOzs7Ozs7SUFFRCxjQUFjLENBQUMsS0FBNEIsRUFBRSxTQUEyQjs7Y0FDakUsWUFBWSxHQUFHLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDOzs7Y0FHMUQsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYTtRQUVwRCx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0QsbURBQW1EO1FBQ25ELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDdEMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUMsRUFBQyxDQUFDO1FBRUgsdURBQXVEO1FBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTzs7OztRQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUM5QyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUNwQyxDQUFDLEVBQUMsQ0FBQztRQUVILE9BQU8sWUFBWSxDQUFDO0lBQ3JCLENBQUM7Ozs7SUFFRCxTQUFTO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDckUsQ0FBQzs7OztJQUVELGNBQWM7UUFDYixPQUFPLElBQUksaUJBQWlCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0NBQ0Q7Ozs7OztJQXBDWSx1Q0FBMEM7Ozs7O0lBQUUsdUNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50UmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIENvbXBvbmVudEZhY3RvcnksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RMYWJlbEZhY3RvcnkgfSBmcm9tICcuLi8uLi9mYWN0b3JpZXMvbGFiZWwuZmFjdG9yeSc7XG5pbXBvcnQgeyBEZWZhdWx0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RlZmF1bHQtbGFiZWwvZGVmYXVsdC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGVmYXVsdExhYmVsTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZGVmYXVsdC1sYWJlbC5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0TGFiZWxGYWN0b3J5IGV4dGVuZHMgQWJzdHJhY3RMYWJlbEZhY3Rvcnk8RGVmYXVsdExhYmVsTW9kZWw+IHtcblx0Y29uc3RydWN0b3IocHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcblx0XHRzdXBlcignZGVmYXVsdCcpO1xuXHR9XG5cblx0Z2VuZXJhdGVXaWRnZXQobGFiZWw6IERlZmF1bHRMYWJlbENvbXBvbmVudCwgbGFiZWxIb3N0OiBWaWV3Q29udGFpbmVyUmVmKTogQ29tcG9uZW50UmVmPERlZmF1bHRMYWJlbENvbXBvbmVudD4ge1xuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IGxhYmVsSG9zdC5jcmVhdGVDb21wb25lbnQodGhpcy5nZXRSZWNpcGUoKSk7XG5cblx0XHQvLyBhdHRhY2ggY29vcmRpbmF0ZXMgYW5kIGRlZmF1bHQgcG9zaXRpb25hbCBiZWhhdmlvdXIgdG8gdGhlIGdlbmVyYXRlZCBjb21wb25lbnQgaG9zdFxuXHRcdGNvbnN0IHJvb3ROb2RlID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHQvLyBkZWZhdWx0IHN0eWxlIGZvciBsaW5rXG5cdFx0dGhpcy5yZW5kZXJlci5zZXRTdHlsZShyb290Tm9kZSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG5cblx0XHQvLyBkYXRhIGF0dHJpYnV0ZXNcblx0XHR0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShyb290Tm9kZSwgJ2RhdGEtbGFiZWxpZCcsIGxhYmVsLmlkKTtcblxuXHRcdC8vIG9uIGRlc3Ryb3kgbWFrZSBzdXJlIHRvIGRlc3Ryb3kgdGhlIGNvbXBvbmVudFJlZlxuXHRcdGxhYmVsLm9uRW50aXR5RGVzdHJveSgpLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHRjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gYXNzaWduIGFsbCBwYXNzZWQgcHJvcGVydGllcyB0byBub2RlIGluaXRpYWxpemF0aW9uLlxuXHRcdE9iamVjdC5lbnRyaWVzKGxhYmVsKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcblx0XHRcdGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gY29tcG9uZW50UmVmO1xuXHR9XG5cblx0Z2V0UmVjaXBlKCk6IENvbXBvbmVudEZhY3Rvcnk8RGVmYXVsdExhYmVsQ29tcG9uZW50PiB7XG5cdFx0cmV0dXJuIHRoaXMucmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoRGVmYXVsdExhYmVsQ29tcG9uZW50KTtcblx0fVxuXG5cdGdldE5ld0luc3RhbmNlKCkge1xuXHRcdHJldHVybiBuZXcgRGVmYXVsdExhYmVsTW9kZWwoKTtcblx0fVxufVxuIl19