Skip to content

Commit 334f0ec

Browse files
Ticket #104 : Can update connector
1 parent 49b0989 commit 334f0ec

6 files changed

Lines changed: 220 additions & 42 deletions

File tree

src/CaseManagement.CMMN.Host/Cmmns/claimCase.cmmn

Lines changed: 137 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,163 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<cmmn:definitions xmlns:dc="http://www.omg.org/spec/CMMN/20151109/DC" xmlns:cmmndi="http://www.omg.org/spec/CMMN/20151109/CMMNDI" xmlns:cmmn="http://www.omg.org/spec/CMMN/20151109/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cmg="https://github.com/simpleidserver/CaseManagement" id="Definitions_0m2br72" targetNamespace="http://bpmn.io/schema/cmmn" exporter="cmmn-js (https://demo.bpmn.io/cmmn)" exporterVersion="0.19.2">
2+
<cmmn:definitions xmlns:dc="http://www.omg.org/spec/CMMN/20151109/DC" xmlns:cmmndi="http://www.omg.org/spec/CMMN/20151109/CMMNDI" xmlns:cmmn="http://www.omg.org/spec/CMMN/20151109/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cmg="https://github.com/simpleidserver/CaseManagement" xmlns:di="http://www.omg.org/spec/CMMN/20151109/DI" id="Definitions_0m2br72" targetNamespace="http://bpmn.io/schema/cmmn" exporter="cmmn-js (https://demo.bpmn.io/cmmn)" exporterVersion="0.19.2">
33
<cmmn:case id="Case_0t7z7vp">
44
<cmmn:casePlanModel id="CasePlanModel_3394a428-486a-43f5-b491-7b31e417e0db" name="Claim case">
5-
<cmmn:planItem id="PlanItem_0zl4ucq" name="Receive claim" definitionRef="Stage_1elok9z" />
5+
<cmmn:planItem id="PlanItem_0zl4ucq" name="Receive claim" definitionRef="Stage_1elok9z">
6+
<cmmn:exitCriterion id="EntryCriterion_10sv3fr" sentryRef="Sentry_0ha3wvd" />
7+
</cmmn:planItem>
8+
<cmmn:planItem id="PlanItem_06ni5ek" definitionRef="UserEventListener_0v5hy7p" />
9+
<cmmn:planItem id="PlanItem_1rr8i0e" definitionRef="HumanTask_1g95uki">
10+
<cmmn:itemControl id="PlanItemControl_0h48cmw">
11+
<cmmn:repetitionRule id="RepetitionRule_1yoxx24" />
12+
<cmmn:manualActivationRule id="ManualActivationRule_0397xyu" />
13+
</cmmn:itemControl>
14+
</cmmn:planItem>
15+
<cmmn:sentry id="Sentry_0ha3wvd">
16+
<cmmn:planItemOnPart id="PlanItemOnPart_02kuu3j" sourceRef="PlanItem_0e5dwiz">
17+
<cmmn:standardEvent>occur</cmmn:standardEvent>
18+
</cmmn:planItemOnPart>
19+
</cmmn:sentry>
20+
<cmmn:sentry id="Sentry_1c1yauv">
21+
<cmmn:planItemOnPart id="PlanItemOnPart_1s246e2" sourceRef="PlanItem_06ni5ek">
22+
<cmmn:standardEvent>occur</cmmn:standardEvent>
23+
</cmmn:planItemOnPart>
24+
</cmmn:sentry>
625
<cmmn:stage id="Stage_1elok9z" name="Receive claim">
26+
<cmmn:planItem id="PlanItem_0e5dwiz" definitionRef="UserEventListener_0b5z4ka" />
27+
<cmmn:planItem id="PlanItem_126vzmb" definitionRef="HumanTask_1a25x7y">
28+
<cmmn:itemControl id="PlanItemControl_05qv33h">
29+
<cmmn:manualActivationRule id="ManualActivationRule_1wudpq3" />
30+
</cmmn:itemControl>
31+
<cmmn:entryCriterion id="EntryCriterion_0dhxom1" sentryRef="Sentry_0e1zurk" />
32+
</cmmn:planItem>
33+
<cmmn:planItem id="PlanItem_1luzv09" definitionRef="HumanTask_10h2w5m">
34+
<cmmn:itemControl id="PlanItemControl_08elreb">
35+
<cmmn:manualActivationRule id="ManualActivationRule_0hl6irg" />
36+
</cmmn:itemControl>
37+
<cmmn:entryCriterion id="EntryCriterion_1boeqq0" sentryRef="Sentry_0bz27li" />
38+
</cmmn:planItem>
39+
<cmmn:planItem id="PlanItem_04q2jwn" definitionRef="HumanTask_1ewr6eu">
40+
<cmmn:itemControl id="PlanItemControl_0xs9xli">
41+
<cmmn:manualActivationRule id="ManualActivationRule_077ohgl" />
42+
</cmmn:itemControl>
43+
</cmmn:planItem>
744
<cmmn:planItem id="PlanItem_1dphpiz" name="Capture claim details" definitionRef="HumanTask_1oeedji" />
45+
<cmmn:sentry id="Sentry_0e1zurk">
46+
<cmmn:planItemOnPart id="PlanItemOnPart_1preadf" sourceRef="PlanItem_04q2jwn">
47+
<cmmn:standardEvent>start</cmmn:standardEvent>
48+
</cmmn:planItemOnPart>
49+
</cmmn:sentry>
50+
<cmmn:sentry id="Sentry_0bz27li">
51+
<cmmn:planItemOnPart id="PlanItemOnPart_0ky2brq" sourceRef="PlanItem_126vzmb">
52+
<cmmn:standardEvent>start</cmmn:standardEvent>
53+
</cmmn:planItemOnPart>
54+
</cmmn:sentry>
855
<cmmn:humanTask id="HumanTask_1oeedji" cmg:formId="captureClaimDetails" cmg:implementation="##WsHumanTask">
956
<cmmn:extensionElements>
1057
<cmg:parameters />
1158
</cmmn:extensionElements>
1259
</cmmn:humanTask>
60+
<cmmn:humanTask id="HumanTask_1ewr6eu" name="Need 3rd party report" cmg:implementation="##WsHumanTask">
61+
<cmmn:extensionElements>
62+
<cmg:parameters />
63+
</cmmn:extensionElements>
64+
</cmmn:humanTask>
65+
<cmmn:humanTask id="HumanTask_10h2w5m" name="Need legal review" />
66+
<cmmn:humanTask id="HumanTask_1a25x7y" name="Add incident report from police" />
67+
<cmmn:userEventListener id="UserEventListener_0b5z4ka" name="Details completed" />
1368
</cmmn:stage>
69+
<cmmn:userEventListener id="UserEventListener_0v5hy7p" name="Abandon claim" />
70+
<cmmn:humanTask id="HumanTask_1g95uki" name="Update claimant contact details" />
71+
<cmmn:exitCriterion id="ExitCriterion_0kegzv8" sentryRef="Sentry_1c1yauv" />
1472
</cmmn:casePlanModel>
1573
</cmmn:case>
1674
<cmmndi:CMMNDI>
1775
<cmmndi:CMMNDiagram id="CMMNDiagram_1">
1876
<cmmndi:Size width="500" height="500" />
1977
<cmmndi:CMMNShape id="DI_CasePlanModel_3394a428-486a-43f5-b491-7b31e417e0db" cmmnElementRef="CasePlanModel_3394a428-486a-43f5-b491-7b31e417e0db">
20-
<dc:Bounds x="155" y="99" width="537" height="209" />
78+
<dc:Bounds x="143" y="72" width="723" height="316" />
2179
<cmmndi:CMMNLabel />
2280
</cmmndi:CMMNShape>
2381
<cmmndi:CMMNShape id="PlanItem_1qbrgp3_di" cmmnElementRef="PlanItem_1dphpiz">
24-
<dc:Bounds x="200" y="166" width="100" height="80" />
82+
<dc:Bounds x="188" y="139" width="100" height="80" />
2583
<cmmndi:CMMNLabel />
2684
</cmmndi:CMMNShape>
2785
<cmmndi:CMMNShape id="PlanItem_0zl4ucq_di" cmmnElementRef="PlanItem_0zl4ucq">
28-
<dc:Bounds x="175" y="136" width="317" height="144" />
86+
<dc:Bounds x="163" y="109" width="552" height="259" />
87+
<cmmndi:CMMNLabel />
88+
</cmmndi:CMMNShape>
89+
<cmmndi:CMMNShape id="PlanItem_0lyn418_di" cmmnElementRef="PlanItem_04q2jwn">
90+
<dc:Bounds x="188" y="237" width="100" height="80" />
91+
<cmmndi:CMMNLabel />
92+
</cmmndi:CMMNShape>
93+
<cmmndi:CMMNShape id="EntryCriterion_0dhxom1_di" cmmnElementRef="EntryCriterion_0dhxom1">
94+
<dc:Bounds x="366" y="264" width="20" height="28" />
95+
<cmmndi:CMMNLabel />
96+
</cmmndi:CMMNShape>
97+
<cmmndi:CMMNEdge id="PlanItemOnPart_1preadf_di" cmmnElementRef="PlanItemOnPart_1preadf" targetCMMNElementRef="EntryCriterion_0dhxom1" isStandardEventVisible="true">
98+
<di:waypoint x="288" y="277" />
99+
<di:waypoint x="327" y="277" />
100+
<di:waypoint x="327" y="278" />
101+
<di:waypoint x="366" y="278" />
102+
<cmmndi:CMMNLabel>
103+
<dc:Bounds x="320" y="256" width="28" height="13" />
104+
</cmmndi:CMMNLabel>
105+
</cmmndi:CMMNEdge>
106+
<cmmndi:CMMNShape id="EntryCriterion_1boeqq0_di" cmmnElementRef="EntryCriterion_1boeqq0">
107+
<dc:Bounds x="539" y="263" width="20" height="28" />
108+
<cmmndi:CMMNLabel />
109+
</cmmndi:CMMNShape>
110+
<cmmndi:CMMNEdge id="PlanItemOnPart_0ky2brq_di" cmmnElementRef="PlanItemOnPart_0ky2brq" targetCMMNElementRef="EntryCriterion_1boeqq0" isStandardEventVisible="true">
111+
<di:waypoint x="476" y="277" />
112+
<di:waypoint x="539" y="277" />
113+
<cmmndi:CMMNLabel>
114+
<dc:Bounds x="496" y="257" width="28" height="13" />
115+
</cmmndi:CMMNLabel>
116+
</cmmndi:CMMNEdge>
117+
<cmmndi:CMMNShape id="PlanItem_0ijgrsu_di" cmmnElementRef="PlanItem_1luzv09">
118+
<dc:Bounds x="549" y="237" width="100" height="80" />
119+
<cmmndi:CMMNLabel />
120+
</cmmndi:CMMNShape>
121+
<cmmndi:CMMNShape id="PlanItem_034e7kx_di" cmmnElementRef="PlanItem_126vzmb">
122+
<dc:Bounds x="376" y="237" width="100" height="80" />
123+
<cmmndi:CMMNLabel />
124+
</cmmndi:CMMNShape>
125+
<cmmndi:CMMNShape id="PlanItem_1t6gwi3_di" cmmnElementRef="PlanItem_0e5dwiz">
126+
<dc:Bounds x="581" y="138" width="36" height="36" />
127+
<cmmndi:CMMNLabel>
128+
<dc:Bounds x="555" y="174" width="88" height="13" />
129+
</cmmndi:CMMNLabel>
130+
</cmmndi:CMMNShape>
131+
<cmmndi:CMMNShape id="ExitCriterion_14e4rgr_di" cmmnElementRef="EntryCriterion_10sv3fr">
132+
<dc:Bounds x="705" y="142" width="20" height="28" />
133+
<cmmndi:CMMNLabel />
134+
</cmmndi:CMMNShape>
135+
<cmmndi:CMMNEdge id="PlanItemOnPart_02kuu3j_di" cmmnElementRef="PlanItemOnPart_02kuu3j" targetCMMNElementRef="EntryCriterion_10sv3fr" isStandardEventVisible="true">
136+
<di:waypoint x="617" y="156" />
137+
<di:waypoint x="705" y="156" />
138+
<cmmndi:CMMNLabel>
139+
<dc:Bounds x="644" y="146" width="34" height="13" />
140+
</cmmndi:CMMNLabel>
141+
</cmmndi:CMMNEdge>
142+
<cmmndi:CMMNShape id="PlanItem_196pr31_di" cmmnElementRef="PlanItem_06ni5ek">
143+
<dc:Bounds x="739" y="273" width="36" height="36" />
144+
<cmmndi:CMMNLabel>
145+
<dc:Bounds x="719" y="309" width="75" height="13" />
146+
</cmmndi:CMMNLabel>
147+
</cmmndi:CMMNShape>
148+
<cmmndi:CMMNShape id="ExitCriterion_0kegzv8_di" cmmnElementRef="ExitCriterion_0kegzv8">
149+
<dc:Bounds x="856" y="277" width="20" height="28" />
150+
<cmmndi:CMMNLabel />
151+
</cmmndi:CMMNShape>
152+
<cmmndi:CMMNEdge id="PlanItemOnPart_1s246e2_di" cmmnElementRef="PlanItemOnPart_1s246e2" targetCMMNElementRef="ExitCriterion_0kegzv8" isStandardEventVisible="true">
153+
<di:waypoint x="775" y="291" />
154+
<di:waypoint x="856" y="291" />
155+
<cmmndi:CMMNLabel>
156+
<dc:Bounds x="799" y="281" width="34" height="13" />
157+
</cmmndi:CMMNLabel>
158+
</cmmndi:CMMNEdge>
159+
<cmmndi:CMMNShape id="PlanItem_0iax7t3_di" cmmnElementRef="PlanItem_1rr8i0e">
160+
<dc:Bounds x="744" y="136" width="100" height="80" />
29161
<cmmndi:CMMNLabel />
30162
</cmmndi:CMMNShape>
31163
</cmmndi:CMMNDiagram>

src/CaseManagement.Website/angularApp/app/cmmns/viewfile/viewfile.component.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,19 @@
7272
<input matInput name="name" formControlName="name" />
7373
</mat-form-field>
7474
</mat-expansion-panel>
75+
<!-- Connector -->
76+
<mat-expansion-panel *ngIf="selectedElt && selectedElt.type === 'cmmndi:CMMNEdge'">
77+
<mat-expansion-panel-header>
78+
{{ 'CMMN.CONNECTORINFO' | translate }}
79+
</mat-expansion-panel-header>
80+
<mat-form-field class="full-width" appearance="outline" floatLabel="always">
81+
<mat-select formControlName="standardEvent">
82+
<mat-option [value]="standardEvt" *ngFor="let standardEvt of standardEvts">
83+
{{ standardEvt }}
84+
</mat-option>
85+
</mat-select>
86+
</mat-form-field>
87+
</mat-expansion-panel>
7588
<!-- User task information -->
7689
<mat-expansion-panel *ngIf="selectedElt && selectedElt.businessObject && selectedElt.businessObject.definitionRef && selectedElt.businessObject.definitionRef.$type === 'cmmn:HumanTask'">
7790
<mat-expansion-panel-header>

src/CaseManagement.Website/angularApp/app/cmmns/viewfile/viewfile.component.ts

Lines changed: 67 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ export class ViewCmmnFileComponent implements OnInit, OnDestroy {
3535
cmmnPlanInstanceLstListener: any;
3636
cmmnFileLstListener: any;
3737
cmmnFileListener: any;
38+
mappingTypesToEvents: { types: string[], evts: string[] }[] = [
39+
{ types: ['cmmn:HumanTask'], evts: ['create', 'start', 'enable', 'reenable', 'disable', 'manualStart', 'reactivate', 'fault', 'suspend', 'parentSuspend', 'parentResume', 'resume', 'complete', 'terminate', 'exit'] },
40+
{ types: ['cmmn:UserEventListener'], evts: ['create', 'resume', 'suspend', 'terminate', 'occur', 'parentTerminate'] }
41+
];
42+
standardEvts: string[] = [];
3843
displayedColumns: string[] = ['status', 'name', 'create_datetime', 'update_datetime'];
3944
@ViewChild(MatPaginator) paginator: MatPaginator;
4045
@ViewChild(MatSort) sort: MatSort;
@@ -55,7 +60,8 @@ export class ViewCmmnFileComponent implements OnInit, OnDestroy {
5560
id: new FormControl(''),
5661
name: new FormControl(''),
5762
implementation: new FormControl(''),
58-
formId: new FormControl('')
63+
formId: new FormControl(''),
64+
standardEvent: new FormControl('')
5965
});
6066
addParameterForm: FormGroup = new FormGroup({
6167
key: new FormControl(''),
@@ -285,9 +291,9 @@ export class ViewCmmnFileComponent implements OnInit, OnDestroy {
285291

286292
refresh() {
287293
this.id = this.route.snapshot.params['id'];
288-
let request = new fromCmmnFileActions.GetCmmnFile(this.id);
294+
const request = new fromCmmnFileActions.GetCmmnFile(this.id);
289295
this.store.dispatch(request);
290-
let searchPlans = new fromCmmnPlanActions.SearchCmmnPlans("create_datetime", "desc", 2000, 0, this.id, false);
296+
const searchPlans = new fromCmmnPlanActions.SearchCmmnPlans("create_datetime", "desc", 2000, 0, this.id, false);
291297
this.store.dispatch(searchPlans);
292298
this.refreshCmmnInstances();
293299
}
@@ -319,7 +325,7 @@ export class ViewCmmnFileComponent implements OnInit, OnDestroy {
319325
}
320326

321327
saveProperties(form: any) {
322-
if (!this.selectedElt || !this.selectedElt.businessObject || !this.selectedElt.businessObject.definitionRef) {
328+
if (!this.selectedElt || !this.selectedElt.businessObject) {
323329
return;
324330
}
325331

@@ -328,29 +334,39 @@ export class ViewCmmnFileComponent implements OnInit, OnDestroy {
328334
const obj: any = {
329335
id: form.id
330336
};
331-
const defRef = this.selectedElt.businessObject.definitionRef;
332-
if (defRef.$type === 'cmmn:HumanTask') {
333-
obj['cmg:implementation'] = form.implementation;
334-
obj['cmg:formId'] = form.formId;
335-
let extensionElements = defRef.extensionElements || moddle.create('cmmn:ExtensionElements');
336-
let parameters = this.getExtension(defRef, 'cmg:Parameters');
337-
if (!parameters) {
338-
parameters = moddle.create('cmg:Parameters');
339-
extensionElements.get('values').push(parameters);
337+
if (this.selectedElt.businessObject.definitionRef) {
338+
const defRef = this.selectedElt.businessObject.definitionRef;
339+
if (defRef.$type === 'cmmn:HumanTask') {
340+
obj['cmg:implementation'] = form.implementation;
341+
obj['cmg:formId'] = form.formId;
342+
const extensionElements = defRef.extensionElements || moddle.create('cmmn:ExtensionElements');
343+
let parameters = this.getExtension(defRef, 'cmg:Parameters');
344+
if (!parameters) {
345+
parameters = moddle.create('cmg:Parameters');
346+
extensionElements.get('values').push(parameters);
347+
}
348+
349+
parameters.parameter = [];
350+
this.parameters.forEach(function (p: any) {
351+
const parameter = moddle.create('cmg:Parameter');
352+
parameter.key = p.key;
353+
parameter.value = p.value;
354+
parameters.parameter.push(parameter);
355+
});
356+
357+
obj['cmmn:extensionElements'] = extensionElements;
340358
}
341359

342-
parameters.parameter = [];
343-
this.parameters.forEach(function (p: any) {
344-
let parameter = moddle.create('cmg:Parameter');
345-
parameter.key = p.key;
346-
parameter.value = p.value;
347-
parameters.parameter.push(parameter);
348-
});
360+
modeling.updateProperties(defRef, obj);
361+
}
349362

350-
obj['cmmn:extensionElements'] = extensionElements;
363+
if (this.selectedElt.type === 'cmmndi:CMMNEdge' && this.selectedElt.businessObject.cmmnElementRef) {
364+
const cmmnEltRef = this.selectedElt.businessObject.cmmnElementRef;
365+
const standardEvt = this.updatePropertiesForm.get('standardEvent').value;
366+
obj['standardEvent'] = standardEvt;
367+
modeling.updateProperties(cmmnEltRef, obj);
351368
}
352369

353-
modeling.updateProperties(defRef, obj);
354370
modeling.updateProperties(this.selectedElt, {
355371
name: form.name
356372
});
@@ -360,24 +376,39 @@ export class ViewCmmnFileComponent implements OnInit, OnDestroy {
360376
this.buildingForm = true;
361377
this.selectedElt = elt;
362378
this.isEltSelected = true;
363-
if (!elt || !elt.businessObject || !elt.businessObject.definitionRef) {
379+
if (!elt || !elt.businessObject) {
364380
return;
365381
}
366382

367383
const self = this;
368-
var defRef = elt.businessObject.definitionRef;
369-
this.updatePropertiesForm.get('id').setValue(defRef.id);
370-
this.updatePropertiesForm.get('name').setValue(elt.businessObject.name);
371-
if (defRef.$type === 'cmmn:HumanTask') {
372-
const parameters = this.getExtension(defRef, 'cmg:Parameters');
373-
this.updatePropertiesForm.get('implementation').setValue(defRef.get('cmg:implementation'));
374-
this.updatePropertiesForm.get('formId').setValue(defRef.get('cmg:formId'));
375-
this.selectHumanTask(defRef.get('cmg:formId'));
376-
self.parameters = [];
377-
if (parameters && parameters.parameter) {
378-
parameters.parameter.forEach(function (p: any) {
379-
self.parameters.push({ key: p.key, value: p.value });
380-
});
384+
if (elt.businessObject.definitionRef) {
385+
const defRef = elt.businessObject.definitionRef;
386+
this.updatePropertiesForm.get('id').setValue(defRef.id);
387+
this.updatePropertiesForm.get('name').setValue(elt.businessObject.name);
388+
if (defRef.$type === 'cmmn:HumanTask') {
389+
const parameters = this.getExtension(defRef, 'cmg:Parameters');
390+
this.updatePropertiesForm.get('implementation').setValue(defRef.get('cmg:implementation'));
391+
this.updatePropertiesForm.get('formId').setValue(defRef.get('cmg:formId'));
392+
this.selectHumanTask(defRef.get('cmg:formId'));
393+
self.parameters = [];
394+
if (parameters && parameters.parameter) {
395+
parameters.parameter.forEach(function (p: any) {
396+
self.parameters.push({ key: p.key, value: p.value });
397+
});
398+
}
399+
}
400+
}
401+
402+
if (elt.type === 'cmmndi:CMMNEdge' && elt.businessObject.cmmnElementRef) {
403+
const cmmnEltRef = elt.businessObject.cmmnElementRef;
404+
this.updatePropertiesForm.get('id').setValue(cmmnEltRef.id);
405+
this.updatePropertiesForm.get('name').setValue(cmmnEltRef.name);
406+
this.updatePropertiesForm.get('standardEvent').setValue(cmmnEltRef.standardEvent);
407+
const filtered = this.mappingTypesToEvents.filter(function (v: any) {
408+
return v.types.includes(cmmnEltRef.sourceRef.definitionRef.$type);
409+
});
410+
if (filtered.length === 1) {
411+
this.standardEvts = filtered[0].evts;
381412
}
382413
}
383414

src/CaseManagement.Website/angularApp/app/stores/cmmnfiles/effects/cmmn-files.effects.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export class CmmnFilesEffects {
8181
mergeMap(() => {
8282
return this.cmmnFilesService.updatePayload(evt.id, evt.xml)
8383
.pipe(
84-
map(() => { return { type: ActionTypes.COMPLETE_UPDATE_CMMNFILE, id: evt.id, name: evt.name, description: evt.description, payload: evt.xml }; }),
84+
map(() => { return { type: ActionTypes.COMPLETE_UPDATE_CMMNFILE, id: evt.id, name: evt.name, description: evt.description, xml: evt.xml }; }),
8585
catchError(() => of({ type: ActionTypes.ERROR_UPDATE_CMMNFILE }))
8686
)
8787
}),

src/CaseManagement.Website/angularApp/i18n/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
"CREATE_INSTANCE": "Create instance",
6565
"VIEW_XML": "View xml",
6666
"USERTASKINFO": "User task",
67+
"CONNECTORINFO": "Connector",
6768
"VIEW_MESSAGE": "View message",
6869
"MESSAGES": {
6970
"CMMNFILE_UPDATED": "File is updated",

0 commit comments

Comments
 (0)