UNPKG

38.7 kBSource Map (JSON)View Raw
1{"version":3,"file":"core.umd.js","sources":["../esm/core/vis-network/vis-network.service.js","../esm/core/vis-network/node/vis-network-node.directive.js","../esm/core/vis-network/edge/vis-network-edge.directive.js","../esm/core/vis-network/vis-network.component.js","../esm/core/vis-network/vis-network.module.js"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport * as vis from 'vis';\nexport class VisNetworkService {\n constructor() {\n }\n get network() {\n return this._network;\n }\n getVisNode(nodeId) {\n return this.nodes.get(nodeId);\n }\n /**\n * Attach vis event to the current _network.\n * @param eventName\n * @param callback\n */\n attachEvent(eventName, callback) {\n this._network.on(eventName, callback);\n }\n addNode(node) {\n this.nodes.add(node);\n }\n updateNode(node) {\n this.nodes.update(node);\n }\n removeNode(nodeId) {\n this.nodes.remove(nodeId);\n }\n addEdge(edge) {\n this.edges.add(edge);\n }\n updateEdge(edge) {\n this.edges.update(edge);\n }\n removeEdge(edgeId) {\n this.edges.remove(edgeId);\n }\n onChange(newState) {\n this._network.setOptions(newState.options);\n const diffNodes = this.diff(this.nodes.get(), newState.nodes);\n const diffEdges = this.diff(this.edges.get(), newState.edges);\n diffNodes.added.forEach(n => this.nodes.add(n));\n diffNodes.changed.forEach(n => this.nodes.update(n));\n diffNodes.deleted.forEach(n => this.nodes.remove({ id: n }));\n diffEdges.added.forEach(e => this.edges.add(e));\n diffEdges.changed.forEach(e => this.edges.update(e));\n diffEdges.deleted.forEach(e => this.edges.remove({ id: e }));\n this.network.setOptions(newState.options);\n }\n diff(oldValue, newValue) {\n let diffResult = { added: [], deleted: [], changed: [] };\n diffResult.deleted = oldValue\n .filter(oldV => newValue.map(e => e.id).indexOf(oldV.id) == -1)\n .map(oldV => oldV.id);\n diffResult.added = newValue.filter(newV => oldValue.map(e => e.id).indexOf(newV.id) == -1);\n diffResult.changed = newValue.filter(newV => {\n let el = oldValue.find(oldV => oldV.id == newV.id);\n return el ? Object.keys(el).some(key => newV[key] != el[key]) : false;\n });\n return diffResult;\n }\n initDraw() {\n let data = {\n nodes: this.nodes,\n edges: this.edges\n };\n let options = this.options;\n this._network = new vis.Network(this.container.nativeElement, data, options);\n }\n initializeGraph(container, nodes, edges, options) {\n this.container = container;\n this.nodes = new vis.DataSet(nodes);\n this.edges = new vis.DataSet(edges);\n this.options = options;\n this.initDraw();\n }\n destroy() {\n if (this._network) {\n this._network.destroy();\n }\n }\n getPositions() {\n let map = new Map();\n const positions = this.network.getPositions();\n Object.keys(positions).forEach(nodeId => {\n map.set(nodeId, positions[nodeId]);\n });\n return map;\n }\n setPositions(positions) {\n positions.forEach((position, nodeId) => {\n this.network.moveNode(nodeId, position.x, position.y);\n });\n }\n}\nVisNetworkService.decorators = [\n { type: Injectable },\n];\n/** @nocollapse */\nVisNetworkService.ctorParameters = [];\n//# sourceMappingURL=vis-network.service.js.map","import { Input, Directive, Output, EventEmitter } from \"@angular/core\";\nimport { VisNetworkService } from \"../vis-network.service\";\nexport class VisNetworkNodeDirective {\n constructor(service) {\n this.service = service;\n this.select = new EventEmitter();\n }\n set options(options) {\n this._options = options;\n setTimeout(() => this.service.updateNode(this.toObject()));\n }\n get options() {\n return this._options;\n }\n onSelectNode(arg) {\n if (arg.nodes.indexOf(this.id) != -1) {\n this.select.emit(arg);\n }\n }\n toObject() {\n return Object.assign({\n id: this.id,\n label: this.label,\n }, this.options);\n }\n ngOnInit() {\n // We must wait a tick for network to be created in the service.\n setTimeout(() => {\n this.service.attachEvent('selectNode', arg => this.onSelectNode(arg));\n });\n }\n}\nVisNetworkNodeDirective.decorators = [\n { type: Directive, args: [{ selector: 'vis-network-node' },] },\n];\n/** @nocollapse */\nVisNetworkNodeDirective.ctorParameters = [\n { type: VisNetworkService, },\n];\nVisNetworkNodeDirective.propDecorators = {\n 'id': [{ type: Input },],\n 'label': [{ type: Input },],\n 'options': [{ type: Input },],\n 'select': [{ type: Output },],\n};\n//# sourceMappingURL=vis-network-node.directive.js.map","import { Input, Directive } from \"@angular/core\";\nimport { VisNetworkService } from \"../vis-network.service\";\nexport class VisNetworkEdgeDirective {\n constructor(service) {\n this.service = service;\n }\n set options(options) {\n this._options = options;\n setTimeout(() => this.service.updateEdge(this.toObject()));\n }\n get options() {\n return this._options;\n }\n toObject() {\n return Object.assign({\n id: this.id,\n from: this.from,\n to: this.to,\n name: this.name,\n label: this.label,\n }, this.options);\n }\n ngOnInit() {\n }\n}\nVisNetworkEdgeDirective.decorators = [\n { type: Directive, args: [{ selector: 'vis-network-edge' },] },\n];\n/** @nocollapse */\nVisNetworkEdgeDirective.ctorParameters = [\n { type: VisNetworkService, },\n];\nVisNetworkEdgeDirective.propDecorators = {\n 'id': [{ type: Input },],\n 'from': [{ type: Input },],\n 'to': [{ type: Input },],\n 'name': [{ type: Input },],\n 'label': [{ type: Input },],\n 'options': [{ type: Input },],\n};\n//# sourceMappingURL=vis-network-edge.directive.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nimport { Component, ContentChildren, ViewChild, Input, Output, EventEmitter } from \"@angular/core\";\nimport { VisNetworkNodeDirective } from \"./node/vis-network-node.directive\";\nimport { VisNetworkEdgeDirective } from \"./edge/vis-network-edge.directive\";\nimport { VisNetworkService } from \"./vis-network.service\";\nimport { Subject, Observable } from \"rxjs\";\nexport function VisNgEvent(eventString) {\n return function (target, key) {\n if (eventString == null) {\n if (key.startsWith('graph')) {\n eventString = key.slice('graph'.length);\n eventString = eventString[0].toLowerCase() + eventString.slice(1);\n }\n }\n if (!target['_events']) {\n target['_events'] = new Map();\n }\n target['_events'].set(key, eventString);\n };\n}\nexport class VisNetworkComponent {\n constructor(service) {\n this.service = service;\n this.nodes$ = new Subject();\n this.edges$ = new Subject();\n this.options$ = new Subject();\n // region Events\n // Events triggered by human interaction, selection, dragging, etc.\n this.graphClick = new EventEmitter();\n this.graphDoubleClick = new EventEmitter();\n this.graphRightClick = new EventEmitter();\n this.graphHold = new EventEmitter();\n this.graphRelease = new EventEmitter();\n this.graphSelect = new EventEmitter();\n this.graphSelectNode = new EventEmitter();\n this.graphSelectEdge = new EventEmitter();\n this.graphDeselectNode = new EventEmitter();\n this.graphDeselectEdge = new EventEmitter();\n this.graphDragStart = new EventEmitter();\n this.graphDragging = new EventEmitter();\n this.graphDragEnd = new EventEmitter();\n this.graphHoverNode = new EventEmitter();\n this.graphBlurNode = new EventEmitter();\n this.graphHoverEdge = new EventEmitter();\n this.graphBlurEdge = new EventEmitter();\n this.graphZoom = new EventEmitter();\n this.graphHidePopup = new EventEmitter();\n // Events triggered the physics simulation. Can be used to trigger GUI updates.\n this.graphStartStabilizing = new EventEmitter();\n this.graphStabilizationProgress = new EventEmitter();\n this.graphStabilizationIterationsDone = new EventEmitter();\n this.graphStabilized = new EventEmitter();\n // Events triggered by the canvas.\n this.graphResize = new EventEmitter();\n // Events triggered by the rendering module. Can be used to draw custom elements on the canvas.\n this.graphInitRedraw = new EventEmitter();\n this.graphBeforeDrawing = new EventEmitter();\n this.graphAfterDrawing = new EventEmitter();\n // Event triggered by the view module.\n this.graphAnimationFinished = new EventEmitter();\n // Event triggered by the configuration module.\n this.graphConfigChange = new EventEmitter();\n this.changes$ = Observable.combineLatest(this.nodes$, this.edges$, this.options$)\n .map(values => {\n return {\n nodes: values[0],\n edges: values[1],\n options: values[2],\n };\n })\n .filter(values => values.options !== null)\n .map(values => {\n const nodes = values.nodes.map(node => node.toObject());\n const edges = values.edges.map(edge => edge.toObject());\n const options = values.options;\n return { nodes, edges, options };\n });\n this._subscriptions = [];\n let sub = this.changes$.take(1).subscribe(values => {\n this.service.initializeGraph(this.graphElement, values.nodes, values.edges, values.options);\n });\n this._subscriptions.push(sub);\n sub = this.changes$.skip(1).subscribe(values => {\n this.service.onChange({\n nodes: values.nodes,\n edges: values.edges,\n options: values.options\n });\n });\n this._subscriptions.push(sub);\n }\n set nodes(nodes) {\n this.nodes$.next(nodes);\n }\n set edges(edges) {\n this.edges$.next(edges);\n }\n set options(options) {\n this.options$.next(options);\n }\n get rawNetworkInstance() {\n return this.service.network;\n }\n get rawNodes() {\n return this.service.network.body.data.nodes._data;\n }\n get rawEdges() {\n return this.service.network.body.data.edges._data;\n }\n getPositions(param) {\n return this.service.network.getPositions(param);\n }\n storePositions(param) {\n this.service.network.storePositions(param);\n }\n ngOnInit() {\n // We must wait a tick for network to be created in the service.\n setTimeout(() => {\n this._events.forEach((eventString, propertyName) => {\n this.service.attachEvent(eventString, arg => {\n this[propertyName].emit(arg);\n });\n });\n });\n }\n ngOnDestroy() {\n this._subscriptions.forEach(s => s.unsubscribe());\n this.service.destroy();\n }\n}\nVisNetworkComponent.decorators = [\n { type: Component, args: [{\n selector: 'vis-network',\n template: `\n<div class=\"graph\" #graph></div>\n`,\n styles: [`\n:host {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n.graph {\n width: 100%;\n height: 100%;\n}`]\n },] },\n];\n/** @nocollapse */\nVisNetworkComponent.ctorParameters = [\n { type: VisNetworkService, },\n];\nVisNetworkComponent.propDecorators = {\n 'nodes': [{ type: ContentChildren, args: [VisNetworkNodeDirective,] },],\n 'edges': [{ type: ContentChildren, args: [VisNetworkEdgeDirective,] },],\n 'options': [{ type: Input },],\n 'graphClick': [{ type: Output },],\n 'graphDoubleClick': [{ type: Output },],\n 'graphRightClick': [{ type: Output },],\n 'graphHold': [{ type: Output },],\n 'graphRelease': [{ type: Output },],\n 'graphSelect': [{ type: Output },],\n 'graphSelectNode': [{ type: Output },],\n 'graphSelectEdge': [{ type: Output },],\n 'graphDeselectNode': [{ type: Output },],\n 'graphDeselectEdge': [{ type: Output },],\n 'graphDragStart': [{ type: Output },],\n 'graphDragging': [{ type: Output },],\n 'graphDragEnd': [{ type: Output },],\n 'graphHoverNode': [{ type: Output },],\n 'graphBlurNode': [{ type: Output },],\n 'graphHoverEdge': [{ type: Output },],\n 'graphBlurEdge': [{ type: Output },],\n 'graphZoom': [{ type: Output },],\n 'graphShowPopup': [{ type: Output },],\n 'graphHidePopup': [{ type: Output },],\n 'graphStartStabilizing': [{ type: Output },],\n 'graphStabilizationProgress': [{ type: Output },],\n 'graphStabilizationIterationsDone': [{ type: Output },],\n 'graphStabilized': [{ type: Output },],\n 'graphResize': [{ type: Output },],\n 'graphInitRedraw': [{ type: Output },],\n 'graphBeforeDrawing': [{ type: Output },],\n 'graphAfterDrawing': [{ type: Output },],\n 'graphAnimationFinished': [{ type: Output },],\n 'graphConfigChange': [{ type: Output },],\n 'graphElement': [{ type: ViewChild, args: ['graph',] },],\n};\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphClick\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphDoubleClick\", void 0);\n__decorate([\n VisNgEvent('oncontext'), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphRightClick\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphHold\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphRelease\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphSelect\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphSelectNode\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphSelectEdge\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphDeselectNode\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphDeselectEdge\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphDragStart\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphDragging\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphDragEnd\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphHoverNode\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphBlurNode\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphHoverEdge\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphBlurEdge\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphZoom\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphShowPopup\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphHidePopup\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphStartStabilizing\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphStabilizationProgress\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphStabilizationIterationsDone\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphStabilized\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphResize\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphInitRedraw\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphBeforeDrawing\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphAfterDrawing\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphAnimationFinished\", void 0);\n__decorate([\n VisNgEvent(), \n __metadata('design:type', Object)\n], VisNetworkComponent.prototype, \"graphConfigChange\", void 0);\n//# sourceMappingURL=vis-network.component.js.map","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { VisNetworkComponent } from \"./vis-network.component\";\nimport { VisNetworkNodeDirective } from \"./node/vis-network-node.directive\";\nimport { VisNetworkEdgeDirective } from \"./edge/vis-network-edge.directive\";\nimport { VisNetworkService } from \"./vis-network.service\";\nexport class VisNetworkModule {\n static forRoot() {\n return {\n ngModule: VisNetworkModule,\n providers: [\n VisNetworkService,\n ],\n };\n }\n}\nVisNetworkModule.decorators = [\n { type: NgModule, args: [{\n imports: [\n CommonModule,\n ],\n //providers: [\n //VisNetworkService,\n //],\n declarations: [\n VisNetworkComponent,\n VisNetworkNodeDirective,\n VisNetworkEdgeDirective,\n ],\n exports: [\n VisNetworkComponent,\n VisNetworkNodeDirective,\n VisNetworkEdgeDirective,\n ],\n },] },\n];\n/** @nocollapse */\nVisNetworkModule.ctorParameters = [];\n//# sourceMappingURL=vis-network.module.js.map"],"names":["vis.Network","vis.DataSet","Injectable","EventEmitter","Directive","Input","Output","this","Subject","Observable","Component","ContentChildren","ViewChild","NgModule","CommonModule"],"mappings":"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"}
\No newline at end of file