CustomPalette.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. export default class CustomPalette {
  2. constructor(create, elementFactory, palette, translate) {
  3. this.create = create;
  4. this.elementFactory = elementFactory;
  5. this.translate = translate;
  6. palette.registerProvider(this);
  7. }
  8. getPaletteEntries(element) {
  9. const {
  10. create,
  11. elementFactory,
  12. translate
  13. } = this;
  14. function createServiceTask(event) {
  15. const shape = elementFactory.createShape({ type: 'bpmn:UserTask' });
  16. create.start(event, shape);
  17. }
  18. function createCallActivity(event) {
  19. const shape = elementFactory.createShape({ type: 'bpmn:CallActivity' });
  20. create.start(event, shape);
  21. }
  22. return {
  23. 'create.user-task': {
  24. group: 'activity',
  25. className: 'bpmn-icon-user-task',
  26. title: translate('Create UserTask'),
  27. action: {
  28. dragstart: createServiceTask,
  29. click: createServiceTask
  30. }
  31. },
  32. 'create.call-activity': {
  33. group: 'activity',
  34. className: 'bpmn-icon-call-activity',
  35. title: translate('Create CallActivity'),
  36. action: {
  37. dragstart: createCallActivity,
  38. click: createCallActivity
  39. }
  40. }
  41. }
  42. }
  43. }
  44. CustomPalette.$inject = [
  45. 'create',
  46. 'elementFactory',
  47. 'palette',
  48. 'translate'
  49. ];