UNPKG

force-graph-vis

Version:

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

68 lines (62 loc) 1.95 kB
import { anyFunction, LooseObject, GraphDataNode, GraphDataLink, GraphData, injectValue, plugin } from './common'; // 事件 declare namespace PluginSystem { /** * @function injectProperty * @function injectFunction * @description 绑定属性/方法到实例中 * @param {string} key 绑定的key名 * @param {any} value 绑定的value值 * @param {boolean} [forceInject] */ interface injectProperty { (key: string, value: injectValue, forceInject: boolean): any; } interface injectFunction { (key: string, value: injectValue, forceInject: boolean): any; } /** * @function injectObject * @function inject * @description 绑定对象的属性/方法到实例上 * @param object 需要被绑定的对象 */ interface injectObject { (object: LooseObject): any; } interface inject { (object: LooseObject): any; } /** * @function injectHooks * @description 绑定事件钩子 * @param hooksObject */ interface injectHooks { (hooksObject: LooseObject): any; } /** * @function use * @description 将对象里的属性/方法绑定到实例,将逐渐替换掉inject方法 * @param {object} plugin 需要被注入的对象 * @param {function} [plugin.install] 如有install方法则运行,让插件自定义注入 * @param {Class|function} plugin 如果是一个类,install方法为必选,会自动调用 * @param {string} [compactFuncName] 兼容第二个参数是函数名的情况 * @return this */ interface use { (plugin: plugin, compactFuncName?: any): any; } /** * @function getPluginOptions * @description 获取插件的配置 * @param {string} plugin 插件名字 * @param {object} plugin 插件实例 * @param {string} plugin.name 插件实例 * @return {any} 插件配置 */ interface getPluginOptions { (plugin: plugin | string): LooseObject; } } export default PluginSystem;