Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A React-based operation/monitoring DAG diagram.(基于React的运维/监控DAG图)

License

NotificationsYou must be signed in to change notification settings

aliyun/react-monitor-dag

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

✨ 特性

  • 支持左到右,上到下的布局
  • 支持自定义状态,左上角自定义状态注释
  • 支持自定义节点样式,以及hover,focus状态
  • 支持线段label样式
  • 支持节点,锚点,线段label的tooltips
  • 支持节点,线段的右键菜单
  • 支持minimap,以及高亮状态
  • 支持线段流动动画

📦 安装

npm install react-monitor-dag

API

MonitorDag属性

参数说明类型默认值
data画布数据any-
width组件宽度number | string-
height组件高度number | string -
className组件类名string-
nodeMenu节点右键菜单配置Array<menu> | (node) => Array<menu>-
nodeMenuClassName节点右键菜单样式string-
edgeMenu线段右键菜单配置Array<menu>[ ]
config组件的画布配置,见config Propany-
polling组件的轮训属性配置,见polling Propobject{ }
registerStatus自行注册状态,根据node的status给节点加上classobjectkey:value的形式,可以自行注册,和node的status字段对应起来
statusNote画布左上角状态注释,见statusNote Propobject{ }
onClickNode单击节点事件(node) => void-
onClickCanvas单击画布事件() => void-
onContextmenuNode右键节点事件(node) => void-
onDblClickNode双击节点事件(node) => void-
onClickEdge单击线段事件(edge) => void-
onClickLabel单击label的事件(label, edge) => void-
onContextmenuEdge右键线段事件(edge) => void-
onContextmenuGroup右键group事件(edge) => void-
onChangePage单击group分页事件(edge) => void-
onNodeStatusChange画布有节点状态变化后的回调(data) => void-

menu

'节点/线段'的右键菜单配置

参数说明类型默认值
title每列的展示的名字string-
key每列的唯一标志,对应数据上的key值string-
render支持每列的自定义样式(key) => void-
onClick每列的点击回调(key, data) => void-

config

画布配置

参数说明类型默认值
direction图的方向stringleft-right |top-bottom
edge定制线段的类型edge Prop { }-
group定制节点组的类型group Prop { }-
labelRender线段label的渲染方法(label) => void-
labelTipsRender线段label tips的渲染方法(data) => void-
nodeRender节点的渲染方法(data) => void-
nodeTipsRender节点tips的渲染方法(data) => void-
endpointTipsRender锚点tips的渲染方法(data) => void-
minimap是否开启缩略图minimap Prop { }-
delayDraw是否延迟加载 number0
autoLayout自定义布局autoLayout Prop {}-
diffOptions节点更新时diff的字段集合Array< string>-
onLoaded画布渲染之后的回调(data: {nodes, edges, groups}) => {}-

edge

定制线段属性

参数说明类型默认值
type线段的类型string-
config线段的配置 any-

group

定制线段属性

参数说明类型默认值
enableSearch是否开启节点组搜索节点booleanfalse
enablePagination是否开启翻页 booleantrue
pageSize每页的数量 number20
rowCnt节点组每行展示多少个节点 number5

minimap

缩略图属性

参数说明类型默认值
enable是否开启缩略图boolean-
config缩略图的配置minimap Config Prop { }-

minimap Config

缩略图的配置

参数说明类型默认值
nodeColor节点颜色any-
activeNodeColor节点激活颜色any-

autoLayout Config

自动布局的配置

参数说明类型默认值
enable是否开启自动布局boolean-
isAlways否添加节点后就重新布局boolean-
config算法配置{ }-

polling

轮训属性配置

参数说明类型默认值
enable是否支持轮训boolean-
interval轮训时间number-
getData轮训方法(data) => void-

statusNote

画布左上角状态配置

参数说明类型默认值
enable是否开启左上角状态显示boolean-
notes左上角状态配置信息notes Prop { }-

notes

左上角状态配置信息

参数说明类型默认值
code左上角状态string-
className左上角状态栏类名 string-
text左上角状态显示文字string-
render自定义渲染方法function-

🔗API

importMonitorDagfrom'react-monitor-dag';import'react-monitor-dag/dist/index.css';<MonitorDagdata={data}nodeMenu={menu}// Node Right-click Menu ConfigurationedgeMenu={menu}// Edge Right-click Menu ConfigurationonClickNode={(node)=>{}}// Single Click Node EventonContextmenuNode={(node)=>{}}// Right Click Node EventonDblClickNode={(node)=>{}}// Double Click Node EventonClickEdge={(edge)=>{}}// Single Click Edge EventonContextmenuEdge={(edge)=>{}}// Right Click Edge EventonContextmenuGroup={(data)=>{}}// Right Click Group EventonChangePage={(data)=>{}}// Single Click Group Pagination EventonNodeStatusChange={(data)=>{}}// the canvas has a callback after the node state changespolling={{// support pollingenable:true,interval:5000,// interval of pollinggetData:(data)=>{// the method of get data}}}registerStatus={{// Register status, which adds class to the node based on its statussuccess:'success-class',fail:'fail-class',timeout:'timeout-class',running:'runnning-class',waitting:'waiting-class',other:'other-class'}}statusNote={{// Status note in upper left cornerenable:true,notes:[{code:'success',className:'success-class',text:'运行成功'}]}}></MonitorDag>
interfacemenu{// '节点/线段'的右键菜单配置title ? :string,// 每列的展示的名字key:string,// 每列的唯一标志,对应数据上的key值render ?(key:string) :void,// 支持每列的自定义样式onClick ?(key:string,data:any) :void,// 每列的点击回调}interfaceconfig{direction:string,// 图的方向: 'left-right' or 'top-bottom'edge:{// 定制线段的类型type:string,config:any},labelRender ?(label:JSX.Element) :void,// 线段label的渲染方法labelTipsRender ?(data:any) :void,// 线段label tips的渲染方法nodeRender ?(data:any) :void,// 节点的渲染方法nodeTipsRender ?(data:any) :void,// 节点tips的渲染方法endpointTipsRender ?(data:any) :void,// 锚点tips的渲染方法minimap:{// 是否开启缩略图enable:boolean,config:{nodeColor:any,// 节点颜色activeNodeColor:any// 节点激活颜色}}}interfaceprops{data:any,// 画布数据width ? :number|string,// 组件宽height ? :number|string,// 组件高className ? :string,// 组件classnamenodeMenu:Array<menu>,// 节点右键菜单配置edgeMenu:Array<menu>,// 线段右键菜单配置config ? :any,// 画布配置polling ? :{// 支持轮训enable:boolean,interval:number,// 轮训时间getData(data):void// 轮训方法},registerStatus ? :{// 自行注册状态,会根据node的status给节点加上classsuccess:string,fail:string,// key:value的形式,可以自行注册,和node的status字段对应起来},statusNote ? :{// 画布左上角状态注释enable:boolean,notes:[{code:string,className:string,text:string,render?:()=>JSX.Element}]},onClickNode ?(node:any) :void,// 单击节点事件onContextmenuNode ?(node:any) :void,// 右键节点事件onDblClickNode ?(node:any) :void,// 双击节点事件onClickEdge ?(edge:any) :void,// 单击线段事件onClickLabel ?(label:string,edge:any) :void,//单击label的事件onContextmenuEdge ?(edge:any) :void,// 右键线段事件onContextmenuGroup?(edge:any):void,// 右键group事件onChangePage?(data:any):void,// 单击分页事件&搜索onNodeStatusChange?(data:any):void// 画布有节点状态变化后的回调}

如需要更多定制的需求,您可以提issue或者参考Butterfly来定制您需要的需求

About

A React-based operation/monitoring DAG diagram.(基于React的运维/监控DAG图)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors6


[8]ページ先頭

©2009-2025 Movatter.jp