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

主题

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

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

特点及效果

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

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

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

主要结构

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

题外话

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

相关推荐
LuckyLay14 分钟前
Vue百日学习计划Day9-15天详细计划-Gemini版
前端·vue.js·学习
weifont4 小时前
聊一聊Electron中Chromium多进程架构
javascript·架构·electron
大得3694 小时前
electron结合vue,直接访问静态文件如何跳转访问路径
javascript·vue.js·electron
水银嘻嘻6 小时前
12 web 自动化之基于关键字+数据驱动-反射自动化框架搭建
运维·前端·自动化
it_remember6 小时前
新建一个reactnative 0.72.0的项目
javascript·react native·react.js
小嘟嚷ovo7 小时前
h5,原生html,echarts关系网实现
前端·html·echarts
十一吖i7 小时前
Vue3项目使用ElDrawer后select方法不生效
前端
只可远观7 小时前
Flutter目录结构介绍、入口、Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
前端·flutter
周胡杰7 小时前
组件导航 (HMRouter)+flutter项目搭建-混合开发+分栏效果
前端·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
敲代码的小吉米7 小时前
前端上传el-upload、原生input本地文件pdf格式(纯前端预览本地文件不走后端接口)
前端·javascript·pdf·状态模式