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

news2024/11/25 6:42:36

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.coloradmin.cn/o/1827698.html

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

相关文章

中文版svn怎么忽略文件

个人需求&#xff1a; 不上传dist&#xff0c;dist.7z&#xff0c;node_modules等文件夹 实际操作&#xff1a; 前言&#xff1a;在上传svn为避免操作失败导致丢失文件的情况&#xff0c;保险起见&#xff0c;先备份代码 1&#xff1a;右键点击 2&#xff1a;点击新建 – 其…

C++初学者指南第一步---4.基本类型

C初学者指南第一步—4.基本类型 文章目录 C初学者指南第一步---4.基本类型1.变量声明2.快速概览Booleans 布尔型Characters 字符型Signed Integers 有符号整数Unsigned Integers 无符号整数Floating Point Types 浮点数类型 3.Common Number Representations 常用的数字表示常用…

C++访问Private,Protecd的一些方法总结

前言 在编写C程序中 我们偶尔会碰到这样的三种特殊修改变量值的需求&#xff1a; [1]在不修改类原本的实现下&#xff0c;访问修改类的Private变量 [2]在不修改类原本的实现下&#xff0c;修改类的Protected变量 Private变量访问 public类模版函数特化 这种办法利用了类模…

密码学-密码协议之零知识证明

一、前言 零知识证明实际上一种密码协议&#xff0c;该协议的一方称为证明者(Prover)&#xff0c;通常用P表示&#xff0c;协议的另一方是验证者(Verifier)&#xff0c;一般用V表示。零知识证明是指P试图使V相信某个论断是正确的&#xff0c;但却不向V提供任何有用的信息&…

springboot与flowable(7):流程变量

一、启动时添加流程变量 拿第一个流程图举例&#xff0c;创建一个新的流程定义。 Testvoid contextLoads() {DeploymentBuilder deployment repositoryService.createDeployment();deployment.addClasspathResource("process01/FirstFlow.bpmn20.xml");deployment.…

MFC工控项目实例之三theApp变量传递对话框参数

承接专栏《MFC工控项目实例之二主菜单制作》 用theApp变量传递对话框参数实时改变iPlotX坐标轴最小值、最大值。 1、新建IDD_SYS_DATA对话框&#xff0c;类名SYS_DATA。 三个编辑框IDC_EDIT1、IDC_EDIT2、IDC_EDIT3变量如图 2、SEAL_PRESSURE.h中添加代码 #include "re…

【单片机毕业设计选题24008】-基于单片机的寝室系统设计

系统功能: 1. 采用STM32最小系统板控制&#xff0c;将采集到温湿度光照等传感器数据显示在OLED上 2. 通过离线语音模块开关灯&#xff0c;风扇&#xff0c;门。 3. 监测到MQ2烟雾后触发报警。 4. 语音&手动&定时控制窗帘。 5. 按键开启布防模式&#xff0c;布防后…

java课设

项目简介:射击生存类小游戏 项目采用技术: 游戏引擎: Unity编程语言: Java图形处理: NVIDIA PhysX (物理引擎), HDRP (High Definition Render Pipeline)音效与音乐: FMOD, Wwise版本控制: Git 功能需求分析: 角色控制&#xff1a;玩家能够使用键盘和鼠标控制角色移动、瞄准…

【python基础实例】从文件命名中提取特定信息(数字、字母等)

【python基础实例】从文件命名中提取特定信息&#xff08;数字、字母等&#xff09; 在处理文件和数据时&#xff0c;我们经常需要从文件名中提取特定的信息&#xff0c;如日期、序号或项目标识符。Python提供了强大的字符串处理功能&#xff0c;可以轻松完成这些任务。本文将…

HttpOpenRequest 函数偶尔会引起崩溃的坑

通常我们会像下面一样调用&#xff1a; HINTERNET HttpOpenRequestA([in] HINTERNET hConnect,[in] LPCSTR lpszVerb,[in] LPCSTR lpszObjectName,[in] LPCSTR lpszVersion,[in] LPCSTR lpszReferrer,[in] LPCSTR *lplpszAcceptTypes,[in] DWORD dwFlags,[…

linux 部署瑞数6实战(维普,药监局)第一部分

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx 本文章未经许可禁止转载&…

1.22 LeetCode总结(基本算法)_位运算

进制的概念 进制即进位计数制&#xff0c;是利用固定的数字符号和统一的规则的带进位的计数方法。 任何一种进位计数制都有一个基数&#xff0c;基数为 X 的进位计数制称为 X 进制&#xff0c;表示每一个数位上的数运算时都是逢 X 进一。 504. 七进制数 手法1&#xff1a;当…

Qt自定义日志输出

Qt自定义日志输出 简略版&#xff1a; #include <QApplication> #include <QDebug> #include <QDateTime> #include <QFileInfo> // 将日志类型转换为字符串 QString typeToString(QtMsgType type) {switch (type) {case QtDebugMsg: return "D…

20240613日志:COPAL

Location: Beijing 1 大模型剪枝 Fig. 1.1大模型压缩-剪枝 剪枝的分类&#xff1a;结构化修剪对于简化大型语言模型和提高其效率尤其相关。非结构化修剪关注的是选择性地去除单个权重&#xff0c;旨在消除网络中不那么关键的连接。 修剪的基于阶段的分类&#xff1a;修剪可以在…

微软OneDrive简介:特点、应用场景、使用方法、注意事项

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

热门开源项目ChatTTS: 国内语音技术突破,实现弯道超车

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

Cesium入门学习(一)

下载cesium源代码 安装依赖 npm install注册账户&#xff0c;申请一个token 没有这个token&#xff0c;会导致地图中只能看到一个宇宙&#xff0c;没有办法看到地球 cesium的官网&#xff1a;cesium官网 替换token 替换对应位置的token 启动 运行 npm run build npm r…

西门子学习笔记15 - 位逻辑操作的学习

1、点动操作&#xff08;按下按钮就启动松开就停止&#xff09; 2、自锁电路&#xff08;可以自己保持的状态除非常闭停止按下&#xff09; 3、取反操作&#xff08;顾名思义就是反过来1就变成0&#xff0c;0就变成1&#xff09; 4、置为复位&#xff08;置位之后如果不复位的话…

注解(Annotation)(一)

Java 注解&#xff08; Annotation &#xff09;又称 Java 标注&#xff0c;是 JDK5.0 引入的一种注释机制。 Java 语言中的类、 构造器、 方法、成员变量、参数等都可以被注解进行标注。 自定义注解 --- 格式 自定义注解就是自己做一个注解来使用。 public interface …

Python自然语言处理的力量:NLTK库介绍

文章目录 Python自然语言处理的力量&#xff1a;NLTK库介绍1. NLP的魔法&#xff1a;为什么选择NLTK&#xff1f;2. 什么是NLTK&#xff1f;3. 快速安装NLTK4. 8个NLTK的基本函数使用方法4.1 分词4.2 词性标注4.3 命名实体识别4.4 频率分布4.5 停用词过滤4.6 词形还原4.7 句子分…