12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- export default class CustomContextPad {
- constructor(config, contextPad, create, elementFactory, injector, translate) {
- this.create = create;
- this.elementFactory = elementFactory;
- this.translate = translate;
- //自动摆放位置
- if (config.autoPlace !== false) {
- this.autoPlace = injector.get('autoPlace', false);
- }
- //注册工具
- contextPad.registerProvider(this);
- }
- getContextPadEntries(element) {
- const {
- autoPlace,
- create,
- elementFactory,
- translate
- } = this;
- function appendUserTask(event, element) {
- if (autoPlace) {
- const shape = elementFactory.createShape({ type: 'bpmn:UserTask' });
- autoPlace.append(element, shape);
- } else {
- appendUserTaskStart(event, element);
- }
- }
- function appendUserTaskStart(event) {
- const shape = elementFactory.createShape({ type: 'bpmn:UserTask' });
- create.start(event, shape, element);
- }
- function appendCallActivityStart(event) {
- const shape = elementFactory.createShape({ type: 'bpmn:CallActivity' });
- create.start(event, shape, element);
- }
- function appendCallActivity(event, element) {
- if (autoPlace) {
- const shape = elementFactory.createShape({ type: 'bpmn:CallActivity' });
- autoPlace.append(element, shape);
- } else {
- appendCallActivityStart(event, element);
- }
- }
- return {
- 'append.user-task': {
- group: 'model',
- className: 'bpmn-icon-user-task',
- title: translate('Append ServiceTask'),
- action: {
- click: appendUserTask,
- dragstart: appendUserTaskStart
- }
- },
- 'append.call-activity':{
- group: 'model',
- className: 'bpmn-icon-call-activity',
- title: translate('Append CallActivity'),
- action: {
- click: appendCallActivity,
- dragstart: appendCallActivityStart
- }
- }
- };
- }
- }
- CustomContextPad.$inject = [
- 'config',
- 'contextPad',
- 'create',
- 'elementFactory',
- 'injector',
- 'translate'
- ];
|