shapeSize.ts 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import { isExpanded } from '../utils/DiUtil';
  2. import { getBusinessObject, getDi, is } from '../utils/modelUtil';
  3. import { typeConfig } from '../config';
  4. import { bpmnTask, bpmnStart, bpmnEnd, bpmnGateway, bpmnSubFlow } from '../config/variableName';
  5. const YmDefaultSize = (element: any, di: any) => {
  6. var bo = getBusinessObject(element);
  7. di = di || getDi(element);
  8. if (is(bo, 'bpmn:SubProcess')) {
  9. return isExpanded(bo, di) ? { width: 350, height: 200 } : { width: 100, height: 80 };
  10. }
  11. if (is(bo, bpmnTask)) {
  12. try {
  13. let { renderer } = typeConfig[bpmnTask];
  14. return { width: renderer.attr.width, height: renderer.attr.height };
  15. } catch (err: any) {
  16. return { width: 50, height: 50 };
  17. }
  18. }
  19. if (is(bo, bpmnGateway)) {
  20. try {
  21. let { renderer } = typeConfig[bpmnGateway];
  22. return { width: renderer.attr.width, height: renderer.attr.height };
  23. } catch (err: any) {
  24. return { width: 0, height: 0 };
  25. }
  26. }
  27. if (is(bo, bpmnStart)) {
  28. try {
  29. let { renderer } = typeConfig[bpmnStart];
  30. return { width: renderer.attr.width, height: renderer.attr.height };
  31. } catch (err: any) {
  32. return { width: 50, height: 50 };
  33. }
  34. }
  35. if (is(bo, bpmnEnd)) {
  36. try {
  37. let { renderer } = typeConfig[bpmnEnd];
  38. return { width: renderer.attr.width, height: renderer.attr.height };
  39. } catch (err: any) {
  40. return { width: 50, height: 50 };
  41. }
  42. }
  43. if (is(bo, bpmnSubFlow)) {
  44. try {
  45. let { renderer } = typeConfig[bpmnEnd];
  46. return { width: renderer.attr.width, height: renderer.attr.height };
  47. } catch (err: any) {
  48. return { width: 50, height: 50 };
  49. }
  50. }
  51. if (is(bo, 'bpmn:Participant')) {
  52. if (isExpanded(bo, di)) {
  53. return { width: 600, height: 250 };
  54. } else {
  55. return { width: 400, height: 60 };
  56. }
  57. }
  58. if (is(bo, 'bpmn:Lane')) {
  59. return { width: 400, height: 100 };
  60. }
  61. if (is(bo, 'bpmn:DataObjectReference')) {
  62. return { width: 36, height: 50 };
  63. }
  64. if (is(bo, 'bpmn:DataStoreReference')) {
  65. return { width: 50, height: 50 };
  66. }
  67. if (is(bo, 'bpmn:TextAnnotation')) {
  68. return { width: 100, height: 30 };
  69. }
  70. if (is(bo, 'bpmn:Group')) {
  71. return { width: 300, height: 300 };
  72. }
  73. return { width: 100, height: 80 };
  74. };
  75. export default YmDefaultSize;