LogicFlow 学习笔记——2. LogicFlow 基础 实例

LogicFlow 实例

创建实例

每一个流程设计界面,就是一个 LogicFlow 的实例。

<template><div id="container"></div><!-- 用于显示 LogicFlow 图表的容器 -->
</template>
<script>// 创建 LogicFlow 实例const lf = new LogicFlow({container: document.getElementById('container')!, // 指定容器元素grid: true // 启用网格})
</script>

当创建一个实例的时候,我们需要传递初始化LogicFlow实例的配置项。LogicFlow支持非常丰富的初始化配置项,但是只有LogicFlow画布初始化时挂载的DOM节点container参数是必填的。完整的配置项参见LogicFlow API

图数据

在 LogicFlow 里面,我们把流程图看做是由节点和连线组成的图。所以我们采用如下数据结构来表示 LogicFlow 的图数据。

// 定义图形编辑器的初始数据
const data = {// 节点数组nodes: [{id: 'node_id_1', // 节点标识type: 'rect', // 节点形状类型:矩形x: 100, // 节点在画布上的 x 坐标y: 100, // 节点在画布上的 y 坐标text: { x: 100, y: 100, value: '节点1' }, // 节点的文本及其位置properties: {} // 节点的自定义属性},{id: 'node_id_2', // 另一个节点标识type: 'circle', // 节点形状类型:圆形x: 200, // 节点在画布上的 x 坐标y: 300, // 节点在画布上的 y 坐标text: { x: 300, y: 300, value: '节点2' }, // 节点的文本及其位置properties: {} // 节点的自定义属性}],// 边数组edges: [{id: 'edge_id', // 边的标识type: 'polyline', // 边的类型:多段线sourceNodeId: 'node_id_1', // 起始节点targetNodeId: 'node_id_2', // 目标节点text: { x: 139, y: 200, value: '连线' }, // 边上的文本及其位置startPoint: { x: 100, y: 140 }, // 起始点坐标endPoint: { x: 200, y: 250 }, // 结束点坐标pointsList: [{ x: 100, y: 140 },{ x: 100, y: 200 },{ x: 200, y: 200 },{ x: 200, y: 250 }], // 折点的列表,定义折线的形状properties: {} // 边的自定义属性}]
}
  • text可以直接使用字符串,这个时候,如果是节点的文本,LogicFlow 会自动采用节点坐标作为节点文本坐标,如果是连接文本,LogicFlow 会基于不同的连线类型计算一个合适的坐标作为节点坐标。在有些应用场景下,我们文本是可以拖动的,为了保持一致,LogicFlow导出的文本数据都会带上坐标。

  • 目前,在 LogicFlow 内部内置了 line,polyline,bezier三种基础连线,这三种连线都有startPointendPoint数据。但是其中line导出的数据是不会带上pointsList。对于polyLinepointsList表示折线所有的点。对于bezierpointsList 表示['起点', '第一个控制点', '第二个控制点', '终点']

    效果如下所示:
    在这里插入图片描述
    代码:Example04.vue

  • properties是LogicFlow保留给具体业务场景使用的数据。例如:在审批流场景,我们定义某个节点,这个节点通过了,节点为绿色,不通过节点为红色。那么节点的数据描述可以为:

    {type: 'apply',properties: {isPass: true}
    }
    
  • type表示节点或者连线的类型,这里的类型不仅可以是 rectpolyline 这种 LogicFlow 内置的基础类型,也可以是用户基于基础类型自定义的类型。

    如:
    在这里插入图片描述
    代码:Example03

图渲染

数据直接放入render方法中执行就可以渲染出图了。

lf.render(graphData)

上一篇:初步使用 LogicFlow
下一篇:LogicFlow 基础 节点 Node

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/28054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Day03 链表概念与单向不循环链表的实现

目录 1、顺序表的优缺点 2、链式存储的线性表 3、单向不循环链表实现 1、顺序表的优缺点 顺序表的优点是: 由于顺序表数据元素的内存地址都是连续的,所以可以实现随机访问,而且不需要多余的信息来描述相关的数据,所以存储密度高。 顺序表的缺点是: 顺序表的数据在进行…

常用的JDK调优监控工具整理

JVM 调优首先要做的就是监控 JVM 的运行状态&#xff0c;这就需要用到各种官方和第三方的工具包了 一、 JDK 工具包 JDK 自带的 JVM 工具可以分为命令行工具和可视化工具 命令行工具 jps: JVM Process status tool&#xff1a;JVM进程状态工具&#xff0c;查看进程基本信息j…

Spring Aop及事务管理

5 Spring AOP AOP概述 AOP&#xff1a;全称是 Aspect Oriented Programming 即&#xff1a;面向切面编程。简单的说它就是把我们程序重复的代码抽取出来&#xff0c;在需要执行的时候&#xff0c;使用动态代理的技术&#xff0c;在不修改源码的基础上&#xff0c;对我们的已有…

SpringMVC框架学习笔记(七):处理 json 和 HttpMessageConverter 以及文件的下载和上传

1 处理 JSON-ResponseBody 说明: 项目开发中&#xff0c;我们往往需要服务器返回的数据格式是按照 json 来返回的 下面通过一个案例来演示SpringMVC 是如何处理的 &#xff08;1&#xff09; 在web/WEB-INF/lib 目录下引入处理 json 需要的 jar 包&#xff0c;注意 spring5.x…

OpenCV练习(1)签名修复

1.目的 在学校的学习过程中&#xff0c;需要递交许多材料&#xff0c;且每份材料上都需要对应负责人签名&#xff0c;有时候找别人要签名&#xff0c;然后自己粘贴的话&#xff0c;会出现签名模糊&#xff0c;背景不是纯白透明。为此以word中的“颜色校正”功能为参照&#xf…

基于iBeacon蓝牙定位技术的反向寻车系统

随着城市化进程的加速和汽车保有量的不断增加&#xff0c;大型停车场成为了人们日常生活中不可或缺的一部分。然而&#xff0c;在繁忙的停车场中快速找到自己的车辆&#xff0c;成为了许多车主的难题。为了解决这一问题&#xff0c;维小帮基于iBeacon蓝牙技术打造的反向寻车系统…

Android开发AndroidStudio安装教程

本文图示展示AndroidStudio安装教程。 目录 一、下载安装包 二、安装 一、下载安装包 https://developer.android.google.cn/studio?hlzh-cn 二、安装 双击exe Next Next Next 默认点击Install Next 点击finish进入设置文件界面。 如果本地有设置文件&#xff0c;选择C…

推荐一款可以下载B站视频和音频的工具

cobalt是一个免费的下载网站&#xff0c;主要是用于载视频和音频。只要你把相应的网址复制下来&#xff0c;然后打开cobalt网站&#xff0c;黏贴网址&#xff0c;选择要下载的格式&#xff0c;就可以下载相应的音频或者视频了。 该网站非常简洁&#xff0c;使用也很简单。目前只…

【机器学习】Dify:AI智能体开发平台版本升级

一、引言 关于dify&#xff0c;之前力推过&#xff0c;大家可以跳转 AI智能体研发之路-工程篇&#xff08;二&#xff09;&#xff1a;Dify智能体开发平台一键部署了解&#xff0c;今天主要以dify为例&#xff0c;分享一下如何进行版本升级。 二、版本升级 2.1 原方案 #首次…

大模型与知识智能:心理疾病治疗的新希望

前言 随着社会的发展&#xff0c;心理疾病已成为一个日益突出的问题。据《柳叶刀》杂志的系统性综述显示&#xff0c;疫情之后&#xff0c;全世界抑郁症与焦虑症的患病率上升超过25%&#xff0c;其中青少年心理健康的影响最大。此外&#xff0c;2021年国内的精神障碍报告显示&…

光照药物稳定性试验箱百科

概念与作用 - 药品稳定性试验箱&#xff1a;一种精密设备&#xff0c;用于模拟药品在不同环境条件下的存储情况。 - 环境模拟&#xff1a;通过控制温度、湿度等参数&#xff0c;复制各种实际储存条件&#xff0c;以测试药品稳定性。 - 保障药品质量&#xff1a;通过试验&…

Kafka 如何保证消息顺序及其实现示例

Kafka 如何保证消息顺序及其实现示例 Kafka 保证消息顺序的机制主要依赖于分区&#xff08;Partition&#xff09;的概念。在 Kafka 中&#xff0c;消息的顺序保证是以分区为单位的。下面是 Kafka 如何保证消息顺序的详细解释&#xff1a; ⭕分区内消息顺序 顺序写入&#…

windows 共享给linux 的使用方法

windows 作为服务器&#xff0c;linux作为客户端进行文件共享&#xff0c;有3种方法&#xff1a;samba nfs&#xff08;网络硬盘&#xff09;虚拟机共享&#xff08;VirtualBox vboxsf&#xff09;。 Samba 共享&#xff1a; 打开【控制面板】-->【启动或关闭windows功能】…

Apache Tomcat介绍

目录 前言 一、Apache Tomcat的历史 二、核心特性与组件 三、Tomcat-基本使用 总结 前言 在Java Web开发领域&#xff0c;Apache Tomcat是一个不可或缺的核心组件。作为一个轻量级的开源Web应用服务器&#xff0c;Tomcat提供了一种简单而高效的方式来部署和管理Java Servle…

MySQL 使用 MyFlash 快速恢复误删除、误修改数据

一、MyFlash MyFlash 是由美团点评公司技术工程部开发并维护的一个开源工具&#xff0c;主要用于MySQL数据库的DML操作的回滚。这个工具通过解析binlog日志&#xff0c;帮助用户高效、方便地进行数据恢复。MyFlash的优势在于它提供了更多的过滤选项&#xff0c;使得回滚操作变…

论文阅读笔记:Towards Higher Ranks via Adversarial Weight Pruning

论文阅读笔记&#xff1a;Towards Higher Ranks via Adversarial Weight Pruning 1 背景2 创新点3 方法4 模块4.1 问题表述4.2 分析高稀疏度下的权重剪枝4.3 通过SVD进行低秩逼近4.4 保持秩的对抗优化4.5 渐进式剪枝框架 5 效果5.1 和SOTA方法对比5.2 消融实验5.3 开销分析 6 结…

gitLab批量下载有权限的项目

前言 参考 https://www.jianshu.com/p/b3d4e5cee835 适用于git私服拉取个人所涉及权限的代码&#xff0c;方便有多个项目权限的人快速拉取自己所有权限的代码。 默认生成目录结构与gitlab一致 步骤一:获取权限你的代码权限文件d 从gitlab私服生成所有你有权限的代码信息 …

模型 WOOP

说明&#xff1a;系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。不再拖延和懒惰&#xff0c;让梦想照进现实。 1 WOOP模型的应用 1.1 WOOP模型提高自己健身习惯 如果你想要养成健身的习惯&#xff0c;那么使用WOOP模型来提高自己健身习惯&#xf…

全光万兆时代来临:信而泰如何推动F5G-A(50PONFTTR)技术发展

技术背景 F5G-A&#xff08;Fifth Generation Fixed Network-Advanced&#xff0c;第五代固定网络接入&#xff09;是固定网络技术的一次重大升级&#xff0c;代表了光纤网络技术的最新发展。F5G-A旨在提供更高的带宽、更低的延迟、更可靠的连接以及更广泛的应用场景。 F5G-A六…

【多线程】如何使用jconsole工具查看Java线程的详细信息?

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 先运行java程序&#xff01;2. 在jdk目录下的bin文件夹中找到jconsole.exe3. 新建连接4. 观察线程状态5. …