force-graph-vis
Version:
基于D3.js的知识图谱可视化解决方案
204 lines (184 loc) • 4.82 kB
TypeScript
// 事件
declare namespace Event {
/**
* @function compatMouseEvent
* @description 兼容鼠标事件
* @param {Object} event 事件对象
* @param {Object} d 数据对象
* @return {Object} event 事件对象
* @return {Object} d 数据对象
*/
interface compatMouseEvent {
(event: any, d: any): { d: any; event: any };
}
/**
* @function compatMouseEvent
* @description 兼容鼠标事件
* @param {Object} datum 数据对象
* @param {number} index 下标
* @param {Object} elements 元素数组
* @param {Object} selection 全集
* @param {Object} ctx 上下文
* @return {Object} item 数据对象
* @return {Object} index 下标
* @return {Object} array 元素数组
* @return {Object} event 事件对象
*/
interface compatClickEvent {
(datum: any, index: any, elements: any, selection: any, ctx: any): {
item: any;
index: any;
array: any;
event: any;
};
}
/**
* @function mouseEventJudge
* @description 是否可以触发事件
* @param {string} eventType 事件类型
* @return {Object} data 事件对象
* @return {boolean} 是否可以值
*/
interface mouseEventJudge {
(eventType: string, data: any): boolean;
}
/**
* @function addZoomEvent
* @description 添加各种zoom功能
*/
interface addZoomEvent {
(): void;
}
/**
* @function zoom
* @description 添加画布的zoom事件
*/
interface zoom {
(): void;
}
/**
* @function zoomTo
* @description 缩放到指定k值
* @param {number} k 缩放比例 默认值1
* @param {number} duration 动画时间 默认值700
*/
interface zoomTo {
(k?: number, duration?: number): void;
}
/**
* @function zoomIn
* @description 当前缩放k值 * scaleRatio
* @param {number} scaleRatio 缩放比例 默认值1.2
* @param {number} duration 动画时间 默认值700
*/
interface zoomIn {
(scaleRatio?: number, duration?: number): void;
}
/**
* @function zoomOut
* @description 当前缩放k值 * scaleRatio
* @param {number} scaleRatio 缩放比例 默认值0.8
* @param {number} duration 动画时间 默认值700
*/
interface zoomOut {
(scaleRatio?: number, duration?: number): void;
}
/**
* @function transformTo
* @description 移动缩放到某个位置
* @param {object} transform d3.transform对象 {x:number; y:number; k:number}
* @param {number} duration 持续时间
*/
interface transformTo {
(transform?: any, duration?: number): void;
}
/**
* @function translateTo
* @description 移动缩放到某个位置(基于当前尺寸)
* @param {number} width 位置的x
* @param {number} height 位置的y
* @param {number} duration 持续时间
*/
interface translateTo {
(width?: number, height?: number, duration?: number): void;
}
/**
* @function dragstarted
* @description 节点拖拽开始
* @param {Object} event 事件对象
* @param {Object} d 数据对象
*/
interface dragstarted {
(event: any, d: any): void;
}
/**
* @function dragged
* @description 节点拖拽中
* @param {Object} event 事件对象
* @param {Object} d 数据对象
*/
interface dragged {
(event: any, d: any): void;
}
/**
* @function dragended
* @description 节点拖拽结束
* @param {Object} event 事件对象
* @param {Object} d 数据对象
*/
interface dragended {
(event: any, d: any): void;
}
/**
* @function addNodeEvent
* @description 添加节点事件
* @param {Object[]} nodesGroup 节点集合
*/
interface addNodeEvent {
(nodesGroup: any[]): void;
}
/**
* @function addLinkEvent
* @description 添加边事件
* @param {Object[]} linksGroup 节点集合
*/
interface addLinkEvent {
(linksGroup: any[]): void;
}
/**
* @function dragstartedCanvas
* @description 节点拖拽开始 Canvas
* @param {Object} event 事件对象
* @param {Object} d 数据对象
*/
interface dragstartedCanvas {
(event: any, d: any): void;
}
/**
* @function draggedCanvas
* @description 节点拖拽中 Canvas
* @param {Object} event 事件对象
* @param {Object} d 数据对象
*/
interface draggedCanvas {
(event: any, d: any): void;
}
/**
* @function dragendedCanvas
* @description 节点拖拽结束 Canvas
* @param {Object} event 事件对象
* @param {Object} d 数据对象
*/
interface dragendedCanvas {
(event: any, d: any): void;
}
/**
* @function addNodeEventCanvas
* @description 添加节点事件 Canvas
* @param {Object[]} nodesGroup 节点集合
*/
interface addNodeEventCanvas {
(nodesGroup: any[]): void;
}
}
export default Event;