npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

liancheng-bpmn-react

v0.0.11

Published

bpmnjs的react版本,支持自定义pannel

Downloads

13

Readme

liancheng-bpmn-react

Install

$ yarn install
$ npm run dev
$ npm run build

Options

example

编辑组件 BpmnEditor

| name | type | remark | required | | :---------: | :------------------------------------: | :---------------------------: | :------: | | className | string | css 类名 | false | | height | number | 编辑框高度,默认 600px | true | | center | boolean | 是否聚焦到中心点,默认是 true | false | | value | string | xml 文件 | false | | onRef | ()=>void | 外部按钮触发组件内行为,见下 | false | | onClickNode | (elementInfo:any,value:string) => any; | 点击节点触发监听事件 | false | | onXMLChange | ()=>void | 当 xml 变化是触发 | false |


查看组件 BpmnViewer

| name | type | remark | required | | :---------: | :---------------------------------------------------------------------: | :---------------------------: | :------: | | className | string | css 类名 | false | | height | number | 编辑框高度,默认 600px | true | | center | boolean | 是否聚焦到中心点,默认是 true | false | | value | string | xml 文件 | false | | onRef | ()=>void | 外部按钮触发组件内行为,见下 | false | | onClickNode | (elementInfo:any,value:string) => any; | 点击节点触发监听事件 | false | | useMiniMap | boolean | 使用小地图,默认 false | false | | flowData | '{finishedList: string[];rejectedList: string[];doingList: string[]}[]' | 颜色标注 id 数组 | false | | onXMLChange | ()=>void | 当 xml 变化是触发 | false |


onRef 支持的回调

| name | type | remark | | :------: | :-----: | :----------: | | onExport | ()=>any | 用来导出 xml | | onReset | ()=>any | 重置 |

实际使用例子

import { Button } from 'antd';
import { BpmnEditor, BpmnViewer } from 'liancheng-bpmn-react';
import React, { useRef, useState } from 'react';

import './index.less';


export default () => {
  const [value, setValue] = useState('');

  const childRef = useRef();
  const onSaveBtn = async () => {
    childRef?.current?.onReset();
    const xmlValue: string = await childRef?.current?.onExport();
  };

  const onClickNode = (data: any) => {
    console.log('节点点击事件监听', data);
  };
  return (
    <PageContainer back>
      <Button onClick={onSaveBtn} type={'primary'}>
        保存
      </Button>
      <div className={'box'}>
        <div className={'box-bpmnBox'}>
          <BpmnEditor
            onClickNode={onClickNode}
            onRef={childRef}
            value={xml}
            height={600}
            center
          />
        </div>

        <div className={'box-pannel'}>1</div>
      </div>
      <Button onClick={onSaveBtn}>保存</Button>
      <div>
        <BpmnViewer
          onClickNode={onClickNode}
          onRef={childRef}
          value={xml}
          height={600}
          center
        />
      </div>
    </PageContainer>
  );
};

暴露的事件类型汇总

| 序号 | 事件名 | 说明 | callback 参数 | | ---- | ------------------------------------------------------ | ----------------------------------------------------------------------------------- | ---------------------------------------- | | 0 | "diagram.destroy" | 流程编辑器销毁 | event:InternalEvent | | 1 | "render.shape" | - | | 2 | "render.connection" | - | | 3 | "render.getShapePath" | - | | 4 | "render.getConnectionPath" | - | | 5 | "diagram.init" | 指示画布已准备好在其上进行绘制 | | 6 | "shape.added" | 已更新到 xml 内,触发渲染方法,返回值为插入的新元素 | event:InternalEvent, element: Element | | 7 | "connection.added" | 已更新到 xml 内,触发渲染方法,返回值为插入的新元素 | event:InternalEvent, element: Element | | 8 | "shape.removed" | 形状移除完成,返回值为被移除元素 | event:InternalEvent, element: Element | | 9 | "connection.removed" | 连线移除完成,返回值为被移除元素 | | 10 | "elements.changed" | 元素发生改变并更改完成 | event: InternalEvent, element: Elements | | 11 | "diagram.clear" | 流程编辑器元素及画布已清空 | event:InternalEvent | | 12 | "canvas.destroy" | 画布销毁 | event:InternalEvent | | 13 | "canvas.init" | 画布初始化完成 | | 14 | "shape.changed" | 形状属性更新,返回当前元素 | event:InternalEvent, element: Element | | 15 | "connection.changed" | 连线属性更新,返回当前元素 | event:InternalEvent, element: Element | | 16 | "interactionEvents.createHit" | | 17 | "interactionEvents.updateHit" | | 18 | "shape.remove" | 形状被选中移除,返回被移除的元素对象 | event:InternalEvent, element: Element | | 19 | "connection.remove" | 连线被选中移除 | event:InternalEvent, element: Element | | 20 | "element.hover" | 鼠标移动到元素上,返回鼠标位置处元素对象 | event:InternalEvent, element: Element | | 21 | "element.out" | 鼠标移出元素,返回鼠标最近移入的元素对象 | event:InternalEvent, element: Element | | 22 | "selection.changed" | 选中元素变化时,返回新选中的元素对象 | event:InternalEvent, element: Element | | 23 | "create.end" | 从 palette 中新建的元素创建完成(不清楚为什么有两个相同的参数) | event:InternalEvent, event:InternalEvent | | 24 | "connect.end" | 从 palette 中或者从选中节点中新建的连线元素创建完成(不清楚为什么有两个相同的参数) | event:InternalEvent, event:InternalEvent | | 25 | "shape.move.end" | 形状元素移动结束后 | event:InternalEvent, element: Element | | 26 | "element.click" | 元素单击事件 | event:InternalEvent, element: Element | | 27 | "canvas.viewbox.changing" | 视图缩放过程中 | event:InternalEvent | | 28 | "canvas.viewbox.changed" | 视图缩放完成 | event:InternalEvent, viewbox: Viewbox | | 29 | "element.changed" | 元素发生改变时触发,返回发生改变的元素 | event:InternalEvent, element: Element | | 30 | "element.marker.update" | | 31 | "attach" | | 32 | "detach" | | 33 | "editorActions.init" | | 34 | "keyboard.keydown" | 键盘按键按下 | | 35 | "element.mousedown" | 鼠标在元素上按下时触发 | event:InternalEvent, element: Element | | 36 | "commandStack.connection.start.canExecute" | | 37 | "commandStack.connection.create.canExecute" | | 38 | "commandStack.connection.reconnect.canExecute" | | 39 | "commandStack.connection.updateWaypoints.canExecute" | | 40 | "commandStack.shape.resize.canExecute" | | 41 | "commandStack.elements.create.canExecute" | | 42 | "commandStack.elements.move.canExecute" | | 43 | "commandStack.shape.create.canExecute" | | 44 | "commandStack.shape.attach.canExecute" | | 45 | "commandStack.element.copy.canExecute" | | 46 | "shape.move.start" | 形状开始移动 | event:InternalEvent, element: Element | | 47 | "shape.move.move" | | 48 | "elements.delete" | 元素被删除 | | 49 | "tool-manager.update" | | 50 | "i18n.changed" | | 51 | "drag.move" | | 52 | "contextPad.create" | | 53 | "palette.create" | | 54 | "autoPlace.end" | | 55 | "autoPlace" | | 56 | "drag.start" | | 57 | "drag.init" | | 58 | "drag.cleanup" | | 59 | "commandStack.shape.create.postExecuted" | | 60 | "commandStack.elements.move.postExecuted" | | 61 | "commandStack.shape.toggleCollapse.postExecuted" | | 62 | "commandStack.shape.resize.postExecuted" | | 63 | "commandStack.element.autoResize.canExecute" | | 64 | "bendpoint.move.hover" | | 65 | "bendpoint.move.out" | | 66 | "bendpoint.move.cleanup" | | 67 | "bendpoint.move.end" | | 68 | "connectionSegment.move.start" | | 69 | "connectionSegment.move.move" | | 70 | "connectionSegment.move.hover" | | 71 | "connectionSegment.move.out" | | 72 | "connectionSegment.move.cleanup" | | 73 | "connectionSegment.move.cancel" | | 74 | "connectionSegment.move.end" | | 75 | "element.mousemove" | | 76 | "element.updateId" | | 77 | "bendpoint.move.move" | | 78 | "bendpoint.move.start" | | 79 | "bendpoint.move.cancel" | | 80 | "connect.move" | | 81 | "connect.hover" | | 82 | "connect.out" | | 83 | "connect.cleanup" | | 84 | "create.move" | | 85 | "create.hover" | | 86 | "create.out" | | 87 | "create.cleanup" | | 88 | "create.init" | | 89 | "copyPaste.copyElement" | | 90 | "copyPaste.pasteElements" | | 91 | "moddleCopy.canCopyProperties" | | 92 | "moddleCopy.canCopyProperty" | | 93 | "moddleCopy.canSetCopiedProperty" | | 94 | "copyPaste.pasteElement" | | 95 | "popupMenu.getProviders.bpmn-replace" | | 96 | "contextPad.getProviders" | | 97 | "resize.move" | | 98 | "resize.end" | | 99 | "commandStack.shape.resize.preExecute" | | 100 | "spaceTool.move" | | 101 | "spaceTool.end" | | 102 | "create.start" | | 103 | "commandStack.connection.create.postExecuted" | | 104 | "commandStack.connection.layout.postExecuted" | | 105 | "shape.move.init" | | 106 | "resize.start" | | 107 | "resize.cleanup" | | 108 | "directEditing.activate" | | 109 | "directEditing.resize" | | 110 | "directEditing.complete" | | 111 | "directEditing.cancel" | | 112 | "commandStack.connection.updateWaypoints.postExecuted" | | 113 | "commandStack.label.create.postExecuted" | | 114 | "commandStack.elements.create.postExecuted" | | 115 | "commandStack.shape.append.preExecute" | | 116 | "commandStack.shape.move.postExecute" | | 117 | "commandStack.elements.move.preExecute" | | 118 | "commandStack.connection.create.postExecute" | | 119 | "commandStack.connection.reconnect.postExecute" | | 120 | "commandStack.shape.create.executed" | | 121 | "commandStack.shape.create.reverted" | | 122 | "commandStack.shape.create.preExecute" | | 123 | "shape.move.hover" | | 124 | "global-connect.hover" | | 125 | "global-connect.out" | | 126 | "global-connect.end" | | 127 | "global-connect.cleanup" | | 128 | "connect.start" | | 129 | "commandStack.shape.create.execute" | | 130 | "commandStack.shape.create.revert" | | 131 | "commandStack.shape.create.postExecute" | | 132 | "commandStack.elements.create.preExecute" | | 133 | "commandStack.elements.create.revert" | | 134 | "commandStack.elements.create.postExecute" | | 135 | "commandStack.connection.layout.executed" | | 136 | "commandStack.connection.create.executed" | | 137 | "commandStack.connection.layout.reverted" | | 138 | "commandStack.shape.move.executed" | | 139 | "commandStack.shape.delete.executed" | | 140 | "commandStack.connection.move.executed" | | 141 | "commandStack.connection.delete.executed" | | 142 | "commandStack.shape.move.reverted" | | 143 | "commandStack.shape.delete.reverted" | | 144 | "commandStack.connection.create.reverted" | | 145 | "commandStack.connection.move.reverted" | | 146 | "commandStack.connection.delete.reverted" | | 147 | "commandStack.canvas.updateRoot.executed" | | 148 | "commandStack.canvas.updateRoot.reverted" | | 149 | "commandStack.shape.resize.executed" | | 150 | "commandStack.shape.resize.reverted" | | 151 | "commandStack.connection.reconnect.executed" | | 152 | "commandStack.connection.reconnect.reverted" | | 153 | "commandStack.connection.updateWaypoints.executed" | | 154 | "commandStack.connection.updateWaypoints.reverted" | | 155 | "commandStack.element.updateAttachment.executed" | | 156 | "commandStack.element.updateAttachment.reverted" | | 157 | "commandStack.shape.delete.postExecute" | | 158 | "commandStack.canvas.updateRoot.postExecute" | | 159 | "spaceTool.selection.init" | | 160 | "spaceTool.selection.ended" | | 161 | "spaceTool.selection.canceled" | | 162 | "spaceTool.ended" | | 163 | "spaceTool.canceled" | | 164 | "spaceTool.selection.end" | | 165 | "commandStack.shape.delete.postExecuted" | | 166 | "commandStack.connection.create.preExecuted" | | 167 | "commandStack.shape.replace.preExecuted" | | 168 | "bpmnElement.added" | | 169 | "commandStack.element.updateProperties.postExecute" | | 170 | "commandStack.label.create.postExecute" | | 171 | "commandStack.connection.layout.postExecute" | | 172 | "commandStack.connection.updateWaypoints.postExecute" | | 173 | "commandStack.shape.replace.postExecute" | | 174 | "commandStack.shape.resize.postExecute" | | 175 | "shape.move.rejected" | | 176 | "create.rejected" | | 177 | "elements.paste.rejected" | | 178 | "commandStack.shape.delete.preExecute" | | 179 | "commandStack.connection.reconnect.preExecute" | | 180 | "commandStack.element.updateProperties.postExecuted" | | 181 | "commandStack.shape.replace.postExecuted" | | 182 | "commandStack.shape.toggleCollapse.executed" | | 183 | "commandStack.shape.toggleCollapse.reverted" | | 184 | "spaceTool.getMinDimensions" | | 185 | "commandStack.connection.delete.preExecute" | | 186 | "commandStack.canvas.updateRoot.preExecute" | | 187 | "commandStack.spaceTool.preExecute" | | 188 | "commandStack.lane.add.preExecute" | | 189 | "commandStack.lane.resize.preExecute" | | 190 | "commandStack.lane.split.preExecute" | | 191 | "commandStack.elements.delete.preExecute" | | 192 | "commandStack.shape.move.preExecute" | | 193 | "commandStack.spaceTool.postExecuted" | | 194 | "commandStack.lane.add.postExecuted" | | 195 | "commandStack.lane.resize.postExecuted" | | 196 | "commandStack.lane.split.postExecuted" | | 197 | "commandStack.elements.delete.postExecuted" | | 198 | "commandStack.shape.move.postExecuted" | | 199 | "saveXML.start" | | 200 | "commandStack.connection.create.preExecute" | | 201 | "commandStack.connection.move.preExecute" | | 202 | "shape.move.out" | | 203 | "shape.move.cleanup" | | 204 | "commandStack.elements.move.preExecuted" | | 205 | "commandStack.shape.delete.execute" | | 206 | "commandStack.shape.delete.revert" | | 207 | "spaceTool.selection.start" | | 208 | "spaceTool.selection.move" | | 209 | "spaceTool.selection.cleanup" | | 210 | "spaceTool.cleanup" | | 211 | "lasso.selection.init" | | 212 | "lasso.selection.ended" | | 213 | "lasso.selection.canceled" | | 214 | "lasso.ended" | | 215 | "lasso.canceled" | | 216 | "lasso.selection.end" | | 217 | "lasso.end" | | 218 | "lasso.start" | | 219 | "lasso.move" | | 220 | "lasso.cleanup" | | 221 | "hand.init" | | 222 | "hand.ended" | | 223 | "hand.canceled" | | 224 | "hand.move.ended" | | 225 | "hand.move.canceled" | | 226 | "hand.end" | | 227 | "hand.move.move" | | 228 | "hand.move.end" | | 229 | "global-connect.init" | | 230 | "global-connect.ended" | | 231 | "global-connect.canceled" | | 232 | "global-connect.drag.ended" | | 233 | "global-connect.drag.canceled" | | 234 | "palette.getProviders" | | 235 | "propertiesPanel.isEntryVisible" | | 236 | "propertiesPanel.isPropertyEditable" | | 237 | "root.added" | | 238 | "propertiesPanel.changed" | | 239 | "propertiesPanel.resized" | | 240 | "elementTemplates.changed" | | 241 | "canvas.resized" | | 242 | "import.parse.complete" | 读取模型(xml)完成 | | 243 | "commandStack.changed" | 发生任意可撤销/恢复操作时触发,可用来实时更新 xml |

LICENSE

MIT