camunda-bpmn-js 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base-modeler.development.js +5731 -2372
- package/dist/base-modeler.production.min.js +6 -6
- package/dist/base-navigated-viewer.development.js +1854 -741
- package/dist/base-navigated-viewer.production.min.js +1 -1
- package/dist/base-viewer.development.js +1745 -720
- package/dist/base-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-modeler.development.js +5811 -2421
- package/dist/camunda-cloud-modeler.production.min.js +23 -23
- package/dist/camunda-cloud-navigated-viewer.development.js +1876 -750
- package/dist/camunda-cloud-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-cloud-viewer.development.js +1764 -726
- package/dist/camunda-cloud-viewer.production.min.js +1 -1
- package/dist/camunda-platform-modeler.development.js +6595 -2615
- package/dist/camunda-platform-modeler.production.min.js +6 -6
- package/dist/camunda-platform-navigated-viewer.development.js +1867 -746
- package/dist/camunda-platform-navigated-viewer.production.min.js +1 -1
- package/dist/camunda-platform-viewer.development.js +1755 -722
- package/dist/camunda-platform-viewer.production.min.js +1 -1
- package/lib/base/Modeler.d.ts +15 -0
- package/lib/base/Modeler.js +16 -2
- package/lib/base/NavigatedViewer.d.ts +2 -0
- package/lib/base/Viewer.d.ts +2 -0
- package/lib/camunda-cloud/ElementTemplatesValidator.d.ts +1 -0
- package/lib/camunda-cloud/Modeler.d.ts +3 -0
- package/lib/camunda-cloud/Modeler.js +5 -2
- package/lib/camunda-cloud/NavigatedViewer.d.ts +3 -0
- package/lib/camunda-cloud/NavigatedViewer.js +4 -2
- package/lib/camunda-cloud/Viewer.d.ts +3 -0
- package/lib/camunda-cloud/Viewer.js +4 -2
- package/lib/camunda-cloud/features/rules/BpmnRules.d.ts +32 -0
- package/lib/camunda-cloud/features/rules/BpmnRules.js +110 -87
- package/lib/camunda-cloud/features/rules/index.d.ts +6 -0
- package/lib/camunda-cloud/util/commonModules.d.ts +9 -0
- package/lib/camunda-cloud/util/commonModules.js +5 -0
- package/lib/camunda-platform/Modeler.d.ts +3 -0
- package/lib/camunda-platform/Modeler.js +6 -2
- package/lib/camunda-platform/NavigatedViewer.d.ts +5 -0
- package/lib/camunda-platform/NavigatedViewer.js +4 -2
- package/lib/camunda-platform/Viewer.d.ts +5 -0
- package/lib/camunda-platform/Viewer.js +5 -2
- package/lib/camunda-platform/util/commonModules.d.ts +9 -0
- package/lib/camunda-platform/util/commonModules.js +5 -0
- package/lib/util/ExtensionElementsUtil.d.ts +24 -0
- package/lib/util/ExtensionElementsUtil.js +17 -8
- package/package.json +14 -7
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default class Modeler extends BpmnModeler {
|
|
2
|
+
/**
|
|
3
|
+
* @param options
|
|
4
|
+
*
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
getModules(options?: {
|
|
8
|
+
disableAdjustOrigin?: boolean;
|
|
9
|
+
disableGrid?: boolean;
|
|
10
|
+
}): ModuleDeclaration[];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type BaseViewerOptions = import('bpmn-js/lib/BaseViewer').BaseViewerOptions;
|
|
14
|
+
type ModuleDeclaration = import('didi').ModuleDeclaration;
|
|
15
|
+
import BpmnModeler from 'bpmn-js/lib/Modeler';
|
package/lib/base/Modeler.js
CHANGED
|
@@ -16,8 +16,14 @@ import {
|
|
|
16
16
|
} from 'bpmn-js-properties-panel';
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
19
20
|
*
|
|
20
|
-
* @
|
|
21
|
+
* @typedef {import('didi').ModuleDeclaration} ModuleDeclaration
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param {BaseViewerOptions} options
|
|
21
27
|
*/
|
|
22
28
|
export default function Modeler(options = {}) {
|
|
23
29
|
BpmnModeler.call(this, options);
|
|
@@ -25,7 +31,15 @@ export default function Modeler(options = {}) {
|
|
|
25
31
|
|
|
26
32
|
inherits(Modeler, BpmnModeler);
|
|
27
33
|
|
|
28
|
-
|
|
34
|
+
/**
|
|
35
|
+
* @param { {
|
|
36
|
+
* disableAdjustOrigin?: boolean;
|
|
37
|
+
* disableGrid?: boolean;
|
|
38
|
+
* } } [options]
|
|
39
|
+
*
|
|
40
|
+
* @returns {ModuleDeclaration[]}
|
|
41
|
+
*/
|
|
42
|
+
Modeler.prototype.getModules = function(options = {}) {
|
|
29
43
|
const modules = BpmnModeler.prototype.getModules.call(this, options);
|
|
30
44
|
|
|
31
45
|
return [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -28,8 +28,11 @@ import {
|
|
|
28
28
|
} from 'bpmn-js-create-append-anything';
|
|
29
29
|
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
32
|
-
|
|
31
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @param {BaseViewerOptions} options
|
|
33
36
|
*/
|
|
34
37
|
export default function Modeler(options = {}) {
|
|
35
38
|
|
|
@@ -4,10 +4,12 @@ import BaseViewer from '../base/NavigatedViewer';
|
|
|
4
4
|
|
|
5
5
|
import { commonModdleExtensions, commonModules } from './util/commonModules';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
9
|
+
*/
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param {Object} options
|
|
12
|
+
* @param {BaseViewerOptions} options
|
|
11
13
|
*/
|
|
12
14
|
export default function NavigatedViewer(options = {}) {
|
|
13
15
|
|
|
@@ -4,10 +4,12 @@ import BaseViewer from '../base/Viewer';
|
|
|
4
4
|
|
|
5
5
|
import { commonModdleExtensions, commonModules } from './util/commonModules';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
9
|
+
*/
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param {Object} options
|
|
12
|
+
* @param {BaseViewerOptions} options
|
|
11
13
|
*/
|
|
12
14
|
export default function Viewer(options = {}) {
|
|
13
15
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zeebe rule provider that allows to create boundary events with catch events
|
|
3
|
+
*
|
|
4
|
+
* See {@link CustomRules} for the default implementation
|
|
5
|
+
* of BPMN 2.0 modeling rules provided by bpmn-js.
|
|
6
|
+
*/
|
|
7
|
+
declare class CustomRules extends BpmnRules {
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
declare namespace CustomRules {
|
|
11
|
+
export const $inject: string[];
|
|
12
|
+
export { canAttach };
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default CustomRules;
|
|
16
|
+
type EventBus = import('diagram-js/lib/core/EventBus').default;
|
|
17
|
+
type Element = import('bpmn-js/lib/model/Types').Element;
|
|
18
|
+
type Shape = import('bpmn-js/lib/model/Types').Shape;
|
|
19
|
+
type Point = import('diagram-js/lib/util/Types').Point;
|
|
20
|
+
import BpmnRules from 'bpmn-js/lib/features/rules/BpmnRules';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Zeebe-specific rule that allows attaching intermediate events.
|
|
24
|
+
*
|
|
25
|
+
* @param elements
|
|
26
|
+
* @param target
|
|
27
|
+
* @param source
|
|
28
|
+
* @param position
|
|
29
|
+
*
|
|
30
|
+
* @return
|
|
31
|
+
*/
|
|
32
|
+
declare function canAttach(elements: Element, target: Shape, source: Element, position: Point): boolean | 'attach';
|
|
@@ -22,6 +22,15 @@ import {
|
|
|
22
22
|
getBoundaryAttachment as isBoundaryAttachment
|
|
23
23
|
} from 'bpmn-js/lib/features/snapping/BpmnSnappingUtil';
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* @typedef {import('diagram-js/lib/core/EventBus').default} EventBus
|
|
27
|
+
*
|
|
28
|
+
* @typedef {import('bpmn-js/lib/model/Types').Element} Element
|
|
29
|
+
* @typedef {import('bpmn-js/lib/model/Types').Shape} Shape
|
|
30
|
+
*
|
|
31
|
+
* @typedef {import('diagram-js/lib/util/Types').Point} Point
|
|
32
|
+
*/
|
|
33
|
+
|
|
25
34
|
const HIGH_PRIORITY = 5000;
|
|
26
35
|
|
|
27
36
|
/**
|
|
@@ -29,110 +38,124 @@ const HIGH_PRIORITY = 5000;
|
|
|
29
38
|
*
|
|
30
39
|
* See {@link CustomRules} for the default implementation
|
|
31
40
|
* of BPMN 2.0 modeling rules provided by bpmn-js.
|
|
32
|
-
*
|
|
33
|
-
* @param {EventBus} eventBus
|
|
34
41
|
*/
|
|
35
42
|
export default class CustomRules extends BpmnRules {
|
|
36
43
|
|
|
44
|
+
/**
|
|
45
|
+
* @param {EventBus} eventBus
|
|
46
|
+
*/
|
|
37
47
|
constructor(eventBus) {
|
|
38
48
|
super(eventBus);
|
|
39
49
|
}
|
|
40
50
|
|
|
41
51
|
init() {
|
|
42
52
|
super.init();
|
|
53
|
+
|
|
43
54
|
this.addRule('shape.attach', HIGH_PRIORITY,(context) => {
|
|
44
|
-
return
|
|
55
|
+
return canAttach(
|
|
45
56
|
context.shape,
|
|
46
57
|
context.target,
|
|
47
58
|
null,
|
|
48
59
|
context.position);
|
|
49
60
|
});
|
|
50
61
|
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
CustomRules.$inject = [ 'eventBus' ];
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Zeebe-specific rule that allows attaching intermediate events.
|
|
68
|
+
*
|
|
69
|
+
* @param {Element} elements
|
|
70
|
+
* @param {Shape} target
|
|
71
|
+
* @param {Element} source
|
|
72
|
+
* @param {Point} position
|
|
73
|
+
*
|
|
74
|
+
* @return {boolean|'attach'}
|
|
75
|
+
*/
|
|
76
|
+
function canAttach(elements, target, source, position) {
|
|
77
|
+
function isBoundaryEvent(element) {
|
|
78
|
+
return !isLabel(element) && is(element, 'bpmn:BoundaryEvent');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* In Zeebe we treat IntermediateCatchEvents as boundary events too,
|
|
83
|
+
* this must be reflected in the rules.
|
|
84
|
+
*/
|
|
85
|
+
function isBoundaryCandidate(element) {
|
|
86
|
+
return isBoundaryEvent(element) || (
|
|
87
|
+
(
|
|
88
|
+
is(element, 'bpmn:IntermediateCatchEvent') ||
|
|
89
|
+
is(element, 'bpmn:IntermediateThrowEvent')
|
|
90
|
+
) && !element.parent
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function isForCompensation(e) {
|
|
95
|
+
return getBusinessObject(e).isForCompensation;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function isReceiveTaskAfterEventBasedGateway(element) {
|
|
99
|
+
return (
|
|
100
|
+
is(element, 'bpmn:ReceiveTask') &&
|
|
101
|
+
find(element.incoming, function(incoming) {
|
|
102
|
+
return is(incoming.source, 'bpmn:EventBasedGateway');
|
|
103
|
+
})
|
|
104
|
+
);
|
|
105
|
+
}
|
|
51
106
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return !isLabel(element) && is(element, 'bpmn:BoundaryEvent');
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* In Zeebe we treat IntermediateCatchEvents as boundary events too,
|
|
59
|
-
* this must be reflected in the rules.
|
|
60
|
-
*/
|
|
61
|
-
function isBoundaryCandidate(element) {
|
|
62
|
-
return isBoundaryEvent(element) || (
|
|
63
|
-
(
|
|
64
|
-
is(element, 'bpmn:IntermediateCatchEvent') ||
|
|
65
|
-
is(element, 'bpmn:IntermediateThrowEvent')
|
|
66
|
-
) && !element.parent
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function isForCompensation(e) {
|
|
71
|
-
return getBusinessObject(e).isForCompensation;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
function isReceiveTaskAfterEventBasedGateway(element) {
|
|
75
|
-
return (
|
|
76
|
-
is(element, 'bpmn:ReceiveTask') &&
|
|
77
|
-
find(element.incoming, function(incoming) {
|
|
78
|
-
return is(incoming.source, 'bpmn:EventBasedGateway');
|
|
79
|
-
})
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (!Array.isArray(elements)) {
|
|
84
|
-
elements = [ elements ];
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// disallow appending as boundary event
|
|
88
|
-
if (source) {
|
|
89
|
-
return false;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// only (re-)attach one element at a time
|
|
93
|
-
if (elements.length !== 1) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const element = elements[0];
|
|
98
|
-
|
|
99
|
-
// do not attach labels
|
|
100
|
-
if (isLabel(element)) {
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// only handle boundary events
|
|
105
|
-
if (!isBoundaryCandidate(element)) {
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// allow default move operation
|
|
110
|
-
if (!target) {
|
|
111
|
-
return true;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// disallow drop on event sub processes
|
|
115
|
-
if (isEventSubProcess(target)) {
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// only allow drop on non compensation activities
|
|
120
|
-
if (!is(target, 'bpmn:Activity') || isForCompensation(target)) {
|
|
121
|
-
return false;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// only attach to subprocess border
|
|
125
|
-
if (position && !isBoundaryAttachment(position, target)) {
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// do not attach on receive tasks after event based gateways
|
|
130
|
-
if (isReceiveTaskAfterEventBasedGateway(target)) {
|
|
131
|
-
return false;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return 'attach';
|
|
107
|
+
if (!Array.isArray(elements)) {
|
|
108
|
+
elements = [ elements ];
|
|
135
109
|
}
|
|
110
|
+
|
|
111
|
+
// disallow appending as boundary event
|
|
112
|
+
if (source) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// only (re-)attach one element at a time
|
|
117
|
+
if (elements.length !== 1) {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const element = elements[0];
|
|
122
|
+
|
|
123
|
+
// do not attach labels
|
|
124
|
+
if (isLabel(element)) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
// only handle boundary events
|
|
129
|
+
if (!isBoundaryCandidate(element)) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// allow default move operation
|
|
134
|
+
if (!target) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// disallow drop on event sub processes
|
|
139
|
+
if (isEventSubProcess(target)) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// only allow drop on non compensation activities
|
|
144
|
+
if (!is(target, 'bpmn:Activity') || isForCompensation(target)) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// only attach to subprocess border
|
|
149
|
+
if (position && !isBoundaryAttachment(position, target)) {
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// do not attach on receive tasks after event based gateways
|
|
154
|
+
if (isReceiveTaskAfterEventBasedGateway(target)) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return 'attach';
|
|
136
159
|
}
|
|
137
160
|
|
|
138
|
-
CustomRules
|
|
161
|
+
CustomRules.canAttach = canAttach;
|
|
@@ -18,13 +18,16 @@ import { commonModdleExtensions } from './util/commonModules';
|
|
|
18
18
|
import colorPickerModule from 'bpmn-js-color-picker';
|
|
19
19
|
|
|
20
20
|
import {
|
|
21
|
+
CreateAppendAnythingModule as createAppendAnythingModule,
|
|
21
22
|
UnlinkTemplatesModule as unlinkTemplatesModule
|
|
22
23
|
} from 'bpmn-js-create-append-anything';
|
|
23
24
|
|
|
25
|
+
/**
|
|
26
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
27
|
+
*/
|
|
24
28
|
|
|
25
29
|
/**
|
|
26
|
-
*
|
|
27
|
-
* @param {Object} options
|
|
30
|
+
* @param {BaseViewerOptions} options
|
|
28
31
|
*/
|
|
29
32
|
export default function Modeler(options = {}) {
|
|
30
33
|
|
|
@@ -46,6 +49,7 @@ Modeler.prototype._camundaPlatformModules = [
|
|
|
46
49
|
CamundaPlatformPropertiesProviderModule,
|
|
47
50
|
ElementTemplatesPropertiesProviderModule,
|
|
48
51
|
colorPickerModule,
|
|
52
|
+
createAppendAnythingModule,
|
|
49
53
|
variableResolverModule,
|
|
50
54
|
unlinkTemplatesModule
|
|
51
55
|
];
|
|
@@ -4,10 +4,12 @@ import BaseViewer from '../base/NavigatedViewer';
|
|
|
4
4
|
|
|
5
5
|
import { commonModdleExtensions } from './util/commonModules';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
9
|
+
*/
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
|
-
*
|
|
10
|
-
* @param {Object} options
|
|
12
|
+
* @param {BaseViewerOptions} options
|
|
11
13
|
*/
|
|
12
14
|
export default function NavigatedViewer(options = {}) {
|
|
13
15
|
|
|
@@ -5,8 +5,11 @@ import BaseViewer from '../base/Viewer';
|
|
|
5
5
|
import { commonModdleExtensions } from './util/commonModules';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
9
|
-
|
|
8
|
+
* @typedef {import('bpmn-js/lib/BaseViewer').BaseViewerOptions} BaseViewerOptions
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @param {BaseViewerOptions} options
|
|
10
13
|
*/
|
|
11
14
|
export default function Viewer(options = {}) {
|
|
12
15
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get extension elements of element. Optionally filter by type.
|
|
3
|
+
*
|
|
4
|
+
* @param element
|
|
5
|
+
* @param type
|
|
6
|
+
*
|
|
7
|
+
* @return
|
|
8
|
+
*/
|
|
9
|
+
export function getExtensionElementsList(element: Element | ModdleElement, type?: string): ModdleElement[];
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Remove one or more extension elements. Remove bpmn:ExtensionElements
|
|
13
|
+
* afterwards if it's empty.
|
|
14
|
+
*
|
|
15
|
+
* @param element
|
|
16
|
+
* @param businessObject
|
|
17
|
+
* @param extensionElementsToRemove
|
|
18
|
+
* @param commandStack
|
|
19
|
+
*/
|
|
20
|
+
export function removeExtensionElements(element: Element, businessObject: ModdleElement, extensionElementsToRemove: ModdleElement | ModdleElement[], commandStack: CommandStack): void;
|
|
21
|
+
|
|
22
|
+
type CommandStack = import('diagram-js/lib/command/CommandStack').default;
|
|
23
|
+
type Element = import('bpmn-js/lib/model/Types').Element;
|
|
24
|
+
type ModdleElement = import('bpmn-js/lib/model/Types').ModdleElement;
|
|
@@ -6,13 +6,21 @@ import {
|
|
|
6
6
|
import { isArray } from 'min-dash';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* @typedef {import('diagram-js/lib/command/CommandStack').default} CommandStack
|
|
10
10
|
*
|
|
11
|
-
* @
|
|
12
|
-
* @
|
|
13
|
-
* @returns {Array<ModdleElement>}
|
|
11
|
+
* @typedef {import('bpmn-js/lib/model/Types').Element} Element
|
|
12
|
+
* @typedef {import('bpmn-js/lib/model/Types').ModdleElement} ModdleElement
|
|
14
13
|
*/
|
|
15
|
-
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Get extension elements of element. Optionally filter by type.
|
|
17
|
+
*
|
|
18
|
+
* @param {Element|ModdleElement} element
|
|
19
|
+
* @param {string} [type]
|
|
20
|
+
*
|
|
21
|
+
* @return {ModdleElement[]}
|
|
22
|
+
*/
|
|
23
|
+
export function getExtensionElementsList(element, type) {
|
|
16
24
|
const businessObject = getBusinessObject(element),
|
|
17
25
|
extensionElements = businessObject.get('extensionElements');
|
|
18
26
|
|
|
@@ -34,11 +42,12 @@ export function getExtensionElementsList(element, type = undefined) {
|
|
|
34
42
|
}
|
|
35
43
|
|
|
36
44
|
/**
|
|
37
|
-
* Remove one or more extension elements. Remove bpmn:ExtensionElements
|
|
45
|
+
* Remove one or more extension elements. Remove bpmn:ExtensionElements
|
|
46
|
+
* afterwards if it's empty.
|
|
38
47
|
*
|
|
39
|
-
* @param {
|
|
48
|
+
* @param {Element} element
|
|
40
49
|
* @param {ModdleElement} businessObject
|
|
41
|
-
* @param {ModdleElement|
|
|
50
|
+
* @param {ModdleElement|ModdleElement[]} extensionElementsToRemove
|
|
42
51
|
* @param {CommandStack} commandStack
|
|
43
52
|
*/
|
|
44
53
|
export function removeExtensionElements(element, businessObject, extensionElementsToRemove, commandStack) {
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "camunda-bpmn-js",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Embeddable Camunda modeling distributions based on bpmn-js",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
|
+
"types": "lib/index.d.ts",
|
|
6
7
|
"scripts": {
|
|
7
|
-
"all": "run-s clean lint test distro test:distro",
|
|
8
|
+
"all": "run-s clean lint test generate-types distro test:distro",
|
|
8
9
|
"lint": "eslint .",
|
|
9
10
|
"dev": "npm test -- --auto-watch --no-single-run",
|
|
10
11
|
"test": "karma start karma.config.js",
|
|
@@ -20,8 +21,11 @@
|
|
|
20
21
|
"start:cloud-viewer": "cross-env SINGLE_START=camunda-cloud-viewer npm run dev",
|
|
21
22
|
"start:platform-navigated-viewer": "cross-env SINGLE_START=camunda-platform-navigated-viewer npm run dev",
|
|
22
23
|
"start:cloud-navigated-viewer": "cross-env SINGLE_START=camunda-cloud-navigated-viewer npm run dev",
|
|
23
|
-
"prepublishOnly": "run-s test:distro",
|
|
24
|
-
"prepare": "run-s clean distro"
|
|
24
|
+
"prepublishOnly": "run-s generate-types test:distro",
|
|
25
|
+
"prepare": "run-s clean distro",
|
|
26
|
+
"generate-types": "run-s generate-types:*",
|
|
27
|
+
"generate-types:generate": "del-cli \"lib/**/*.d.ts\" && bio-dts -r --resolveJsonModule --esModuleInterop lib",
|
|
28
|
+
"generate-types:test": "tsc --noEmit"
|
|
25
29
|
},
|
|
26
30
|
"repository": {
|
|
27
31
|
"type": "git",
|
|
@@ -52,18 +56,19 @@
|
|
|
52
56
|
"@bpmn-io/element-templates-icons-renderer": "^0.3.0",
|
|
53
57
|
"@bpmn-io/variable-resolver": "^0.1.0",
|
|
54
58
|
"@camunda/example-data-properties-provider": "^1.0.1",
|
|
55
|
-
"bpmn-js": "^
|
|
59
|
+
"bpmn-js": "^13.0.4",
|
|
56
60
|
"bpmn-js-color-picker": "^0.5.0",
|
|
57
61
|
"bpmn-js-create-append-anything": "^0.1.0",
|
|
58
62
|
"bpmn-js-executable-fix": "^0.2.0",
|
|
59
63
|
"camunda-bpmn-js-behaviors": "^0.5.0",
|
|
60
64
|
"camunda-bpmn-moddle": "^7.0.1",
|
|
61
|
-
"diagram-js": "^
|
|
65
|
+
"diagram-js": "^12.0.2",
|
|
62
66
|
"diagram-js-grid": "^0.2.0",
|
|
63
67
|
"diagram-js-minimap": "^4.0.1",
|
|
64
68
|
"diagram-js-origin": "^1.4.0",
|
|
65
69
|
"inherits-browser": "^0.1.0",
|
|
66
70
|
"min-dash": "^4.0.0",
|
|
71
|
+
"typescript": "^5.0.4",
|
|
67
72
|
"zeebe-bpmn-moddle": "^0.18.0"
|
|
68
73
|
},
|
|
69
74
|
"devDependencies": {
|
|
@@ -75,6 +80,7 @@
|
|
|
75
80
|
"@rollup/plugin-terser": "^0.4.0",
|
|
76
81
|
"babel-loader": "^9.0.0",
|
|
77
82
|
"babel-plugin-istanbul": "^6.1.1",
|
|
83
|
+
"bio-dts": "^0.8.0",
|
|
78
84
|
"bpmn-js-connectors-extension": "^0.4.6",
|
|
79
85
|
"bpmn-js-properties-panel": "^1.20.3",
|
|
80
86
|
"chai": "^4.3.7",
|
|
@@ -117,7 +123,8 @@
|
|
|
117
123
|
"dist",
|
|
118
124
|
"lib",
|
|
119
125
|
"styles",
|
|
120
|
-
"util"
|
|
126
|
+
"util",
|
|
127
|
+
"!lib/**/*.spec.ts"
|
|
121
128
|
],
|
|
122
129
|
"remarkConfig": {
|
|
123
130
|
"plugins": [
|