2 lines
1.4 KiB
JavaScript
2 lines
1.4 KiB
JavaScript
const s=()=>window==null?void 0:window.bpmnInstances;function m(e,i,n){const t=Object.create(null);switch(t.event=e.event,i&&(t.id=e.id),e.listenerType){case"delegateExpressionListener":{t.delegateExpression=e.delegateExpression;break}case"expressionListener":{t.expression=e.expression;break}case"scriptListener":{t.script=d(e,n);break}default:t.class=e.class}if(e.fields&&(t.fields=e.fields.map(r=>l(r,n))),i&&e.event==="timeout"&&e.eventDefinitionType){const r=s().moddle.create("bpmn:FormalExpression",{body:e.eventTimeDefinitions}),c=s().moddle.create("bpmn:TimerEventDefinition",{id:`TimerEventDefinition_${o(8)}`,[`time${e.eventDefinitionType.replace(/^\S/,a=>a.toUpperCase())}`]:r});t.eventDefinitions=[c]}return s().moddle.create(`${n}:${i?"TaskListener":"ExecutionListener"}`,t)}function l(e,i){const{name:n,fieldType:t,string:r,expression:c}=e,a=t==="string"?{name:n,string:r}:{name:n,expression:c};return s().moddle.create(`${i}:Field`,a)}function d(e,i){const{scriptType:n,scriptFormat:t,value:r,resource:c}=e,a=n==="inlineScript"?{scriptFormat:t,value:r}:{scriptFormat:t,resource:c};return s().moddle.create(`${i}:Script`,a)}function f(e,i){const n=s().moddle.create("bpmn:ExtensionElements",{values:i});s().modeling.updateProperties(e,{extensionElements:n})}function o(e=8,i="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"){let n="";for(let t=e;t>0;--t)n+=i[Math.floor(Math.random()*i.length)];return n}export{m as c,f as u};
|