一个基于JS的数据驱动的节点式编排组件库

主题

说说之前做流程显示时用到的一个组件,时隔几年又被翻出来用作 "表字段血缘/业务血缘"、"可视化建模图",选来选去经过一番折腾,最后又回到了老路,就趁着中午休息简单介绍一下butterfly

发现身边事儿、聊点周奇遇,我是沈二,期待奇遇的互联网灵魂~、一起聊天吹水,探索新的可能~wx:breathingss,入圈吧!

特点及效果

之前因为又用的基础,主要就是流程图甬道及多段流程拼接显示(流程太长,分段提升自由度)问题,最重要的是,渲染用的svg模式,可以支持结合html和样式,有自动化的布局模式可以封装,同时节点的自定义也比较简单,处理好布局、数据结构、显示就轻松的解决了显示,交互和流程进度标记的问题、

第二次处理涉及到血缘和可视化建模这些,选择面就主要集中在G6,mxGraph(process-on就是基于此实现),当然主要原因是没有参考示例,而且实现起来周期比较长,许多的生态集中在react上,本次用的是vue,过程需要做转换   当然,如果说有瑕疵的话,主要是滚动缩放及定位方面,稍稍有些不够流畅,但在可接受范围内,通过优化也能适当的解决,以下是官网的特点介绍

  • 开箱即用: 丰富DEMO,开箱即用,支持demo调试,导出即用
  • 全方位管理画布: 全方位管理画布,开发者只需要更专注定制化的需求
  • 强定制性: 利用DOM/REACT/VUE来定制元素;灵活性,可塑性,拓展性优秀

主要结构

没啥太过复杂的结构,绝大部分的变形可通过布局,节点、线条、锚点 自定义实现,不过几个文件就可定义出图形,但在真实的应用中,还是需要对数据结构进行二次的处理加工,以达到使用上的便捷性。

题外话

主要是便捷性和语言的差异化,用通用的js组件,针对超大型的渲染,可能会稍弱一些,但强在便捷性、易用性上。

相关推荐
Misnice2 分钟前
Webpack、Vite、Rsbuild区别
前端·webpack·node.js
青茶3603 分钟前
php怎么实现订单接口状态轮询(二)
前端·php·接口
大橙子额1 小时前
【解决报错】Cannot assign to read only property ‘exports‘ of object ‘#<Object>‘
前端·javascript·vue.js
WooaiJava2 小时前
AI 智能助手项目面试技术要点总结(前端部分)
javascript·大模型·html5
爱喝白开水a2 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
Never_Satisfied2 小时前
在JavaScript / HTML中,关于querySelectorAll方法
开发语言·javascript·html
董世昌412 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
WeiXiao_Hyy3 小时前
成为 Top 1% 的工程师
java·开发语言·javascript·经验分享·后端
吃杠碰小鸡3 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone3 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word