BPMNJS 在HTML中的引入与使用

news2024/11/25 7:23:19

BPMNJS 在HTML中的引入与使用

在网上看到的大多是基于vue使用BPMN的示例或者教程,竟然没有在HTML使用的示例,有也是很简单的介绍核心库的引入和使用,并没有涉及到扩展库。于是简单看了下,真的是一波三折,坎坎坷坷。不过结局还算是好的,最终也能在HTML中直接使用BPMNJS了。可能还有一些扩展没有涉及到,但是目前的功能应该已经基本符合需求了。

示例展示

BPMNJS 在HTML中的引入与使用

在网上看到的大多是基于vue使用BPMN的示例或者教程,竟然没有在HTML使用的示例,有也是很简单的介绍核心库的引入和使用,并没有涉及到扩展库。于是简单看了下,真的是一波三折,坎坎坷坷。不过结局还算是好的,最终也能在HTML中直接使用BPMNJS了。可能还有一些扩展没有涉及到,但是目前的功能应该已经基本符合需求了。

示例展示

BPMNJS示例展示.png

示例代码

github:https://github.com/iotzzh/origin-examples/blob/main/%E6%B5%81%E7%A8%8B%E5%9B%BE/BPMNJS/index.html

引入步骤

引入BPMNJS(针对某些扩展,需要改造源码)

  • 下载:git clone https://github.com/bpmn-io/bpmn-js.git -b v13.2.0
  • 安装依赖:npm i
  • 打包:npm run distro
  • 生成dist文件后,移动到自己的HTML文件夹中,引入js和css

注意:三个模块的引入顺序

引入bpmn-js-properties-panel

  • 下载:git clone https://github.com/bpmn-io/bpmn-js-properties-panel.git
  • 安装依赖:npm i
  • 打包:npm run distro
  • 生成dist文件后,移动到自己的HTML文件夹中,引入js和css

注意: css文件使用在线的:https://unpkg.com/bpmn-js-properties-panel@2.1.0/dist/assets/properties-panel.css

引入tiny-svg(后续扩展render会用到)

  • 下载:git clone https://github.com/bpmn-io/tiny-svg.git
  • 安装依赖:npm i
  • 打包:npm run distro
  • 生成dist文件后,移动到自己的HTML文件夹中,引入js和css

源码改造

BPMNJS

Modeler.js改造

引用

javascript import DiagramBaseRenderer from 'diagram-js/lib/draw/BaseRenderer'; import * as DiagramRenderUtil from 'diagram-js/lib/util/RenderUtil';

扩展

javascript Modeler.DiagramBaseRenderer = DiagramBaseRenderer; Modeler.DiagramRenderUtil = DiagramRenderUtil;

参考地址

官网: https://bpmn.io/toolkit/bpmn-js

Bpmn.js自定义文件说明: https://blog.csdn.net/weixin_43359503/article/details/113915776

bpmn-js-properties-panel CDN地址:https://www.jsdelivr.com/package/npm/bpmn-js-properties-panel

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

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

相关文章

vue使用mapbox地图

1、下载依赖 npm install --save mapbox-gl mapbox/mapbox-gl-language 2、引入mapBox,将引入的内容封装为js文件 在api/map文件夹下新建mapbox.js文件 代码: import mapboxgl from mapbox-gl import mapbox-gl/dist/mapbox-gl.css import MapboxLang…

vue表单验证的时候提示 async-validator:‘‘xxx is not a string“

对vue不是很熟悉,在做vue开发的时候,遇到一个很奇怪的问题,输入框涉及到number类型的时候会提示 is not a string 这块的代码是这样的: v-decorator"[ fraction, { rules: [{ required: true, type: number, message: 请输入…

SQL Server中如何将累积数值拆解

概要 本文通过一个计算汽车每日里程数的例子,展现如何通过汽车每日的总里程数,来计算汽车每日的里程数。 代码及实现 每辆汽车中都有一个里程数表,记录汽车从出场到当前行驶的里程数,下表是一样汽车的里程数表,该表…

Elastic Stack之Logstash Beats

文章目录 Logstash简介&运行流程使用(日志采集)常用操作查看线程 BeatFilebeat Logstash 简介&运行流程 教程 一文快速上手Logstash 使用(日志采集) 配置logstash使用elasticsearch作为logstash后端 在logstash\bin目录…

Spring容器获取Bean的9种方式 | 京东云技术团队

1 前言 随着SpringBoot的普及,Spring的使用也越来越广,在某些场景下,我们无法通过注解或配置的形式直接获取到某个Bean。比如,在某一些工具类、设计模式实现中需要使用到Spring容器管理的Bean,此时就需要直接获取到对…

postgres数据库基础操作-ok

文章目录 1. 链接数据库2. 库操作2.1 创建库2.2 查看数据库2.3 切换数据库2.4 修改库名2.5 删除数据库 3. 表操作3.1 创建表3.2 查看table list3.3 删除表 4. 数据操作4.1 插入数据4.2 查询数据4.3 删除数据 5. 用户&权限5.1 创建用户5.2 查看用户5.3 删除用户5.4 修改用户…

spring cloud +java企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中,管理不畅以及不良的项目执行,往往会导致项目延期、成本上升、回款拖后,最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统,确保…

5.设计模式之思维导图整理

1.七大原则 2.分类 3.23大设计模式 //展开 ![ 在这里插入图片描述](https://img-blog.csdnimg.cn/070e9ba070a54a22ab4a05653ae1cf27.png)

钡铼技术多功能RTUS475:稳定可靠的油田数据采集解决方案

标题:S475在油田数据采集中的应用 摘要:本文介绍了钡铼技术多功能RTUS475在油田数据采集中的应用。该设备基于高性能微处理器MCU和嵌入式实时操作系统,支持Modbus Slave和Modbus Master功能,并能通过无线网络实现短信报警和数据传…

华为OD机试真题 Python 实现【木板】【2023 B卷 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、Python算法源码五、效果展示1、输入2、输出3、说明 一、题目描述 小明有n块木板,第块木板的长度为a_i。 小明买了一块长度为m的木料,这块木料可以切割成任意块,拼接到已有的木板上&#xff0…

虚机Centos忘记密码如何重置 -- 小黑日常超细教学

有时候虚机太多,会忘记有一些虚机的密码,当启动机器的时候那我们可以尝试重置虚机密码然后登录。 日常的小技能记述!! 目录 一、 演示虚机为centos7系列 二、进入开机前的页面,选中第一个,按“e”键&…

idea中如何过滤某些文件不提交

文章目录 前言设置.gitignore文件解决方案 设置新的忽略文件具体步骤如下 常用过滤文件 前言 在开发过程中,经常会遇到一些文件是我们不想提交的内容。那么应该如何过滤掉?不去提交到我们的git仓库? 比如,我们常用的一些配置文件…

MBD开发 STM32 UASRT

目录 轮询 ptintf 中断方式 DMA方式 轮询 串口要加入这两个文件 bug在于接到10个后会一直发送 ptintf function buffPtr convert(buff)if coder.target(Sfun)%固定句式%Executing in MATLAB, Buff is nullbuffPtr uint32(0); elsecoder.cinclude(getBuffPtr.h);%加入头…

Apikit 自学日记:智能 Mock 规则

功能入口:API管理应用 / 公共资源菜单 / 智能 Mock 设置 二级菜单在编写API文档返回结果时,若参数字段和类型匹配智能Mock规则,系统则会自动填入对应的Mock值。该功能提供无感的快速mock值配置,减轻mock规则配置的工作负担。 智能…

Dubbo学习记录

Dubbo学习记录 一、Dubbo架构二、Provider启动Dubbo1.实现类的Service注解2.Dubbo的配置信息3.引入web.xml,加载Spring核心配置文件,才可以扫描到Dubbo的配置信息 二、Consumer启动Dubbo1.Autowired改为Reference2.qos介绍:Dubbo远程监控和控…

LeetCode 打卡day54-55 动态规划之编辑距离问题

一个人的朝圣 — LeetCode打卡第54-55天 知识总结 Leetcode 392. 判断子序列题目说明代码说明 Leetcode 115. 不同的子序列题目说明代码说明 Leetcode 583. 两个字符串的删除操作题目说明代码说明 Leetcode 72. 编辑距离题目说明代码说明 知识总结 今天学习动态规划里面的编辑…

《零基础学PIC单片机》目录

《零基础学PIC单片机》目录 1.《零基础学PIC单片机》,作者:赵化启 1.1芯片架构和指令 芯片架构和指令需要较多时间消化。 PIC单片机系统结构,讲解各模块的结构和功能;PIC汇编指令 1.2具有参考价值的内容 第3章:电…

批发零售行业应该如何选择进销存软件?

一、什么是进销存软件 进:需要将产品采购入库,自动生成采购明细台账同时关联财务生成付款账单; 销:是指对客户的销售订单记录,汇总生成产品销售明细及回款计划; 存:库存的日常盘点与统计&…

看一眼Mysql查询语句

目录 🛻 查询数据 🛻基本查询语句 🛻单表查询 🚕查询所有字段 🚕查询指定字段 🚕查询指定记录 🚕带in关键字的查询 🚕带between and的范围查询 🚕带like的字符匹…

一文带你了解socket网络编程以及详解过程和原理

创作不易,期望亲友们给个免费的就行 文章目录 一、什么是socket二、TCP/IP三、socket原理四、代码说明五、API函数 一、什么是socket Socket(套接字)是计算机网络编程中的一种抽象概念,它提供了在网络上进行通信的接口。通过使用…