UNPKG

force-graph-vis

Version:

基于D3.js的知识图谱可视化解决方案

198 lines (173 loc) 6.5 kB
import { anyFunction, LooseObject, GraphDataNode, GraphDataLink, GraphData, injectValue, plugin } from './common'; import GraphOptions from './options'; import Main from './main'; import Event from './event'; import Events from './events'; // 需要和Event区分一下 import * as Forces from './forces'; import PluginSystem from './plugin-system'; import Render from './render'; import Simulation from './simulation'; import Util from './util'; import EventBus, { on, emit } from './event-bus'; // 插件 import bezierCurveController from './plugins/bezier-curve-controller'; import colorPalette from './plugins/color-palette'; import colorType from './plugins/color-type'; import highlight from './plugins/highlight'; import layoutForce from './plugins/layout-force'; import layoutLayer from './plugins/layout-layer'; import layoutRing from './plugins/layout-ring'; import occlusionDetection from './plugins/occlusion-detection'; import rectSelection from './plugins/rect-selection'; import selector from './plugins/selector'; import toolHelper from './plugins/tool-helper'; import dynamicLoadData from './plugins/dynamic-load-data'; import LockNode from './plugins/lock-node'; declare class ForceGraphVis { [key: string]: any; static version?: number; // 版本号 constructor(options: GraphOptions); //构造函数 setOptions: Main.setOptions; initGraph: Main.initGraph; render: Main.render; start: Main.start; reset: Main.reset; resize: Main.resize; destroy: Main.destroy; // 事件 event: EventBus; eventEmitter: EventBus; eventBus: EventBus; bus: EventBus; $bus: EventBus; on: on; emit: emit; // 实例属性 data: GraphData; // 数据 domWrap: HTMLDivElement; // 外部dom容器 dom: HTMLDivElement; // 内部自己创建的dom容器 width: number; // dom的宽度 height: number; // dom的高度 isStop: boolean; // 是否停止 isDestroy: boolean; // 是否销毁 isDrag: boolean; // 是否在拖拽 isTicking: boolean; // 是否在力学模拟tick // highlightNodes: GraphDataNode[]; // 高亮节点 // highlightLinks: GraphDataLink[]; // 高亮边 plugins: LooseObject; // 插件 injectProperty: PluginSystem.injectProperty; injectFunction: PluginSystem.injectFunction; injectObject: PluginSystem.injectObject; inject: PluginSystem.inject; injectHooks: PluginSystem.injectHooks; use: PluginSystem.use; getPluginOptions: PluginSystem.getPluginOptions; // 事件 compatMouseEvent: Event.compatMouseEvent; compatClickEvent: Event.compatClickEvent; addZoomEvent: Event.addZoomEvent; zoom: Event.zoom; zoomTo: Event.zoomTo; zoomIn: Event.zoomIn; zoomOut: Event.zoomOut; transformTo: Event.transformTo; translateTo: Event.translateTo; dragstarted: Event.dragstarted; dragged: Event.dragged; dragended: Event.dragended; addNodeEvent: Event.addNodeEvent; addLinkEvent: Event.addLinkEvent; dragstartedCanvas: Event.dragstartedCanvas; draggedCanvas: Event.draggedCanvas; dragendedCanvas: Event.dragendedCanvas; addNodeEventCanvas: Event.addNodeEventCanvas; // 渲染svg arrowDefs: Render.arrowDefs; createDefs: Render.createDefs; createLinks: Render.createLinks; createNodes: Render.createNodes; createSvg: Render.createSvg; drawLink: Render.drawLink; drawNode: Render.drawNode; // 渲染svg createCanvas: Render.createCanvas; refresh: Render.refresh; // 模拟器 tickNum: Simulation.tickNum; // tick次数 tickTimeStart: Simulation.tickTimeStart; // tick开始时间 simulation: Simulation.simulation; // 模拟器对象 initSimulation: Simulation.initSimulation; startSimulation: Simulation.startSimulation; stopSimulation: Simulation.stopSimulation; ticked: Simulation.ticked; // 工具 util: { arcPath: Util.arcPath; bezierCurveCoord: Util.bezierCurveCoord; getProportion: Util.getProportion; bezierPath: Util.bezierPath; couldBeClass: Util.couldBeClass; GraphCreator: Util.GraphCreator; layoutLayerData: Util.layoutLayerData; layoutLayerCoord: Util.layoutLayerCoord; layoutRingCoord: Util.layoutRingCoord; linkCoord: Util.linkCoord; OcclusionDetection: Util.OcclusionDetection; straightPath: Util.straightPath; }; // 插件 polylinesGroup: bezierCurveController.polylinesGroup; circle2sGroup: bezierCurveController.circle2sGroup; circle3sGroup: bezierCurveController.circle3sGroup; createBezierCurve: bezierCurveController.createBezierCurve; dragBezierControlPoints: bezierCurveController.dragBezierControlPoints; hiddenControlPoints: bezierCurveController.hiddenControlPoints; onClickBezierControl: bezierCurveController.onClickBezierControl; tickedBezierControl: bezierCurveController.tickedBezierControl; updateBezierPath: bezierCurveController.updateBezierPath; color: colorPalette.color; nodeColor: colorPalette.nodeColor; linkColor: colorPalette.linkColor; colorType: colorType; setHighlightStep: highlight.setHighlightStep; setHighlight: highlight.setHighlight; resetHighlight: highlight.resetHighlight; pureHighlight: highlight.pureHighlight; isConnected: highlight.isConnected; light: highlight.light; dark: highlight.dark; flyLine: highlight.flyLine; layoutForce: layoutForce.layoutForce; layoutLayer: layoutLayer.layoutLayer; layoutRing: layoutRing.layoutRing; startOD: occlusionDetection.startOD; stopOD: occlusionDetection.stopOD; updateData: dynamicLoadData.updateData; clear: dynamicLoadData.clear; getNodeById: dynamicLoadData.getNodeById; getLinkById: dynamicLoadData.getLinkById; deleteNodeById: dynamicLoadData.deleteNodeById; deleteLinkById: dynamicLoadData.deleteLinkById; brush: rectSelection.brush; brushArea: rectSelection.brushArea; activeRectSelection: rectSelection.activeRectSelection; deactivatedRectSelection: rectSelection.deactivatedRectSelection; brushstarted: rectSelection.brushstarted; brushing: rectSelection.brushing; brushended: rectSelection.brushended; handleBrush: rectSelection.handleBrush; lockNode: LockNode.lockNode; // 锁定节点 drawLock: LockNode.drawLock; setLock: LockNode.setLock; removeLock: LockNode.removeLock; graphSelector: selector.graphSelector; findLinkedRoute: selector.findLinkedRoute; random: toolHelper.random; $sleep: toolHelper.$sleep; } export default ForceGraphVis; declare let util: any; declare let plugin: any; declare let Constants: any; export { util, plugin, Events, Constants, Forces };