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