Go to file
NWalker4483 869d9eb4a4 Updated ReadMe 2021-06-04 16:19:37 -04:00
assets Updated ReadMe 2021-06-04 16:19:37 -04:00
lib Updated ReadMe 2021-06-04 16:19:37 -04:00
resources Updated ReadMe 2021-06-04 16:19:37 -04:00
.eslintignore Initial Commit 2021-06-03 01:45:51 -04:00
.eslintrc Initial Commit 2021-06-03 01:45:51 -04:00
.gitignore Initial Commit 2021-06-03 01:45:51 -04:00
.npmignore Initial Commit 2021-06-03 01:45:51 -04:00
.travis.yml Initial Commit 2021-06-03 01:45:51 -04:00
CHANGELOG.md Initial Commit 2021-06-03 01:45:51 -04:00
LICENSE Initial Commit 2021-06-03 01:45:51 -04:00
README.md Updated ReadMe 2021-06-04 16:19:37 -04:00
package-lock.json Sync 2021-06-04 11:39:33 -04:00
package.json Updated ReadMe 2021-06-04 16:19:37 -04:00
rollup.config.js Initial Commit 2021-06-03 01:45:51 -04:00

README.md

diagram-js Code Editor

Build Status

A code editor for diagram-js.

Code Editor

Features

  • Modify script tasks with python formatting
  • Tests scripts in place with feedback
  • View externally provided data and functions

Usage

Extend your diagram-js application with the coding module. We'll use bpmn-js as an example:

import BpmnModeler from 'bpmn-js/lib/Modeler';
import propertiesPanelModule from 'bpmn-js-properties-panel';
import propertiesProviderModule from 'bpmn-js-properties-panel/lib/provider/camunda';

import codingModule from 'diagram-js-code-editor';


var bpmnModeler = new BpmnModeler({
  additionalModules: [
    propertiesProviderModule,
    propertiesPanelModule,
    codingModule
  ]
});

bpmnModeler.get('eventBus').on('editor.validate.request', (request) => {
  if (isGoodCode(request.code)){

  } else {

  }
bpmnModeler.get('eventBus').fire('editor.validate.response', {passing: true, msg: "msg"});
});

bpmnModeler.get('eventBus').on('editor.scripts.request', () => {
  let scripts = [{name: "", description: ""}]
bpmnModeler.get('eventBus').fire('editor.scripts.response', {scripts: scripts});
});

bpmnModeler.get('eventBus').on('editor.objects.request', () => {
  let data = [{userId: "int", description: "string"}]
bpmnModeler.get('eventBus').fire('editor.scripts.response', {objects: data});
});

For proper styling integrate the embedded style sheet:

<link rel="stylesheet" href="diagram-js-code-editor/assets/diagram-js-code-editor.css" />

Please see this example for a more detailed instruction.

License

MIT