ngx-diagrams
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 7.2.0.
76 lines • 6.87 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/defaults/factories/default-port.factory.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { AbstractPortFactory } from '../../factories/port.factory';
import { DefaultPortModel } from '../models/default-port.model';
import { DefaultPortComponent } from '../components/default-port/default-port.component';
export class DefaultPortFactory extends AbstractPortFactory {
/**
* @param {?} resolver
* @param {?} renderer
*/
constructor(resolver, renderer) {
super('default');
this.resolver = resolver;
this.renderer = renderer;
}
/**
* @param {?} port
* @param {?} portsHost
* @return {?}
*/
generateWidget(port, portsHost) {
/** @type {?} */
const componentRef = portsHost.createComponent(this.getRecipe());
// attach coordinates and default positional behaviour to the generated component host
/** @type {?} */
const rootNode = (/** @type {?} */ (componentRef.location.nativeElement));
// data attributes
this.renderer.setAttribute(rootNode, 'data-portid', port.id);
this.renderer.setAttribute(rootNode, 'data-name', port.getName());
port.in ? this.renderer.addClass(rootNode, 'in') : this.renderer.addClass(rootNode, 'out');
// assign all passed properties to node initialization.
Object.entries(port).forEach((/**
* @param {?} __0
* @return {?}
*/
([key, value]) => {
componentRef.instance[key] = value;
}));
port.onEntityDestroy().subscribe((/**
* @return {?}
*/
( /** e */) => {
componentRef.destroy();
}));
return componentRef;
}
/**
* @return {?}
*/
getRecipe() {
return this.resolver.resolveComponentFactory(DefaultPortComponent);
}
/**
* @param {?=} initialConfig
* @return {?}
*/
getNewInstance(initialConfig) {
return new DefaultPortModel(Object.assign({ isInput: true, name: 'unknown' }, initialConfig));
}
}
if (false) {
/**
* @type {?}
* @private
*/
DefaultPortFactory.prototype.resolver;
/**
* @type {?}
* @private
*/
DefaultPortFactory.prototype.renderer;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1wb3J0LmZhY3RvcnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtZGlhZ3JhbXMvIiwic291cmNlcyI6WyJsaWIvZGVmYXVsdHMvZmFjdG9yaWVzL2RlZmF1bHQtcG9ydC5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFFekYsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFxQzs7Ozs7SUFDNUUsWUFBb0IsUUFBa0MsRUFBVSxRQUFtQjtRQUNsRixLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFERSxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7SUFFbkYsQ0FBQzs7Ozs7O0lBRUQsY0FBYyxDQUFDLElBQXNCLEVBQUUsU0FBMkI7O2NBQzNELFlBQVksR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7O2NBRzFELFFBQVEsR0FBRyxtQkFBQSxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBZTtRQUVuRSxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUzRix1REFBdUQ7UUFDdkQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQzdDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3BDLENBQUMsRUFBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVM7OztRQUFDLEVBQUMsUUFBUSxFQUFFLEVBQUU7WUFDN0MsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUMsRUFBQyxDQUFDO1FBRUgsT0FBTyxZQUFZLENBQUM7SUFDckIsQ0FBQzs7OztJQUVELFNBQVM7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUNwRSxDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxhQUFtQjtRQUNqQyxPQUFPLElBQUksZ0JBQWdCLGlCQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsSUFBSyxhQUFhLEVBQUcsQ0FBQztJQUNuRixDQUFDO0NBQ0Q7Ozs7OztJQW5DWSxzQ0FBMEM7Ozs7O0lBQUUsc0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RQb3J0RmFjdG9yeSB9IGZyb20gJy4uLy4uL2ZhY3Rvcmllcy9wb3J0LmZhY3RvcnknO1xuaW1wb3J0IHsgRGVmYXVsdFBvcnRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9kZWZhdWx0LXBvcnQubW9kZWwnO1xuaW1wb3J0IHsgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50UmVmLCBDb21wb25lbnRGYWN0b3J5LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGVmYXVsdFBvcnRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2RlZmF1bHQtcG9ydC9kZWZhdWx0LXBvcnQuY29tcG9uZW50JztcblxuZXhwb3J0IGNsYXNzIERlZmF1bHRQb3J0RmFjdG9yeSBleHRlbmRzIEFic3RyYWN0UG9ydEZhY3Rvcnk8RGVmYXVsdFBvcnRNb2RlbD4ge1xuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuXHRcdHN1cGVyKCdkZWZhdWx0Jyk7XG5cdH1cblxuXHRnZW5lcmF0ZVdpZGdldChwb3J0OiBEZWZhdWx0UG9ydE1vZGVsLCBwb3J0c0hvc3Q6IFZpZXdDb250YWluZXJSZWYpOiBDb21wb25lbnRSZWY8RGVmYXVsdFBvcnRDb21wb25lbnQ+IHtcblx0XHRjb25zdCBjb21wb25lbnRSZWYgPSBwb3J0c0hvc3QuY3JlYXRlQ29tcG9uZW50KHRoaXMuZ2V0UmVjaXBlKCkpO1xuXG5cdFx0Ly8gYXR0YWNoIGNvb3JkaW5hdGVzIGFuZCBkZWZhdWx0IHBvc2l0aW9uYWwgYmVoYXZpb3VyIHRvIHRoZSBnZW5lcmF0ZWQgY29tcG9uZW50IGhvc3Rcblx0XHRjb25zdCByb290Tm9kZSA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG5cdFx0Ly8gZGF0YSBhdHRyaWJ1dGVzXG5cdFx0dGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocm9vdE5vZGUsICdkYXRhLXBvcnRpZCcsIHBvcnQuaWQpO1xuXHRcdHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHJvb3ROb2RlLCAnZGF0YS1uYW1lJywgcG9ydC5nZXROYW1lKCkpO1xuXG5cdFx0cG9ydC5pbiA/IHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Mocm9vdE5vZGUsICdpbicpIDogdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhyb290Tm9kZSwgJ291dCcpO1xuXG5cdFx0Ly8gYXNzaWduIGFsbCBwYXNzZWQgcHJvcGVydGllcyB0byBub2RlIGluaXRpYWxpemF0aW9uLlxuXHRcdE9iamVjdC5lbnRyaWVzKHBvcnQpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuXHRcdFx0Y29tcG9uZW50UmVmLmluc3RhbmNlW2tleV0gPSB2YWx1ZTtcblx0XHR9KTtcblxuXHRcdHBvcnQub25FbnRpdHlEZXN0cm95KCkuc3Vic2NyaWJlKCgvKiogZSAqLykgPT4ge1xuXHRcdFx0Y29tcG9uZW50UmVmLmRlc3Ryb3koKTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBjb21wb25lbnRSZWY7XG5cdH1cblxuXHRnZXRSZWNpcGUoKTogQ29tcG9uZW50RmFjdG9yeTxEZWZhdWx0UG9ydENvbXBvbmVudD4ge1xuXHRcdHJldHVybiB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KERlZmF1bHRQb3J0Q29tcG9uZW50KTtcblx0fVxuXG5cdGdldE5ld0luc3RhbmNlKGluaXRpYWxDb25maWc/OiBhbnkpOiBEZWZhdWx0UG9ydE1vZGVsIHtcblx0XHRyZXR1cm4gbmV3IERlZmF1bHRQb3J0TW9kZWwoeyBpc0lucHV0OiB0cnVlLCBuYW1lOiAndW5rbm93bicsIC4uLmluaXRpYWxDb25maWcgfSk7XG5cdH1cbn1cbiJdfQ==