UNPKG

ngx-diagrams

Version:

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

217 lines 12.8 kB
/** * @fileoverview added by tsickle * Generated from: lib/models/port.model.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { BaseModel } from './base.model'; import { BehaviorSubject } from 'rxjs'; export class PortModel extends BaseModel { /** * @param {?} name * @param {?=} type * @param {?=} id * @param {?=} maximumLinks * @param {?=} linkType */ constructor(name, type, id, maximumLinks, linkType) { super(type, id); this.name = name; this.links$ = new BehaviorSubject({}); this.maximumLinks = maximumLinks; this.x$ = new BehaviorSubject(0); this.y$ = new BehaviorSubject(0); this.height$ = new BehaviorSubject(0); this.width$ = new BehaviorSubject(0); this.linkType = linkType; } /** * @return {?} */ getNode() { return this.getParent(); } /** * @return {?} */ getName() { return this.name; } /** * @return {?} */ selectX() { return this.x$.asObservable(); } /** * @return {?} */ selectY() { return this.y$.asObservable(); } /** * @return {?} */ getY() { return this.y$.getValue(); } /** * @return {?} */ getX() { return this.x$.getValue(); } /** * @return {?} */ getHeight() { return this.height$.getValue(); } /** * @return {?} */ getWidth() { return this.width$.getValue(); } /** * @return {?} */ getMaximumLinks() { return this.maximumLinks; } /** * @param {?} maximumLinks * @return {?} */ setMaximumLinks(maximumLinks) { this.maximumLinks = maximumLinks; } /** * @return {?} */ getLinkType() { return this.linkType; } /** * @param {?} type * @return {?} */ setLinkType(type) { this.linkType = type; } /** * @param {?} link * @return {?} */ removeLink(link) { /** @type {?} */ const links = this.links$.getValue(); delete links[link.id]; this.links$.next(Object.assign({}, links)); } /** * @param {?} link * @return {?} */ addLink(link) { this.links$.next(Object.assign({}, this.links$.value, { [link.id]: link })); } /** * @return {?} */ getLinks() { return this.links$.getValue(); } /** * @return {?} */ selectLinks() { return this.links$.asObservable(); } /** * @param {?} __0 * @return {?} */ updateCoords({ x, y, width, height }) { this.x$.next(x); this.y$.next(y); this.width$.next(width); this.height$.next(height); } /** * @param {?} port * @return {?} */ canLinkToPort(port) { return true; } /** * @return {?} */ isLocked() { return super.getLocked(); } /** * @return {?} */ createLinkModel() { /** @type {?} */ const numberOfLinks = Object.keys(this.links$.getValue()).length; if (this.maximumLinks === 1 && numberOfLinks >= 1) { /** @type {?} */ const linkToRemove = Object.values(this.links$.getValue())[0]; linkToRemove.destroy(); return null; } else if (numberOfLinks >= this.maximumLinks) { // for the moment we will remove the first link by default /** @type {?} */ const linkToRemove = Object.values(this.links$.getValue())[0]; linkToRemove.destroy(); return null; } return null; } } if (false) { /** * @type {?} * @private */ PortModel.prototype.name; /** * @type {?} * @private */ PortModel.prototype.links$; /** * @type {?} * @private */ PortModel.prototype.maximumLinks; /** * @type {?} * @private */ PortModel.prototype.linkType; /** * @type {?} * @private */ PortModel.prototype.x$; /** * @type {?} * @private */ PortModel.prototype.y$; /** * @type {?} * @private */ PortModel.prototype.width$; /** * @type {?} * @private */ PortModel.prototype.height$; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kaWFncmFtcy8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHekMsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxNQUFNLE9BQU8sU0FBVSxTQUFRLFNBQW9COzs7Ozs7OztJQVdsRCxZQUFZLElBQVksRUFBRSxJQUFhLEVBQUUsRUFBVyxFQUFFLFlBQXFCLEVBQUUsUUFBaUI7UUFDN0YsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDMUIsQ0FBQzs7OztJQUVELE9BQU87UUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsT0FBTztRQUNOLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDOzs7O0lBRUQsT0FBTztRQUNOLE9BQU8sSUFBSSxDQUFD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SSxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTs7O2tCQUV4QyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQztTQUNaO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0NBQ0Q7Ozs7OztJQXJIQSx5QkFBcUI7Ozs7O0lBQ3JCLDJCQUE2RDs7Ozs7SUFDN0QsaUNBQTZCOzs7OztJQUM3Qiw2QkFBeUI7Ozs7O0lBRXpCLHVCQUFvQzs7Ozs7SUFDcEMsdUJBQW9DOzs7OztJQUNwQywyQkFBd0M7Ozs7O0lBQ3hDLDRCQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCB9IGZyb20gJy4vYmFzZS5tb2RlbCc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuL25vZGUubW9kZWwnO1xuaW1wb3J0IHsgTGlua01vZGVsIH0gZnJvbSAnLi9saW5rLm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY2xhc3MgUG9ydE1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsPE5vZGVNb2RlbD4ge1xuXHRwcml2YXRlIG5hbWU6IHN0cmluZztcblx0cHJpdmF0ZSBsaW5rcyQ6IEJlaGF2aW9yU3ViamVjdDx7IFtpZDogc3RyaW5nXTogTGlua01vZGVsIH0+O1xuXHRwcml2YXRlIG1heGltdW1MaW5rczogbnVtYmVyO1xuXHRwcml2YXRlIGxpbmtUeXBlOiBzdHJpbmc7XG5cblx0cHJpdmF0ZSB4JDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG5cdHByaXZhdGUgeSQ6IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuXHRwcml2YXRlIHdpZHRoJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG5cdHByaXZhdGUgaGVpZ2h0JDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG5cblx0Y29uc3RydWN0b3IobmFtZTogc3RyaW5nLCB0eXBlPzogc3RyaW5nLCBpZD86IHN0cmluZywgbWF4aW11bUxpbmtzPzogbnVtYmVyLCBsaW5rVHlwZT86IHN0cmluZykge1xuXHRcdHN1cGVyKHR5cGUsIGlkKTtcblx0XHR0aGlzLm5hbWUgPSBuYW1lO1xuXHRcdHRoaXMubGlua3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG5cdFx0dGhpcy5tYXhpbXVtTGlua3MgPSBtYXhpbXVtTGlua3M7XG5cdFx0dGhpcy54JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cdFx0dGhpcy55JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cdFx0dGhpcy5oZWlnaHQkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblx0XHR0aGlzLndpZHRoJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cdFx0dGhpcy5saW5rVHlwZSA9IGxpbmtUeXBlO1xuXHR9XG5cblx0Z2V0Tm9kZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5nZXRQYXJlbnQoKTtcblx0fVxuXG5cdGdldE5hbWUoKSB7XG5cdFx0cmV0dXJuIHRoaXMubmFtZTtcblx0fVxuXG5cdHNlbGVjdFgoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcblx0XHRyZXR1cm4gdGhpcy54JC5hc09ic2VydmFibGUoKTtcblx0fVxuXG5cdHNlbGVjdFkoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcblx0XHRyZXR1cm4gdGhpcy55JC5hc09ic2VydmFibGUoKTtcblx0fVxuXG5cdGdldFkoKSB7XG5cdFx0cmV0dXJuIHRoaXMueSQuZ2V0VmFsdWUoKTtcblx0fVxuXG5cdGdldFgoKSB7XG5cdFx0cmV0dXJuIHRoaXMueCQuZ2V0VmFsdWUoKTtcblx0fVxuXG5cdGdldEhlaWdodCgpIHtcblx0XHRyZXR1cm4gdGhpcy5oZWlnaHQkLmdldFZhbHVlKCk7XG5cdH1cblxuXHRnZXRXaWR0aCgpIHtcblx0XHRyZXR1cm4gdGhpcy53aWR0aCQuZ2V0VmFsdWUoKTtcblx0fVxuXG5cdGdldE1heGltdW1MaW5rcygpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm1heGltdW1MaW5rcztcblx0fVxuXG5cdHNldE1heGltdW1MaW5rcyhtYXhpbXVtTGlua3M6IG51bWJlcikge1xuXHRcdHRoaXMubWF4aW11bUxpbmtzID0gbWF4aW11bUxpbmtzO1xuXHR9XG5cblx0Z2V0TGlua1R5cGUoKSB7XG5cdFx0cmV0dXJuIHRoaXMubGlua1R5cGU7XG5cdH1cblxuXHRzZXRMaW5rVHlwZSh0eXBlOiBzdHJpbmcpIHtcblx0XHR0aGlzLmxpbmtUeXBlID0gdHlwZTtcblx0fVxuXG5cdHJlbW92ZUxpbmsobGluazogTGlua01vZGVsKSB7XG5cdFx0Y29uc3QgbGlua3MgPSB0aGlzLmxpbmtzJC5nZXRWYWx1ZSgpO1xuXHRcdGRlbGV0ZSBsaW5rc1tsaW5rLmlkXTtcblx0XHR0aGlzLmxpbmtzJC5uZXh0KHsgLi4ubGlua3MgfSk7XG5cdH1cblxuXHRhZGRMaW5rKGxpbms6IExpbmtNb2RlbCkge1xuXHRcdHRoaXMubGlua3MkLm5leHQoeyAuLi50aGlzLmxpbmtzJC52YWx1ZSwgW2xpbmsuaWRdOiBsaW5rIH0pO1xuXHR9XG5cblx0Z2V0TGlua3MoKTogeyBbaWQ6IHN0cmluZ106IExpbmtNb2RlbCB9IHtcblx0XHRyZXR1cm4gdGhpcy5saW5rcyQuZ2V0VmFsdWUoKTtcblx0fVxuXG5cdHNlbGVjdExpbmtzKCk6IE9ic2VydmFibGU8eyBbaWQ6IHN0cmluZ106IExpbmtNb2RlbCB9PiB7XG5cdFx0cmV0dXJuIHRoaXMubGlua3MkLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0dXBkYXRlQ29vcmRzKHsgeCwgeSwgd2lkdGgsIGhlaWdodCB9OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9KSB7XG5cdFx0dGhpcy54JC5uZXh0KHgpO1xuXHRcdHRoaXMueSQubmV4dCh5KTtcblx0XHR0aGlzLndpZHRoJC5uZXh0KHdpZHRoKTtcblx0XHR0aGlzLmhlaWdodCQubmV4dChoZWlnaHQpO1xuXHR9XG5cblx0Y2FuTGlua1RvUG9ydChwb3J0OiBQb3J0TW9kZWwpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdGlzTG9ja2VkKCkge1xuXHRcdHJldHVybiBzdXBlci5nZXRMb2NrZWQoKTtcblx0fVxuXG5cdHB1YmxpYyBjcmVhdGVMaW5rTW9kZWwoKTogTGlua01vZGVsIHwgbnVsbCB7XG5cdFx0Y29uc3QgbnVtYmVyT2ZMaW5rczogbnVtYmVyID0gT2JqZWN0LmtleXModGhpcy5saW5rcyQuZ2V0VmFsdWUoKSkubGVuZ3RoO1xuXHRcdGlmICh0aGlzLm1heGltdW1MaW5rcyA9PT0gMSAmJiBudW1iZXJPZkxpbmtzID49IDEpIHtcblx0XHRcdGNvbnN0IGxpbmtUb1JlbW92ZSA9IE9iamVjdC52YWx1ZXModGhpcy5saW5rcyQuZ2V0VmFsdWUoKSlbMF07XG5cdFx0XHRsaW5rVG9SZW1vdmUuZGVzdHJveSgpO1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fSBlbHNlIGlmIChudW1iZXJPZkxpbmtzID49IHRoaXMubWF4aW11bUxpbmtzKSB7XG5cdFx0XHQvLyBmb3IgdGhlIG1vbWVudCB3ZSB3aWxsIHJlbW92ZSB0aGUgZmlyc3QgbGluayBieSBkZWZhdWx0XG5cdFx0XHRjb25zdCBsaW5rVG9SZW1vdmUgPSBPYmplY3QudmFsdWVzKHRoaXMubGlua3MkLmdldFZhbHVlKCkpWzBdO1xuXHRcdFx0bGlua1RvUmVtb3ZlLmRlc3Ryb3koKTtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblx0XHRyZXR1cm4gbnVsbDtcblx0fVxufVxuIl19