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