ngx-diagrams
Version:
> Light Weight, Modular, Typed Diagram Engine for Angular
37 lines • 4.79 kB
JavaScript
import { NodeModel } from '../../models/node.model';
import { DefaultPortModel } from './default-port.model';
export class DefaultNodeModel extends NodeModel {
constructor({ name = 'Untitled', type = 'default', color = 'rgb(0, 192, 255)', id } = {}) {
super(type, id);
this.name = name;
this.color = color;
this.height$ = this.selectHeight();
this.width$ = this.selectWidth();
}
addInPort({ name, type = 'default', id, linkType = 'default' }) {
const port = new DefaultPortModel({
isInput: true,
name,
type,
id,
label: null,
linkType
});
this.addPort(port);
return port;
}
addOutPort({ name, type = 'default', id, linkType = 'default', maximumLinks = null }) {
const port = new DefaultPortModel({
isInput: false,
name,
type,
id,
label: null,
linkType,
maximumLinks
});
this.addPort(port);
return port;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1ub2RlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL2xpYnMvbmd4LWRpYWdyYW1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9kZWZhdWx0cy9tb2RlbHMvZGVmYXVsdC1ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsU0FBUztJQU03QyxZQUFZLEVBQ1YsSUFBSSxHQUFHLFVBQVUsRUFDakIsSUFBSSxHQUFHLFNBQVMsRUFDaEIsS0FBSyxHQUFHLGtCQUFrQixFQUMxQixFQUFFLEtBTUEsRUFBRTtRQUNKLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUNSLElBQUksRUFDSixJQUFJLEdBQUcsU0FBUyxFQUNoQixFQUFFLEVBQ0YsUUFBUSxHQUFHLFNBQVMsRUFNckI7UUFDQyxNQUFNLElBQUksR0FBRyxJQUFJLGdCQUFnQixDQUFDO1lBQ2hDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsSUFBSTtZQUNKLElBQUk7WUFDSixFQUFFO1lBQ0YsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxVQUFVLENBQUMsRUFDVCxJQUFJLEVBQ0osSUFBSSxHQUFHLFNBQVMsRUFDaEIsRUFBRSxFQUNGLFFBQVEsR0FBRyxTQUFTLEVBQ3BCLFlBQVksR0FBRyxJQUFJLEVBT3BCO1FBQ0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztZQUNoQyxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUk7WUFDSixJQUFJO1lBQ0osRUFBRTtZQUNGLEtBQUssRUFBRSxJQUFJO1lBQ1gsUUFBUTtZQUNSLFlBQVk7U0FDYixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm9kZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25vZGUubW9kZWwnO1xuaW1wb3J0IHsgRGVmYXVsdFBvcnRNb2RlbCB9IGZyb20gJy4vZGVmYXVsdC1wb3J0Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIERlZmF1bHROb2RlTW9kZWwgZXh0ZW5kcyBOb2RlTW9kZWwge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGhlaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgd2lkdGgkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIG5hbWUgPSAnVW50aXRsZWQnLFxuICAgIHR5cGUgPSAnZGVmYXVsdCcsXG4gICAgY29sb3IgPSAncmdiKDAsIDE5MiwgMjU1KScsXG4gICAgaWRcbiAgfToge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgfSA9IHt9KSB7XG4gICAgc3VwZXIodHlwZSwgaWQpO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xuICAgIHRoaXMuaGVpZ2h0JCA9IHRoaXMuc2VsZWN0SGVpZ2h0KCk7XG4gICAgdGhpcy53aWR0aCQgPSB0aGlzLnNlbGVjdFdpZHRoKCk7XG4gIH1cblxuICBhZGRJblBvcnQoe1xuICAgIG5hbWUsXG4gICAgdHlwZSA9ICdkZWZhdWx0JyxcbiAgICBpZCxcbiAgICBsaW5rVHlwZSA9ICdkZWZhdWx0J1xuICB9OiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU/OiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgbGlua1R5cGU/OiBzdHJpbmc7XG4gIH0pIHtcbiAgICBjb25zdCBwb3J0ID0gbmV3IERlZmF1bHRQb3J0TW9kZWwoe1xuICAgICAgaXNJbnB1dDogdHJ1ZSxcbiAgICAgIG5hbWUsXG4gICAgICB0eXBlLFxuICAgICAgaWQsXG4gICAgICBsYWJlbDogbnVsbCxcbiAgICAgIGxpbmtUeXBlXG4gICAgfSk7XG4gICAgdGhpcy5hZGRQb3J0KHBvcnQpO1xuICAgIHJldHVybiBwb3J0O1xuICB9XG5cbiAgYWRkT3V0UG9ydCh7XG4gICAgbmFtZSxcbiAgICB0eXBlID0gJ2RlZmF1bHQnLFxuICAgIGlkLFxuICAgIGxpbmtUeXBlID0gJ2RlZmF1bHQnLFxuICAgIG1heGltdW1MaW5rcyA9IG51bGxcbiAgfToge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuICAgIGxpbmtUeXBlPzogc3RyaW5nO1xuICAgIG1heGltdW1MaW5rcz86IG51bWJlcjtcbiAgfSkge1xuICAgIGNvbnN0IHBvcnQgPSBuZXcgRGVmYXVsdFBvcnRNb2RlbCh7XG4gICAgICBpc0lucHV0OiBmYWxzZSxcbiAgICAgIG5hbWUsXG4gICAgICB0eXBlLFxuICAgICAgaWQsXG4gICAgICBsYWJlbDogbnVsbCxcbiAgICAgIGxpbmtUeXBlLFxuICAgICAgbWF4aW11bUxpbmtzXG4gICAgfSk7XG4gICAgdGhpcy5hZGRQb3J0KHBvcnQpO1xuICAgIHJldHVybiBwb3J0O1xuICB9XG59XG4iXX0=