index.ts 992 B

1234567891011121314151617181920212223242526
  1. import Modeler from 'bpmn-js/lib/Modeler';
  2. import jnpfRenderer from './renderer';
  3. import jnpfElementFactory from '../factory';
  4. import jnpfOutline from '../outline';
  5. import jnpfBusinessData from '../business';
  6. let flowInfo: any;
  7. const modeler: any = options => [
  8. {
  9. __init__: ['bpmnRenderer', 'elementFactory', 'jnpfData', 'outlineProvider'],
  10. bpmnRenderer: ['type', jnpfRenderer, { options }], // 画布渲染
  11. elementFactory: ['type', jnpfElementFactory], // 元素工厂
  12. jnpfData: ['type', jnpfBusinessData], // 用于放置业务数据
  13. outlineProvider: ['type', jnpfOutline, { options }], // 元素的外边框(用于修改边框颜色,注:线条颜色有svg获取标签再去修改颜色及箭头)
  14. },
  15. ];
  16. class bpmnModeler extends Modeler {
  17. constructor(options: any) {
  18. flowInfo = options.flowInfo;
  19. super(options);
  20. }
  21. }
  22. bpmnModeler.prototype['_modules'] = [].concat(bpmnModeler.prototype['_modules'], modeler(flowInfo));
  23. export default bpmnModeler;