UNPKG

ngx-diagrams

Version:

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

283 lines 14.7 kB
/** * @fileoverview added by tsickle * Generated from: lib/models/port.model.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { BaseModel } from './base.model'; import { BehaviorSubject } from 'rxjs'; var PortModel = /** @class */ (function (_super) { tslib_1.__extends(PortModel, _super); function PortModel(name, type, id, maximumLinks, linkType) { var _this = _super.call(this, type, id) || this; _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 _this; } /** * @return {?} */ PortModel.prototype.getNode = /** * @return {?} */ function () { return this.getParent(); }; /** * @return {?} */ PortModel.prototype.getName = /** * @return {?} */ function () { return this.name; }; /** * @return {?} */ PortModel.prototype.selectX = /** * @return {?} */ function () { return this.x$.asObservable(); }; /** * @return {?} */ PortModel.prototype.selectY = /** * @return {?} */ function () { return this.y$.asObservable(); }; /** * @return {?} */ PortModel.prototype.getY = /** * @return {?} */ function () { return this.y$.getValue(); }; /** * @return {?} */ PortModel.prototype.getX = /** * @return {?} */ function () { return this.x$.getValue(); }; /** * @return {?} */ PortModel.prototype.getHeight = /** * @return {?} */ function () { return this.height$.getValue(); }; /** * @return {?} */ PortModel.prototype.getWidth = /** * @return {?} */ function () { return this.width$.getValue(); }; /** * @return {?} */ PortModel.prototype.getMaximumLinks = /** * @return {?} */ function () { return this.maximumLinks; }; /** * @param {?} maximumLinks * @return {?} */ PortModel.prototype.setMaximumLinks = /** * @param {?} maximumLinks * @return {?} */ function (maximumLinks) { this.maximumLinks = maximumLinks; }; /** * @return {?} */ PortModel.prototype.getLinkType = /** * @return {?} */ function () { return this.linkType; }; /** * @param {?} type * @return {?} */ PortModel.prototype.setLinkType = /** * @param {?} type * @return {?} */ function (type) { this.linkType = type; }; /** * @param {?} link * @return {?} */ PortModel.prototype.removeLink = /** * @param {?} link * @return {?} */ function (link) { /** @type {?} */ var links = this.links$.getValue(); delete links[link.id]; this.links$.next(tslib_1.__assign({}, links)); }; /** * @param {?} link * @return {?} */ PortModel.prototype.addLink = /** * @param {?} link * @return {?} */ function (link) { var _a; this.links$.next(tslib_1.__assign({}, this.links$.value, (_a = {}, _a[link.id] = link, _a))); }; /** * @return {?} */ PortModel.prototype.getLinks = /** * @return {?} */ function () { return this.links$.getValue(); }; /** * @return {?} */ PortModel.prototype.selectLinks = /** * @return {?} */ function () { return this.links$.asObservable(); }; /** * @param {?} __0 * @return {?} */ PortModel.prototype.updateCoords = /** * @param {?} __0 * @return {?} */ function (_a) { var x = _a.x, y = _a.y, width = _a.width, height = _a.height; this.x$.next(x); this.y$.next(y); this.width$.next(width); this.height$.next(height); }; /** * @param {?} port * @return {?} */ PortModel.prototype.canLinkToPort = /** * @param {?} port * @return {?} */ function (port) { return true; }; /** * @return {?} */ PortModel.prototype.isLocked = /** * @return {?} */ function () { return _super.prototype.getLocked.call(this); }; /** * @return {?} */ PortModel.prototype.createLinkModel = /** * @return {?} */ function () { /** @type {?} */ var numberOfLinks = Object.keys(this.links$.getValue()).length; if (this.maximumLinks === 1 && numberOfLinks >= 1) { /** @type {?} */ var 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 {?} */ var linkToRemove = Object.values(this.links$.getValue())[0]; linkToRemove.destroy(); return null; } return null; }; return PortModel; }(BaseModel)); export { PortModel }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1kaWFncmFtcy8iLCJzb3VyY2VzIjpbImxpYi9tb2RlbHMvcG9ydC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3pDLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFbkQ7SUFBK0IscUNBQW9CO0lBV2xELG1CQUFZLElBQVksRUFBRSxJQUFhLEVBQUUsRUFBVyxFQUFFLFlBQXFCLEVBQUUsUUFBaUI7UUFBOUYsWUFDQyxrQkFBTSxJQUFJLEVBQUUsRUFBRSxDQUFDLFNBU2Y7UUFSQSxLQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixLQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLEtBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1FBQ2pDLEtBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsS0FBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLEtBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsS0FBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7O0lBQzFCLENBQUM7Ozs7SUFFRCwyQkFBTzs7O0lBQVA7UUFDQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O0lBRUQsMkJBQU87OztJQUFQO1FBQ0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2xCLENBQUM7Ozs7SUFFRCwyQkFBTzs7O0lBQVA7UUFDQyxPQUFPLElB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LEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQztTQUNaO2FBQU0sSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTs7O2dCQUV4QyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdELFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QixPQUFPLElBQUksQ0FBQztTQUNaO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDYixDQUFDO0lBQ0YsZ0JBQUM7QUFBRCxDQUFDLEFBdEhELENBQStCLFNBQVMsR0FzSHZDOzs7Ozs7O0lBckhBLHlCQUFxQjs7Ozs7SUFDckIsMkJBQTZEOzs7OztJQUM3RCxpQ0FBNkI7Ozs7O0lBQzdCLDZCQUF5Qjs7Ozs7SUFFekIsdUJBQW9DOzs7OztJQUNwQyx1QkFBb0M7Ozs7O0lBQ3BDLDJCQUF3Qzs7Ozs7SUFDeEMsNEJBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi9iYXNlLm1vZGVsJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4vbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBMaW5rTW9kZWwgfSBmcm9tICcuL2xpbmsubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBQb3J0TW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWw8Tm9kZU1vZGVsPiB7XG5cdHByaXZhdGUgbmFtZTogc3RyaW5nO1xuXHRwcml2YXRlIGxpbmtzJDogQmVoYXZpb3JTdWJqZWN0PHsgW2lkOiBzdHJpbmddOiBMaW5rTW9kZWwgfT47XG5cdHByaXZhdGUgbWF4aW11bUxpbmtzOiBudW1iZXI7XG5cdHByaXZhdGUgbGlua1R5cGU6IHN0cmluZztcblxuXHRwcml2YXRlIHgkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcblx0cHJpdmF0ZSB5JDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG5cdHByaXZhdGUgd2lkdGgkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcblx0cHJpdmF0ZSBoZWlnaHQkOiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcblxuXHRjb25zdHJ1Y3RvcihuYW1lOiBzdHJpbmcsIHR5cGU/OiBzdHJpbmcsIGlkPzogc3RyaW5nLCBtYXhpbXVtTGlua3M/OiBudW1iZXIsIGxpbmtUeXBlPzogc3RyaW5nKSB7XG5cdFx0c3VwZXIodHlwZSwgaWQpO1xuXHRcdHRoaXMubmFtZSA9IG5hbWU7XG5cdFx0dGhpcy5saW5rcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcblx0XHR0aGlzLm1heGltdW1MaW5rcyA9IG1heGltdW1MaW5rcztcblx0XHR0aGlzLngkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblx0XHR0aGlzLnkkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblx0XHR0aGlzLmhlaWdodCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDApO1xuXHRcdHRoaXMud2lkdGgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblx0XHR0aGlzLmxpbmtUeXBlID0gbGlua1R5cGU7XG5cdH1cblxuXHRnZXROb2RlKCkge1xuXHRcdHJldHVybiB0aGlzLmdldFBhcmVudCgpO1xuXHR9XG5cblx0Z2V0TmFtZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5uYW1lO1xuXHR9XG5cblx0c2VsZWN0WCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuXHRcdHJldHVybiB0aGlzLngkLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0c2VsZWN0WSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuXHRcdHJldHVybiB0aGlzLnkkLmFzT2JzZXJ2YWJsZSgpO1xuXHR9XG5cblx0Z2V0WSgpIHtcblx0XHRyZXR1cm4gdGhpcy55JC5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0Z2V0WCgpIHtcblx0XHRyZXR1cm4gdGhpcy54JC5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0Z2V0SGVpZ2h0KCkge1xuXHRcdHJldHVybiB0aGlzLmhlaWdodCQuZ2V0VmFsdWUoKTtcblx0fVxuXG5cdGdldFdpZHRoKCkge1xuXHRcdHJldHVybiB0aGlzLndpZHRoJC5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0Z2V0TWF4aW11bUxpbmtzKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubWF4aW11bUxpbmtzO1xuXHR9XG5cblx0c2V0TWF4aW11bUxpbmtzKG1heGltdW1MaW5rczogbnVtYmVyKSB7XG5cdFx0dGhpcy5tYXhpbXVtTGlua3MgPSBtYXhpbXVtTGlua3M7XG5cdH1cblxuXHRnZXRMaW5rVHlwZSgpIHtcblx0XHRyZXR1cm4gdGhpcy5saW5rVHlwZTtcblx0fVxuXG5cdHNldExpbmtUeXBlKHR5cGU6IHN0cmluZykge1xuXHRcdHRoaXMubGlua1R5cGUgPSB0eXBlO1xuXHR9XG5cblx0cmVtb3ZlTGluayhsaW5rOiBMaW5rTW9kZWwpIHtcblx0XHRjb25zdCBsaW5rcyA9IHRoaXMubGlua3MkLmdldFZhbHVlKCk7XG5cdFx0ZGVsZXRlIGxpbmtzW2xpbmsuaWRdO1xuXHRcdHRoaXMubGlua3MkLm5leHQoeyAuLi5saW5rcyB9KTtcblx0fVxuXG5cdGFkZExpbmsobGluazogTGlua01vZGVsKSB7XG5cdFx0dGhpcy5saW5rcyQubmV4dCh7IC4uLnRoaXMubGlua3MkLnZhbHVlLCBbbGluay5pZF06IGxpbmsgfSk7XG5cdH1cblxuXHRnZXRMaW5rcygpOiB7IFtpZDogc3RyaW5nXTogTGlua01vZGVsIH0ge1xuXHRcdHJldHVybiB0aGlzLmxpbmtzJC5nZXRWYWx1ZSgpO1xuXHR9XG5cblx0c2VsZWN0TGlua3MoKTogT2JzZXJ2YWJsZTx7IFtpZDogc3RyaW5nXTogTGlua01vZGVsIH0+IHtcblx0XHRyZXR1cm4gdGhpcy5saW5rcyQuYXNPYnNlcnZhYmxlKCk7XG5cdH1cblxuXHR1cGRhdGVDb29yZHMoeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH06IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0pIHtcblx0XHR0aGlzLngkLm5leHQoeCk7XG5cdFx0dGhpcy55JC5uZXh0KHkpO1xuXHRcdHRoaXMud2lkdGgkLm5leHQod2lkdGgpO1xuXHRcdHRoaXMuaGVpZ2h0JC5uZXh0KGhlaWdodCk7XG5cdH1cblxuXHRjYW5MaW5rVG9Qb3J0KHBvcnQ6IFBvcnRNb2RlbCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0aXNMb2NrZWQoKSB7XG5cdFx0cmV0dXJuIHN1cGVyLmdldExvY2tlZCgpO1xuXHR9XG5cblx0cHVibGljIGNyZWF0ZUxpbmtNb2RlbCgpOiBMaW5rTW9kZWwgfCBudWxsIHtcblx0XHRjb25zdCBudW1iZXJPZkxpbmtzOiBudW1iZXIgPSBPYmplY3Qua2V5cyh0aGlzLmxpbmtzJC5nZXRWYWx1ZSgpKS5sZW5ndGg7XG5cdFx0aWYgKHRoaXMubWF4aW11bUxpbmtzID09PSAxICYmIG51bWJlck9mTGlua3MgPj0gMSkge1xuXHRcdFx0Y29uc3QgbGlua1RvUmVtb3ZlID0gT2JqZWN0LnZhbHVlcyh0aGlzLmxpbmtzJC5nZXRWYWx1ZSgpKVswXTtcblx0XHRcdGxpbmtUb1JlbW92ZS5kZXN0cm95KCk7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9IGVsc2UgaWYgKG51bWJlck9mTGlua3MgPj0gdGhpcy5tYXhpbXVtTGlua3MpIHtcblx0XHRcdC8vIGZvciB0aGUgbW9tZW50IHdlIHdpbGwgcmVtb3ZlIHRoZSBmaXJzdCBsaW5rIGJ5IGRlZmF1bHRcblx0XHRcdGNvbnN0IGxpbmtUb1JlbW92ZSA9IE9iamVjdC52YWx1ZXModGhpcy5saW5rcyQuZ2V0VmFsdWUoKSlbMF07XG5cdFx0XHRsaW5rVG9SZW1vdmUuZGVzdHJveSgpO1xuXHRcdFx0cmV0dXJuIG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9XG59XG4iXX0=