UNPKG

ngx-diagrams

Version:

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

112 lines 9.5 kB
/** * @fileoverview added by tsickle * Generated from: lib/defaults/factories/default-node.factory.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { DefaultNodeComponent } from '../components/default-node/default-node.component'; import { AbstractNodeFactory } from '../../factories/node.factory'; import { DefaultNodeModel } from '../models/default-node.model'; var DefaultNodeFactory = /** @class */ (function (_super) { tslib_1.__extends(DefaultNodeFactory, _super); function DefaultNodeFactory(resolver, renderer) { var _this = _super.call(this, 'default') || this; _this.resolver = resolver; _this.renderer = renderer; return _this; } /** * @param {?} diagramEngine * @param {?} node * @param {?} nodesHost * @return {?} */ DefaultNodeFactory.prototype.generateWidget = /** * @param {?} diagramEngine * @param {?} node * @param {?} nodesHost * @return {?} */ function (diagramEngine, node, nodesHost) { var _this = this; /** @type {?} */ var componentRef = nodesHost.createComponent(this.getRecipe()); // attach coordinates and default positional behaviour to the generated component host /** @type {?} */ var rootNode = componentRef.location.nativeElement; // default style for node this.renderer.setStyle(rootNode, 'position', 'absolute'); this.renderer.setStyle(rootNode, 'display', 'block'); // data attributes this.renderer.setAttribute(rootNode, 'data-nodeid', node.id); // subscribe to node coordinates node.selectCoords().subscribe((/** * @param {?} __0 * @return {?} */ function (_a) { var x = _a.x, y = _a.y; _this.renderer.setStyle(rootNode, 'left', x + "px"); _this.renderer.setStyle(rootNode, 'top', y + "px"); })); node.selectionChanges().subscribe((/** * @param {?} e * @return {?} */ function (e) { e.isSelected ? _this.renderer.addClass(rootNode, 'selected') : _this.renderer.removeClass(rootNode, 'selected'); })); node.onEntityDestroy().subscribe((/** * @return {?} */ function ( /** e */) { componentRef.destroy(); })); // assign all passed properties to node initialization. Object.entries(node).forEach((/** * @param {?} __0 * @return {?} */ function (_a) { var _b = tslib_1.__read(_a, 2), key = _b[0], value = _b[1]; componentRef.instance[key] = value; })); componentRef.instance.diagramEngine = diagramEngine; return componentRef; }; /** * @return {?} */ DefaultNodeFactory.prototype.getRecipe = /** * @return {?} */ function () { return this.resolver.resolveComponentFactory(DefaultNodeComponent); }; /** * @param {?=} initialConfig * @return {?} */ DefaultNodeFactory.prototype.getNewInstance = /** * @param {?=} initialConfig * @return {?} */ function (initialConfig) { return new (DefaultNodeModel.bind.apply(DefaultNodeModel, tslib_1.__spread([void 0, 'default'], initialConfig)))(); }; return DefaultNodeFactory; }(AbstractNodeFactory)); export { DefaultNodeFactory }; if (false) { /** * @type {?} * @private */ DefaultNodeFactory.prototype.resolver; /** * @type {?} * @private */ DefaultNodeFactory.prototype.renderer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1ub2RlLmZhY3RvcnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZGlhZ3JhbXMvIiwic291cmNlcyI6WyJsaWIvZGVmYXVsdHMvZmFjdG9yaWVzL2RlZmF1bHQtbm9kZS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWhFO0lBQXdDLDhDQUFxQztJQUM1RSw0QkFBb0IsUUFBa0MsRUFBVSxRQUFtQjtRQUFuRixZQUNDLGtCQUFNLFNBQVMsQ0FBQyxTQUNoQjtRQUZtQixjQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUFVLGNBQVEsR0FBUixRQUFRLENBQVc7O0lBRW5GLENBQUM7Ozs7Ozs7SUFFRCwyQ0FBYzs7Ozs7O0lBQWQsVUFBZSxhQUE0QixFQUFFLElBQXNCLEVBQUUsU0FBMkI7UUFBaEcsaUJBbUNDOztZQWxDTSxZQUFZLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7OztZQUcxRCxRQUFRLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1FBRXBELHlCQUF5QjtRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFckQsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTdELGdDQUFnQztRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsU0FBUzs7OztRQUFDLFVBQUMsRUFBUTtnQkFBTixRQUFDLEVBQUUsUUFBQztZQUNwQyxLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFLLENBQUMsT0FBSSxDQUFDLENBQUM7WUFDbkQsS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBSyxDQUFDLE9BQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsU0FBUzs7OztRQUFDLFVBQUEsQ0FBQztZQUNsQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMvRyxDQUFDLEVBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxTQUFTOzs7UUFBQyxXQUFDLFFBQVE7WUFDekMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUMsRUFBQyxDQUFDO1FBRUgsdURBQXVEO1FBQ3ZELE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTzs7OztRQUFDLFVBQUMsRUFBWTtnQkFBWiwwQkFBWSxFQUFYLFdBQUcsRUFBRSxhQUFLO1lBQ3hDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO1FBRUgsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBRXBELE9BQU8sWUFBWSxDQUFDO0lBQ3JCLENBQUM7Ozs7SUFFRCxzQ0FBUzs7O0lBQVQ7UUFDQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs7OztJQUVELDJDQUFjOzs7O0lBQWQsVUFBZSxhQUFtQjtRQUNqQyxZQUFXLGdCQUFnQixZQUFoQixnQkFBZ0IsNEJBQUMsU0FBUyxHQUFLLGFBQWEsTUFBRTtJQUMxRCxDQUFDO0lBQ0YseUJBQUM7QUFBRCxDQUFDLEFBakRELENBQXdDLG1CQUFtQixHQWlEMUQ7Ozs7Ozs7SUFoRFksc0NBQTBDOzs7OztJQUFFLHNDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlZmF1bHROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9kZWZhdWx0LW5vZGUvZGVmYXVsdC1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGVGYWN0b3J5IH0gZnJvbSAnLi4vLi4vZmFjdG9yaWVzL25vZGUuZmFjdG9yeSc7XG5pbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIFZpZXdDb250YWluZXJSZWYsIENvbXBvbmVudFJlZiwgQ29tcG9uZW50RmFjdG9yeSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFncmFtRW5naW5lIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW5naW5lLnNlcnZpY2UuanMnO1xuaW1wb3J0IHsgRGVmYXVsdE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9kZWZhdWx0LW5vZGUubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRGVmYXVsdE5vZGVGYWN0b3J5IGV4dGVuZHMgQWJzdHJhY3ROb2RlRmFjdG9yeTxEZWZhdWx0Tm9kZU1vZGVsPiB7XG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7XG5cdFx0c3VwZXIoJ2RlZmF1bHQnKTtcblx0fVxuXG5cdGdlbmVyYXRlV2lkZ2V0KGRpYWdyYW1FbmdpbmU6IERpYWdyYW1FbmdpbmUsIG5vZGU6IERlZmF1bHROb2RlTW9kZWwsIG5vZGVzSG9zdDogVmlld0NvbnRhaW5lclJlZik6IENvbXBvbmVudFJlZjxEZWZhdWx0Tm9kZUNvbXBvbmVudD4ge1xuXHRcdGNvbnN0IGNvbXBvbmVudFJlZiA9IG5vZGVzSG9zdC5jcmVhdGVDb21wb25lbnQodGhpcy5nZXRSZWNpcGUoKSk7XG5cblx0XHQvLyBhdHRhY2ggY29vcmRpbmF0ZXMgYW5kIGRlZmF1bHQgcG9zaXRpb25hbCBiZWhhdmlvdXIgdG8gdGhlIGdlbmVyYXRlZCBjb21wb25lbnQgaG9zdFxuXHRcdGNvbnN0IHJvb3ROb2RlID0gY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG5cblx0XHQvLyBkZWZhdWx0IHN0eWxlIGZvciBub2RlXG5cdFx0dGhpcy5yZW5kZXJlci5zZXRTdHlsZShyb290Tm9kZSwgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG5cdFx0dGhpcy5yZW5kZXJlci5zZXRTdHlsZShyb290Tm9kZSwgJ2Rpc3BsYXknLCAnYmxvY2snKTtcblxuXHRcdC8vIGRhdGEgYXR0cmlidXRlc1xuXHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHJvb3ROb2RlLCAnZGF0YS1ub2RlaWQnLCBub2RlLmlkKTtcblxuXHRcdC8vIHN1YnNjcmliZSB0byBub2RlIGNvb3JkaW5hdGVzXG5cdFx0bm9kZS5zZWxlY3RDb29yZHMoKS5zdWJzY3JpYmUoKHsgeCwgeSB9KSA9PiB7XG5cdFx0XHR0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHJvb3ROb2RlLCAnbGVmdCcsIGAke3h9cHhgKTtcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0U3R5bGUocm9vdE5vZGUsICd0b3AnLCBgJHt5fXB4YCk7XG5cdFx0fSk7XG5cblx0XHRub2RlLnNlbGVjdGlvbkNoYW5nZXMoKS5zdWJzY3JpYmUoZSA9PiB7XG5cdFx0XHRlLmlzU2VsZWN0ZWQgPyB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHJvb3ROb2RlLCAnc2VsZWN0ZWQnKSA6IHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3Mocm9vdE5vZGUsICdzZWxlY3RlZCcpO1xuXHRcdH0pO1xuXG5cdFx0bm9kZS5vbkVudGl0eURlc3Ryb3koKS5zdWJzY3JpYmUoKC8qKiBlICovKSA9PiB7XG5cdFx0XHRjb21wb25lbnRSZWYuZGVzdHJveSgpO1xuXHRcdH0pO1xuXG5cdFx0Ly8gYXNzaWduIGFsbCBwYXNzZWQgcHJvcGVydGllcyB0byBub2RlIGluaXRpYWxpemF0aW9uLlxuXHRcdE9iamVjdC5lbnRyaWVzKG5vZGUpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuXHRcdFx0Y29tcG9uZW50UmVmLmluc3RhbmNlW2tleV0gPSB2YWx1ZTtcblx0XHR9KTtcblxuXHRcdGNvbXBvbmVudFJlZi5pbnN0YW5jZS5kaWFncmFtRW5naW5lID0gZGlhZ3JhbUVuZ2luZTtcblxuXHRcdHJldHVybiBjb21wb25lbnRSZWY7XG5cdH1cblxuXHRnZXRSZWNpcGUoKTogQ29tcG9uZW50RmFjdG9yeTxEZWZhdWx0Tm9kZUNvbXBvbmVudD4ge1xuXHRcdHJldHVybiB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERlZmF1bHROb2RlQ29tcG9uZW50KTtcblx0fVxuXG5cdGdldE5ld0luc3RhbmNlKGluaXRpYWxDb25maWc/OiBhbnkpOiBEZWZhdWx0Tm9kZU1vZGVsIHtcblx0XHRyZXR1cm4gbmV3IERlZmF1bHROb2RlTW9kZWwoJ2RlZmF1bHQnLCAuLi5pbml0aWFsQ29uZmlnKTtcblx0fVxufVxuIl19