BPMNJS 在HTML中的引入与使用

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.hqwc.cn/news/8238.html

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

相关文章

【UE5 Cesium】08-Cesium for Unreal 子关卡应用实例(上)

UE版本:5.1 效果 (运行游戏可以看到进入关卡体积内楼房模型才会显现,以此来减少电脑性能消耗) 步骤 一、新建两个子关卡(以北京和上海为例) 点击窗口-》关卡-》新建 命名第一个子关卡为“SubLevel_Bei…

【数据库】使用DBever连接人大金仓数据库

下载安装DBever 首先需要下载并安装DBever,可以在DBever官网上下载最新版的安装程序,根据提示进行安装即可。 下载驱动程序 首先需要从人大金仓官方网站下载适用于DBever的驱动程序。下载完成后,将驱动程序保存到本地计算机上。 添加驱动…

7.4.2 【Linux】特殊设备 loop 挂载 (镜像文件不烧录就挂载使用)

挂载光盘/DVD镜像文件 如此一来我们不需要将这个文件烧录成为光盘或者是 DVD 就能够读取内部的数据了。 创建大文件以制作 loop 设备文件! 创建大型文件 假设我要创建一个空的文件在 /srv/loopdev ,那可以这样做: 将 512 块,每…

【算法|动态规划系列No.5】leetcode62. 不同路径

个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【手撕算法系列专栏】【LeetCode】 🍔本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望…

linux内核TCP源码浅析

目录 数据接收流程驱动层网络层ip_local_deliverip_local_deliver_finish 传输层tcp_v4_rcvtcp_v4_do_rcvtcp_rcv_establishedtcp_recvmsg linux内核源码下载:https://cdn.kernel.org/pub/linux/kernel/ 我下载的是:linux-5.11.1.tar.gz 数据接收流程 …

window.open()实现PDF预览

效果图如下: 页面使用: window.open(strUrl) 参数说明如下图:

Android Studio中配置aliyun maven库

Android Studio中配置aliyun maven库 在项目的根build.gradle里面(不是module)buildscriptde对应位置添加配置: buildscript {repositories {maven {url http://maven.aliyun.com/nexus/content/groups/public/allowInsecureProtocol true…

ubuntu下 C/C++程序读取设置环境变量

设置环境变量很简单比如: export QMCY_LOCAL_PORT8888 追加的话 export QMCY_LOCAL_PORT$QMCY_LOCAL_PORT:8000 可以通过echo回显 读取的话 main函数多加一个env参数 一个字符串数组 然后遍历这个数组 即可 使用的时候 如下: bool QMCY_APP::Init(s…

Redis详细

Redis简介 Redis的数据类型 Redis中的常用指令 通用指令 字符串操作指令 set num 1 get num setex num1 10 1 get num1 incr num incrby num 3 decr num decrby num 3哈希操作命令 列表(List)操作命令 rpoplpush source dest 将source中的末尾元素移除…

c#/c++ 通过系统api监视文件变化的问题

再分享个比较经典的案例,在很多场景下,我们都要去监视某个文件夹下的文件变化,在创建、修改或删除的时候触发一些行为。众所周知,c#有个实现类叫FileSystemWatcher,可以用来监视目录包括子目录下文件的变化&#xff0c…

Lion:闭源大语言模型的对抗性蒸馏

通过调整 70k 指令跟踪数据,Lion (7B) 可以实现 ChatGPT 95% 的能力! 消息 我们目前正在致力于训练更大尺寸的版本(如果可行的话,13B、33B 和 65B)。感谢您的耐心等待。 **[2023年6月10日]**我们发布了微调过程中解…

83、基于STM32单片机录音机录音笔语音存储回放TF卡TFT屏系统设计(程序+原理图+PCB源文件+参考论文+硬件设计资料+元器件清单等)

单片机主芯片选择方案 方案一:AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元&a…