5.15.0 • Published 7 days ago

bpmn-js-properties-panel v5.15.0

Weekly downloads
6,181
License
MIT
Repository
github
Last release
7 days ago

Extending the properties panel changed significantly with bpmn-js-properties-panel>=1. For the 0.x version of the library, check out the 0.x branch. Read more on the changes in the changelog.

bpmn-js-properties-panel

CI

A properties panel extension for bpmn-js that adds the ability to edit technical properties (generic and Camunda).

bpmn-js-properties-panel screenshot

Features

The properties panel allows users to edit invisible BPMN properties in a convenient way.

Some of the features are:

  • Edit element ids, multi-instance details and more
  • Edit execution related Camunda 7 and Camunda 8 properties
  • Redo and undo (plugs into the bpmn-js editing cycle)

Usage

Provide two HTML elements, one for the properties panel and one for the BPMN diagram:

<div class="modeler">
  <div id="canvas"></div>
  <div id="properties"></div>
</div>

Bootstrap bpmn-js with the properties panel and a properties provider:

import BpmnModeler from 'bpmn-js/lib/Modeler';
import {
  BpmnPropertiesPanelModule,
  BpmnPropertiesProviderModule,
} from 'bpmn-js-properties-panel';

const modeler = new BpmnModeler({
  container: '#canvas',
  propertiesPanel: {
    parent: '#properties'
  },
  additionalModules: [
    BpmnPropertiesPanelModule,
    BpmnPropertiesProviderModule
  ]
});

Styling

For proper styling include the necessary stylesheets:

<link rel="stylesheet" href="https://unpkg.com/@bpmn-io/properties-panel/dist/assets/properties-panel.css">

Dynamic Attach/Detach

You may attach or detach the properties panel dynamically to any element on the page, too:

const propertiesPanel = bpmnJS.get('propertiesPanel');

// detach the panel
propertiesPanel.detach();

// attach it to some other element
propertiesPanel.attachTo('#other-properties');

Edit Camunda Properties

To edit Camunda properties, you have to use a moddle extension so bpmn-js is can read and write Camunda properties and use a provider so these properties are shown in the properties panel.

For example, to edit Camunda 8 properties, use the Camunda 8 moddle extension and the Camunda 8 provider. Additionally, you should use behaviors specific to Camunda 8 to ensure parts of the model that are specific to Camunda 8 are maintained correctly.

import BpmnModeler from 'bpmn-js/lib/Modeler';
import {
  BpmnPropertiesPanelModule,
  BpmnPropertiesProviderModule,
  ZeebePropertiesProviderModule // Camunda 8 provider
} from 'bpmn-js-properties-panel';

// Camunda 8 moddle extension
import zeebeModdle from 'zeebe-bpmn-moddle/resources/zeebe';

// Camunda 8 behaviors
import ZeebeBehaviorsModule from 'camunda-bpmn-js-behaviors/lib/camunda-cloud';

const modeler = new BpmnModeler({
  container: '#canvas',
  propertiesPanel: {
    parent: '#properties'
  },
  additionalModules: [
    BpmnPropertiesPanelModule,
    BpmnPropertiesProviderModule,
    ZeebePropertiesProviderModule,
    ZeebeBehaviorsModule
  ],
  moddleExtensions: {
    zeebe: zeebeModdle
  }
});

API

BpmnPropertiesPanelRenderer#attachTo(container: HTMLElement) => void

Attach the properties panel to a parent node.

const propertiesPanel = modeler.get('propertiesPanel');

propertiesPanel.attachTo('#other-properties');

BpmnPropertiesPanelRenderer#detach() => void

Detach the properties panel from its parent node.

const propertiesPanel = modeler.get('propertiesPanel');

propertiesPanel.detach();

BpmnPropertiesPanelRenderer#registerProvider(priority: Number, provider: PropertiesProvider) => void

Register a new properties provider to the properties panel.

class ExamplePropertiesProvider {
  constructor(propertiesPanel) {
    propertiesPanel.registerProvider(500, this);
  }

  getGroups(element) {
    return (groups) => {

      // add, modify or remove groups
      // ...

      return groups;
    };
  }
}

ExamplePropertiesProvider.$inject = [ 'propertiesPanel' ];

Additional Resources

Development

Prepare the project by installing all dependencies:

npm install

Then, depending on your use-case, you may run any of the following commands:

# build the library and run all tests
npm run all

# spin up a single local modeler instance
npm start

# run the full development setup
npm run dev

License

MIT

bpmn-js-vuecoding-tcms-flowtcms-flowgdbpmn-demoeasispio-libraries@infinitebrahmanuniverse/nolb-bpanyi-process-ee-antvueanyi-process-ee-arcovuedtt-compsanyi-process-ee-native-antvueanyi-process-ee-native-arcovueskillfull-process-pro-antvueluck-biz-components@everything-registry/sub-chunk-1259custom-camunda-js@process-engine/frontend_react_plugin_process_manageradmin-map-uifrontvisualframework-flowablefc-process@y.volkov/ita-designer-ui-core@alibsp/process-designer@airlenet/workflow-bpmn-modeler@airlenet/workflow-modeleranyi-process-designernative-vue-eegld-bpmn-testgld-designergood-bpmn@things-factory/process-uigbpmngd_echart_componentsgd_vue_componentsgd_vue_components_allai-workflowaip-bpmnflowable-vue@zalastax/nolb-bpfinancial-review@wkspower/camunda-web-modeler@valtimo/process-managementgdvueviewsbase-enterpriseita-designer-ui-coreit-vue-uich-unified-fabric-componentio.parrotsimicros-appbpmn-vue-acivitibpmn-vue-aciviti-lztbpmnp-designerbpmn-processbpmn-projectssbpmn-js-hskabpmn-js-example-properties-panelbpmn-js-spiffworkflowbpmn-js-modulesbpm-designbpmn-design-nextbpmn-design-vuebpmn-designerbpmn-editorbpmn-initbpmn-init-uiht-componenthls-easy-admin@blueju/workflow-uicoding-cd-flowjiachen-assemblybpmn-projectbpmn-projectszeebe-bpmn-omsyingzhi-bpmn-lowcode-materialszhibi-process-designerzlib-materialszlth-uizny-vue-designerzs-bpmn-demozs-bpmn-vue3xx-onemap-biz-uicn-bpmn-editor-vue@denysvuika/ng-bpmncoding-flowjcbpm-vuejcbpm-vue-hijc-componet-coreatom-process-designergpmctestbbb-bpmnbdxc-pcbics@arkondata/react-bpmn-modelercopote-bpmn-processctsi-vue-dialogcustome-test10cvue-router@fnet/form-bpmn-modeler@engloba-tech/react-bpmnmoddlerdareway_work_flow
5.15.0

7 days ago

5.14.0

1 month ago

5.13.0

2 months ago

5.11.2

2 months ago

5.12.0

2 months ago

5.11.1

3 months ago

5.11.0

3 months ago

5.9.0

3 months ago

5.10.0

3 months ago

5.8.0

3 months ago

5.7.0

4 months ago

5.3.0

7 months ago

4.0.1

9 months ago

4.0.0

9 months ago

4.0.2

9 months ago

5.4.0

7 months ago

5.0.0

8 months ago

6.0.0-1

7 months ago

6.0.0-2

7 months ago

6.0.0-0

7 months ago

5.5.1

6 months ago

5.5.0

7 months ago

5.1.0

8 months ago

3.0.0

10 months ago

5.6.1

6 months ago

5.6.0

6 months ago

5.2.0

8 months ago

2.1.0

11 months ago

2.0.0

11 months ago

1.25.0

11 months ago

1.26.0

11 months ago

1.23.0

12 months ago

1.24.1

11 months ago

1.24.0

12 months ago

1.22.0

1 year ago

1.22.1

12 months ago

1.21.0

1 year ago

1.18.0

1 year ago

1.19.0

1 year ago

1.19.1

1 year ago

1.17.2

1 year ago

1.17.1

1 year ago

1.17.0

1 year ago

1.20.1

1 year ago

1.20.2

1 year ago

1.20.0

1 year ago

1.20.3

1 year ago

1.14.0

1 year ago

1.15.0

1 year ago

1.15.1

1 year ago

1.16.0

1 year ago

1.13.1

1 year ago

1.13.0

1 year ago

1.11.3

1 year ago

1.11.2

1 year ago

1.11.1

1 year ago

1.9.0

2 years ago

1.10.0

2 years ago

1.12.0

1 year ago

1.11.0

1 year ago

1.6.1

2 years ago

1.8.2

2 years ago

1.8.1

2 years ago

1.8.0

2 years ago

1.7.0

2 years ago

1.2.0

2 years ago

1.6.0

2 years ago

1.5.0

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago

1.0.0-alpha.9

2 years ago

1.0.0-alpha.8

2 years ago

1.0.0-alpha.7

2 years ago

1.0.0-alpha.6

2 years ago

1.0.0-alpha.10

2 years ago

1.0.0-alpha.12

2 years ago

1.0.0-alpha.11

2 years ago

1.0.0-alpha.13

2 years ago

1.0.0-alpha.5

2 years ago

1.0.0-alpha.4

2 years ago

1.0.0-alpha.3

2 years ago

1.0.0-alpha.2

2 years ago

1.0.0-alpha.1

2 years ago

1.0.0-alpha.0

2 years ago

0.46.0

3 years ago

0.45.0

3 years ago

0.44.1

3 years ago

0.44.0

3 years ago

0.43.1

3 years ago

0.43.0

3 years ago

0.42.0

3 years ago

0.42.0-1

3 years ago

0.42.0-0

3 years ago

0.41.0

3 years ago

0.40.0

3 years ago

0.39.0

3 years ago

0.38.1

3 years ago

0.38.0

3 years ago

0.37.6

3 years ago

0.37.5

3 years ago

0.37.4

4 years ago

0.37.3

4 years ago

0.37.2

4 years ago

0.37.1

4 years ago

0.37.0

4 years ago

0.36.0

4 years ago

0.36.0-0

4 years ago

0.35.0

4 years ago

0.35.0-colors.1

4 years ago

0.35.0-colors.0

4 years ago

0.34.0

4 years ago

0.33.2

4 years ago

0.33.1

4 years ago

0.33.0

4 years ago

0.32.2

5 years ago

0.32.1

5 years ago

0.32.0

5 years ago

0.31.0

5 years ago

0.30.0

5 years ago

0.29.0

5 years ago

0.28.2

5 years ago

0.28.1

5 years ago

0.28.0

5 years ago

0.27.0

5 years ago

0.26.2

6 years ago

0.26.1

6 years ago

0.26.0

6 years ago

0.25.2

6 years ago

0.25.1

6 years ago

0.25.0

6 years ago

0.24.2

6 years ago

0.24.1

6 years ago

0.24.0

6 years ago

0.23.0

6 years ago

0.22.1

6 years ago

0.22.0

6 years ago

0.21.0

6 years ago

0.20.0

6 years ago

0.19.1

6 years ago

0.19.0

6 years ago

0.18.5

6 years ago

0.18.4

6 years ago

0.18.3

6 years ago

0.18.2

7 years ago

0.18.1

7 years ago

0.18.0

7 years ago

0.17.0

7 years ago

0.16.1

7 years ago

0.16.0

7 years ago

0.15.0

7 years ago

0.14.0

7 years ago

0.13.1

7 years ago

0.13.0

7 years ago

0.12.0

7 years ago

0.11.2

7 years ago

0.11.1

7 years ago

0.11.0

7 years ago

0.10.0

8 years ago

0.9.0

8 years ago

0.8.2

8 years ago

0.8.1

8 years ago

0.8.0

8 years ago

0.7.0

8 years ago

0.6.3

8 years ago

0.6.2

8 years ago

0.6.1

8 years ago

0.6.0

8 years ago

0.5.0

8 years ago

0.4.0

8 years ago

0.3.0

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago