0f2ba5286b55f7c696cbe5cacbe57a8747c5d753
[sdc/sdc-workflow-designer.git] /
1 import inherits from 'inherits';\r
2 \r
3 import ContextPadProvider from 'bpmn-js/lib/features/context-pad/ContextPadProvider';\r
4 \r
5 import { isAny } from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\r
6 \r
7 import { assign, bind } from 'min-dash';\r
8 \r
9 export default function CustomContextPadProvider(injector, connect, translate) {\r
10     injector.invoke(ContextPadProvider, this);\r
11 \r
12     var cached = bind(this.getContextPadEntries, this);\r
13 \r
14     this.getContextPadEntries = function(element) {\r
15         var actions = cached(element);\r
16 \r
17         var businessObject = element.businessObject;\r
18 \r
19         function startConnect(event, element, autoActivate) {\r
20             connect.start(event, element, autoActivate);\r
21         }\r
22 \r
23         if (isAny(businessObject, ['custom:triangle', 'custom:circle'])) {\r
24             assign(actions, {\r
25                 connect: {\r
26                     group: 'connect',\r
27                     className: 'bpmn-icon-connection-multi',\r
28                     title: translate('Connect using custom connection'),\r
29                     action: {\r
30                         click: startConnect,\r
31                         dragstart: startConnect\r
32                     }\r
33                 }\r
34             });\r
35         }\r
36 \r
37         return actions;\r
38     };\r
39 }\r
40 \r
41 inherits(CustomContextPadProvider, ContextPadProvider);\r
42 \r
43 CustomContextPadProvider.$inject = ['injector', 'connect', 'translate'];\r