'use strict'; var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var EspoBpmn = EspoBpmn || { Figures: {}, figureGroups: { eventStart: ['eventStart', 'eventStartConditional', 'eventStartTimer', 'eventStartMessage', 'eventStartSignal', 'eventStartError', 'eventStartEscalation', 'eventStartCompensation', 'eventStartMultiple', 'eventStartParallelMultiple'], eventIntermediate: ['eventIntermediateThrow', 'eventIntermediateTimerCatch', 'eventIntermediateConditionalCatch', 'eventIntermediateMessageCatch', 'eventIntermediateLinkCatch', 'eventIntermediateSignalCatch', 'eventIntermediateMultipleCatch', 'eventIntermediateParallelMultipleCatch', 'eventIntermediateMessageThrow', 'eventIntermediateSignalThrow', 'eventIntermediateLinkThrow', 'eventIntermediateEscalationThrow', 'eventIntermediateCompensationThrow', 'eventIntermediateMultipleThrow', 'eventIntermediateCancelBoundary', 'eventIntermediateCompensationBoundary', 'eventIntermediateCancelBoundary', 'eventIntermediateMultipleBoundary', 'eventIntermediateParallelMultipleBoundary', 'eventIntermediateMessageBoundary', 'eventIntermediateTimerBoundary', 'eventIntermediateEscalationBoundary', 'eventIntermediateConditionalBoundary', 'eventIntermediateSignalBoundary', 'eventIntermediateErrorBoundary'], eventEnd: ['eventEnd', 'eventEndMessage', 'eventEndSignal', 'eventEndError', 'eventEndEscalation', 'eventEndCancel', 'eventEndCompensation', 'eventEndTerminate', 'eventEndMultiple'], gateway: ['gatewayInclusive', 'gatewayParallel', 'gatewayExclusive', 'gatewayEventBased', 'gatewayComplex', 'gatewayEventBasedStart', 'gatewayParallelStart'], task: ['subProcess', 'eventSubProcess', 'callActivity', 'transaction', 'adHocSubProcess', 'task', 'taskUser', 'taskScript', 'taskService', 'taskBusinessRule', 'taskSendMessage', 'taskReceiveMessage'] } }; window.EspoBpmn = EspoBpmn; (function () { EspoBpmn.Event = window.Event; if (typeof window.CustomEvent === 'function') return false; function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: undefined }; var evt = document.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype = window.Event.prototype; EspoBpmn.Event = CustomEvent; })(); (function (EspoBpmn) { EspoBpmn.Icons = { eventMessageCatch: { icon: 'M1664 1504v-768q-32 36-69 66-268 206-426 338-51 43-83 67t-86.5 48.5-102.5 24.5h-2q-48 0-102.5-24.5t-86.5-48.5-83-67q-158-132-426-338-37-30-69-66v768q0 13 9.5 22.5t22.5 9.5h1472q13 0 22.5-9.5t9.5-22.5zm0-1051v-24.5l-.5-13-3-12.5-5.5-9-9-7.5-14-2.5h-1472q-13 0-22.5 9.5t-9.5 22.5q0 168 147 284 193 152 401 317 6 5 35 29.5t46 37.5 44.5 31.5 50.5 27.5 43 9h2q20 0 43-9t50.5-27.5 44.5-31.5 46-37.5 35-29.5q208-165 401-317 54-43 100.5-115.5t46.5-131.5zm128-37v1088q0 66-47 113t-113 47h-1472q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1472q66 0 113 47t47 113z', height: 24, width: 24, viewBox: '0 70 1792 1742' }, eventMessageThrow: { icon: 'M1792 710v794q0 66-47 113t-113 47h-1472q-66 0-113-47t-47-113v-794q44 49 101 87 362 246 497 345 57 42 92.5 65.5t94.5 48 110 24.5h2q51 0 110-24.5t94.5-48 92.5-65.5q170-123 498-345 57-39 100-87zm0-294q0 79-49 151t-122 123q-376 261-468 325-10 7-42.5 30.5t-54 38-52 32.5-57.5 27-50 9h-2q-23 0-50-9t-57.5-27-52-32.5-54-38-42.5-30.5q-91-64-262-182.5t-205-142.5q-62-42-117-115.5t-55-136.5q0-78 41.5-130t118.5-52h1472q65 0 112.5 47t47.5 113z', height: 24, width: 24, viewBox: '0 70 1792 1742' }, eventCancelCatch: { icon: 'M304.456 39.401 C 302.563 40.085,281.178 60.754,247.893 94.072 L 194.374 147.645 144.009 97.261 C 91.243 44.477,89.318 42.817,83.543 45.167 C 79.604 46.770,35.418 90.771,33.999 94.504 C 31.578 100.871,31.552 100.841,85.224 154.644 L 136.243 205.788 88.280 253.720 C 39.676 302.293,37.559 304.730,39.096 310.338 C 40.470 315.350,85.652 359.525,90.294 360.395 C 96.490 361.558,96.367 361.665,146.237 311.763 L 194.231 263.738 244.865 314.265 C 298.509 367.794,298.238 367.553,303.760 366.517 C 307.905 365.740,353.032 321.676,355.009 316.476 C 357.434 310.097,362.871 316.370,302.434 255.809 L 252.368 205.639 306.184 151.797 L 360.000 97.955 360.000 92.387 L 360.000 86.818 336.614 63.372 C 312.291 38.986,310.109 37.360,304.456 39.401 M285.311 147.021 C 233.430 199.103,231.000 201.706,231.000 205.195 C 231.000 210.002,228.206 206.972,284.930 263.687 L 333.991 312.740 317.821 328.933 L 301.651 345.125 250.553 294.063 L 199.455 243.000 194.501 243.000 L 189.548 243.000 141.024 291.311 L 92.500 339.621 76.439 323.561 L 60.379 307.500 108.689 258.976 L 157.000 210.452 157.000 205.499 L 157.000 200.545 105.973 149.483 L 54.946 98.421 71.017 82.138 L 87.087 65.855 138.069 116.816 C 169.622 148.355,189.956 167.950,191.424 168.230 C 198.052 169.497,197.716 169.791,253.427 114.073 L 307.166 60.327 323.393 76.414 L 339.621 92.500 285.311 147.021 ', height: 28, width: 28, viewBox: '0 0 400 400' }, eventCancelThrow: { icon: 'M304.456 39.401 C 302.563 40.085,281.178 60.754,247.893 94.072 L 194.374 147.645 144.009 97.261 C 91.243 44.477,89.318 42.817,83.543 45.167 C 79.604 46.770,35.418 90.771,33.999 94.504 C 31.578 100.871,31.552 100.841,85.224 154.644 L 136.243 205.788 88.280 253.720 C 39.676 302.293,37.559 304.730,39.096 310.338 C 40.470 315.350,85.652 359.525,90.294 360.395 C 96.490 361.558,96.367 361.665,146.237 311.763 L 194.231 263.738 244.865 314.265 C 298.509 367.794,298.238 367.553,303.760 366.517 C 307.905 365.740,353.032 321.676,355.009 316.476 C 357.434 310.097,362.871 316.370,302.434 255.809 L 252.368 205.639 306.184 151.797 L 360.000 97.955 360.000 92.387 L 360.000 86.818 336.614 63.372 C 312.291 38.986,310.109 37.360,304.456 39.401 ', height: 28, width: 28, viewBox: '0 0 400 400' }, eventCompensationCatch: { icon: 'M190.550 32.563 C 187.441 36.703,185.313 39.000,184.587 39.000 C 183.632 39.000,179.000 43.740,179.000 44.717 C 179.000 45.162,177.794 46.420,176.320 47.513 C 172.916 50.037,170.037 52.916,167.513 56.320 C 166.420 57.794,165.162 59.000,164.717 59.000 C 163.666 59.000,159.000 63.666,159.000 64.717 C 159.000 65.162,157.794 66.420,156.320 67.513 C 152.916 70.037,150.037 72.916,147.513 76.320 C 146.420 77.794,145.162 79.000,144.717 79.000 C 143.666 79.000,139.000 83.666,139.000 84.717 C 139.000 85.162,137.794 86.420,136.320 87.513 C 132.916 90.037,130.037 92.916,127.513 96.320 C 126.420 97.794,125.162 99.000,124.717 99.000 C 123.666 99.000,119.000 103.666,119.000 104.717 C 119.000 105.162,117.794 106.420,116.320 107.513 C 112.916 110.037,110.037 112.916,107.513 116.320 C 106.420 117.794,105.162 119.000,104.717 119.000 C 104.273 119.000,102.805 120.105,101.455 121.455 C 100.105 122.805,99.000 124.273,99.000 124.717 C 99.000 125.162,97.794 126.420,96.320 127.513 C 92.916 130.037,90.037 132.916,87.513 136.320 C 86.420 137.794,85.162 139.000,84.717 139.000 C 83.666 139.000,79.000 143.666,79.000 144.717 C 79.000 145.162,77.794 146.420,76.320 147.513 C 72.916 150.037,70.037 152.916,67.513 156.320 C 66.420 157.794,65.162 159.000,64.717 159.000 C 63.666 159.000,59.000 163.666,59.000 164.717 C 59.000 165.162,57.794 166.420,56.320 167.513 C 52.916 170.037,50.037 172.916,47.513 176.320 C 46.420 177.794,45.162 179.000,44.717 179.000 C 43.666 179.000,39.000 183.666,39.000 184.717 C 39.000 185.162,37.846 186.392,36.437 187.450 C 30.012 192.275,30.000 192.298,30.000 200.130 C 30.000 206.900,30.217 207.688,32.563 209.450 C 36.703 212.559,39.000 214.687,39.000 215.413 C 39.000 216.368,43.740 221.000,44.717 221.000 C 45.162 221.000,46.420 222.206,47.513 223.680 C 50.037 227.084,52.916 229.963,56.320 232.487 C 57.794 233.580,59.000 234.838,59.000 235.283 C 59.000 236.334,63.666 241.000,64.717 241.000 C 65.162 241.000,66.420 242.206,67.513 243.680 C 70.037 247.084,72.916 249.963,76.320 252.487 C 77.794 253.580,79.000 254.838,79.000 255.283 C 79.000 256.334,83.666 261.000,84.717 261.000 C 85.162 261.000,86.420 262.206,87.513 263.680 C 90.037 267.084,92.916 269.963,96.320 272.487 C 97.794 273.580,99.000 274.838,99.000 275.283 C 99.000 276.334,103.666 281.000,104.717 281.000 C 105.162 281.000,106.420 282.206,107.513 283.680 C 110.037 287.084,112.916 289.963,116.320 292.487 C 117.794 293.580,119.000 294.838,119.000 295.283 C 119.000 296.334,123.666 301.000,124.717 301.000 C 125.162 301.000,126.420 302.206,127.513 303.680 C 130.037 307.084,132.916 309.963,136.320 312.487 C 137.794 313.580,139.000 314.838,139.000 315.283 C 139.000 316.334,143.666 321.000,144.717 321.000 C 145.162 321.000,146.420 322.206,147.513 323.680 C 150.037 327.084,152.916 329.963,156.320 332.487 C 157.794 333.580,159.000 334.838,159.000 335.283 C 159.000 336.334,163.666 341.000,164.717 341.000 C 165.162 341.000,166.420 342.206,167.513 343.680 C 170.037 347.084,172.916 349.963,176.320 352.487 C 177.794 353.580,179.000 354.838,179.000 355.283 C 179.000 356.260,183.632 361.000,184.587 361.000 C 185.313 361.000,187.441 363.297,190.550 367.437 C 194.558 372.774,212.000 370.016,212.000 364.045 C 212.000 363.470,212.450 363.000,213.000 363.000 C 213.550 363.000,214.000 361.650,214.000 360.000 C 214.000 358.000,214.500 357.000,215.500 357.000 C 216.814 357.000,217.000 350.437,217.000 303.929 C 217.000 245.255,216.683 248.000,223.457 248.000 C 226.885 248.000,229.980 250.923,288.049 309.000 L 349.040 370.000 355.638 370.000 C 363.233 370.000,370.000 365.109,370.000 359.618 C 370.000 358.178,370.450 357.000,371.000 357.000 C 371.662 357.000,372.000 304.500,372.000 201.500 C 372.000 98.500,371.662 46.000,371.000 46.000 C 370.450 46.000,370.000 44.650,370.000 42.999 C 370.000 37.026,363.091 32.000,354.879 32.000 C 350.960 32.000,348.000 32.430,348.000 33.000 C 348.000 33.550,347.336 34.000,346.524 34.000 C 345.711 34.000,318.499 60.550,286.051 93.000 C 229.914 149.140,226.880 152.000,223.456 152.000 C 216.683 152.000,217.000 154.744,217.000 96.071 C 217.000 49.563,216.814 43.000,215.500 43.000 C 214.556 43.000,214.000 42.048,214.000 40.429 C 214.000 39.014,213.438 37.289,212.750 36.594 C 212.063 35.899,210.606 34.131,209.513 32.665 C 206.547 28.687,193.513 28.618,190.550 32.563 M181.571 93.429 C 183.719 95.577,183.719 304.423,181.571 306.571 C 178.746 309.397,170.000 307.687,170.000 304.309 C 170.000 303.850,168.794 302.580,167.320 301.487 C 163.916 298.963,161.037 296.084,158.513 292.680 C 157.420 291.206,156.162 290.000,155.717 290.000 C 154.666 290.000,150.000 285.334,150.000 284.283 C 150.000 283.838,148.794 282.580,147.320 281.487 C 143.916 278.963,141.037 276.084,138.513 272.680 C 137.420 271.206,136.162 270.000,135.717 270.000 C 134.666 270.000,130.000 265.334,130.000 264.283 C 130.000 263.838,128.794 262.580,127.320 261.487 C 123.916 258.963,121.037 256.084,118.513 252.680 C 117.420 251.206,116.162 250.000,115.717 250.000 C 114.666 250.000,110.000 245.334,110.000 244.283 C 110.000 243.838,108.794 242.580,107.320 241.487 C 103.916 238.963,101.037 236.084,98.513 232.680 C 97.420 231.206,96.162 230.000,95.717 230.000 C 94.666 230.000,90.000 225.334,90.000 224.283 C 90.000 223.838,88.794 222.580,87.320 221.487 C 83.916 218.963,81.037 216.084,78.513 212.680 C 77.420 211.206,76.162 210.000,75.717 210.000 C 75.273 210.000,73.805 208.895,72.455 207.545 C 67.888 202.979,70.302 190.000,75.717 190.000 C 76.162 190.000,77.420 188.794,78.513 187.320 C 81.037 183.916,83.916 181.037,87.320 178.513 C 88.794 177.420,90.000 176.162,90.000 175.717 C 90.000 174.666,94.666 170.000,95.717 170.000 C 96.162 170.000,97.420 168.794,98.513 167.320 C 101.037 163.916,103.916 161.037,107.320 158.513 C 108.794 157.420,110.000 156.162,110.000 155.717 C 110.000 154.666,114.666 150.000,115.717 150.000 C 116.162 150.000,117.420 148.794,118.513 147.320 C 121.037 143.916,123.916 141.037,127.320 138.513 C 128.794 137.420,130.000 136.162,130.000 135.717 C 130.000 135.273,131.105 133.805,132.455 132.455 C 133.805 131.105,135.273 130.000,135.717 130.000 C 136.162 130.000,137.420 128.794,138.513 127.320 C 141.037 123.916,143.916 121.037,147.320 118.513 C 148.794 117.420,150.000 116.162,150.000 115.717 C 150.000 114.666,154.666 110.000,155.717 110.000 C 156.162 110.000,157.420 108.794,158.513 107.320 C 161.037 103.916,163.916 101.037,167.320 98.513 C 168.794 97.420,170.000 96.163,170.000 95.720 C 170.000 92.317,178.731 90.588,181.571 93.429 M337.571 93.429 C 339.719 95.577,339.719 304.423,337.571 306.571 C 332.494 311.649,333.045 312.107,277.469 256.522 L 226.000 205.045 226.000 200.040 L 226.000 195.035 277.250 143.609 C 332.711 87.959,332.378 88.236,337.571 93.429 ', height: 28, width: 28, viewBox: '20 0 430 400' }, eventCompensationThrow: { icon: 'M190.550 32.563 C 187.441 36.703,185.313 39.000,184.587 39.000 C 183.632 39.000,179.000 43.740,179.000 44.717 C 179.000 45.162,177.794 46.420,176.320 47.513 C 172.916 50.037,170.037 52.916,167.513 56.320 C 166.420 57.794,165.162 59.000,164.717 59.000 C 163.666 59.000,159.000 63.666,159.000 64.717 C 159.000 65.162,157.794 66.420,156.320 67.513 C 152.916 70.037,150.037 72.916,147.513 76.320 C 146.420 77.794,145.162 79.000,144.717 79.000 C 143.666 79.000,139.000 83.666,139.000 84.717 C 139.000 85.162,137.794 86.420,136.320 87.513 C 132.916 90.037,130.037 92.916,127.513 96.320 C 126.420 97.794,125.162 99.000,124.717 99.000 C 123.666 99.000,119.000 103.666,119.000 104.717 C 119.000 105.162,117.794 106.420,116.320 107.513 C 112.916 110.037,110.037 112.916,107.513 116.320 C 106.420 117.794,105.162 119.000,104.717 119.000 C 104.273 119.000,102.805 120.105,101.455 121.455 C 100.105 122.805,99.000 124.273,99.000 124.717 C 99.000 125.162,97.794 126.420,96.320 127.513 C 92.916 130.037,90.037 132.916,87.513 136.320 C 86.420 137.794,85.162 139.000,84.717 139.000 C 83.666 139.000,79.000 143.666,79.000 144.717 C 79.000 145.162,77.794 146.420,76.320 147.513 C 72.916 150.037,70.037 152.916,67.513 156.320 C 66.420 157.794,65.162 159.000,64.717 159.000 C 63.666 159.000,59.000 163.666,59.000 164.717 C 59.000 165.162,57.794 166.420,56.320 167.513 C 52.916 170.037,50.037 172.916,47.513 176.320 C 46.420 177.794,45.162 179.000,44.717 179.000 C 43.666 179.000,39.000 183.666,39.000 184.717 C 39.000 185.162,37.846 186.392,36.437 187.450 C 30.012 192.275,30.000 192.298,30.000 200.130 C 30.000 206.900,30.217 207.688,32.563 209.450 C 36.703 212.559,39.000 214.687,39.000 215.413 C 39.000 216.368,43.740 221.000,44.717 221.000 C 45.162 221.000,46.420 222.206,47.513 223.680 C 50.037 227.084,52.916 229.963,56.320 232.487 C 57.794 233.580,59.000 234.838,59.000 235.283 C 59.000 236.334,63.666 241.000,64.717 241.000 C 65.162 241.000,66.420 242.206,67.513 243.680 C 70.037 247.084,72.916 249.963,76.320 252.487 C 77.794 253.580,79.000 254.838,79.000 255.283 C 79.000 256.334,83.666 261.000,84.717 261.000 C 85.162 261.000,86.420 262.206,87.513 263.680 C 90.037 267.084,92.916 269.963,96.320 272.487 C 97.794 273.580,99.000 274.838,99.000 275.283 C 99.000 276.334,103.666 281.000,104.717 281.000 C 105.162 281.000,106.420 282.206,107.513 283.680 C 110.037 287.084,112.916 289.963,116.320 292.487 C 117.794 293.580,119.000 294.838,119.000 295.283 C 119.000 296.334,123.666 301.000,124.717 301.000 C 125.162 301.000,126.420 302.206,127.513 303.680 C 130.037 307.084,132.916 309.963,136.320 312.487 C 137.794 313.580,139.000 314.838,139.000 315.283 C 139.000 316.334,143.666 321.000,144.717 321.000 C 145.162 321.000,146.420 322.206,147.513 323.680 C 150.037 327.084,152.916 329.963,156.320 332.487 C 157.794 333.580,159.000 334.838,159.000 335.283 C 159.000 336.334,163.666 341.000,164.717 341.000 C 165.162 341.000,166.420 342.206,167.513 343.680 C 170.037 347.084,172.916 349.963,176.320 352.487 C 177.794 353.580,179.000 354.838,179.000 355.283 C 179.000 356.260,183.632 361.000,184.587 361.000 C 185.313 361.000,187.441 363.297,190.550 367.437 C 194.558 372.774,212.000 370.016,212.000 364.045 C 212.000 363.470,212.450 363.000,213.000 363.000 C 213.550 363.000,214.000 361.650,214.000 360.000 C 214.000 358.000,214.500 357.000,215.500 357.000 C 216.814 357.000,217.000 350.437,217.000 303.929 C 217.000 245.255,216.683 248.000,223.457 248.000 C 226.885 248.000,229.980 250.923,288.049 309.000 L 349.040 370.000 355.638 370.000 C 363.233 370.000,370.000 365.109,370.000 359.618 C 370.000 358.178,370.450 357.000,371.000 357.000 C 371.662 357.000,372.000 304.500,372.000 201.500 C 372.000 98.500,371.662 46.000,371.000 46.000 C 370.450 46.000,370.000 44.650,370.000 42.999 C 370.000 37.026,363.091 32.000,354.879 32.000 C 350.960 32.000,348.000 32.430,348.000 33.000 C 348.000 33.550,347.336 34.000,346.524 34.000 C 345.711 34.000,318.499 60.550,286.051 93.000 C 229.914 149.140,226.880 152.000,223.456 152.000 C 216.683 152.000,217.000 154.744,217.000 96.071 C 217.000 49.563,216.814 43.000,215.500 43.000 C 214.556 43.000,214.000 42.048,214.000 40.429 C 214.000 39.014,213.438 37.289,212.750 36.594 C 212.063 35.899,210.606 34.131,209.513 32.665 C 206.547 28.687,193.513 28.618,190.550 32.563 ', height: 28, width: 28, viewBox: '20 0 430 400' }, eventConditionalCatch: { icon: 'M26.200 18.058 C 19.714 21.299,16.287 24.682,12.702 31.384 L 10.500 35.500 10.500 229.500 L 10.500 423.500 12.702 427.616 C 16.287 434.318,19.714 437.701,26.200 440.942 L 32.319 444.000 199.500 444.000 L 366.681 444.000 372.800 440.942 C 379.286 437.701,382.713 434.318,386.298 427.616 L 388.500 423.500 388.500 229.500 L 388.500 35.500 386.298 31.384 C 382.713 24.682,379.286 21.299,372.800 18.058 L 366.681 15.000 199.500 15.000 L 32.319 15.000 26.200 18.058 M343.631 52.214 C 347.508 54.337,351.755 59.279,352.750 62.827 C 353.730 66.320,353.730 392.680,352.750 396.173 C 351.755 399.721,347.508 404.663,343.631 406.786 C 340.294 408.613,64.222 409.544,57.827 407.750 C 54.279 406.755,49.337 402.508,47.214 398.631 C 45.461 395.429,43.852 81.376,45.516 67.300 C 46.478 59.171,51.853 52.728,59.123 50.993 C 66.748 49.174,340.221 50.347,343.631 52.214 M72.750 94.080 C 69.985 95.690,70.145 116.472,72.934 117.965 C 75.906 119.555,319.207 119.393,320.800 117.800 C 321.582 117.018,322.000 112.911,322.000 106.000 C 322.000 99.089,321.582 94.982,320.800 94.200 C 319.221 92.621,75.457 92.503,72.750 94.080 M72.750 157.080 C 71.258 157.949,71.000 159.659,71.000 168.689 C 71.000 177.602,71.277 179.490,72.750 180.608 C 75.198 182.466,318.945 182.655,320.800 180.800 C 321.582 180.018,322.000 175.911,322.000 169.000 C 322.000 162.089,321.582 157.982,320.800 157.200 C 319.221 155.621,75.457 155.503,72.750 157.080 M72.750 220.080 C 69.991 221.687,70.150 241.475,72.934 242.965 C 75.906 244.555,319.207 244.393,320.800 242.800 C 322.440 241.160,322.440 221.840,320.800 220.200 C 319.221 218.621,75.457 218.503,72.750 220.080 M72.750 281.893 C 70.020 284.661,70.171 303.486,72.934 304.965 C 75.906 306.555,319.207 306.393,320.800 304.800 C 322.522 303.078,322.363 284.062,320.608 281.750 C 318.531 279.014,75.451 279.154,72.750 281.893 M72.750 344.392 C 69.999 346.480,70.155 366.478,72.934 367.965 C 75.906 369.555,319.207 369.393,320.800 367.800 C 321.582 367.018,322.000 362.911,322.000 356.000 C 322.000 349.089,321.582 344.982,320.800 344.200 C 318.945 342.345,75.198 342.534,72.750 344.392 ', height: 25, width: 25, viewBox: '8 0 380 460' }, eventLinkCatch: { icon: 'M15 5.829l6.171 6.171-6.171 6.171v-3.171h-13v-6h13v-3.171zm-2-4.829v6h-13v10h13v6l11-11-11-11z', height: 24, width: 25, viewBox: '0 0 23 24' }, eventLinkThrow: { icon: 'M13 7v-6l11 11-11 11v-6h-13v-10z', height: 24, width: 25, viewBox: '0 0 23 24' }, eventMultipleCatch: { icon: 'M195.021 46.739 C 192.880 47.579,184.480 53.580,177.700 59.111 C 175.940 60.548,173.150 62.469,171.500 63.381 C 169.850 64.293,166.475 66.602,164.000 68.511 C 161.525 70.420,158.375 72.767,157.000 73.727 C 154.657 75.363,144.319 83.016,138.396 87.500 C 136.943 88.600,134.766 90.175,133.558 91.000 C 121.584 99.177,114.556 104.301,112.515 106.342 C 111.603 107.254,110.526 108.000,110.122 108.000 C 109.718 108.000,105.947 110.588,101.742 113.750 C 97.538 116.912,91.828 121.075,89.054 123.000 C 81.504 128.240,74.808 133.284,72.793 135.250 C 71.807 136.213,70.637 137.000,70.194 137.000 C 69.750 137.000,65.929 139.588,61.703 142.750 C 57.476 145.912,52.882 149.314,51.494 150.308 C 45.105 154.884,43.871 163.669,48.268 173.273 C 49.605 176.195,51.034 180.366,51.442 182.541 C 51.850 184.717,53.210 188.973,54.464 191.999 C 55.719 195.024,57.066 199.284,57.458 201.465 C 57.851 203.646,58.879 206.796,59.743 208.465 C 60.608 210.134,62.112 214.425,63.087 218.000 C 65.199 225.748,68.396 235.539,71.155 242.712 C 72.257 245.578,73.796 250.653,74.574 253.989 C 75.353 257.325,76.626 261.055,77.403 262.277 C 78.181 263.500,79.349 267.200,80.000 270.500 C 80.651 273.800,81.819 277.500,82.597 278.723 C 83.374 279.945,84.656 283.545,85.445 286.723 C 86.942 292.748,90.537 303.903,94.558 315.000 C 95.854 318.575,97.213 323.075,97.578 325.000 C 98.645 330.620,102.937 337.076,106.633 338.620 C 111.803 340.780,287.186 340.656,292.373 338.489 C 296.562 336.738,300.977 328.354,303.014 318.283 C 303.657 315.102,304.821 311.497,305.601 310.270 C 306.381 309.044,307.717 305.032,308.570 301.354 C 309.423 297.676,310.718 293.504,311.447 292.083 C 312.176 290.663,313.510 286.608,314.411 283.073 C 315.312 279.538,316.547 276.046,317.155 275.313 C 317.763 274.580,319.072 270.722,320.063 266.740 C 321.853 259.551,324.122 252.475,328.639 240.000 C 329.933 236.425,331.452 231.334,332.014 228.687 C 332.577 226.039,333.704 222.854,334.521 221.609 C 335.337 220.364,336.488 216.680,337.079 213.422 C 337.670 210.165,338.803 206.490,339.596 205.256 C 340.389 204.022,341.735 200.197,342.587 196.756 C 343.438 193.315,344.965 188.250,345.979 185.500 C 355.252 160.349,355.087 155.877,344.613 148.500 C 343.052 147.400,339.687 145.032,337.137 143.238 C 328.197 136.950,325.463 134.961,321.000 131.500 C 318.525 129.580,314.925 126.898,313.000 125.539 C 311.075 124.180,307.700 121.725,305.500 120.083 C 303.300 118.441,297.900 114.585,293.500 111.514 C 289.100 108.444,283.700 104.582,281.500 102.932 C 279.300 101.282,275.925 98.820,274.000 97.461 C 272.075 96.102,268.475 93.420,266.000 91.500 C 259.927 86.790,254.484 82.937,250.260 80.359 C 248.331 79.181,246.471 77.829,246.126 77.353 C 245.389 76.336,239.201 71.633,233.516 67.771 C 231.307 66.270,227.925 63.906,226.000 62.517 C 202.767 45.758,200.482 44.595,195.021 46.739 M207.602 74.382 C 210.296 76.366,214.075 79.101,216.000 80.460 C 217.925 81.819,221.300 84.286,223.500 85.941 C 225.700 87.597,229.075 90.089,231.000 91.481 C 232.925 92.872,236.525 95.575,239.000 97.487 C 241.475 99.400,245.188 101.882,247.250 103.003 C 249.313 104.124,251.021 105.369,251.047 105.770 C 251.073 106.172,253.366 108.075,256.144 110.000 C 266.050 116.865,284.096 129.921,290.007 134.500 C 292.137 136.150,295.370 138.539,297.190 139.809 C 308.317 147.570,314.755 152.296,319.359 156.084 C 321.087 157.505,323.977 159.523,325.782 160.569 C 330.001 163.011,331.267 167.206,329.233 172.000 C 328.417 173.925,326.717 178.875,325.456 183.000 C 323.293 190.075,322.228 193.361,318.406 204.750 C 317.530 207.363,316.168 211.525,315.380 214.000 C 314.593 216.475,313.236 220.525,312.367 223.000 C 311.497 225.475,309.962 230.504,308.957 234.176 C 307.951 237.848,306.424 242.213,305.564 243.876 C 304.704 245.539,303.495 249.285,302.877 252.200 C 302.259 255.115,300.964 259.075,300.000 261.000 C 299.036 262.925,297.741 266.885,297.123 269.800 C 296.505 272.715,295.322 276.410,294.495 278.010 C 293.667 279.611,292.290 283.939,291.434 287.628 C 290.579 291.317,289.235 295.254,288.448 296.377 C 287.662 297.500,286.521 300.948,285.912 304.039 C 285.304 307.130,283.611 311.874,282.150 314.580 L 279.492 319.500 200.996 319.762 C 108.641 320.069,116.712 321.201,113.822 307.537 C 113.236 304.767,112.073 301.163,111.238 299.528 C 110.403 297.893,109.087 293.846,108.314 290.533 C 107.541 287.220,106.237 283.485,105.416 282.232 C 104.595 280.979,103.450 277.391,102.871 274.259 C 102.292 271.126,100.996 266.953,99.992 264.985 C 98.988 263.017,97.847 259.628,97.456 257.453 C 97.065 255.279,95.719 251.024,94.464 247.999 C 93.210 244.973,91.857 240.698,91.457 238.499 C 91.057 236.299,89.877 232.805,88.836 230.733 C 87.794 228.661,86.497 224.621,85.954 221.756 C 85.410 218.891,84.132 214.947,83.113 212.991 C 82.093 211.036,80.740 207.016,80.106 204.059 C 79.472 201.102,78.080 196.709,77.014 194.298 C 75.947 191.887,74.775 188.246,74.410 186.207 C 74.044 184.168,72.677 179.926,71.373 176.780 C 67.292 166.943,67.900 164.016,75.093 158.864 C 78.443 156.464,82.917 153.150,85.033 151.500 C 87.149 149.850,90.370 147.482,92.190 146.237 C 96.985 142.960,106.175 136.390,108.500 134.577 C 109.600 133.720,112.525 131.561,115.000 129.780 C 117.475 128.000,120.850 125.534,122.500 124.300 C 124.150 123.067,127.075 120.935,129.000 119.563 C 130.925 118.191,134.300 115.714,136.500 114.059 C 138.700 112.403,142.075 109.928,144.000 108.559 C 145.925 107.189,149.300 104.731,151.500 103.097 C 153.700 101.463,159.213 97.568,163.750 94.441 C 168.287 91.315,172.000 88.392,172.000 87.946 C 172.000 87.500,172.821 86.874,173.824 86.556 C 174.827 86.238,176.546 85.140,177.645 84.116 C 178.743 83.093,181.410 81.072,183.571 79.626 C 185.732 78.179,189.082 75.933,191.015 74.634 C 192.948 73.335,195.109 71.574,195.817 70.721 C 197.567 68.612,201.371 69.794,207.602 74.382 ', height: 32, width: 32, viewBox: '0 15 400 383' }, eventMultipleThrow: { icon: 'M195.021 46.739 C 192.880 47.579,184.480 53.580,177.700 59.111 C 175.940 60.548,173.150 62.469,171.500 63.381 C 169.850 64.293,166.475 66.602,164.000 68.511 C 161.525 70.420,158.375 72.767,157.000 73.727 C 154.657 75.363,144.319 83.016,138.396 87.500 C 136.943 88.600,134.766 90.175,133.558 91.000 C 121.584 99.177,114.556 104.301,112.515 106.342 C 111.603 107.254,110.526 108.000,110.122 108.000 C 109.718 108.000,105.947 110.588,101.742 113.750 C 97.538 116.912,91.828 121.075,89.054 123.000 C 81.504 128.240,74.808 133.284,72.793 135.250 C 71.807 136.213,70.637 137.000,70.194 137.000 C 69.750 137.000,65.929 139.588,61.703 142.750 C 57.476 145.912,52.882 149.314,51.494 150.308 C 45.105 154.884,43.871 163.669,48.268 173.273 C 49.605 176.195,51.034 180.366,51.442 182.541 C 51.850 184.717,53.210 188.973,54.464 191.999 C 55.719 195.024,57.066 199.284,57.458 201.465 C 57.851 203.646,58.879 206.796,59.743 208.465 C 60.608 210.134,62.112 214.425,63.087 218.000 C 65.199 225.748,68.396 235.539,71.155 242.712 C 72.257 245.578,73.796 250.653,74.574 253.989 C 75.353 257.325,76.626 261.055,77.403 262.277 C 78.181 263.500,79.349 267.200,80.000 270.500 C 80.651 273.800,81.819 277.500,82.597 278.723 C 83.374 279.945,84.656 283.545,85.445 286.723 C 86.942 292.748,90.537 303.903,94.558 315.000 C 95.854 318.575,97.213 323.075,97.578 325.000 C 98.645 330.620,102.937 337.076,106.633 338.620 C 111.803 340.780,287.186 340.656,292.373 338.489 C 296.562 336.738,300.977 328.354,303.014 318.283 C 303.657 315.102,304.821 311.497,305.601 310.270 C 306.381 309.044,307.717 305.032,308.570 301.354 C 309.423 297.676,310.718 293.504,311.447 292.083 C 312.176 290.663,313.510 286.608,314.411 283.073 C 315.312 279.538,316.547 276.046,317.155 275.313 C 317.763 274.580,319.072 270.722,320.063 266.740 C 321.853 259.551,324.122 252.475,328.639 240.000 C 329.933 236.425,331.452 231.334,332.014 228.687 C 332.577 226.039,333.704 222.854,334.521 221.609 C 335.337 220.364,336.488 216.680,337.079 213.422 C 337.670 210.165,338.803 206.490,339.596 205.256 C 340.389 204.022,341.735 200.197,342.587 196.756 C 343.438 193.315,344.965 188.250,345.979 185.500 C 355.252 160.349,355.087 155.877,344.613 148.500 C 343.052 147.400,339.687 145.032,337.137 143.238 C 328.197 136.950,325.463 134.961,321.000 131.500 C 318.525 129.580,314.925 126.898,313.000 125.539 C 311.075 124.180,307.700 121.725,305.500 120.083 C 303.300 118.441,297.900 114.585,293.500 111.514 C 289.100 108.444,283.700 104.582,281.500 102.932 C 279.300 101.282,275.925 98.820,274.000 97.461 C 272.075 96.102,268.475 93.420,266.000 91.500 C 259.927 86.790,254.484 82.937,250.260 80.359 C 248.331 79.181,246.471 77.829,246.126 77.353 C 245.389 76.336,239.201 71.633,233.516 67.771 C 231.307 66.270,227.925 63.906,226.000 62.517 C 202.767 45.758,200.482 44.595,195.021 46.739 ', height: 32, width: 32, viewBox: '0 15 400 383' }, eventParallelMultipleCatch: { icon: 'M161.044 7.381 C 153.408 10.182,153.732 6.710,153.697 86.294 C 153.675 135.999,153.344 157.289,152.583 157.762 C 151.987 158.133,121.270 158.450,84.323 158.468 C 8.709 158.504,13.068 158.055,10.347 166.094 C 8.084 172.779,8.689 229.428,11.080 234.676 C 14.242 241.617,11.253 241.343,85.000 241.458 C 121.575 241.515,151.996 241.871,152.602 242.248 C 153.388 242.738,153.699 263.223,153.687 313.718 C 153.667 393.348,153.291 389.299,160.982 392.376 C 166.618 394.631,224.137 394.805,229.454 392.584 C 236.893 389.476,236.480 393.950,236.668 314.332 C 236.760 275.141,237.054 242.721,237.322 242.288 C 237.590 241.855,269.689 241.557,308.654 241.628 C 387.381 241.769,385.240 241.942,389.272 235.117 C 391.512 231.324,391.897 168.331,389.706 164.000 C 386.876 158.405,388.699 158.532,310.302 158.483 C 270.593 158.458,237.817 158.150,237.465 157.799 C 237.114 157.447,236.753 125.061,236.663 85.830 C 236.480 5.838,236.957 10.800,229.154 7.678 C 224.118 5.663,166.412 5.411,161.044 7.381 M217.611 97.416 C 217.731 174.461,217.572 172.112,222.915 175.743 C 225.314 177.374,230.669 177.514,297.500 177.701 C 337.100 177.812,370.063 177.924,370.750 177.951 C 371.711 177.989,372.000 183.093,372.000 200.000 C 372.000 216.903,371.710 222.013,370.750 222.058 C 370.063 222.089,337.550 222.143,298.500 222.178 C 221.951 222.245,223.086 222.168,219.558 227.552 C 217.802 230.231,217.701 234.090,217.603 302.337 L 217.500 374.297 196.500 374.429 C 184.950 374.501,174.938 374.386,174.250 374.173 C 173.266 373.869,172.988 358.845,172.944 303.643 C 172.883 228.220,172.899 228.467,167.677 224.594 C 164.881 222.520,164.196 222.499,97.384 222.374 C 60.277 222.305,29.674 222.008,29.379 221.713 C 28.682 221.015,28.677 178.989,29.375 178.292 C 29.667 178.000,60.209 177.702,97.247 177.630 C 160.664 177.508,164.751 177.393,167.378 175.672 C 173.100 171.923,173.000 173.330,173.000 96.615 C 173.000 50.594,173.346 26.051,173.999 25.833 C 174.548 25.650,184.561 25.549,196.249 25.610 L 217.500 25.720 217.611 97.416 ', height: 31, width: 31, viewBox: '0 0 400 400' }, eventSignalCatch: { icon: 'M12 5.887l8.468 14.113h-16.936l8.468-14.113zm0-3.887l-12 20h24l-12-20z', height: 28, width: 28, viewBox: '-2 1 28 28' }, eventSignalThrow: { icon: 'M24 22h-24l12-20z', height: 28, width: 28, viewBox: '-2 1 28 28' }, eventTimerCatch: { icon: 'M1024 544v448q0 14-9 23t-23 9h-320q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h224v-352q0-14 9-23t23-9h64q14 0 23 9t9 23zm416 352q0-148-73-273t-198-198-273-73-273 73-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273zm224 0q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z', height: 30, width: 30, viewBox: '0 0 1792 1792' }, eventErrorCatch: { icon: 'M346.000 32.867 C 343.581 33.533,340.017 38.321,329.544 54.978 C 327.368 58.438,325.093 61.771,324.488 62.385 C 323.883 62.998,323.085 64.175,322.715 65.000 C 322.345 65.825,320.913 68.300,319.532 70.500 C 318.151 72.700,316.613 75.418,316.115 76.541 C 315.616 77.664,314.486 79.181,313.604 79.914 C 312.722 80.646,312.000 81.810,312.000 82.500 C 312.000 83.190,311.278 84.354,310.396 85.086 C 309.514 85.819,308.369 87.336,307.853 88.459 C 306.701 90.964,305.332 93.208,301.480 98.910 C 295.548 107.687,295.015 108.533,294.077 110.653 C 293.552 111.837,292.674 113.083,292.125 113.423 C 291.576 113.762,290.506 115.268,289.747 116.770 C 287.101 122.008,285.491 124.506,284.250 125.300 C 283.563 125.740,283.000 126.507,283.000 127.005 C 283.000 127.866,279.099 134.215,277.086 136.631 C 276.568 137.253,274.953 140.039,273.498 142.822 C 272.042 145.605,270.548 148.022,270.176 148.191 C 269.405 148.544,264.000 156.680,264.000 157.489 C 264.000 157.781,262.425 160.261,260.500 163.000 C 258.575 165.739,257.000 168.204,257.000 168.478 C 257.000 168.753,256.212 169.896,255.250 171.019 C 254.287 172.143,252.592 174.735,251.483 176.781 C 248.481 182.315,242.624 191.000,241.894 191.000 C 241.543 191.000,239.736 188.468,237.878 185.373 C 236.020 182.279,233.825 178.977,233.000 178.036 C 231.014 175.770,229.350 173.202,227.309 169.250 C 226.385 167.463,225.263 166.000,224.815 166.000 C 224.367 166.000,224.000 165.579,224.000 165.064 C 224.000 164.090,214.651 149.482,211.058 144.842 C 209.926 143.380,209.000 141.692,209.000 141.092 C 209.000 140.491,208.601 140.000,208.114 140.000 C 207.627 140.000,206.489 138.537,205.586 136.750 C 203.284 132.191,201.946 130.085,198.445 125.500 C 196.765 123.300,194.104 119.250,192.532 116.500 C 190.960 113.750,189.394 111.275,189.052 111.000 C 188.205 110.318,180.817 99.092,179.185 96.007 C 178.460 94.635,176.659 91.935,175.183 90.007 C 173.707 88.078,171.674 84.967,170.664 83.093 C 169.654 81.220,167.177 77.395,165.159 74.593 C 160.779 68.512,159.526 66.542,157.309 62.250 C 156.385 60.463,155.263 59.000,154.815 59.000 C 154.367 59.000,154.000 58.372,154.000 57.604 C 154.000 55.148,147.182 50.000,143.930 50.000 C 140.776 50.000,136.000 52.538,136.000 54.214 C 136.000 54.755,135.349 56.616,134.553 58.349 C 132.835 62.089,129.158 72.271,127.998 76.500 C 127.044 79.979,125.084 85.621,123.829 88.500 C 122.495 91.560,117.984 104.126,117.009 107.500 C 116.532 109.150,114.286 115.675,112.019 122.000 C 109.752 128.325,106.301 138.225,104.351 144.000 C 102.401 149.775,100.459 154.950,100.037 155.500 C 99.614 156.050,99.023 157.625,98.723 159.000 C 98.077 161.962,91.358 181.623,90.009 184.500 C 88.914 186.834,85.288 197.158,84.039 201.500 C 82.815 205.754,80.963 210.821,78.834 215.739 C 77.825 218.071,77.000 220.646,77.000 221.462 C 77.000 222.279,76.157 224.871,75.126 227.223 C 73.080 231.891,71.298 236.829,69.974 241.500 C 69.506 243.150,67.939 247.650,66.491 251.500 C 65.044 255.350,62.517 262.533,60.876 267.463 C 59.235 272.392,57.315 277.792,56.611 279.463 C 55.207 282.790,54.398 285.093,49.924 298.500 C 48.272 303.450,46.505 308.400,45.996 309.500 C 44.935 311.794,41.419 321.831,39.866 327.000 C 39.287 328.925,38.406 330.928,37.907 331.450 C 37.408 331.972,37.000 333.453,37.000 334.740 C 37.000 336.027,36.100 338.844,35.000 341.000 C 33.900 343.156,32.997 345.726,32.993 346.710 C 32.990 347.695,32.093 349.850,31.000 351.500 C 26.628 358.102,29.334 366.612,36.366 368.377 C 39.493 369.162,45.570 364.274,47.647 359.303 C 48.389 357.527,50.246 354.595,51.774 352.787 C 53.302 350.979,55.146 348.324,55.872 346.886 C 56.598 345.448,58.274 343.106,59.596 341.680 C 60.918 340.254,62.000 338.771,62.000 338.385 C 62.000 337.998,63.800 335.298,66.000 332.384 C 68.200 329.470,70.000 326.809,70.000 326.471 C 70.000 326.134,70.563 325.269,71.250 324.551 C 72.479 323.267,73.346 322.067,76.776 316.905 C 77.724 315.477,80.300 311.704,82.500 308.520 C 84.700 305.335,86.950 302.028,87.500 301.170 C 88.050 300.311,89.282 298.718,90.239 297.628 C 91.195 296.539,92.238 294.827,92.556 293.824 C 92.874 292.821,93.554 292.000,94.067 292.000 C 94.580 292.000,95.000 291.475,95.000 290.834 C 95.000 290.193,95.680 288.955,96.512 288.084 C 98.478 286.025,104.826 276.934,105.649 275.000 C 105.999 274.175,107.918 271.475,109.912 269.000 C 111.906 266.525,114.429 262.757,115.518 260.628 C 116.608 258.498,118.287 256.252,119.250 255.637 C 120.212 255.022,121.000 253.765,121.000 252.843 C 121.000 251.921,121.356 251.017,121.790 250.833 C 122.225 250.650,124.137 248.250,126.040 245.500 C 127.943 242.750,129.726 240.275,130.002 240.000 C 131.470 238.536,139.000 226.794,139.000 225.969 C 139.000 225.436,139.406 225.000,139.901 225.000 C 140.397 225.000,141.737 223.538,142.878 221.750 C 144.020 219.963,145.527 217.600,146.227 216.500 C 146.927 215.400,147.759 214.275,148.075 214.000 C 148.392 213.725,149.501 212.037,150.541 210.250 C 151.581 208.463,152.784 207.000,153.216 207.000 C 153.647 207.000,154.000 206.148,154.000 205.107 C 154.000 204.066,154.679 202.953,155.509 202.635 C 156.338 202.317,157.541 200.907,158.181 199.502 C 160.128 195.228,160.997 196.341,171.050 216.000 C 172.315 218.475,173.645 220.725,174.004 221.000 C 174.363 221.275,175.360 222.850,176.221 224.500 C 177.081 226.150,180.356 232.225,183.500 238.000 C 186.644 243.775,189.919 249.850,190.779 251.500 C 191.640 253.150,192.637 254.725,192.996 255.000 C 193.355 255.275,194.685 257.525,195.950 260.000 C 197.216 262.475,198.687 265.349,199.220 266.387 C 199.752 267.425,201.112 269.900,202.241 271.887 C 203.371 273.874,205.641 277.975,207.287 281.000 C 208.934 284.025,210.892 287.210,211.640 288.079 C 212.388 288.947,213.000 290.377,213.000 291.257 C 213.000 292.137,213.586 293.452,214.302 294.179 C 215.018 294.905,216.674 297.750,217.983 300.500 C 219.291 303.250,220.670 305.725,221.047 306.000 C 221.423 306.275,222.804 308.492,224.116 310.927 C 225.427 313.361,228.140 318.311,230.145 321.927 C 232.150 325.542,234.516 329.850,235.403 331.500 C 236.291 333.150,238.599 337.200,240.534 340.500 C 242.468 343.800,244.720 348.075,245.539 350.000 C 252.013 365.222,263.811 358.118,268.482 336.183 C 268.871 334.358,269.818 331.658,270.588 330.183 C 271.358 328.707,271.990 326.352,271.994 324.950 C 271.997 323.547,272.403 321.972,272.895 321.450 C 273.387 320.927,274.236 318.475,274.782 316.000 C 275.328 313.525,276.542 309.250,277.480 306.500 C 280.263 298.336,280.977 296.049,284.500 284.000 C 286.350 277.675,288.315 271.150,288.868 269.500 C 289.420 267.850,290.310 264.925,290.846 263.000 C 291.381 261.075,292.281 258.150,292.846 256.500 C 293.411 254.850,294.651 250.800,295.602 247.500 C 296.553 244.200,298.105 239.025,299.050 236.000 C 301.540 228.032,304.470 218.380,306.488 211.500 C 309.755 200.364,312.249 192.525,314.129 187.481 C 315.158 184.720,316.000 181.509,316.000 180.345 C 316.000 179.181,316.672 176.940,317.494 175.364 C 318.315 173.789,318.990 171.353,318.994 169.950 C 318.997 168.548,319.372 166.973,319.826 166.450 C 320.280 165.928,321.230 163.475,321.935 161.000 C 322.641 158.525,324.019 154.025,324.998 151.000 C 325.977 147.975,327.564 142.800,328.525 139.500 C 331.717 128.536,334.140 120.535,335.185 117.500 C 335.754 115.850,336.672 112.700,337.225 110.500 C 337.778 108.300,338.854 105.022,339.615 103.216 C 340.377 101.410,341.000 99.169,341.000 98.235 C 341.000 97.302,341.863 94.280,342.919 91.519 C 343.974 88.759,346.490 80.650,348.510 73.500 C 350.530 66.350,353.042 58.241,354.091 55.481 C 355.141 52.720,356.000 49.704,356.000 48.778 C 356.000 47.852,356.522 45.948,357.160 44.548 C 358.263 42.127,356.830 34.585,355.073 33.567 C 353.518 32.666,348.218 32.257,346.000 32.867 M150.295 83.855 C 152.308 87.837,154.428 91.439,155.090 92.000 C 155.414 92.275,157.844 95.875,160.490 100.000 C 169.023 113.304,169.491 113.986,170.098 113.993 C 170.427 113.997,171.508 115.800,172.500 118.000 C 173.492 120.200,174.685 122.000,175.152 122.000 C 175.618 122.000,176.000 122.483,176.000 123.074 C 176.000 123.665,178.475 127.721,181.500 132.087 C 184.525 136.454,187.000 140.401,187.000 140.858 C 187.000 141.316,187.900 142.505,189.000 143.500 C 190.100 144.495,191.000 145.915,191.000 146.655 C 191.000 147.395,191.399 148.000,191.886 148.000 C 192.373 148.000,193.531 149.463,194.459 151.250 C 197.322 156.765,198.392 158.460,201.595 162.549 C 203.297 164.722,205.976 168.750,207.547 171.500 C 209.118 174.250,210.651 176.725,210.954 177.000 C 212.074 178.019,220.000 190.089,220.004 190.781 C 220.007 191.177,221.793 193.853,223.974 196.730 C 226.155 199.606,228.806 203.656,229.867 205.730 C 236.785 219.260,247.029 219.268,253.933 205.750 C 254.706 204.238,255.712 203.000,256.169 203.000 C 256.626 203.000,257.000 202.138,257.000 201.083 C 257.000 200.029,257.337 199.017,257.750 198.833 C 258.685 198.418,264.000 191.353,264.000 190.526 C 264.000 190.192,264.840 188.700,265.866 187.210 C 267.373 185.022,277.764 168.909,283.752 159.473 C 284.441 158.388,285.407 156.582,285.898 155.459 C 286.390 154.336,287.514 152.819,288.396 152.086 C 289.278 151.354,290.000 150.135,290.000 149.378 C 290.000 148.620,290.399 148.000,290.886 148.000 C 291.373 148.000,292.518 146.537,293.431 144.750 C 294.343 142.963,295.964 140.150,297.033 138.500 C 298.102 136.850,299.740 134.037,300.673 132.250 C 301.607 130.463,302.748 129.000,303.210 129.000 C 303.672 129.000,304.508 127.987,305.068 126.750 C 306.495 123.596,308.432 120.319,310.089 118.257 C 310.865 117.291,312.063 115.487,312.750 114.250 C 321.539 98.430,321.812 101.189,313.962 126.500 C 312.939 129.800,311.126 135.650,309.933 139.500 C 308.740 143.350,307.142 148.315,306.382 150.533 C 305.622 152.752,304.985 155.452,304.966 156.533 C 304.947 157.615,304.063 160.300,303.000 162.500 C 301.937 164.700,301.053 167.354,301.034 168.397 C 301.015 169.441,300.155 172.816,299.123 175.897 C 294.996 188.212,293.990 191.563,293.995 192.981 C 293.998 193.795,293.141 196.720,292.090 199.481 C 291.040 202.241,289.185 207.875,287.968 212.000 C 286.752 216.125,285.156 221.525,284.424 224.000 C 281.047 235.402,278.649 242.898,276.900 247.519 C 275.855 250.280,275.000 253.491,275.000 254.655 C 275.000 255.819,274.328 258.060,273.506 259.636 C 272.685 261.211,272.010 263.458,272.006 264.628 C 272.003 265.798,271.257 268.498,270.349 270.628 C 269.441 272.758,268.351 276.075,267.927 278.000 C 267.503 279.925,266.450 283.525,265.588 286.000 C 262.582 294.633,257.000 313.279,257.000 314.689 C 257.000 316.293,253.196 325.000,252.495 325.000 C 252.245 325.000,251.121 323.313,249.997 321.250 C 248.872 319.188,246.829 315.700,245.455 313.500 C 244.081 311.300,242.699 308.825,242.383 308.000 C 241.441 305.543,240.984 304.603,239.707 302.500 C 239.039 301.400,236.501 296.900,234.068 292.500 C 231.634 288.100,229.309 284.270,228.901 283.990 C 228.493 283.709,227.848 282.243,227.469 280.731 C 227.089 279.218,226.371 277.730,225.874 277.422 C 225.377 277.115,224.289 275.432,223.458 273.682 C 222.626 271.932,220.398 267.800,218.507 264.500 C 215.260 258.835,209.640 248.575,203.973 237.972 C 202.584 235.371,200.958 232.626,200.361 231.872 C 199.763 231.117,197.131 226.450,194.510 221.500 C 187.900 209.012,184.709 203.557,183.787 203.167 C 183.354 202.983,183.000 201.971,183.000 200.917 C 183.000 199.862,182.559 199.000,182.019 199.000 C 181.480 199.000,180.736 197.762,180.367 196.250 C 179.997 194.738,178.864 192.427,177.848 191.115 C 176.831 189.803,176.000 188.264,176.000 187.694 C 176.000 187.124,175.375 185.947,174.612 185.079 C 173.848 184.210,172.049 181.228,170.612 178.451 C 165.381 168.337,154.723 169.373,149.430 180.511 C 148.643 182.166,146.874 184.734,145.500 186.217 C 144.125 187.700,143.000 189.161,143.000 189.464 C 143.000 189.973,136.575 199.500,128.139 211.500 C 126.206 214.250,122.797 219.200,120.564 222.500 C 118.330 225.800,116.244 228.725,115.926 229.000 C 115.609 229.275,114.499 230.963,113.459 232.750 C 112.419 234.538,111.216 236.000,110.784 236.000 C 110.353 236.000,110.000 236.525,110.000 237.166 C 110.000 237.807,109.304 239.045,108.453 239.916 C 107.146 241.255,104.174 245.573,99.500 252.927 C 98.950 253.792,97.038 256.376,95.250 258.668 C 93.463 260.961,92.000 263.076,92.000 263.368 C 92.000 264.546,85.794 273.000,84.929 273.000 C 84.418 273.000,84.000 273.694,84.000 274.542 C 84.000 275.390,83.557 276.628,83.015 277.292 C 80.417 280.478,77.205 284.849,74.968 288.243 C 70.596 294.874,70.181 293.765,73.566 284.500 C 74.973 280.650,76.485 276.150,76.927 274.500 C 77.369 272.850,78.413 269.925,79.247 268.000 C 80.081 266.075,81.530 262.025,82.467 259.000 C 83.403 255.975,84.521 252.600,84.951 251.500 C 85.381 250.400,86.175 248.375,86.717 247.000 C 88.162 243.329,89.788 238.594,93.070 228.500 C 94.679 223.550,96.431 218.600,96.963 217.500 C 98.092 215.164,101.233 206.229,104.170 197.000 C 105.308 193.425,106.882 189.035,107.669 187.245 C 108.455 185.454,109.710 182.079,110.457 179.745 C 112.276 174.062,114.046 169.167,115.665 165.349 C 116.399 163.616,117.000 161.659,117.000 161.000 C 117.000 160.341,117.646 158.384,118.436 156.651 C 119.226 154.918,120.318 151.925,120.863 150.000 C 121.408 148.075,123.235 142.900,124.923 138.500 C 126.611 134.100,127.994 129.933,127.996 129.239 C 127.998 128.546,128.825 126.071,129.834 123.739 C 131.769 119.269,132.270 117.872,137.093 103.500 C 138.755 98.550,140.763 93.082,141.557 91.349 C 142.351 89.616,143.000 87.689,143.000 87.067 C 143.000 79.989,147.369 78.066,150.295 83.855 ', height: 28, width: 28, viewBox: '-8 0 400 406' }, eventErrorThrow: { icon: 'M346.000 32.867 C 343.581 33.533,340.017 38.321,329.544 54.978 C 327.368 58.438,325.093 61.771,324.488 62.385 C 323.883 62.998,323.085 64.175,322.715 65.000 C 322.345 65.825,320.913 68.300,319.532 70.500 C 318.151 72.700,316.613 75.418,316.115 76.541 C 315.616 77.664,314.486 79.181,313.604 79.914 C 312.722 80.646,312.000 81.810,312.000 82.500 C 312.000 83.190,311.278 84.354,310.396 85.086 C 309.514 85.819,308.369 87.336,307.853 88.459 C 306.701 90.964,305.332 93.208,301.480 98.910 C 295.548 107.687,295.015 108.533,294.077 110.653 C 293.552 111.837,292.674 113.083,292.125 113.423 C 291.576 113.762,290.506 115.268,289.747 116.770 C 287.101 122.008,285.491 124.506,284.250 125.300 C 283.563 125.740,283.000 126.507,283.000 127.005 C 283.000 127.866,279.099 134.215,277.086 136.631 C 276.568 137.253,274.953 140.039,273.498 142.822 C 272.042 145.605,270.548 148.022,270.176 148.191 C 269.405 148.544,264.000 156.680,264.000 157.489 C 264.000 157.781,262.425 160.261,260.500 163.000 C 258.575 165.739,257.000 168.204,257.000 168.478 C 257.000 168.753,256.212 169.896,255.250 171.019 C 254.287 172.143,252.592 174.735,251.483 176.781 C 248.481 182.315,242.624 191.000,241.894 191.000 C 241.543 191.000,239.736 188.468,237.878 185.373 C 236.020 182.279,233.825 178.977,233.000 178.036 C 231.014 175.770,229.350 173.202,227.309 169.250 C 226.385 167.463,225.263 166.000,224.815 166.000 C 224.367 166.000,224.000 165.579,224.000 165.064 C 224.000 164.090,214.651 149.482,211.058 144.842 C 209.926 143.380,209.000 141.692,209.000 141.092 C 209.000 140.491,208.601 140.000,208.114 140.000 C 207.627 140.000,206.489 138.537,205.586 136.750 C 203.284 132.191,201.946 130.085,198.445 125.500 C 196.765 123.300,194.104 119.250,192.532 116.500 C 190.960 113.750,189.394 111.275,189.052 111.000 C 188.205 110.318,180.817 99.092,179.185 96.007 C 178.460 94.635,176.659 91.935,175.183 90.007 C 173.707 88.078,171.674 84.967,170.664 83.093 C 169.654 81.220,167.177 77.395,165.159 74.593 C 160.779 68.512,159.526 66.542,157.309 62.250 C 156.385 60.463,155.263 59.000,154.815 59.000 C 154.367 59.000,154.000 58.372,154.000 57.604 C 154.000 55.148,147.182 50.000,143.930 50.000 C 140.776 50.000,136.000 52.538,136.000 54.214 C 136.000 54.755,135.349 56.616,134.553 58.349 C 132.835 62.089,129.158 72.271,127.998 76.500 C 127.044 79.979,125.084 85.621,123.829 88.500 C 122.495 91.560,117.984 104.126,117.009 107.500 C 116.532 109.150,114.286 115.675,112.019 122.000 C 109.752 128.325,106.301 138.225,104.351 144.000 C 102.401 149.775,100.459 154.950,100.037 155.500 C 99.614 156.050,99.023 157.625,98.723 159.000 C 98.077 161.962,91.358 181.623,90.009 184.500 C 88.914 186.834,85.288 197.158,84.039 201.500 C 82.815 205.754,80.963 210.821,78.834 215.739 C 77.825 218.071,77.000 220.646,77.000 221.462 C 77.000 222.279,76.157 224.871,75.126 227.223 C 73.080 231.891,71.298 236.829,69.974 241.500 C 69.506 243.150,67.939 247.650,66.491 251.500 C 65.044 255.350,62.517 262.533,60.876 267.463 C 59.235 272.392,57.315 277.792,56.611 279.463 C 55.207 282.790,54.398 285.093,49.924 298.500 C 48.272 303.450,46.505 308.400,45.996 309.500 C 44.935 311.794,41.419 321.831,39.866 327.000 C 39.287 328.925,38.406 330.928,37.907 331.450 C 37.408 331.972,37.000 333.453,37.000 334.740 C 37.000 336.027,36.100 338.844,35.000 341.000 C 33.900 343.156,32.997 345.726,32.993 346.710 C 32.990 347.695,32.093 349.850,31.000 351.500 C 26.628 358.102,29.334 366.612,36.366 368.377 C 39.493 369.162,45.570 364.274,47.647 359.303 C 48.389 357.527,50.246 354.595,51.774 352.787 C 53.302 350.979,55.146 348.324,55.872 346.886 C 56.598 345.448,58.274 343.106,59.596 341.680 C 60.918 340.254,62.000 338.771,62.000 338.385 C 62.000 337.998,63.800 335.298,66.000 332.384 C 68.200 329.470,70.000 326.809,70.000 326.471 C 70.000 326.134,70.563 325.269,71.250 324.551 C 72.479 323.267,73.346 322.067,76.776 316.905 C 77.724 315.477,80.300 311.704,82.500 308.520 C 84.700 305.335,86.950 302.028,87.500 301.170 C 88.050 300.311,89.282 298.718,90.239 297.628 C 91.195 296.539,92.238 294.827,92.556 293.824 C 92.874 292.821,93.554 292.000,94.067 292.000 C 94.580 292.000,95.000 291.475,95.000 290.834 C 95.000 290.193,95.680 288.955,96.512 288.084 C 98.478 286.025,104.826 276.934,105.649 275.000 C 105.999 274.175,107.918 271.475,109.912 269.000 C 111.906 266.525,114.429 262.757,115.518 260.628 C 116.608 258.498,118.287 256.252,119.250 255.637 C 120.212 255.022,121.000 253.765,121.000 252.843 C 121.000 251.921,121.356 251.017,121.790 250.833 C 122.225 250.650,124.137 248.250,126.040 245.500 C 127.943 242.750,129.726 240.275,130.002 240.000 C 131.470 238.536,139.000 226.794,139.000 225.969 C 139.000 225.436,139.406 225.000,139.901 225.000 C 140.397 225.000,141.737 223.538,142.878 221.750 C 144.020 219.963,145.527 217.600,146.227 216.500 C 146.927 215.400,147.759 214.275,148.075 214.000 C 148.392 213.725,149.501 212.037,150.541 210.250 C 151.581 208.463,152.784 207.000,153.216 207.000 C 153.647 207.000,154.000 206.148,154.000 205.107 C 154.000 204.066,154.679 202.953,155.509 202.635 C 156.338 202.317,157.541 200.907,158.181 199.502 C 160.128 195.228,160.997 196.341,171.050 216.000 C 172.315 218.475,173.645 220.725,174.004 221.000 C 174.363 221.275,175.360 222.850,176.221 224.500 C 177.081 226.150,180.356 232.225,183.500 238.000 C 186.644 243.775,189.919 249.850,190.779 251.500 C 191.640 253.150,192.637 254.725,192.996 255.000 C 193.355 255.275,194.685 257.525,195.950 260.000 C 197.216 262.475,198.687 265.349,199.220 266.387 C 199.752 267.425,201.112 269.900,202.241 271.887 C 203.371 273.874,205.641 277.975,207.287 281.000 C 208.934 284.025,210.892 287.210,211.640 288.079 C 212.388 288.947,213.000 290.377,213.000 291.257 C 213.000 292.137,213.586 293.452,214.302 294.179 C 215.018 294.905,216.674 297.750,217.983 300.500 C 219.291 303.250,220.670 305.725,221.047 306.000 C 221.423 306.275,222.804 308.492,224.116 310.927 C 225.427 313.361,228.140 318.311,230.145 321.927 C 232.150 325.542,234.516 329.850,235.403 331.500 C 236.291 333.150,238.599 337.200,240.534 340.500 C 242.468 343.800,244.720 348.075,245.539 350.000 C 252.013 365.222,263.811 358.118,268.482 336.183 C 268.871 334.358,269.818 331.658,270.588 330.183 C 271.358 328.707,271.990 326.352,271.994 324.950 C 271.997 323.547,272.403 321.972,272.895 321.450 C 273.387 320.927,274.236 318.475,274.782 316.000 C 275.328 313.525,276.542 309.250,277.480 306.500 C 280.263 298.336,280.977 296.049,284.500 284.000 C 286.350 277.675,288.315 271.150,288.868 269.500 C 289.420 267.850,290.310 264.925,290.846 263.000 C 291.381 261.075,292.281 258.150,292.846 256.500 C 293.411 254.850,294.651 250.800,295.602 247.500 C 296.553 244.200,298.105 239.025,299.050 236.000 C 301.540 228.032,304.470 218.380,306.488 211.500 C 309.755 200.364,312.249 192.525,314.129 187.481 C 315.158 184.720,316.000 181.509,316.000 180.345 C 316.000 179.181,316.672 176.940,317.494 175.364 C 318.315 173.789,318.990 171.353,318.994 169.950 C 318.997 168.548,319.372 166.973,319.826 166.450 C 320.280 165.928,321.230 163.475,321.935 161.000 C 322.641 158.525,324.019 154.025,324.998 151.000 C 325.977 147.975,327.564 142.800,328.525 139.500 C 331.717 128.536,334.140 120.535,335.185 117.500 C 335.754 115.850,336.672 112.700,337.225 110.500 C 337.778 108.300,338.854 105.022,339.615 103.216 C 340.377 101.410,341.000 99.169,341.000 98.235 C 341.000 97.302,341.863 94.280,342.919 91.519 C 343.974 88.759,346.490 80.650,348.510 73.500 C 350.530 66.350,353.042 58.241,354.091 55.481 C 355.141 52.720,356.000 49.704,356.000 48.778 C 356.000 47.852,356.522 45.948,357.160 44.548 C 358.263 42.127,356.830 34.585,355.073 33.567 C 353.518 32.666,348.218 32.257,346.000 32.867 ', height: 28, width: 28, viewBox: '-8 0 400 406' }, eventEscalationCatch: { icon: 'M192.196 22.298 C 190.438 24.111,189.000 25.956,189.000 26.396 C 189.000 26.837,188.347 28.616,187.548 30.349 C 186.749 32.082,184.711 37.100,183.018 41.500 C 181.325 45.900,179.517 50.400,179.000 51.500 C 178.483 52.600,176.683 57.100,175.000 61.500 C 173.317 65.900,171.517 70.400,171.000 71.500 C 170.483 72.600,168.683 77.100,167.000 81.500 C 165.317 85.900,163.521 90.400,163.009 91.500 C 162.024 93.618,145.623 134.651,141.026 146.500 C 139.532 150.350,136.836 157.100,135.035 161.500 C 133.233 165.900,130.051 173.775,127.962 179.000 C 125.873 184.225,122.318 193.109,120.061 198.741 C 117.805 204.374,114.158 213.482,111.958 218.982 C 109.758 224.482,106.158 233.482,103.958 238.982 C 101.758 244.482,98.158 253.482,95.958 258.982 C 85.833 284.295,83.531 290.023,80.477 297.500 C 78.680 301.900,71.967 318.775,65.560 335.000 C 59.152 351.225,53.493 365.400,52.985 366.500 C 52.476 367.600,50.683 372.100,49.000 376.500 C 47.317 380.900,45.517 385.400,45.000 386.500 C 44.483 387.600,42.683 392.100,41.000 396.500 C 39.317 400.900,37.517 405.400,37.000 406.500 C 36.483 407.600,34.683 412.100,33.000 416.500 C 31.317 420.900,29.517 425.400,29.000 426.500 C 28.483 427.600,26.683 432.100,25.000 436.500 C 23.317 440.900,21.521 445.400,21.009 446.500 C 6.961 476.683,5.924 487.800,16.852 491.074 C 23.018 492.921,26.441 490.763,35.045 479.604 C 39.145 474.285,43.850 468.210,45.500 466.103 C 47.150 463.997,51.200 458.738,54.500 454.418 C 57.800 450.098,63.650 442.657,67.500 437.883 C 71.350 433.109,78.550 423.906,83.500 417.432 C 88.450 410.957,94.975 402.645,98.000 398.959 C 101.025 395.274,106.650 388.101,110.500 383.020 C 114.350 377.940,122.026 368.094,127.557 361.141 C 133.089 354.189,141.097 344.000,145.353 338.500 C 149.608 333.000,155.883 324.957,159.295 320.626 C 162.708 316.295,166.625 311.285,168.000 309.493 C 173.197 302.718,182.210 291.231,188.002 284.000 C 191.307 279.875,195.020 275.035,196.255 273.244 C 199.931 267.912,199.711 267.688,231.817 309.369 C 237.693 316.997,245.281 326.672,248.680 330.869 C 254.092 337.552,266.301 353.142,302.288 399.322 C 307.354 405.824,313.750 413.971,316.500 417.426 C 319.250 420.881,325.775 429.206,331.000 435.926 C 336.225 442.646,342.750 450.992,345.500 454.472 C 348.250 457.952,353.200 464.285,356.500 468.546 C 373.895 491.002,376.870 493.184,384.806 489.306 C 392.568 485.512,393.168 480.509,387.421 467.500 C 386.692 465.850,384.711 460.900,383.018 456.500 C 381.325 452.100,379.524 447.600,379.015 446.500 C 378.507 445.400,372.848 431.225,366.440 415.000 C 360.033 398.775,353.320 381.900,351.523 377.500 C 348.469 370.023,346.167 364.295,336.042 338.982 C 333.842 333.482,330.242 324.482,328.042 318.982 C 325.842 313.482,322.242 304.482,320.042 298.982 C 317.842 293.482,314.242 284.482,312.042 278.982 C 302.318 254.673,300.048 249.028,296.965 241.500 C 295.164 237.100,292.468 230.350,290.974 226.500 C 286.377 214.651,269.976 173.618,268.991 171.500 C 268.479 170.400,266.683 165.900,265.000 161.500 C 263.317 157.100,261.517 152.600,261.000 151.500 C 260.483 150.400,258.683 145.900,257.000 141.500 C 255.317 137.100,253.517 132.600,253.000 131.500 C 252.483 130.400,250.683 125.900,249.000 121.500 C 247.317 117.100,245.524 112.600,245.017 111.500 C 244.510 110.400,236.604 90.600,227.450 67.500 C 208.728 20.257,208.017 19.000,200.000 19.000 C 196.101 19.000,194.901 19.507,192.196 22.298 M202.697 67.750 C 203.350 69.263,205.273 74.100,206.972 78.500 C 208.670 82.900,210.483 87.400,211.000 88.500 C 211.517 89.600,213.317 94.100,215.000 98.500 C 216.683 102.900,218.476 107.400,218.985 108.500 C 219.493 109.600,225.152 123.775,231.560 140.000 C 237.967 156.225,244.680 173.100,246.477 177.500 C 248.274 181.900,251.543 190.000,253.741 195.500 C 259.788 210.631,265.287 224.377,269.848 235.759 C 272.109 241.401,275.758 250.518,277.958 256.018 C 280.158 261.518,283.758 270.518,285.958 276.018 C 288.158 281.518,291.758 290.518,293.958 296.018 C 296.158 301.518,299.738 310.401,301.914 315.759 C 306.855 327.928,311.454 339.428,315.007 348.500 C 320.993 363.783,328.115 381.606,328.992 383.500 C 336.071 398.787,336.464 407.013,329.648 397.250 C 328.208 395.188,324.436 390.253,321.265 386.284 C 318.094 382.316,311.923 374.441,307.551 368.784 C 303.179 363.128,295.304 353.078,290.051 346.451 C 284.798 339.825,277.125 329.981,273.000 324.576 C 268.875 319.171,263.409 312.208,260.853 309.101 C 258.297 305.995,251.875 297.839,246.581 290.977 C 208.120 241.124,206.249 239.000,200.789 239.000 C 194.197 239.000,192.804 240.406,169.000 271.059 C 163.775 277.787,157.250 286.119,154.500 289.574 C 151.750 293.029,145.354 301.176,140.288 307.678 C 119.678 334.125,92.612 368.783,89.168 373.135 C 87.151 375.685,81.450 382.973,76.500 389.331 C 63.559 405.954,61.565 403.835,71.011 383.500 C 71.522 382.400,73.317 377.900,75.000 373.500 C 76.683 369.100,78.483 364.600,79.000 363.500 C 79.517 362.400,81.317 357.900,83.000 353.500 C 84.683 349.100,86.483 344.600,87.000 343.500 C 87.517 342.400,89.317 337.900,91.000 333.500 C 92.683 329.100,94.479 324.600,94.991 323.500 C 95.893 321.561,111.459 282.656,116.996 268.500 C 120.586 259.323,125.174 247.855,130.197 235.500 C 132.433 230.000,136.063 221.000,138.263 215.500 C 140.463 210.000,144.063 201.000,146.263 195.500 C 148.463 190.000,152.013 181.116,154.152 175.759 C 156.291 170.401,159.842 161.518,162.042 156.018 C 164.242 150.518,167.795 141.626,169.939 136.259 C 175.790 121.606,181.345 107.761,186.290 95.500 C 188.731 89.450,192.477 80.119,194.614 74.764 C 198.733 64.445,200.581 62.841,202.697 67.750 ', height: 24, width: 24, viewBox: '0 15 400 500' }, eventEscalationThrow: { icon: 'M192.196 22.298 C 190.438 24.111,189.000 25.956,189.000 26.396 C 189.000 26.837,188.347 28.616,187.548 30.349 C 186.749 32.082,184.711 37.100,183.018 41.500 C 181.325 45.900,179.517 50.400,179.000 51.500 C 178.483 52.600,176.683 57.100,175.000 61.500 C 173.317 65.900,171.517 70.400,171.000 71.500 C 170.483 72.600,168.683 77.100,167.000 81.500 C 165.317 85.900,163.521 90.400,163.009 91.500 C 162.024 93.618,145.623 134.651,141.026 146.500 C 139.532 150.350,136.836 157.100,135.035 161.500 C 133.233 165.900,130.051 173.775,127.962 179.000 C 125.873 184.225,122.318 193.109,120.061 198.741 C 117.805 204.374,114.158 213.482,111.958 218.982 C 109.758 224.482,106.158 233.482,103.958 238.982 C 101.758 244.482,98.158 253.482,95.958 258.982 C 85.833 284.295,83.531 290.023,80.477 297.500 C 78.680 301.900,71.967 318.775,65.560 335.000 C 59.152 351.225,53.493 365.400,52.985 366.500 C 52.476 367.600,50.683 372.100,49.000 376.500 C 47.317 380.900,45.517 385.400,45.000 386.500 C 44.483 387.600,42.683 392.100,41.000 396.500 C 39.317 400.900,37.517 405.400,37.000 406.500 C 36.483 407.600,34.683 412.100,33.000 416.500 C 31.317 420.900,29.517 425.400,29.000 426.500 C 28.483 427.600,26.683 432.100,25.000 436.500 C 23.317 440.900,21.521 445.400,21.009 446.500 C 6.961 476.683,5.924 487.800,16.852 491.074 C 23.018 492.921,26.441 490.763,35.045 479.604 C 39.145 474.285,43.850 468.210,45.500 466.103 C 47.150 463.997,51.200 458.738,54.500 454.418 C 57.800 450.098,63.650 442.657,67.500 437.883 C 71.350 433.109,78.550 423.906,83.500 417.432 C 88.450 410.957,94.975 402.645,98.000 398.959 C 101.025 395.274,106.650 388.101,110.500 383.020 C 114.350 377.940,122.026 368.094,127.557 361.141 C 133.089 354.189,141.097 344.000,145.353 338.500 C 149.608 333.000,155.883 324.957,159.295 320.626 C 162.708 316.295,166.625 311.285,168.000 309.493 C 173.197 302.718,182.210 291.231,188.002 284.000 C 191.307 279.875,195.020 275.035,196.255 273.244 C 199.931 267.912,199.711 267.688,231.817 309.369 C 237.693 316.997,245.281 326.672,248.680 330.869 C 254.092 337.552,266.301 353.142,302.288 399.322 C 307.354 405.824,313.750 413.971,316.500 417.426 C 319.250 420.881,325.775 429.206,331.000 435.926 C 336.225 442.646,342.750 450.992,345.500 454.472 C 348.250 457.952,353.200 464.285,356.500 468.546 C 373.895 491.002,376.870 493.184,384.806 489.306 C 392.568 485.512,393.168 480.509,387.421 467.500 C 386.692 465.850,384.711 460.900,383.018 456.500 C 381.325 452.100,379.524 447.600,379.015 446.500 C 378.507 445.400,372.848 431.225,366.440 415.000 C 360.033 398.775,353.320 381.900,351.523 377.500 C 348.469 370.023,346.167 364.295,336.042 338.982 C 333.842 333.482,330.242 324.482,328.042 318.982 C 325.842 313.482,322.242 304.482,320.042 298.982 C 317.842 293.482,314.242 284.482,312.042 278.982 C 302.318 254.673,300.048 249.028,296.965 241.500 C 295.164 237.100,292.468 230.350,290.974 226.500 C 286.377 214.651,269.976 173.618,268.991 171.500 C 268.479 170.400,266.683 165.900,265.000 161.500 C 263.317 157.100,261.517 152.600,261.000 151.500 C 260.483 150.400,258.683 145.900,257.000 141.500 C 255.317 137.100,253.517 132.600,253.000 131.500 C 252.483 130.400,250.683 125.900,249.000 121.500 C 247.317 117.100,245.524 112.600,245.017 111.500 C 244.510 110.400,236.604 90.600,227.450 67.500 C 208.728 20.257,208.017 19.000,200.000 19.000 C 196.101 19.000,194.901 19.507,192.196 22.298 ', height: 24, width: 24, viewBox: '0 15 400 500' }, eventTerminateThrow: { icon: 'M1664 896q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z', height: 30, width: 30, viewBox: '0 0 1792 1792' }, gatewayComplex: { icon: 'M1546 1050q46 26 59.5 77.5t-12.5 97.5l-64 110q-26 46-77.5 59.5t-97.5-12.5l-266-153v307q0 52-38 90t-90 38h-128q-52 0-90-38t-38-90v-307l-266 153q-46 26-97.5 12.5t-77.5-59.5l-64-110q-26-46-12.5-97.5t59.5-77.5l266-154-266-154q-46-26-59.5-77.5t12.5-97.5l64-110q26-46 77.5-59.5t97.5 12.5l266 153v-307q0-52 38-90t90-38h128q52 0 90 38t38 90v307l266-153q46-26 97.5-12.5t77.5 59.5l64 110q26 46 12.5 97.5t-59.5 77.5l-266 154z', height: 32, width: 32, viewBox: '0 0 1792 1792' }, gatewayParallel: { icon: 'M1600 736v192q0 40-28 68t-68 28h-416v416q0 40-28 68t-68 28h-192q-40 0-68-28t-28-68v-416h-416q-40 0-68-28t-28-68v-192q0-40 28-68t68-28h416v-416q0-40 28-68t68-28h192q40 0 68 28t28 68v416h416q40 0 68 28t28 68z', height: 30, width: 30, viewBox: '0 -50 1792 1792' }, gatewayInclusive: { icon: 'M896 352q-148 0-273 73t-198 198-73 273 73 273 198 198 273 73 273-73 198-198 73-273-73-273-198-198-273-73zm768 544q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z', height: 30, width: 30, viewBox: '0 0 1792 1792' }, gatewayEventBased: { icon: 'M2025 4764 c-391 -61 -765 -219 -1085 -458 -118 -88 -318 -281 -415 -401 -266 -328 -447 -740 -510 -1162 -21 -141 -21 -545 0 -686 38 -250 113 -488 226 -717 131 -262 267 -447 481 -655 197 -192 373 -315 623 -436 221 -107 442 -175 697 -215 158 -25 518 -25 676 0 411 64 777 217 1102 460 118 88 318 281 415 401 267 330 443 730 512 1168 24 157 24 518 -1 675 -64 411 -217 777 -460 1102 -88 118 -281 318 -401 415 -328 266 -740 447 -1162 510 -134 20 -568 19 -698 -1z m580 -245 c755 -79 1432 -576 1728 -1270 238 -558 238 -1140 0 -1698 -328 -769 -1111 -1283 -1953 -1283 -842 0 -1625 514 -1953 1283 -121 283 -177 553 -177 849 0 1087 823 2002 1905 2119 187 21 251 20 450 0z M2255 4280 c-424 -44 -777 -188 -1080 -442 -544 -455 -788 -1181 -625 -1863 150 -630 608 -1138 1220 -1350 481 -167 957 -138 1428 85 369 176 696 503 872 872 223 471 251 947 85 1428 -256 739 -924 1232 -1725 1273 -52 3 -131 2 -175 -3z m288 -265 c652 -85 1164 -497 1371 -1101 75 -219 106 -447 87 -626 -64 -591 -393 -1085 -886 -1328 -286 -141 -599 -208 -848 -181 -590 64 -1084 393 -1327 886 -141 286 -208 599 -181 847 71 660 466 1184 1056 1403 127 47 263 82 390 99 134 19 203 19 338 1z M2270 3877 c-41 -30 -253 -179 -470 -332 -828 -584 -896 -634 -908 -660 -7 -14 -12 -34 -12 -44 0 -19 533 -1620 551 -1652 26 -49 18 -49 949 -49 931 0 923 0 949 49 18 32 551 1633 551 1652 0 10 -5 30 -12 44 -12 26 -80 76 -908 660 -217 153 -429 302 -470 332 -56 40 -83 53 -110 53 -27 0 -54 -13 -110 -53z m746 -638 c343 -242 624 -441 624 -443 0 -1 -107 -323 -238 -716 l-239 -715 -783 0 -783 0 -239 715 c-131 392 -235 717 -230 722 24 24 1239 877 1250 877 7 1 294 -197 638 -440z ', height: 32, width: 32, viewBox: '-65 -4850 4884 4884' }, gatewayParallelStart: { icon: 'M173.500 1.078 C 153.365 4.519,149.860 5.344,136.227 9.858 C 71.901 31.155,20.632 86.764,5.179 152.000 C 1.222 168.706,-0.000 180.028,0.000 200.000 C 0.000 225.665,2.232 240.226,9.640 262.887 C 30.893 327.895,86.320 379.263,152.000 394.821 C 168.706 398.778,180.028 400.000,200.000 400.000 C 225.665 400.000,240.226 397.768,262.887 390.360 C 327.895 369.107,379.263 313.680,394.821 248.000 C 398.778 231.294,400.000 219.972,400.000 200.000 C 400.000 174.335,397.768 159.774,390.360 137.113 C 373.814 86.503,336.062 43.001,288.951 20.257 C 267.729 10.012,251.177 4.888,228.087 1.416 C 217.705 -0.146,181.956 -0.367,173.500 1.078 M223.583 19.034 C 246.466 23.031,261.081 27.437,278.500 35.589 C 284.489 38.392,300.159 47.409,303.000 49.686 C 303.825 50.347,307.425 53.034,311.000 55.656 C 319.368 61.793,338.207 80.632,344.344 89.000 C 346.966 92.575,349.653 96.175,350.314 97.000 C 359.168 108.044,372.341 137.367,376.820 156.000 C 381.098 173.793,382.000 181.458,382.000 200.000 C 382.000 218.542,381.098 226.207,376.820 244.000 C 372.341 262.633,359.168 291.956,350.314 303.000 C 349.653 303.825,346.966 307.425,344.344 311.000 C 338.207 319.368,319.368 338.207,311.000 344.344 C 307.425 346.966,303.825 349.653,303.000 350.314 C 291.956 359.168,262.633 372.341,244.000 376.820 C 226.207 381.098,218.542 382.000,200.000 382.000 C 181.458 382.000,173.793 381.098,156.000 376.820 C 137.367 372.341,108.044 359.168,97.000 350.314 C 96.175 349.653,92.575 346.966,89.000 344.344 C 80.632 338.207,61.793 319.368,55.656 311.000 C 53.034 307.425,50.347 303.825,49.686 303.000 C 40.832 291.956,27.659 262.633,23.180 244.000 C 18.902 226.207,18.000 218.542,18.000 200.000 C 18.000 181.458,18.902 173.793,23.180 156.000 C 27.659 137.367,40.832 108.044,49.686 97.000 C 50.347 96.175,53.034 92.575,55.656 89.000 C 61.793 80.632,80.632 61.793,89.000 55.656 C 92.575 53.034,96.175 50.347,97.000 49.686 C 99.841 47.409,115.511 38.392,121.500 35.589 C 138.531 27.618,153.255 23.132,175.500 19.135 C 182.558 17.867,216.494 17.795,223.583 19.034 M167.108 39.631 C 161.429 42.094,161.576 40.391,161.481 104.720 C 161.433 137.291,161.079 164.254,160.695 164.638 C 160.310 165.023,134.582 165.374,103.521 165.419 L 47.045 165.500 44.273 168.271 L 41.500 171.042 41.185 197.271 C 40.854 224.812,41.338 229.186,45.096 232.587 C 47.123 234.421,49.532 234.503,103.603 234.581 C 134.619 234.626,160.314 234.981,160.703 235.370 C 161.093 235.759,161.446 262.498,161.490 294.789 C 161.572 356.831,161.573 356.835,165.759 359.578 C 169.758 362.198,222.378 362.293,226.355 359.687 C 230.532 356.950,230.711 354.266,230.766 293.674 C 230.795 261.869,231.101 235.565,231.446 235.220 C 231.791 234.875,259.238 234.572,292.440 234.546 L 352.806 234.500 355.903 231.259 C 357.730 229.348,359.039 226.887,359.094 225.259 C 359.616 209.905,359.353 173.921,358.703 171.847 C 356.604 165.147,360.288 165.505,292.929 165.450 C 259.455 165.423,231.795 165.128,231.461 164.795 C 231.128 164.461,230.775 137.484,230.678 104.844 C 230.484 40.139,230.686 42.355,224.765 39.903 C 220.914 38.307,170.705 38.071,167.108 39.631 M214.758 115.203 L 215.015 175.641 217.797 178.305 L 220.578 180.970 281.789 181.081 L 343.000 181.191 343.084 184.846 C 343.173 188.674,343.153 210.131,343.056 215.783 L 343.000 219.066 325.250 218.933 C 315.488 218.860,287.792 218.845,263.705 218.900 L 219.909 219.000 217.455 221.455 L 215.000 223.909 215.000 284.455 L 215.000 345.000 212.750 345.050 C 208.001 345.157,184.330 345.193,180.937 345.099 L 177.373 345.000 177.348 285.570 C 177.320 221.367,177.444 222.913,172.100 220.054 C 170.896 219.409,149.592 218.939,113.850 218.769 L 57.500 218.500 57.500 200.000 L 57.500 181.500 107.000 181.297 C 169.144 181.042,172.211 180.934,174.230 178.914 C 177.233 175.909,177.505 170.316,177.435 113.000 L 177.365 55.500 180.933 55.000 C 182.895 54.725,191.250 54.560,199.500 54.633 L 214.500 54.766 214.758 115.203 ', height: 32, width: 32, viewBox: '0 0 400 392' }, gatewayEventBasedStart: { icon: 'M175.500 14.656 C 54.262 29.051,-17.690 163.710,36.580 274.648 C 99.958 404.203,285.525 410.282,356.229 285.120 C 430.054 154.430,324.808 -3.073,175.500 14.656 M228.500 35.457 C 353.174 58.437,404.059 212.794,317.347 304.969 C 226.947 401.065,66.348 355.017,40.538 225.602 C 23.053 137.927,84.049 49.051,171.000 35.508 C 176.775 34.608,182.175 33.701,183.000 33.492 C 186.902 32.503,220.299 33.945,228.500 35.457 M181.000 89.346 C 173.025 94.991,154.800 107.872,140.500 117.971 C 83.019 158.566,84.467 157.338,86.213 163.978 C 88.414 172.349,124.887 281.595,127.006 286.161 C 128.707 289.830,128.770 289.835,175.500 290.497 C 231.303 291.286,268.667 290.178,270.494 287.678 C 273.132 284.070,313.212 161.982,312.583 159.473 C 311.746 156.141,309.160 154.227,229.068 97.666 C 196.577 74.721,200.664 75.429,181.000 89.346 M223.500 114.165 C 270.506 147.091,290.557 161.311,292.617 163.179 L 294.735 165.100 276.617 219.300 L 258.500 273.500 200.000 273.739 C 167.825 273.871,141.005 273.646,140.401 273.239 C 139.491 272.627,116.032 203.290,106.495 173.026 L 103.825 164.551 106.663 162.260 C 108.223 161.000,115.093 156.039,121.929 151.235 C 128.766 146.431,136.866 140.739,139.929 138.586 C 142.993 136.433,153.600 128.965,163.500 121.989 C 187.501 105.079,198.122 97.994,199.423 98.027 C 200.016 98.042,210.850 105.304,223.500 114.165 ', height: 32, width: 32, viewBox: '0 0 400 392' }, taskUser: { icon: 'M1536 1399q0 109-62.5 187t-150.5 78h-854q-88 0-150.5-78t-62.5-187q0-85 8.5-160.5t31.5-152 58.5-131 94-89 134.5-34.5q131 128 313 128t313-128q76 0 134.5 34.5t94 89 58.5 131 31.5 152 8.5 160.5zm-256-887q0 159-112.5 271.5t-271.5 112.5-271.5-112.5-112.5-271.5 112.5-271.5 271.5-112.5 271.5 112.5 112.5 271.5z', height: 15, width: 15, viewBox: '0 0 1792 1792' }, taskManual: { icon: 'M880 128q-46 0-79 33t-33 79v656h-32v-528q0-46-33-79t-79-33-79 33-33 79v784l-154-205q-38-51-102-51-53 0-90.5 37.5t-37.5 90.5q0 43 26 77l384 512q38 51 102 51h688q34 0 61-22t34-56l76-405q5-32 5-59v-498q0-46-33-79t-79-33-79 33-33 79v272h-32v-528q0-46-33-79t-79-33-79 33-33 79v528h-32v-656q0-46-33-79t-79-33zm0-128q68 0 125.5 35.5t88.5 96.5q19-4 42-4 99 0 169.5 70.5t70.5 169.5v17q105-6 180.5 64t75.5 175v498q0 40-8 83l-76 404q-14 79-76.5 131t-143.5 52h-688q-60 0-114.5-27.5t-90.5-74.5l-384-512q-51-68-51-154 0-106 75-181t181-75q78 0 128 34v-434q0-99 70.5-169.5t169.5-70.5q23 0 42 4 31-61 88.5-96.5t125.5-35.5z', height: 15, width: 15, viewBox: '0 0 1792 1792' }, taskScript: { icon: 'M1596 380q28 28 48 76t20 88v1152q0 40-28 68t-68 28h-1344q-40 0-68-28t-28-68v-1600q0-40 28-68t68-28h896q40 0 88 20t76 48zm-444-244v376h376q-10-29-22-41l-313-313q-12-12-41-22zm384 1528v-1024h-416q-40 0-68-28t-28-68v-416h-768v1536h1280zm-928-896q8-11 21-12.5t24 6.5l51 38q11 8 12.5 21t-6.5 24l-182 243 182 243q8 11 6.5 24t-12.5 21l-51 38q-11 8-24 6.5t-21-12.5l-226-301q-14-19 0-38zm802 301q14 19 0 38l-226 301q-8 11-21 12.5t-24-6.5l-51-38q-11-8-12.5-21t6.5-24l182-243-182-243q-8-11-6.5-24t12.5-21l51-38q11-8 24-6.5t21 12.5zm-620 461q-13-2-20.5-13t-5.5-24l138-831q2-13 13-20.5t24-5.5l63 10q13 2 20.5 13t5.5 24l-138 831q-2 13-13 20.5t-24 5.5z', height: 15, width: 15, viewBox: '0 0 1792 1792' }, taskService: { icon: 'M960 896q0-106-75-181t-181-75-181 75-75 181 75 181 181 75 181-75 75-181zm768 512q0-52-38-90t-90-38-90 38-38 90q0 53 37.5 90.5t90.5 37.5 90.5-37.5 37.5-90.5zm0-1024q0-52-38-90t-90-38-90 38-38 90q0 53 37.5 90.5t90.5 37.5 90.5-37.5 37.5-90.5zm-384 421v185q0 10-7 19.5t-16 10.5l-155 24q-11 35-32 76 34 48 90 115 7 11 7 20 0 12-7 19-23 30-82.5 89.5t-78.5 59.5q-11 0-21-7l-115-90q-37 19-77 31-11 108-23 155-7 24-30 24h-186q-11 0-20-7.5t-10-17.5l-23-153q-34-10-75-31l-118 89q-7 7-20 7-11 0-21-8-144-133-144-160 0-9 7-19 10-14 41-53t47-61q-23-44-35-82l-152-24q-10-1-17-9.5t-7-19.5v-185q0-10 7-19.5t16-10.5l155-24q11-35 32-76-34-48-90-115-7-11-7-20 0-12 7-20 22-30 82-89t79-59q11 0 21 7l115 90q34-18 77-32 11-108 23-154 7-24 30-24h186q11 0 20 7.5t10 17.5l23 153q34 10 75 31l118-89q8-7 20-7 11 0 21 8 144 133 144 160 0 8-7 19-12 16-42 54t-45 60q23 48 34 82l152 23q10 2 17 10.5t7 19.5zm640 533v140q0 16-149 31-12 27-30 52 51 113 51 138 0 4-4 7-122 71-124 71-8 0-46-47t-52-68q-20 2-30 2t-30-2q-14 21-52 68t-46 47q-2 0-124-71-4-3-4-7 0-25 51-138-18-25-30-52-149-15-149-31v-140q0-16 149-31 13-29 30-52-51-113-51-138 0-4 4-7 4-2 35-20t59-34 30-16q8 0 46 46.5t52 67.5q20-2 30-2t30 2q51-71 92-112l6-2q4 0 124 70 4 3 4 7 0 25-51 138 17 23 30 52 149 15 149 31zm0-1024v140q0 16-149 31-12 27-30 52 51 113 51 138 0 4-4 7-122 71-124 71-8 0-46-47t-52-68q-20 2-30 2t-30-2q-14 21-52 68t-46 47q-2 0-124-71-4-3-4-7 0-25 51-138-18-25-30-52-149-15-149-31v-140q0-16 149-31 13-29 30-52-51-113-51-138 0-4 4-7 4-2 35-20t59-34 30-16q8 0 46 46.5t52 67.5q20-2 30-2t30 2q51-71 92-112l6-2q4 0 124 70 4 3 4 7 0 25-51 138 17 23 30 52 149 15 149 31z', height: 15, width: 15, viewBox: '0 0 2048 1792' }, taskSendMessage: { icon: 'M1792 710v794q0 66-47 113t-113 47h-1472q-66 0-113-47t-47-113v-794q44 49 101 87 362 246 497 345 57 42 92.5 65.5t94.5 48 110 24.5h2q51 0 110-24.5t94.5-48 92.5-65.5q170-123 498-345 57-39 100-87zm0-294q0 79-49 151t-122 123q-376 261-468 325-10 7-42.5 30.5t-54 38-52 32.5-57.5 27-50 9h-2q-23 0-50-9t-57.5-27-52-32.5-54-38-42.5-30.5q-91-64-262-182.5t-205-142.5q-62-42-117-115.5t-55-136.5q0-78 41.5-130t118.5-52h1472q65 0 112.5 47t47.5 113z', height: 15, width: 15, viewBox: '0 0 1792 1792' }, taskBusinessRule: { icon: 'M576 1376v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47h-1344q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1344q66 0 113 47t47 113z', height: 15, width: 15, viewBox: '0 0 1792 1792' }, taskReceiveMessage: { icon: 'M1664 1504v-768q-32 36-69 66-268 206-426 338-51 43-83 67t-86.5 48.5-102.5 24.5h-2q-48 0-102.5-24.5t-86.5-48.5-83-67q-158-132-426-338-37-30-69-66v768q0 13 9.5 22.5t22.5 9.5h1472q13 0 22.5-9.5t9.5-22.5zm0-1051v-24.5l-.5-13-3-12.5-5.5-9-9-7.5-14-2.5h-1472q-13 0-22.5 9.5t-9.5 22.5q0 168 147 284 193 152 401 317 6 5 35 29.5t46 37.5 44.5 31.5 50.5 27.5 43 9h2q20 0 43-9t50.5-27.5 44.5-31.5 46-37.5 35-29.5q208-165 401-317 54-43 100.5-115.5t46.5-131.5zm128-37v1088q0 66-47 113t-113 47h-1472q-66 0-113-47t-47-113v-1088q0-66 47-113t113-47h1472q66 0 113 47t47 113z', height: 15, width: 15, viewBox: '0 0 1792 1792' }, markerCompensation: { icon: 'M190.550 32.563 C 187.441 36.703,185.313 39.000,184.587 39.000 C 183.632 39.000,179.000 43.740,179.000 44.717 C 179.000 45.162,177.794 46.420,176.320 47.513 C 172.916 50.037,170.037 52.916,167.513 56.320 C 166.420 57.794,165.162 59.000,164.717 59.000 C 163.666 59.000,159.000 63.666,159.000 64.717 C 159.000 65.162,157.794 66.420,156.320 67.513 C 152.916 70.037,150.037 72.916,147.513 76.320 C 146.420 77.794,145.162 79.000,144.717 79.000 C 143.666 79.000,139.000 83.666,139.000 84.717 C 139.000 85.162,137.794 86.420,136.320 87.513 C 132.916 90.037,130.037 92.916,127.513 96.320 C 126.420 97.794,125.162 99.000,124.717 99.000 C 123.666 99.000,119.000 103.666,119.000 104.717 C 119.000 105.162,117.794 106.420,116.320 107.513 C 112.916 110.037,110.037 112.916,107.513 116.320 C 106.420 117.794,105.162 119.000,104.717 119.000 C 104.273 119.000,102.805 120.105,101.455 121.455 C 100.105 122.805,99.000 124.273,99.000 124.717 C 99.000 125.162,97.794 126.420,96.320 127.513 C 92.916 130.037,90.037 132.916,87.513 136.320 C 86.420 137.794,85.162 139.000,84.717 139.000 C 83.666 139.000,79.000 143.666,79.000 144.717 C 79.000 145.162,77.794 146.420,76.320 147.513 C 72.916 150.037,70.037 152.916,67.513 156.320 C 66.420 157.794,65.162 159.000,64.717 159.000 C 63.666 159.000,59.000 163.666,59.000 164.717 C 59.000 165.162,57.794 166.420,56.320 167.513 C 52.916 170.037,50.037 172.916,47.513 176.320 C 46.420 177.794,45.162 179.000,44.717 179.000 C 43.666 179.000,39.000 183.666,39.000 184.717 C 39.000 185.162,37.846 186.392,36.437 187.450 C 30.012 192.275,30.000 192.298,30.000 200.130 C 30.000 206.900,30.217 207.688,32.563 209.450 C 36.703 212.559,39.000 214.687,39.000 215.413 C 39.000 216.368,43.740 221.000,44.717 221.000 C 45.162 221.000,46.420 222.206,47.513 223.680 C 50.037 227.084,52.916 229.963,56.320 232.487 C 57.794 233.580,59.000 234.838,59.000 235.283 C 59.000 236.334,63.666 241.000,64.717 241.000 C 65.162 241.000,66.420 242.206,67.513 243.680 C 70.037 247.084,72.916 249.963,76.320 252.487 C 77.794 253.580,79.000 254.838,79.000 255.283 C 79.000 256.334,83.666 261.000,84.717 261.000 C 85.162 261.000,86.420 262.206,87.513 263.680 C 90.037 267.084,92.916 269.963,96.320 272.487 C 97.794 273.580,99.000 274.838,99.000 275.283 C 99.000 276.334,103.666 281.000,104.717 281.000 C 105.162 281.000,106.420 282.206,107.513 283.680 C 110.037 287.084,112.916 289.963,116.320 292.487 C 117.794 293.580,119.000 294.838,119.000 295.283 C 119.000 296.334,123.666 301.000,124.717 301.000 C 125.162 301.000,126.420 302.206,127.513 303.680 C 130.037 307.084,132.916 309.963,136.320 312.487 C 137.794 313.580,139.000 314.838,139.000 315.283 C 139.000 316.334,143.666 321.000,144.717 321.000 C 145.162 321.000,146.420 322.206,147.513 323.680 C 150.037 327.084,152.916 329.963,156.320 332.487 C 157.794 333.580,159.000 334.838,159.000 335.283 C 159.000 336.334,163.666 341.000,164.717 341.000 C 165.162 341.000,166.420 342.206,167.513 343.680 C 170.037 347.084,172.916 349.963,176.320 352.487 C 177.794 353.580,179.000 354.838,179.000 355.283 C 179.000 356.260,183.632 361.000,184.587 361.000 C 185.313 361.000,187.441 363.297,190.550 367.437 C 194.558 372.774,212.000 370.016,212.000 364.045 C 212.000 363.470,212.450 363.000,213.000 363.000 C 213.550 363.000,214.000 361.650,214.000 360.000 C 214.000 358.000,214.500 357.000,215.500 357.000 C 216.814 357.000,217.000 350.437,217.000 303.929 C 217.000 245.255,216.683 248.000,223.457 248.000 C 226.885 248.000,229.980 250.923,288.049 309.000 L 349.040 370.000 355.638 370.000 C 363.233 370.000,370.000 365.109,370.000 359.618 C 370.000 358.178,370.450 357.000,371.000 357.000 C 371.662 357.000,372.000 304.500,372.000 201.500 C 372.000 98.500,371.662 46.000,371.000 46.000 C 370.450 46.000,370.000 44.650,370.000 42.999 C 370.000 37.026,363.091 32.000,354.879 32.000 C 350.960 32.000,348.000 32.430,348.000 33.000 C 348.000 33.550,347.336 34.000,346.524 34.000 C 345.711 34.000,318.499 60.550,286.051 93.000 C 229.914 149.140,226.880 152.000,223.456 152.000 C 216.683 152.000,217.000 154.744,217.000 96.071 C 217.000 49.563,216.814 43.000,215.500 43.000 C 214.556 43.000,214.000 42.048,214.000 40.429 C 214.000 39.014,213.438 37.289,212.750 36.594 C 212.063 35.899,210.606 34.131,209.513 32.665 C 206.547 28.687,193.513 28.618,190.550 32.563 M181.571 93.429 C 183.719 95.577,183.719 304.423,181.571 306.571 C 178.746 309.397,170.000 307.687,170.000 304.309 C 170.000 303.850,168.794 302.580,167.320 301.487 C 163.916 298.963,161.037 296.084,158.513 292.680 C 157.420 291.206,156.162 290.000,155.717 290.000 C 154.666 290.000,150.000 285.334,150.000 284.283 C 150.000 283.838,148.794 282.580,147.320 281.487 C 143.916 278.963,141.037 276.084,138.513 272.680 C 137.420 271.206,136.162 270.000,135.717 270.000 C 134.666 270.000,130.000 265.334,130.000 264.283 C 130.000 263.838,128.794 262.580,127.320 261.487 C 123.916 258.963,121.037 256.084,118.513 252.680 C 117.420 251.206,116.162 250.000,115.717 250.000 C 114.666 250.000,110.000 245.334,110.000 244.283 C 110.000 243.838,108.794 242.580,107.320 241.487 C 103.916 238.963,101.037 236.084,98.513 232.680 C 97.420 231.206,96.162 230.000,95.717 230.000 C 94.666 230.000,90.000 225.334,90.000 224.283 C 90.000 223.838,88.794 222.580,87.320 221.487 C 83.916 218.963,81.037 216.084,78.513 212.680 C 77.420 211.206,76.162 210.000,75.717 210.000 C 75.273 210.000,73.805 208.895,72.455 207.545 C 67.888 202.979,70.302 190.000,75.717 190.000 C 76.162 190.000,77.420 188.794,78.513 187.320 C 81.037 183.916,83.916 181.037,87.320 178.513 C 88.794 177.420,90.000 176.162,90.000 175.717 C 90.000 174.666,94.666 170.000,95.717 170.000 C 96.162 170.000,97.420 168.794,98.513 167.320 C 101.037 163.916,103.916 161.037,107.320 158.513 C 108.794 157.420,110.000 156.162,110.000 155.717 C 110.000 154.666,114.666 150.000,115.717 150.000 C 116.162 150.000,117.420 148.794,118.513 147.320 C 121.037 143.916,123.916 141.037,127.320 138.513 C 128.794 137.420,130.000 136.162,130.000 135.717 C 130.000 135.273,131.105 133.805,132.455 132.455 C 133.805 131.105,135.273 130.000,135.717 130.000 C 136.162 130.000,137.420 128.794,138.513 127.320 C 141.037 123.916,143.916 121.037,147.320 118.513 C 148.794 117.420,150.000 116.162,150.000 115.717 C 150.000 114.666,154.666 110.000,155.717 110.000 C 156.162 110.000,157.420 108.794,158.513 107.320 C 161.037 103.916,163.916 101.037,167.320 98.513 C 168.794 97.420,170.000 96.163,170.000 95.720 C 170.000 92.317,178.731 90.588,181.571 93.429 M337.571 93.429 C 339.719 95.577,339.719 304.423,337.571 306.571 C 332.494 311.649,333.045 312.107,277.469 256.522 L 226.000 205.045 226.000 200.040 L 226.000 195.035 277.250 143.609 C 332.711 87.959,332.378 88.236,337.571 93.429 ', height: 16, width: 16, viewBox: '20 0 430 400' }, markerCollapsedSubProcess: { icon: 'M0.000 200.000 L 0.000 400.000 200.000 400.000 L 400.000 400.000 400.000 200.000 L 400.000 0.000 200.000 0.000 L 0.000 0.000 0.000 200.000 M363.000 200.000 L 363.000 363.000 200.000 363.000 L 37.000 363.000 37.000 200.000 L 37.000 37.000 200.000 37.000 L 363.000 37.000 363.000 200.000 M192.000 78.871 C 183.783 81.591,177.698 86.574,172.914 94.500 C 170.502 98.496,170.500 98.536,170.202 133.167 C 169.978 159.299,169.598 168.089,168.660 168.868 C 167.873 169.521,154.746 170.011,132.957 170.200 C 94.470 170.535,95.945 170.271,87.161 178.407 C 75.349 189.347,75.349 210.671,87.161 221.586 C 95.986 229.741,94.439 229.465,133.167 229.798 C 159.299 230.022,168.089 230.402,168.868 231.340 C 169.521 232.127,170.011 245.254,170.200 267.043 C 170.535 305.532,170.264 304.019,178.414 312.839 C 189.329 324.650,210.671 324.650,221.586 312.839 C 229.736 304.019,229.465 305.532,229.800 267.043 C 229.989 245.254,230.479 232.127,231.132 231.340 C 231.911 230.402,240.701 230.022,266.833 229.798 C 305.561 229.465,304.014 229.741,312.839 221.586 C 327.534 208.006,323.919 184.031,305.500 172.914 C 301.508 170.505,301.433 170.499,268.000 170.246 C 249.575 170.106,233.509 169.765,232.298 169.489 L 230.095 168.986 229.798 133.743 C 229.465 94.360,229.754 96.000,221.586 87.161 C 215.183 80.232,200.400 76.090,192.000 78.871 ', height: 16, width: 16, viewBox: '0 0 400 400' }, markerExpandedSubProcess: { icon: 'M0.000 258.000 L 0.000 516.000 258.000 516.000 L 516.000 516.000 516.000 258.000 L 516.000 0.000 258.000 0.000 L 0.000 0.000 0.000 258.000 M468.000 258.000 L 468.000 468.000 258.000 468.000 L 48.000 468.000 48.000 258.000 L 48.000 48.000 258.000 48.000 L 468.000 48.000 468.000 258.000 M126.680 219.937 C 124.030 220.306,121.555 221.034,121.180 221.555 C 120.806 222.077,119.364 223.087,117.975 223.800 C 114.408 225.633,108.254 231.624,107.500 233.999 C 107.151 235.100,106.480 236.000,106.010 236.000 C 105.540 236.000,104.612 237.688,103.947 239.750 C 103.283 241.813,102.235 244.132,101.620 244.904 C 99.701 247.309,100.207 268.912,102.266 272.500 C 103.213 274.150,103.990 275.974,103.994 276.553 C 104.011 279.481,113.105 289.635,118.000 292.191 C 119.375 292.909,120.758 293.846,121.074 294.272 C 123.964 298.179,392.024 298.320,394.837 294.417 C 395.202 293.911,396.707 292.875,398.183 292.115 C 402.870 289.702,410.049 281.752,412.082 276.725 C 412.800 274.951,413.862 273.179,414.443 272.786 C 416.045 271.705,415.863 245.788,414.250 245.250 C 413.562 245.021,413.000 244.016,413.000 243.017 C 413.000 239.487,400.673 224.000,397.863 224.000 C 397.467 224.000,396.401 223.258,395.495 222.352 C 394.588 221.445,391.968 220.340,389.673 219.895 C 384.692 218.931,133.632 218.971,126.680 219.937 ', height: 16, width: 16, viewBox: '0 0 516 516' }, markerLoop: { icon: 'M1664 896q0 156-61 298t-164 245-245 164-298 61q-172 0-327-72.5t-264-204.5q-7-10-6.5-22.5t8.5-20.5l137-138q10-9 25-9 16 2 23 12 73 95 179 147t225 52q104 0 198.5-40.5t163.5-109.5 109.5-163.5 40.5-198.5-40.5-198.5-109.5-163.5-163.5-109.5-198.5-40.5q-98 0-188 35.5t-160 101.5l137 138q31 30 14 69-17 40-59 40h-448q-26 0-45-19t-19-45v-448q0-42 40-59 39-17 69 14l130 129q107-101 244.5-156.5t284.5-55.5q156 0 298 61t245 164 164 245 61 298z', height: 14, width: 14, viewBox: '-120 -180 1792 1892' }, markerMultiInstanceSequential: { icon: 'M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z', height: 14, width: 14, viewBox: '-100 -160 1792 1792' }, markerMultiInstanceParallel: { icon: 'M1664 1344v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45zm0-512v128q0 26-19 45t-45 19h-1408q-26 0-45-19t-19-45v-128q0-26 19-45t45-19h1408q26 0 45 19t19 45z', height: 14, width: 14, viewBox: '-100 -160 1792 1792', transform: 'rotate(90 900 900)' }, markerAdHoc: { icon: 'M109.000 134.000 C 109.000 134.550,106.750 135.000,104.000 135.000 C 101.250 135.000,99.000 135.450,99.000 136.000 C 99.000 136.550,97.200 137.000,95.000 137.000 C 92.800 137.000,91.000 137.450,91.000 138.000 C 91.000 138.550,89.650 139.000,88.000 139.000 C 86.350 139.000,85.000 139.450,85.000 140.000 C 85.000 140.550,84.319 141.000,83.486 141.000 C 82.654 141.000,81.191 141.394,80.236 141.875 C 79.281 142.356,76.475 143.773,74.000 145.024 C 71.525 146.275,68.491 147.794,67.258 148.399 C 66.025 149.005,65.012 149.838,65.008 150.250 C 65.004 150.662,64.438 151.001,63.750 151.002 C 63.063 151.004,60.925 152.353,59.000 154.000 C 57.075 155.647,55.163 156.996,54.751 156.998 C 54.339 156.999,52.148 158.800,49.881 161.000 C 47.614 163.200,45.353 165.000,44.858 165.000 C 43.638 165.000,34.075 174.656,30.993 179.000 C 29.627 180.925,26.820 184.242,24.755 186.371 C 22.690 188.499,21.000 190.763,21.000 191.400 C 21.000 192.037,20.100 193.207,19.000 194.000 C 17.900 194.793,17.000 195.932,17.000 196.532 C 17.000 197.132,16.213 198.495,15.250 199.561 C 14.288 200.628,12.861 202.738,12.081 204.250 C 11.301 205.762,10.288 207.000,9.831 207.000 C 9.374 207.000,9.000 207.694,9.000 208.542 C 9.000 209.390,8.100 211.050,7.000 212.230 C 5.900 213.411,5.000 214.967,5.000 215.689 C 5.000 216.410,4.550 217.000,4.000 217.000 C 3.450 217.000,3.000 217.862,3.000 218.917 C 3.000 219.971,2.438 221.021,1.750 221.250 C 0.822 221.559,0.500 225.622,0.500 237.000 C 0.500 248.378,0.822 252.441,1.750 252.750 C 2.438 252.979,3.000 253.856,3.000 254.698 C 3.000 256.504,9.805 263.000,11.695 263.000 C 12.413 263.000,13.000 263.450,13.000 264.000 C 13.000 264.550,13.873 265.000,14.941 265.000 C 16.009 265.000,17.160 265.450,17.500 266.000 C 17.841 266.552,22.324 267.000,27.500 267.000 C 32.676 267.000,37.159 266.552,37.500 266.000 C 37.840 265.450,39.216 265.000,40.559 265.000 C 41.902 265.000,43.000 264.626,43.000 264.169 C 43.000 263.712,44.237 262.699,45.750 261.919 C 49.193 260.143,50.143 259.193,51.919 255.750 C 52.699 254.238,53.712 253.000,54.169 253.000 C 54.626 253.000,55.000 252.100,55.000 251.000 C 55.000 249.900,55.450 249.000,56.000 249.000 C 56.550 249.000,57.000 248.100,57.000 247.000 C 57.000 245.900,57.450 245.000,58.000 245.000 C 58.550 245.000,59.000 244.410,59.000 243.689 C 59.000 242.967,59.900 241.411,61.000 240.230 C 62.100 239.050,63.001 237.727,63.002 237.292 C 63.004 236.856,64.353 234.925,66.000 233.000 C 67.647 231.075,68.996 229.170,68.998 228.767 C 69.005 226.514,92.787 203.000,95.059 203.000 C 95.622 203.000,97.050 202.100,98.230 201.000 C 99.411 199.900,100.967 199.000,101.689 199.000 C 102.410 199.000,103.000 198.550,103.000 198.000 C 103.000 197.450,104.098 197.000,105.441 197.000 C 106.784 197.000,108.160 196.550,108.500 196.000 C 108.840 195.450,110.190 195.000,111.500 195.000 C 112.810 195.000,114.160 194.550,114.500 194.000 C 114.840 193.450,118.890 193.000,123.500 193.000 C 128.110 193.000,132.160 193.450,132.500 194.000 C 132.840 194.550,134.441 195.000,136.059 195.000 C 137.677 195.000,139.000 195.450,139.000 196.000 C 139.000 196.550,139.632 197.000,140.405 197.000 C 142.071 197.000,150.353 201.170,150.833 202.250 C 151.017 202.662,152.029 203.000,153.083 203.000 C 154.137 203.000,155.000 203.374,155.000 203.831 C 155.000 204.288,156.238 205.298,157.750 206.074 C 159.262 206.851,161.175 208.186,162.000 209.041 C 162.825 209.895,165.075 211.688,167.000 213.023 C 168.925 214.359,172.975 217.948,176.000 221.000 C 179.025 224.052,183.075 227.645,185.000 228.986 C 186.925 230.326,189.693 232.678,191.151 234.211 C 192.609 235.745,194.184 237.001,194.651 237.002 C 195.118 237.004,197.075 238.353,199.000 240.000 C 200.925 241.647,203.063 242.996,203.750 242.998 C 204.438 242.999,205.000 243.450,205.000 244.000 C 205.000 244.550,205.590 245.000,206.311 245.000 C 207.033 245.000,208.589 245.900,209.770 247.000 C 210.950 248.100,212.610 249.000,213.458 249.000 C 214.306 249.000,215.000 249.450,215.000 250.000 C 215.000 250.550,215.900 251.000,217.000 251.000 C 218.100 251.000,219.000 251.450,219.000 252.000 C 219.000 252.550,219.900 253.000,221.000 253.000 C 222.100 253.000,223.000 253.450,223.000 254.000 C 223.000 254.550,223.900 255.000,225.000 255.000 C 226.100 255.000,227.000 255.450,227.000 256.000 C 227.000 256.550,227.873 257.000,228.941 257.000 C 230.009 257.000,231.160 257.450,231.500 258.000 C 231.840 258.550,233.190 259.000,234.500 259.000 C 235.810 259.000,237.160 259.450,237.500 260.000 C 237.840 260.550,239.415 261.000,241.000 261.000 C 242.585 261.000,244.160 261.450,244.500 262.000 C 244.840 262.550,246.891 263.000,249.059 263.000 C 251.227 263.000,253.000 263.450,253.000 264.000 C 253.000 264.634,260.480 265.000,273.441 265.000 C 285.990 265.000,294.121 264.614,294.500 264.000 C 294.840 263.450,296.891 263.000,299.059 263.000 C 301.227 263.000,303.000 262.550,303.000 262.000 C 303.000 261.450,304.350 261.000,306.000 261.000 C 307.650 261.000,309.000 260.550,309.000 260.000 C 309.000 259.450,310.350 259.000,312.000 259.000 C 313.650 259.000,315.000 258.550,315.000 258.000 C 315.000 257.450,315.612 257.000,316.360 257.000 C 318.003 257.000,330.363 250.809,330.833 249.750 C 331.017 249.337,332.029 249.000,333.083 249.000 C 334.138 249.000,335.000 248.550,335.000 248.000 C 335.000 247.450,335.608 247.000,336.352 247.000 C 337.095 247.000,339.116 245.650,340.843 244.000 C 342.569 242.350,344.471 241.000,345.069 241.000 C 345.667 241.000,347.886 239.200,350.000 237.000 C 352.114 234.800,354.216 232.995,354.672 232.990 C 355.912 232.974,365.281 223.821,368.597 219.384 C 370.194 217.248,373.188 213.848,375.250 211.828 C 377.313 209.809,379.000 207.738,379.000 207.227 C 379.000 206.715,380.238 204.985,381.750 203.381 C 383.262 201.778,385.139 199.236,385.919 197.733 C 386.699 196.230,387.712 195.000,388.169 195.000 C 388.626 195.000,389.000 194.410,389.000 193.689 C 389.000 192.967,389.900 191.411,391.000 190.230 C 392.100 189.050,393.000 187.390,393.000 186.542 C 393.000 185.694,393.374 185.000,393.831 185.000 C 394.288 185.000,395.300 183.762,396.079 182.250 C 396.859 180.738,397.948 179.179,398.498 178.786 C 400.057 177.676,399.821 147.774,398.250 147.250 C 397.562 147.021,397.000 146.144,397.000 145.302 C 397.000 143.496,390.195 137.000,388.305 137.000 C 387.587 137.000,387.000 136.550,387.000 136.000 C 387.000 135.450,386.127 135.000,385.059 135.000 C 383.991 135.000,382.840 134.550,382.500 134.000 C 381.690 132.690,362.310 132.690,361.500 134.000 C 361.160 134.550,360.009 135.000,358.941 135.000 C 357.873 135.000,357.000 135.450,357.000 136.000 C 357.000 136.550,356.370 137.000,355.600 137.000 C 353.781 137.000,347.000 143.781,347.000 145.600 C 347.000 146.370,346.550 147.000,346.000 147.000 C 345.450 147.000,345.000 147.900,345.000 149.000 C 345.000 150.100,344.550 151.000,344.000 151.000 C 343.450 151.000,343.000 151.590,343.000 152.311 C 343.000 153.033,342.100 154.589,341.000 155.770 C 339.900 156.950,339.000 158.511,339.000 159.237 C 339.000 159.964,338.100 161.207,337.000 162.000 C 335.900 162.793,335.000 163.963,335.000 164.600 C 335.000 165.237,333.310 167.501,331.245 169.629 C 329.180 171.758,326.377 175.075,325.017 177.000 C 321.891 181.424,319.413 183.900,315.000 187.011 C 313.075 188.368,310.196 190.721,308.602 192.239 C 307.008 193.758,305.301 195.000,304.810 195.000 C 304.318 195.000,302.950 195.900,301.770 197.000 C 300.589 198.100,299.033 199.000,298.311 199.000 C 297.590 199.000,297.000 199.450,297.000 200.000 C 297.000 200.550,296.127 201.000,295.059 201.000 C 293.991 201.000,292.840 201.450,292.500 202.000 C 292.160 202.550,290.784 203.000,289.441 203.000 C 288.098 203.000,287.000 203.450,287.000 204.000 C 287.000 204.550,284.615 205.000,281.700 205.000 C 278.785 205.000,275.911 205.489,275.313 206.087 C 274.530 206.870,274.038 206.870,273.554 206.087 C 273.184 205.489,270.209 205.000,266.941 205.000 C 263.647 205.000,261.000 204.554,261.000 204.000 C 261.000 203.450,259.650 203.000,258.000 203.000 C 256.350 203.000,255.000 202.550,255.000 202.000 C 255.000 201.450,254.100 201.000,253.000 201.000 C 251.900 201.000,251.000 200.550,251.000 200.000 C 251.000 199.450,250.100 199.000,249.000 199.000 C 247.900 199.000,247.000 198.550,247.000 198.000 C 247.000 197.450,246.100 197.000,245.000 197.000 C 243.900 197.000,243.000 196.550,243.000 196.000 C 243.000 195.450,242.199 195.000,241.221 195.000 C 240.242 195.000,238.793 194.100,238.000 193.000 C 237.207 191.900,236.077 191.000,235.489 191.000 C 234.901 191.000,232.431 189.200,230.000 187.000 C 227.569 184.800,225.203 183.000,224.742 183.000 C 224.281 183.000,220.888 179.953,217.202 176.228 C 213.516 172.504,208.925 168.346,207.000 166.989 C 205.075 165.632,202.196 163.279,200.602 161.761 C 199.008 160.242,197.194 159.000,196.572 159.000 C 195.950 159.000,194.793 158.100,194.000 157.000 C 193.207 155.900,191.857 155.000,191.000 155.000 C 190.143 155.000,188.793 154.100,188.000 153.000 C 187.207 151.900,185.758 151.000,184.779 151.000 C 183.801 151.000,183.000 150.550,183.000 150.000 C 183.000 149.450,182.100 149.000,181.000 149.000 C 179.900 149.000,178.996 148.662,178.992 148.250 C 178.983 147.352,174.140 145.000,172.301 145.000 C 171.585 145.000,171.000 144.550,171.000 144.000 C 171.000 143.450,170.100 143.000,169.000 143.000 C 167.900 143.000,167.000 142.550,167.000 142.000 C 167.000 141.450,166.127 141.000,165.059 141.000 C 163.991 141.000,162.840 140.550,162.500 140.000 C 162.160 139.450,160.810 139.000,159.500 139.000 C 158.190 139.000,156.840 138.550,156.500 138.000 C 156.160 137.450,154.334 137.000,152.441 137.000 C 150.548 137.000,149.000 136.550,149.000 136.000 C 149.000 135.450,146.552 135.000,143.559 135.000 C 140.566 135.000,137.840 134.550,137.500 134.000 C 137.136 133.411,131.156 133.000,122.941 133.000 C 114.314 133.000,109.000 133.381,109.000 134.000 ', height: 13, width: 13, viewBox: '-20 -40 420 400' } }; }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Canvas = function () { function Canvas(container, params, dataList, subProcessId, parentCanvas, subProcessFigure) { var _this = this; _classCallCheck(this, Canvas); this.element = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.dataList = dataList || []; this.state = null; this.subProcessId = subProcessId; this.parentCanvas = parentCanvas; this.subProcessFigure = subProcessFigure; this.mainCanvas = this; while (this.mainCanvas.parentCanvas) { this.mainCanvas = this.mainCanvas.parentCanvas; } var figureGroups = EspoBpmn.figureGroups; var defaultParams = { strokeWidth: 1.3, strokeColor: '#7a7a7a', textColor: '#4f4f4f', removalStrokeColor: '#b03333', removalStrokeWidth: 2, circleRadius: 20, circleInternalRadius: 17, outlineStroke: 7, outlineBlurStdDeviation: 3, outlineColor1: '#c66afc', outlineColor2: 'yellow', outlineColor3: '#87d66f', outlineColor4: '#a3a3a3', outlineOpacity: 0.5, dottedLineDashArray: '6.5, 3', dottedLineAssociationDashArray: '1.5, 4', dottedLineRectangeDashArray: '3, 4', rhombusSize: 50, canvasGridSize: 20, rectangleSizeX: 100, rectangleSizeY: 70, rectangleRoundingRadius: 5, rectangleIconMargin: 4, rectangleInternalLengthDiff: 6, rectangleExpandedDefaultWidth: 320, rectangleExpandedDefaultHeight: 200, rectangleExpandedFillColor: '#FFFFFF', rectangleExpandedFillOpacity: 0.7, fontSize: 11, textMarginTop: 4, textMarginSide: 4, textLinePaddingTop: 2, textRectangleExpandedMarginSide: 10, textWidth: 70, textRectangleWidth: 90, flowDefaultSlashShift: 10, flowDefaultSlashLength: 12, scaleSensitivity: 0.1, minScaleRatio: 0.5, maxScaleRatio: 3, scaleRatio: 1, scaleDisabled: false, movingDisabled: false, draggingDisabled: false, boldStrokeWidthMultiplier: 2, boundaryAttachIntervalSize: 40, activityMarkerHeight: 16, activityMarkerWidth: 16, eventStartFillColor: '#DAFFC3', eventStartStrokeColor: '#8dc669', eventEndFillColor: '#ffafaf', eventEndStrokeColor: '#d86565', eventIntermediateFillColor: '#e5efff', eventIntermediateStrokeColor: '#769ad3', gatewayFillColor: '#fff7c9', gatewayStrokeColor: '#c6b551', taskFillColor: '#f7f7f7', taskStrokeColor: '#999999', subProcessMargin: 10, resizeHandleSize: 16, figuresParams: {}, minExpandedWidth: 100, minExpandedHeight: 100, dataDefaults: { eventIntermediateCancelBoundary: { cancelActivity: true }, eventIntermediateCompensationBoundary: { cancelActivity: true }, eventIntermediateErrorBoundary: { cancelActivity: true } } }; this.params = params = params || {}; this.params.events = this.params.events || {}; for (var param in defaultParams) { if (param === 'figuresParams') { continue; } if (param in this.params) { continue; } this.params[param] = defaultParams[param]; } this.params.dataDefaults = this.params.dataDefaults || {}; this.params.figuresParams = this.params.figuresParams || {}; var figuresParams = {}; for (var groupType in figureGroups) { var strokeColor = this.params[groupType + 'StrokeColor']; var fillColor = this.params[groupType + 'FillColor']; figureGroups[groupType].forEach(function (item) { _this.params.figuresParams[item] = _this.params.figuresParams[item] || {}; _this.params.figuresParams[item].strokeColor = _this.params.figuresParams[item].strokeColor || strokeColor; _this.params.figuresParams[item].fillColor = _this.params.figuresParams[item].fillColor || fillColor; }); } for (var type in defaultParams.figuresParams) { if (!(type in this.params.figuresParams)) { this.params.figuresParams[type] = this._clone(defaultParams.figuresParams[type]); } } for (var type in defaultParams.dataDefaults) { if (!(type in this.params.dataDefaults)) { this.params.dataDefaults[type] = this._clone(defaultParams.dataDefaults[type]); } } this.isReadOnly = this.params.isReadOnly || false; this.scaleRatio = this.params.scaleRatio; this.offsetX = this.params.offsetX || 0; this.offsetY = this.params.offsetY || 0; if (container) { if ('canvasWidth' in params) { this.element.setAttribute('width', params.canvasWidth); } if ('canvasHeight' in params) { this.element.setAttribute('height', params.canvasHeight); } } this.figureHash = {}; this.isTouchDevice = false; if (!this.isTouchDevice) { var onFirstTouch = function onFirstTouch() { _this.isTouchDevice = true; document.removeEventListener('touchstart', onFirstTouch, false); }; document.addEventListener('touchstart', onFirstTouch, false); } if (this.subProcessId) { this.dummyElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.dummyElement.setAttribute('pointer-events', 'visibleFill'); this.dummyElement.setAttribute('fill', 'none'); this.element.appendChild(this.dummyElement); } this.viewportElement = document.createElementNS('http://www.w3.org/2000/svg', 'g'); this.viewportElement.setAttribute('transform', 'matrix(' + this.params.scaleRatio + ',0,0,' + this.params.scaleRatio + ',' + this.offsetX + ',' + this.offsetY + ')'); this.element.appendChild(this.viewportElement); if (container) { container.appendChild(this.element); } this.dataList.forEach(function (data) { if (!data.type) { return; } _this.createFigure(data.type, data); }); document.addEventListener('mouseup', this.onMouseUp.bind(this)); this.getElement().addEventListener('click', function (e) { if (e.which === 1) { _this.onLeftClick(e); } }); this.getElement().addEventListener('mousedown', function (e) { if (_this.isTouchDevice) { return; } e.preventDefault(); _this.onMouseDown(e); }); this.getElement().addEventListener('mousemove', function (e) { if (_this.isTouchDevice) { return; } e.preventDefault(); _this.onMouseMove(e); }); this.getElement().addEventListener('mouseleave', this.onMouseLeave.bind(this)); this.getElement().addEventListener('mouseenter', this.onMouseEnter.bind(this)); this.getElement().addEventListener('touchmove', this.onTouchMove.bind(this), { passive: true }); this.getElement().addEventListener('touchstart', this.onTouchStart.bind(this), { passive: true }); document.addEventListener('touchend', this.onTouchEnd.bind(this), { passive: true }); var mousewheelHandler = function mousewheelHandler(e) { if (_this.params.scaleDisabled || _this.isSubProcess()) { return; } e.preventDefault(); var offset = _this.getOffsetFromMouseEvent(e); var point = { x: offset.x, y: offset.y }; var delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail)); _this.scale(delta, point); }; this.getElement().addEventListener('mousewheel', mousewheelHandler, false); this.getElement().addEventListener("DOMMouseScroll", mousewheelHandler, false); } _createClass(Canvas, [{ key: 'getOffsetFromMouseEvent', value: function getOffsetFromMouseEvent(e) { var offsetX, offsetY; var element = this.getElement(); if (this.dummyElement) { element = this.dummyElement; } if (e.type === 'touchmove') { offsetX = e.changedTouches[0].clientX - element.getBoundingClientRect().left; offsetY = e.changedTouches[0].clientY - element.getBoundingClientRect().top; } else { offsetX = e.clientX - element.getBoundingClientRect().left; offsetY = e.clientY - element.getBoundingClientRect().top; } return { x: offsetX, y: offsetY }; } }, { key: 'moveTo', value: function moveTo(point) { this.offsetX = point.x; this.offsetY = point.y; var vector = [this.scaleRatio, 0, 0, this.scaleRatio, this.offsetX, this.offsetY]; this.viewportElement.setAttribute('transform', 'matrix(' + vector.join() + ')'); } }, { key: 'move', value: function move(deltaPoint) { this.offsetX += deltaPoint.x; this.offsetY += deltaPoint.y; var vector = [this.scaleRatio, 0, 0, this.scaleRatio, this.offsetX, this.offsetY]; this.viewportElement.setAttribute('transform', 'matrix(' + vector.join() + ')'); } }, { key: 'scaleCentered', value: function scaleCentered(delta) { var rect = this.getElement().getBoundingClientRect(); var x = Math.round((rect.width - rect.left) / 2); var y = Math.round((rect.height - rect.top) / 2); var point = { x: x, y: y }; this.scale(delta, point); } }, { key: 'scale', value: function scale(delta, point) { var scale = delta * this.params.scaleSensitivity; var width = this.getElement().getBoundingClientRect().width; var height = this.getElement().getBoundingClientRect().height; var currentScaleRatio = this.scaleRatio; var nextScaleRatio = this.scaleRatio + scale; if (nextScaleRatio > this.params.maxScaleRatio || nextScaleRatio < this.params.minScaleRatio) { return; } var pX = point.x / currentScaleRatio - this.offsetX / currentScaleRatio; var pY = point.y / currentScaleRatio - this.offsetY / currentScaleRatio; var offsetX = -(pX * scale); var offsetY = -(pY * scale); this.offsetX = this.offsetX + offsetX; this.offsetY = this.offsetY + offsetY; this.scaleRatio = nextScaleRatio; var vector = [this.scaleRatio, 0, 0, this.scaleRatio, this.offsetX, this.offsetY]; this.viewportElement.setAttribute('transform', 'matrix(' + vector.join() + ')'); } }, { key: 'triggerEvent', value: function triggerEvent(name, o) { o = o || {}; if (this.parentCanvas) { this.parentCanvas.triggerEvent(name, o); return; } if (this.params.events[name]) { var e = new EspoBpmn.Event(name); for (var i in o) { e[i] = o[i]; } this.params.events[name].call(this, e); } } }, { key: 'getElement', value: function getElement() { return this.element; } }, { key: 'getViewportElement', value: function getViewportElement() { return this.viewportElement; } }, { key: 'getFigure', value: function getFigure(id) { return this.figureHash[id]; } }, { key: 'createFigure', value: function createFigure(type, data) { var typeKeyName = type.charAt(0).toUpperCase() + type.slice(1); if (!data.id) { data.id = Math.random().toString(36).substr(2, 10); } data.type = type; var figure = new EspoBpmn.Figures[typeKeyName](data, this.params, type, this); this.figureHash[data.id] = figure; figure.addElement(); figure.afterRender(); return figure.id; } }, { key: 'remove', value: function remove(id, silent, isDependantRemove, removedIdList) { var _this2 = this; this.removeFromDataList(id); removedIdList = removedIdList || []; removedIdList.push(id); var figure = this.figureHash[id]; if (figure) { figure.dependantIdList.forEach(function (dId) { _this2.remove(dId, true, true, removedIdList); }); this.removeFigure(figure.id, isDependantRemove, false, removedIdList); } this.triggerEvent('removeFigure', { figureId: id }); if (!silent) { this.triggerEvent('change'); } } }, { key: 'removeFromDataList', value: function removeFromDataList(id) { var indexToRemove = -1; this.dataList.forEach(function (data, i) { if (data.id === id) { indexToRemove = i; } }); if (~indexToRemove) { this.dataList.splice(indexToRemove, 1); } } }, { key: 'removeFigure', value: function removeFigure(id, isDependantRemove, isDummy, removedIdList) { if (!(id in this.figureHash)) { return; } var figure = this.figureHash[id]; if (!isDummy) { figure.onRemove(isDependantRemove, removedIdList); } delete this.figureHash[id]; if (!figure) { return; } var element = figure.getElement(); if (element) { this.viewportElement.removeChild(element); } } }, { key: 'isSubProcess', value: function isSubProcess() { return !!this.subProcessId; } }, { key: 'isEventSubProcess', value: function isEventSubProcess() { if (this.params.isEventSubProcess) { return true; } if (!this.isSubProcess()) { return false; } var subProcessFigure = this.getSubProcessFigure(); return subProcessFigure.isEventSubProcess(); } }, { key: 'getSubProcessFigure', value: function getSubProcessFigure() { if (!this.subProcessId) { return null; } return this.subProcessFigure; } }, { key: 'setState', value: function setState(state, stateData) { var _this3 = this; this.state = state; this.stateData = stateData || {}; if (state === 'createFigure') { this.createDummyFigure(); } else { this.removeDummyFigure(); } this.dataList.forEach(function (item) { var figure = _this3.getFigure(item.id); if (!figure || !figure.subCanvas) { return; } figure.subCanvas.setState(state, stateData); }); } }, { key: 'resetState', value: function resetState(noReturn) { var _this4 = this; if (!noReturn && this.parentCanvas) { this.parentCanvas.resetState(); return; } this.state = null; this.stateData = {}; if (this.dummyFigure) { this.removeDummyFigure(); } this.dataList.forEach(function (item) { var figure = _this4.getFigure(item.id); if (!figure || !figure.subCanvas) { return; } figure.subCanvas.resetState(true); }); this.triggerEvent('resetState'); } }, { key: 'getState', value: function getState() { return this.state; } }, { key: 'createDummyFigure', value: function createDummyFigure() { var data = { center: { x: -10000, y: -10000 } }; var type = this.stateData.type; if (type in this.params.dataDefaults) { for (var attr in this.params.dataDefaults[type]) { data[attr] = this.params.dataDefaults[type][attr]; } } for (var attr in this.stateData) { data[attr] = this.stateData[attr]; } var id = this.createFigure(type, data); this.dummyFigure = this.getFigure(id); this.dummyFigure.getElement().setAttribute('width', 0); this.dummyFigure.getElement().setAttribute('height', 0); this.dummyFigure.getElement().style.visibility = 'hidden'; this.dummyFigure.getElement().setAttribute('pointer-events', 'none'); } }, { key: 'removeDummyFigure', value: function removeDummyFigure() { if (!this.dummyFigure) { return; } this.removeFigure(this.dummyFigure.id, null, true); this.dummyFigure = null; } }, { key: 'onMouseUp', value: function onMouseUp(e) { if (this.draggedFigure) { this.draggedFigure.finishDragging(); } if (this.resizedFigure) { this.resizedFigure.finishResizing(); } if (this.drawingFlowFigure) { this.cancelFlow(); } if (this.isCanvasDragging) { this.endCanvasDragging(); } } }, { key: 'onMouseDown', value: function onMouseDown(e) { if (e.which === 1) { if (!this.draggedFigure && !this.flowStartFigure) { if (!this.isCanvasDragged) { if (this.params.movingDisabled) { return; } if (e.target === this.getElement()) { this.isCanvasDragging = true; } } } } } }, { key: 'onTouchEnd', value: function onTouchEnd(e) { if (this.isFlowDrawingStarted()) { var figure = this.foundEndFigure; if (figure) { if (figure.checkFlowEndAllowed()) { this.endFlow(figure); } else { this.cancelFlow(); } } else { this.cancelFlow(); } } if (this.draggedFigure) { this.draggedFigure.finishDragging(); } if (this.resizedFigure) { this.resizedFigure.finishResizing(); } if (this.drawingFlowFigure) { this.cancelFlow(); } if (this.isCanvasDragging) { this.endCanvasDragging(); } } }, { key: 'onTouchStart', value: function onTouchStart(e) { this.isTouchDevice = true; if (!this.draggedFigure && !this.flowStartFigure) { if (!this.isCanvasDragged) { if (this.params.movingDisabled) { return; } if (e.target === this.getElement()) { this.isCanvasDragging = true; this.moveStartX = e.touches[0].clientX; this.moveStartY = e.touches[0].clientY; } } } } }, { key: 'onTouchMove', value: function onTouchMove(e) { if (this.isCanvasDragging) { if (e.target === this.getElement()) { this.isCanvasDragging = true; var movement = { x: e.touches[0].clientX - this.moveStartX, y: e.touches[0].clientY - this.moveStartY }; this.moveStartX = e.touches[0].clientX; this.moveStartY = e.touches[0].clientY; this.move(movement); this.isCanvasDragged = true; } } if (this.isFlowDrawingStarted()) { var offset = this.getOffsetFromMouseEvent(e); var point = this.getPointFromOffset(offset); var x = point.x; var y = point.y; var figure = this.findFigureUnderPoint({ x: x, y: y }); if (figure) { if (this.foundEndFigure && this.foundEndFigure.id !== figure.id) { this.foundEndFigure.flowEndOut(); } this.foundEndFigure = figure; figure.flowEndOver(); } else { if (this.foundEndFigure) { this.foundEndFigure.flowEndOut(); this.foundEndFigure = null; } } } } }, { key: 'unshadeShadedFigure', value: function unshadeShadedFigure() { if (this.shadedFigureId) { this.getFigure(this.shadedFigureId).unshadeElementColors(); } this.shadedFigureId = null; } }, { key: 'hideDummyFigure', value: function hideDummyFigure() { if (!this.dummyFigure) { return; } this.dummyFigure.getElement().setAttribute('width', 0); this.dummyFigure.getElement().setAttribute('height', 0); this.dummyFigure.getElement().style.visibility = 'hidden'; } }, { key: 'showDummyFigure', value: function showDummyFigure() { if (!this.dummyFigure) { return; } this.dummyFigure.getElement().removeAttribute('width'); this.dummyFigure.getElement().removeAttribute('height'); this.dummyFigure.getElement().style.visibility = 'visible'; if (this.dummyFigure.checkCreateAllowed()) { this.dummyFigure.unsetTransparency(); } else { this.dummyFigure.setTransparency(0.3); } } }, { key: 'onMouseMove', value: function onMouseMove(e) { if (this.isCanvasDragging) { this.move({ x: e.movementX, y: e.movementY }); this.isCanvasDragged = true; this.getElement().style.cursor = 'move'; } if (this.dummyFigure) { e.stopPropagation(); var offset = this.getOffsetFromMouseEvent(e); var point = this.getPointFromOffset(offset); var x = point.x; var y = point.y; this.dummyFigure.setElementCenter({ x: x, y: y }); this.showDummyFigure(); if (this.dummyFigure instanceof EspoBpmn.Figures.EventIntermediateBoundary) { this.dummyFigure.unsetTransparency(); var activityFigure = this.findActivityUnderBoundaryEvent(x, y); if (activityFigure) { activityFigure.shadeElementColors(true, true); if (this.shadedFigureId && this.shadedFigureId !== activityFigure.id) { this.unshadeShadedFigure(); } this.shadedFigureId = activityFigure.id; } else { this.unshadeShadedFigure(); this.dummyFigure.setTransparency(0.5); } if (this.parentCanvas) { this.parentCanvas.unshadeShadedFigure(); } } } } }, { key: 'onMouseEnter', value: function onMouseEnter(e) { if (this.dummyFigure) { e.stopPropagation(); if (this.parentCanvas) { this.parentCanvas.hideDummyFigure(); } var offset = this.getOffsetFromMouseEvent(e); var point = this.getPointFromOffset(offset); var x = point.x; var y = point.y; this.dummyFigure.setElementCenter({ x: x, y: y }); this.showDummyFigure(); } } }, { key: 'onMouseLeave', value: function onMouseLeave(e) { if (this.dummyFigure) { e.stopPropagation(); this.hideDummyFigure(); if (this.shadedFigureId) { this.getFigure(this.shadedFigureId).unshadeElementColors(); } this.shadedFigureId = null; } } }, { key: 'endCanvasDragging', value: function endCanvasDragging() { var _this5 = this; this.isCanvasDragging = null; setTimeout(function () { _this5.isCanvasDragged = null; }, 100); this.getElement().style.cursor = 'default'; } }, { key: 'onLeftClick', value: function onLeftClick(e) { if (!this.isCanvasDragged) { if (this.getState() === 'createFigure') { e.stopPropagation(); this.endCanvasDragging(); var offset = this.getOffsetFromMouseEvent(e); var point = this.getPointFromOffset(offset); var x = point.x; var y = point.y; if (this.dummyFigure instanceof EspoBpmn.Figures.EventIntermediateBoundary) { this.unshadeShadedFigure(); var activityFigure = this.findActivityUnderBoundaryEvent(x, y); if (activityFigure) { if (!this.dummyFigure.checkCreateAllowed(activityFigure)) { return; } this.processCreateBoundaryFigure({ x: x, y: y }, activityFigure); } return; } if (!this.dummyFigure.checkCreateAllowed()) { return; } this.processCreateFigure({ x: x, y: y }); return; } if (this.isJustEndedFlow) { this.isJustEndedFlow = false; e.stopPropagation(); } if (e.figureIsClicked) { return; } this.triggerEvent('canvasLeftClick', { originalEvent: e }); } } }, { key: 'findFigureUnderPoint', value: function findFigureUnderPoint(point) { var _this6 = this; var x = point.x; var y = point.y; var foundFigure = null; var distanceFound = null; this.dataList.forEach(function (item) { var figure = _this6.getFigure(item.id); if ((figure instanceof EspoBpmn.Figures.Activity || figure instanceof EspoBpmn.Figures.Circle || figure instanceof EspoBpmn.Figures.Rhombus) && item.center) { var isIn = false; if (figure instanceof EspoBpmn.Figures.Activity) { if (x >= item.center.x - figure.sideXHalfLength && x <= item.center.x + figure.sideXHalfLength && y >= item.center.y - figure.sideYHalfLength && y <= item.center.y + figure.sideYHalfLength) { isIn = true; } } else if (figure instanceof EspoBpmn.Figures.Circle) { if (x >= item.center.x - figure.radius && x <= item.center.x + figure.radius && y >= item.center.y - figure.radius && y <= item.center.y + figure.radius) { isIn = true; } } else if (figure instanceof EspoBpmn.Figures.Rhombus) { if (x >= item.center.x - figure.diagonalHalfLength && x <= item.center.x + figure.diagonalHalfLength && y >= item.center.y - figure.diagonalHalfLength && y <= item.center.y + figure.diagonalHalfLength) { isIn = true; } } if (isIn) { var distance = Math.pow(item.center.x - x, 2) + Math.pow(item.center.y - y, 2); if (distanceFound === null || distance < distanceFound) { foundFigure = figure; distanceFound = distance; } } } }); return foundFigure; } }, { key: 'findActivityUnderBoundaryEvent', value: function findActivityUnderBoundaryEvent(x, y) { var _this7 = this; var foundFigure = null; var radius = this.dummyFigure.radius; var distanceFound = null; this.dataList.forEach(function (item) { var figure = _this7.getFigure(item.id); if (figure instanceof EspoBpmn.Figures.Activity && item.center) { if (figure instanceof EspoBpmn.Figures.SubProcess && figure.isEventSubProcess()) { return; } if (x >= item.center.x - figure.sideXHalfLength - radius && x <= item.center.x + figure.sideXHalfLength + radius && y >= item.center.y - figure.sideYHalfLength - radius && y <= item.center.y + figure.sideYHalfLength + radius && !(x - radius > item.center.x - figure.sideXHalfLength && x + radius < item.center.x + figure.sideXHalfLength && y - radius > item.center.y - figure.sideYHalfLength && y + radius < item.center.y + figure.sideYHalfLength)) { var distance = Math.pow(item.center.x - x, 2) + Math.pow(item.center.y - y, 2); if (distanceFound === null || distance < distanceFound) { foundFigure = figure; distanceFound = distance; } } } }); return foundFigure; } }, { key: 'processCreateBoundaryFigure', value: function processCreateBoundaryFigure(point, activityFigure) { var type = this.stateData.type; var data = { type: type, attachedToId: activityFigure.id }; if (type in this.params.dataDefaults) { for (var attr in this.params.dataDefaults[type]) { data[attr] = this.params.dataDefaults[type][attr]; } } for (var attr in this.stateData) { data[attr] = this.stateData[attr]; } var attachPoint = activityFigure.findClosestAvailableAttachPoint(point); if (!attachPoint) { return; } data.attachPosition = attachPoint.position; data.center = activityFigure.getAttachPointByPosition(data.attachPosition); this.dataList.push(data); var id = this.createFigure(type, data); this.getFigure(id).onCreate(); this.triggerEvent('createFigure', { figureId: id, figureData: data }); this.triggerEvent('change'); this.resetState(); } }, { key: 'processCreateFigure', value: function processCreateFigure(point) { var type = this.stateData.type; var data = { type: type, center: point }; if (type in this.params.dataDefaults) { var dataDefaults = this._clone(this.params.dataDefaults[type]); for (var attr in dataDefaults) { data[attr] = dataDefaults[attr]; } } for (var attr in this.stateData) { data[attr] = this.stateData[attr]; } this.dataList.push(data); var id = this.createFigure(type, data); if (this.getFigure(id).isAlignableToGrid()) { this.getFigure(id).alignToGrid(); } this.getFigure(id).onCreate(); this.triggerEvent('createFigure', { figureId: id, figureData: data }); this.triggerEvent('change'); this.resetState(); } }, { key: 'getPointFromOffset', value: function getPointFromOffset(offset) { if (!this.parentCanvas) { var x = (offset.x - this.offsetX) / this.scaleRatio; var y = (offset.y - this.offsetY) / this.scaleRatio; return { x: x, y: y }; } else { var _x = offset.x / this.mainCanvas.scaleRatio - this.offsetX; var _y = offset.y / this.mainCanvas.scaleRatio - this.offsetY; return { x: _x, y: _y }; } } }, { key: 'startFlow', value: function startFlow(figure) { var _this8 = this; this.flowStartFigure = figure; var startDirectionIsSet = false; var startRadius = figure.getParam('circleRadius'); if (figure instanceof EspoBpmn.Figures.Circle) { startRadius = figure.getParam('circleRadius'); } if (figure instanceof EspoBpmn.Figures.Rhombus) { startRadius = figure.diagonalHalfLength; } var startDirection = null; this.flowListener = function (e) { var offset = _this8.getOffsetFromMouseEvent(e); var point = _this8.getPointFromOffset(offset); var x = point.x; var y = point.y; if (!startDirectionIsSet) { var isCentered = false; if (x < _this8.flowStartFigure.data.center.x + startRadius && x > _this8.flowStartFigure.data.center.x - startRadius) { if (y < _this8.flowStartFigure.data.center.y + startRadius && y > _this8.flowStartFigure.data.center.y - startRadius) { isCentered = true; } } if (!isCentered) { startDirectionIsSet = true; var shiftX = x - figure.data.center.x; var shiftY = y - figure.data.center.y; if (Math.abs(shiftX) > Math.abs(shiftY)) { startDirection = shiftX >= 0 ? 'r' : 'l'; } else { startDirection = shiftY > 0 ? 'd' : 'u'; } } } if (!_this8.drawingFlowFigure) { var flowDrawingData = { startId: _this8.flowStartFigure.id, endPoint: point, startDirection: startDirection }; if (_this8.flowStartFigure.outgoingFlowIsAssociation()) { flowDrawingData.isAssociation = true; } var id = _this8.createFigure('flowDrawing', flowDrawingData); _this8.drawingFlowFigure = _this8.getFigure(id); } if (_this8.flowEndFigure && _this8.checkFlowAllowed(_this8.flowStartFigure, _this8.flowEndFigure)) { _this8.drawingFlowFigure.setEndFigure(_this8.flowEndFigure); _this8.flowEndFigure.shadeElementColors(); } else { _this8.drawingFlowFigure.setEndPoint(point); } _this8.drawingFlowFigure.data.startDirection = startDirection; _this8.drawingFlowFigure.reRender(); }; this.getElement().addEventListener('mousemove', this.flowListener); if (this.isTouchDevice) { this.getElement().addEventListener('touchmove', this.flowListener, { passive: true }); } this.flowStopListener = function (e) { _this8.cancelFlow(); }; this.getElement().addEventListener('mouseup', this.flowStopListener); } }, { key: 'endFlow', value: function endFlow(figure) { if (!this.flowStartFigure) { return; } if (!this.drawingFlowFigure) { return; } var isAssociation = this.flowStartFigure.outgoingFlowIsAssociation(); var startDirection = this.drawingFlowFigure.data.startDirection; var startFigure = this.flowStartFigure; var endFigure = figure; this.cancelFlow(); if (!this.checkFlowAllowed(startFigure, endFigure)) { return; } var data = { startId: startFigure.id, endId: endFigure.id, startDirection: startDirection }; if (isAssociation) { data.isAssociation = true; } endFigure.onFlowEnd(startFigure, figure); this.dataList.push(data); this.createFigure('flow', data); this.triggerEvent('change'); } }, { key: 'setFlowEndOver', value: function setFlowEndOver(figure) { if (figure.id === this.flowStartFigure.id) { return; } this.flowEndFigure = figure; } }, { key: 'setFlowEndOut', value: function setFlowEndOut(figure) { if (figure.id === this.flowStartFigure.id) { return; } this.flowEndFigure = null; } }, { key: 'cancelFlow', value: function cancelFlow() { this.flowStartFigure = null; this.flowEndFigure = null; if (this.flowListener) { this.getElement().removeEventListener('mousemove', this.flowListener); if (this.isTouchDevice) { this.getElement().removeEventListener('touchmove', this.flowListener); } } if (this.flowStopListener) { this.getElement().removeEventListener('mouseup', this.flowStopListener); if (this.isTouchDevice) { this.getElement().removeEventListener('touchend', this.flowStopListener); } } if (this.drawingFlowFigure) { this.removeFigure(this.drawingFlowFigure.id); this.drawingFlowFigure = null; } } }, { key: 'isFlowDrawingStarted', value: function isFlowDrawingStarted() { return !!this.flowStartFigure; } }, { key: 'checkFlowAllowed', value: function checkFlowAllowed(startFigure, endFigure) { var _this9 = this; if (startFigure.id === endFigure.id) { return false; } var isExisting = false; startFigure.flowFromIdList.forEach(function (flowId) { var flowFigure = _this9.getFigure(flowId); if (!flowFigure) { return; } if (flowFigure.data.endId === endFigure.id) { isExisting = true; } }); if (!startFigure.checkFlowReturnAllowed()) { endFigure.flowFromIdList.forEach(function (flowId) { var flowFigure = _this9.getFigure(flowId); if (!flowFigure) { return; } if (flowFigure.data.endId === startFigure.id) { isExisting = true; } }); } if (isExisting) { return false; } if (endFigure instanceof EspoBpmn.Figures.EventIntermediateBoundary) { return false; } if ( //!endFigure.checkFlowEndAllowed() || !endFigure.checkFlowFromAllowed(startFigure) || !startFigure.checkFlowStartAllowed() || !startFigure.checkFlowToAllowed(endFigure)) { return false; } return true; } }, { key: '_clone', value: function _clone(o) { var _out, v, _key; if (o === null) { return null; } _out = Array.isArray(o) ? [] : {}; for (_key in o) { v = o[_key]; _out[_key] = (typeof v === 'undefined' ? 'undefined' : _typeof(v)) === "object" ? this._clone(v) : v; } return _out; } }]); return Canvas; }(); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Base = function () { function Base(data, params, type, canvas) { _classCallCheck(this, Base); this.data = data; this.params = params; this.type = type; this.id = this.data.id; this.canvas = canvas; var figuresParams = params.figuresParams || {}; this.figureParams = figuresParams[this.type] || {}; this.dependantIdList = []; this.flowFromIdList = []; this.flowToIdList = []; this.init(); this.prepareElement(); } _createClass(Base, [{ key: 'init', value: function init() {} }, { key: 'isDraggable', value: function isDraggable() { return true; } }, { key: 'isAlignableToGrid', value: function isAlignableToGrid() { return true; } }, { key: 'getCanvasFigure', value: function getCanvasFigure(id) { return this.canvas.getFigure(id); } }, { key: 'isRemovable', value: function isRemovable() { return true; } }, { key: 'getParam', value: function getParam(name) { var functionName = 'getParam' + name.charAt(0).toUpperCase() + name.slice(1); if (functionName in this) { return this[functionName](); } if (name in this.figureParams) { return this.figureParams[name]; } return this.params[name]; } }, { key: 'getFigureParam', value: function getFigureParam(name) { var functionName = 'getParam' + name.charAt(0).toUpperCase() + name.slice(1); if (functionName in this) { return this[functionName](); } if (name in this.figureParams) { return this.figureParams[name]; } } }, { key: 'getGlobalParam', value: function getGlobalParam(name) { return this.params[name]; } }, { key: 'getElement', value: function getElement() { return this.element; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { return !this.flowFromIdList.length; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { return true; } }, { key: 'checkFlowToAllowed', value: function checkFlowToAllowed(endFigure) { return true; } }, { key: 'checkFlowReturnAllowed', value: function checkFlowReturnAllowed() { return false; } }, { key: 'checkFlowFromAllowed', value: function checkFlowFromAllowed(startFigure) { return this.checkFlowEndAllowed(); } }, { key: 'registerMouseEvents', value: function registerMouseEvents() { var _this10 = this; this.element.onmouseover = function (e) { _this10.onMouseOver(e); }; this.element.onmouseout = function (e) { _this10.onMouseOut(e); }; this.element.onmousedown = function (e) { if (_this10.canvas.isTouchDevice) { return; } e.preventDefault(); _this10.onMouseDown(e); }; this.element.onmouseup = function (e) { _this10.onMouseUp(e); }; this.element.onmousemove = function (e) { _this10.onMouseMove(e); }; this.element.onclick = function (e) { if (_this10.canvas.isTouchDevice) { return; } if (e.which === 1) { _this10.onLeftClick(e); } else if (e.which === 2) { _this10.onRightClick(e); } }; this.element.addEventListener('touchstart', function (e) { _this10.onTouchStart(e); }, { passive: true }); this.element.addEventListener('touchend', function (e) { _this10.onTouchEnd(e); }, { passive: true }); } }, { key: 'flowEndOver', value: function flowEndOver() { if (this.checkFlowEndAllowed() && this.canvas.isFlowDrawingStarted() && this.canvas.flowStartFigure.checkFlowToAllowed(this)) { if (this.id !== this.canvas.flowStartFigure.id) { this.canvas.setFlowEndOver(this); } } } }, { key: 'flowEndOut', value: function flowEndOut() { if (this.checkFlowEndAllowed() && this.canvas.isFlowDrawingStarted() && this.canvas.flowStartFigure.checkFlowToAllowed(this)) { this.canvas.setFlowEndOut(this); } this.unshadeElementColors(); } }, { key: 'onMouseOver', value: function onMouseOver(e) { if (this.isEventToSkip(e)) { return; } this.preHandleEvent(e); if (this.canvas.getState() === 'createFlow') { if (!this.canvas.flowStartFigure) { this.shadeElementColors(); return; } this.flowEndOver(); return; } if (this.canvas.figureIsDragged) { return; } if (this.canvas.getState() === 'createFigure') { return; } if (this.canvas.getState() === 'remove') { if (!this.isRemovable()) { return; } this.showRemovalIndication(); return; } this.shadeElementColors(); } }, { key: 'onMouseOut', value: function onMouseOut(e) { if (this.isEventToSkip(e)) { return; } this.preHandleEvent(e); if (this.canvas.getState() === 'createFlow') { this.flowEndOut(); return; } if (this.canvas.figureIsDragged) { return; } if (this.canvas.getState() === 'remove') { this.hideRemovalIndication(); return; } this.unshadeElementColors(); } }, { key: 'onMouseDown', value: function onMouseDown(e) { if (this.isEventToSkip(e)) { return; } this.preHandleEvent(e); if (this.canvas.getState() === 'createFlow') { if (this.checkFlowStartAllowed()) { this.canvas.startFlow(this); } return; } if (this.canvas.getState() === 'remove') { return; } if (this.canvas.getState() === 'createFigure') { return; } if (this.isDraggable() && !this.blockDragging && !this.canvas.isReadOnly) { if (e.which === 1) { if (this.canvas.params.draggingDisabled) { return; } this.startDragging(); } } } }, { key: 'onTouchStart', value: function onTouchStart(e) { this.canvas.isTouchDevice = true; if (this.canvas.getState() === 'createFlow') { if (this.checkFlowStartAllowed()) { this.canvas.startFlow(this); } return; } if (this.canvas.getState() === 'remove') { return; } if (this.canvas.getState() === 'createFigure') { return; } if (this.isDraggable() && !this.blockDragging && !this.canvas.isReadOnly) { if (e.type === 'touchstart') { e.stopPropagation(); if (this.canvas.params.draggingDisabled) { return; } this.startDragging(); } } } }, { key: 'onTouchEnd', value: function onTouchEnd(e) { if (this.canvas.getState() === 'createFlow') { return; } this.onLeftClick(e); } }, { key: 'onMouseUp', value: function onMouseUp(e) { if (this.isEventToSkip(e)) { return; } this.preHandleEvent(e); if (this.canvas.getState() === 'createFlow') { if (this.checkFlowEndAllowed()) { this.canvas.endFlow(this); } else { this.canvas.cancelFlow(); } this.canvas.isJustEndedFlow = true; return; } } }, { key: 'isEventToSkip', value: function isEventToSkip(e) { if (e.subProcessId && e.figureId !== this.id) { return true; } } }, { key: 'preHandleEvent', value: function preHandleEvent(e) { if (this.canvas.isSubProcess()) { e.subProcessId = this.canvas.subProcessId; } e.figureId = this.id; } }, { key: 'onLeftClick', value: function onLeftClick(e) { if (this.isEventToSkip(e)) { return; } this.preHandleEvent(e); if (this.clickIsBlocked) { return; } if (this.canvas.getState() === 'remove') { this.canvas.endCanvasDragging(); if (!this.isRemovable()) { return; } this.canvas.remove(this.id); return; } if (this.canvas.getState() === 'createFigure') { return; } if (this.isDragged) { return; } if (this.isResized) { return; } this.canvas.triggerEvent('figureLeftClick', { figureId: this.id, originalEvent: e }); e.figureIsClicked = true; } }, { key: 'onRightClick', value: function onRightClick(e) { if (this.isEventToSkip(e)) { return; } this.preHandleEvent(e); if (this.clickIsBlocked) { return; } if (this.isDragged) { return; } this.canvas.triggerEvent('figureRightClick', { figureId: this.id, originalEvent: e }); } }, { key: 'startDragging', value: function startDragging() { this.isDragging = true; this.setIsNotDragged(); this.canvas.draggedFigure = this; this.draggingListener = this.draggingProcess.bind(this); this.canvas.getElement().addEventListener('mousemove', this.draggingListener); this.canvas.getElement().addEventListener('touchmove', this.draggingListener, { passive: true }); } }, { key: 'draggingProcess', value: function draggingProcess(e) { var _this11 = this; this.getElement().style.cursor = 'move'; if (this.isDragged) { var offset = this.canvas.getOffsetFromMouseEvent(e); var point = this.canvas.getPointFromOffset(offset); var x = point.x; var y = point.y; if (this.canvas.draggingOffsetX !== null) { x = x - this.canvas.draggingOffsetX; y = y - this.canvas.draggingOffsetY; } this.setElementCenter({ x: x, y: y }); this.fetchFromDom(); this.rePositionDependencies(); this.reRenderDependencies(); this.onDrag(); return; } this.setIsDragged(); if (this.data.center) { var _offset = this.canvas.getOffsetFromMouseEvent(e); var _point = this.canvas.getPointFromOffset(_offset); var _x2 = _point.x; var _y2 = _point.y; this.canvas.draggingOffsetX = _x2 - this.data.center.x; this.canvas.draggingOffsetY = _y2 - this.data.center.y; } this.canvas.getViewportElement().appendChild(this.getElement()); this.dependantIdList.forEach(function (depId) { var depElement = _this11.canvas.getFigure(depId).getElement(); _this11.canvas.getViewportElement().appendChild(depElement); }); } }, { key: 'setIsDragged', value: function setIsDragged() { this.isDragged = true; this.canvas.figureIsDragged = true; } }, { key: 'setIsNotDragged', value: function setIsNotDragged() { this.isDragged = false; this.canvas.figureIsDragged = false; } }, { key: 'finishDragging', value: function finishDragging() { var _this12 = this; this.isDragging = false; if (this.canvas.draggedFigure) { this.canvas.draggedFigure = null; this.canvas.getElement().removeEventListener('mousemove', this.draggingListener); this.canvas.getElement().removeEventListener('touchmove', this.draggingListener); this.canvas.draggingOffsetX = null; this.canvas.draggingOffsetY = null; } if (this.isDragged) { this.setIsNotDragged(); if (this.isAlignableToGrid()) { this.alignToGrid(); } this.fetchFromDom(); if (this.canvas.subProcessFigure) { this.canvas.subProcessFigure.fitSizeForFigure(this); } this.canvas.triggerEvent('change'); } this.dependantIdList.forEach(function (depId) { var depElement = _this12.canvas.getFigure(depId).getElement(); _this12.canvas.getViewportElement().appendChild(depElement); }); this.getElement().style.cursor = 'pointer'; this.blockDragging = true; setTimeout(function () { _this12.blockDragging = null; }, 200); this.unshadeElementColors(); } }, { key: 'onDrag', value: function onDrag() {} }, { key: 'alignToGrid', value: function alignToGrid() { this.data.center.x = this.alignCoordinateToGrid(Math.round(this.data.center.x)); this.data.center.y = this.alignCoordinateToGrid(Math.round(this.data.center.y)); this.rePositionDependencies(); this.reRenderDependencies(); this.reRender(); } }, { key: 'rePositionDependencies', value: function rePositionDependencies() {} }, { key: 'reRenderDependencies', value: function reRenderDependencies() { var _this13 = this; this.dependantIdList.forEach(function (id) { var figure = _this13.canvas.getFigure(id); if (!figure) { return; } figure.reRender(); figure.reRenderDependencies(); }); } }, { key: 'reRender', value: function reRender() { this.removeElement(); this.prepareElement(); this.addElement(); this.afterRender(); } }, { key: 'afterRender', value: function afterRender() {} }, { key: 'onRemove', value: function onRemove() {} }, { key: 'onCreate', value: function onCreate() {} }, { key: 'onFlowEnd', value: function onFlowEnd(startFigure, flowFigure) {} }, { key: 'alignCoordinateToGrid', value: function alignCoordinateToGrid(x) { var reminderX = Math.floor(x % this.params.canvasGridSize); if (reminderX > this.params.canvasGridSize / 2) { x = x + (this.params.canvasGridSize - reminderX); } else { x = x - reminderX; } return x; } }, { key: 'onMouseMove', value: function onMouseMove(e) {} }, { key: 'removeElement', value: function removeElement() { if (!this.element) { return; } this.canvas.viewportElement.removeChild(this.element); delete this.element; } }, { key: 'addElement', value: function addElement() { this.canvas.viewportElement.appendChild(this.element); } }, { key: 'shadeColor', value: function shadeColor(color, percent) { var num = parseInt(color.slice(1), 16), amt = Math.round(2.55 * percent), R = (num >> 16) + amt, G = (num >> 8 & 0x00FF) + amt, B = (num & 0x0000FF) + amt; return "#" + (0x1000000 + (R < 255 ? R < 1 ? 0 : R : 255) * 0x10000 + (G < 255 ? G < 1 ? 0 : G : 255) * 0x100 + (B < 255 ? B < 1 ? 0 : B : 255)).toString(16).slice(1); } }, { key: 'wrapText', value: function wrapText(text, width) { var words = text.split(' '); var svgDocument = document; //var textElement = svgDocument.getElementById('multiline-text'); var tspanElement = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); var textNode = svgDocument.createTextNode(words[0]); var textElement = this.textElement; while (textElement.firstChild) { textElement.removeChild(textElement.firstChild); } tspanElement.appendChild(textNode); textElement.appendChild(tspanElement); for (var i = 1; i < words.length; i++) { var len = tspanElement.firstChild.data.length; tspanElement.firstChild.data += ' ' + words[i]; if (tspanElement.getComputedTextLength() > width) { tspanElement.firstChild.data = tspanElement.firstChild.data.slice(0, len); tspanElement = document.createElementNS('http://www.w3.org/2000/svg', 'tspan'); tspanElement.setAttributeNS(null, 'x', 0); tspanElement.setAttributeNS(null, 'dy', this.getParam('textLinePaddingTop') + this.getParam('fontSize')); textNode = svgDocument.createTextNode(words[i]); tspanElement.appendChild(textNode); textElement.appendChild(tspanElement); } } } }, { key: 'outgoingFlowIsAssociation', value: function outgoingFlowIsAssociation() { return false; } }, { key: 'shadeElementColors', value: function shadeElementColors() {} }, { key: 'unshadeElementColors', value: function unshadeElementColors() {} }, { key: 'showRemovalIndication', value: function showRemovalIndication() {} }, { key: 'hideRemovalIndication', value: function hideRemovalIndication() {} }, { key: 'isInEventSubProcess', value: function isInEventSubProcess() { return this.canvas.isEventSubProcess(); } }, { key: 'isInSubProcess', value: function isInSubProcess() { return this.canvas.isSubProcess(); } }, { key: 'getSubProcessId', value: function getSubProcessId() { return this.canvas.subProcessId; } }, { key: 'checkCreateAllowed', value: function checkCreateAllowed() { return true; } }]); return Base; }(); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Flow = function (_EspoBpmn$Figures$Bas) { _inherits(Flow, _EspoBpmn$Figures$Bas); function Flow() { _classCallCheck(this, Flow); return _possibleConstructorReturn(this, (Flow.__proto__ || Object.getPrototypeOf(Flow)).apply(this, arguments)); } _createClass(Flow, [{ key: 'init', value: function init() { if (this.data.startId) { var startFigure = this.canvas.getFigure(this.data.startId); if (startFigure) { if (!~startFigure.dependantIdList.indexOf(this.id)) { startFigure.dependantIdList.push(this.id); } if (!~startFigure.flowFromIdList.indexOf(this.id)) { startFigure.flowFromIdList.push(this.id); } } } if (this.data.endId) { var endFigure = this.canvas.getFigure(this.data.endId); if (endFigure) { if (!~endFigure.dependantIdList.indexOf(this.id)) { endFigure.dependantIdList.push(this.id); } if (!~endFigure.flowToIdList.indexOf(this.id)) { endFigure.flowToIdList.push(this.id); } } } } }, { key: 'isAlignableToGrid', value: function isAlignableToGrid() { return false; } }, { key: 'onRemove', value: function onRemove(isDependantRemove, removedIdList) { if (this.data.startId) { var startFigure = this.canvas.getFigure(this.data.startId); if (startFigure) { var index = startFigure.flowFromIdList.indexOf(this.id); if (~index) { startFigure.flowFromIdList.splice(index, 1); } if (!isDependantRemove || removedIdList && !~removedIdList.indexOf(startFigure.id)) { var _index = startFigure.dependantIdList.indexOf(this.id); if (~_index) { startFigure.dependantIdList.splice(_index, 1); } } } } if (this.data.endId) { var endFigure = this.canvas.getFigure(this.data.endId); if (endFigure) { var _index2 = endFigure.flowToIdList.indexOf(this.id); if (~_index2) { endFigure.flowToIdList.splice(_index2, 1); } if (!(this instanceof EspoBpmn.Figures.FlowDrawing) && endFigure.data.isForCompensation && !endFigure.flowToIdList.length) { endFigure.data.isForCompensation = false; endFigure.reRender(); } if (!isDependantRemove || removedIdList && !~removedIdList.indexOf(endFigure.id)) { var _index3 = endFigure.dependantIdList.indexOf(this.id); if (~_index3) { endFigure.dependantIdList.splice(_index3, 1); } } } } } }, { key: 'draggingProcess', value: function draggingProcess(e) { this.canvas.getElement().style.cursor = 'move'; var startFigure = this.canvas.getFigure(this.data.startId); var startRadius = startFigure.getParam('circleRadius'); if (startFigure instanceof EspoBpmn.Figures.Circle) { startRadius = startFigure.getParam('circleRadius'); } if (startFigure instanceof EspoBpmn.Figures.Rhombus) { startRadius = startFigure.diagonalHalfLength; } if (this.isDragged) { var offset = this.canvas.getOffsetFromMouseEvent(e); var point = this.canvas.getPointFromOffset(offset); var x = point.x; var y = point.y; var isCentered = false; var startDirection = null; if (x < startFigure.data.center.x + startRadius && x > startFigure.data.center.x - startRadius) { if (y < startFigure.data.center.y + startRadius && y > startFigure.data.center.y - startRadius) { isCentered = true; } } if (!isCentered) { var shiftX = x - startFigure.data.center.x; var shiftY = y - startFigure.data.center.y; if (Math.abs(shiftX) > Math.abs(shiftY)) { startDirection = shiftX >= 0 ? 'r' : 'l'; } else { startDirection = shiftY > 0 ? 'd' : 'u'; } } this.data.startDirection = startDirection; this.reRender(); } else { this.setIsDragged(); } } }, { key: 'finishDragging', value: function finishDragging() { _get(Flow.prototype.__proto__ || Object.getPrototypeOf(Flow.prototype), 'finishDragging', this).call(this); this.canvas.getElement().style.cursor = 'default'; } }, { key: 'alignToGrid', value: function alignToGrid() {} }, { key: 'fetchFromDom', value: function fetchFromDom() {} }, { key: 'prepareElement', value: function prepareElement() { if (this.element) { this.removeElement(); } this.element = document.createElementNS('http://www.w3.org/2000/svg', 'g'); this.element.setAttribute('data-id', this.data.id); this.textElement = null; if (this.data.text && this.data.text !== '') { this.textElement = document.createElementNS('http://www.w3.org/2000/svg', 'text'); this.textElement.setAttribute('font-size', this.getParam('fontSize')); this.textElement.setAttribute('fill', this.getParam('textColor')); this.textElement.setAttribute('style', 'pointer-events: none;user-select: none;' + '-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;'); } var startId = this.data.startId; var endId = this.data.endId; var endPoint = this.data.endPoint; if (!startId || !endId && !endPoint) { throw new Error("Could not create path flow."); } var startFigure = this.getCanvasFigure(startId); var endFigure = null; if (endId) { endFigure = this.getCanvasFigure(endId); } if (!startFigure || endId && !endFigure) { throw new Error("Could not create path flow."); } var startPoint = void 0; var startCenter = startFigure.data.center; var endCenter = null; if (endFigure) { endCenter = endFigure.data.center; } else { endCenter = this.data.endPoint; } var startRadius = void 0; var endRadius = 0; var path = void 0; startRadius = startFigure.getParam('circleRadius'); if (endFigure) { endRadius = endFigure.getParam('circleRadius'); } if (startFigure instanceof EspoBpmn.Figures.Circle) { startRadius = startFigure.getParam('circleRadius'); } if (endFigure instanceof EspoBpmn.Figures.Circle) { endRadius = endFigure.getParam('circleRadius'); } if (startFigure instanceof EspoBpmn.Figures.Rhombus) { startRadius = startFigure.diagonalHalfLength; } if (endFigure instanceof EspoBpmn.Figures.Rhombus) { endRadius = endFigure.diagonalHalfLength; } var verticalDirection = ''; var horizontalDirection = ''; if (startCenter.y > endCenter.y) { verticalDirection = 'u'; } else if (startCenter.y < endCenter.y) { verticalDirection = 'd'; } if (startFigure instanceof EspoBpmn.Figures.Rectangle) { startRadius = Math.min(startFigure.sideXHalfLength, startFigure.sideYHalfLength); } if (endFigure instanceof EspoBpmn.Figures.Rectangle) { endRadius = Math.min(endFigure.sideXHalfLength, endFigure.sideYHalfLength); } if (startCenter.x > endCenter.x) { horizontalDirection = 'l'; } else if (startCenter.x < endCenter.x) { horizontalDirection = 'r'; } var overridenStartDirection = this.data.startDirection || ''; var isOpposite = false; var oppositeMultiplier = 1; if (!overridenStartDirection) { if (startCenter.y === endCenter.y) { path = horizontalDirection; } else if (startCenter.x === endCenter.x) { path = verticalDirection; } else if (Math.abs(startCenter.y - endCenter.y) < startRadius + endRadius) { path = horizontalDirection + verticalDirection + horizontalDirection; } else { path = verticalDirection + horizontalDirection; } } else if (overridenStartDirection === 'r' || overridenStartDirection === 'l') { if (startFigure instanceof EspoBpmn.Figures.Rectangle) { startRadius = startFigure.sideXHalfLength; } var _oppositeMultiplier = 1; if (overridenStartDirection === 'l') { _oppositeMultiplier = -1; } isOpposite = (endCenter.x - startCenter.x - startRadius * _oppositeMultiplier) * _oppositeMultiplier <= 0; if (startCenter.y === endCenter.y) { if (!isOpposite) { path = overridenStartDirection; } else { path = overridenStartDirection + 'u' + this.turnBackDirection(overridenStartDirection); } } else if (startCenter.x === endCenter.x) { path = overridenStartDirection + verticalDirection + this.turnBackDirection(overridenStartDirection); } else if (Math.abs(startCenter.y - endCenter.y) < startRadius + endRadius) { if (!isOpposite) { path = overridenStartDirection + verticalDirection + overridenStartDirection; } else { path = overridenStartDirection + verticalDirection + this.turnBackDirection(overridenStartDirection); } } else { if (!isOpposite) { path = overridenStartDirection + verticalDirection; } else { path = overridenStartDirection + verticalDirection + this.turnBackDirection(overridenStartDirection); } } } else if (overridenStartDirection === 'd' || overridenStartDirection === 'u') { if (startFigure instanceof EspoBpmn.Figures.Rectangle) { startRadius = startFigure.sideYHalfLength; } var _oppositeMultiplier2 = 1; if (overridenStartDirection === 'u') { _oppositeMultiplier2 = -1; } isOpposite = (endCenter.y - startCenter.y - startRadius * _oppositeMultiplier2) * _oppositeMultiplier2 <= 0; if (startCenter.x === endCenter.x) { if (!isOpposite) { path = overridenStartDirection; } else { path = overridenStartDirection + 'r' + this.turnBackDirection(overridenStartDirection); } } else if (startCenter.y === endCenter.y) { path = overridenStartDirection + horizontalDirection + this.turnBackDirection(overridenStartDirection); } else if (Math.abs(startCenter.x - endCenter.x) < startRadius + endRadius) { if (!isOpposite) { path = overridenStartDirection + horizontalDirection + overridenStartDirection; } else { path = overridenStartDirection + horizontalDirection + this.turnBackDirection(overridenStartDirection); } } else { if (!isOpposite) { path = overridenStartDirection + horizontalDirection; } else { path = overridenStartDirection + horizontalDirection + this.turnBackDirection(overridenStartDirection); } } } if (startFigure instanceof EspoBpmn.Figures.Rectangle) { startRadius = startFigure.sideXHalfLength; if (path.charAt(0) === 'u' || path.charAt(0) === 'd') { startRadius = startFigure.sideYHalfLength; } } if (!overridenStartDirection) { if (startCenter.x !== endCenter.x) { if (Math.abs(startCenter.x - endCenter.x) < startRadius + endRadius) { path += verticalDirection; } } } if (endFigure instanceof EspoBpmn.Figures.Rectangle) { endRadius = endFigure.sideXHalfLength; if (path.charAt(path.length - 1) === 'u' || path.charAt(path.length - 1) === 'd') { endRadius = endFigure.sideYHalfLength; } } var startVerticalShift = startRadius; var endVerticalShift = endRadius; startPoint = { x: startCenter.x, y: startCenter.y }; endPoint = { x: endCenter.x, y: endCenter.y }; if (path.charAt(0) === 'u') { startPoint.y -= startVerticalShift; } else if (path.charAt(0) === 'd') { startPoint.y += startVerticalShift; } else if (path.charAt(0) === 'r') { startPoint.x += startVerticalShift; } else if (path.charAt(0) === 'l') { startPoint.x -= startVerticalShift; } if (path.slice(-1) === 'u') { endPoint.y += endVerticalShift; } else if (path.slice(-1) === 'd') { endPoint.y -= endVerticalShift; } else if (path.slice(-1) === 'r') { endPoint.x -= endVerticalShift; } else if (path.slice(-1) === 'l') { endPoint.x += endVerticalShift; } var pointList = []; pointList.push(startPoint); if (path.length === 4) { path = path.substr(0, 2); } if (path.length === 2) { var middlePoint = { x: null, y: null }; if (path.charAt(0) === 'u' || path.charAt(0) === 'd') { middlePoint.x = startPoint.x; middlePoint.y = endPoint.y; } else { middlePoint.x = endPoint.x; middlePoint.y = startPoint.y; } pointList.push(middlePoint); } else if (path.length === 3) { var middlePoint1 = { x: null, y: null }; if (path.charAt(0) === 'u' || path.charAt(0) === 'd') { middlePoint1.x = startPoint.x; if (isOpposite) { middlePoint1.y = startPoint.y + Math.max(startRadius, endRadius) * oppositeMultiplier; } else { middlePoint1.y = startPoint.y + Math.floor((endPoint.y - startPoint.y) / 2); } } else { if (isOpposite) { middlePoint1.x = startPoint.x + Math.max(startRadius, endRadius) * oppositeMultiplier; } else { middlePoint1.x = startPoint.x + Math.floor((endPoint.x - startPoint.x) / 2); } middlePoint1.y = startPoint.y; } pointList.push(middlePoint1); var middlePoint2 = { x: null, y: null }; if (path.charAt(0) === 'u' || path.charAt(0) === 'd') { middlePoint2.x = endPoint.x; middlePoint2.y = middlePoint1.y; } else { middlePoint2.x = middlePoint1.x; middlePoint2.y = endPoint.y; } pointList.push(middlePoint2); } pointList.push(endPoint); this.markerElement = document.createElementNS('http://www.w3.org/2000/svg', 'marker'); this.defsElement = document.createElementNS('http://www.w3.org/2000/svg', 'defs'); this.polylineElement = document.createElementNS('http://www.w3.org/2000/svg', 'polyline'); this.pathArrowElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); this.defsElement.appendChild(this.markerElement); this.markerElement.appendChild(this.pathArrowElement); this.markerElement.setAttribute('markerWidth', '8'); this.markerElement.setAttribute('markerHeight', '8'); this.markerElement.setAttribute('orient', 'auto'); this.markerElement.setAttribute('id', 'marker-' + this.id); this.markerElement.setAttribute('stroke', this.getParam('strokeColor')); this.markerElement.setAttribute('fill', this.getParam('strokeColor')); this.markerElement.setAttribute('markerUnits', 'strokeWidth'); this.markerElement.setAttribute('refX', 7); this.markerElement.setAttribute('refY', 4); this.pathArrowElement.setAttribute('d', 'M 1 2 6 4 1 6 Z'); this.polylineElement.setAttribute('stroke-width', this.getParam('strokeWidth')); this.polylineElement.setAttribute('stroke', this.getParam('strokeColor')); this.polylineElement.setAttribute('fill', 'none'); this.polylineElement.setAttribute('marker-end', 'url(#' + 'marker-' + this.id + ')'); this.element.setAttribute('style', 'cursor: pointer'); var pointsStringList = []; pointList.forEach(function (point) { pointsStringList.push(point.x + ',' + point.y); }); this.polylineElement.setAttribute('points', pointsStringList.join(' ')); this.element.appendChild(this.defsElement); this.element.appendChild(this.polylineElement); this.slashElement = null; if (this.data.isDefault) { var yShift = 0; var xShift = 0; var angle = 45; if (path.charAt(0) === 'u') { yShift = -this.getParam('flowDefaultSlashShift'); } else if (path.charAt(0) === 'd') { yShift = this.getParam('flowDefaultSlashShift'); } else if (path.charAt(0) === 'l') { xShift = -this.getParam('flowDefaultSlashShift'); angle = 135; } else if (path.charAt(0) === 'r') { xShift = this.getParam('flowDefaultSlashShift'); angle = 135; } this.slashElement = document.createElementNS('http://www.w3.org/2000/svg', 'polyline'); this.slashElement.setAttribute('stroke', this.getParam('strokeColor')); this.slashElement.setAttribute('stroke-width', this.getParam('strokeWidth')); var dashX = pointList[0].x + xShift; var dashY = pointList[0].y + yShift; if (pointList.length > 1) { if (path.charAt(0) === 'u') { if (dashY <= pointList[1].y) { dashY = pointList[0].y - Math.round((pointList[0].y - pointList[1].y) / 2); } } else if (path.charAt(0) === 'd') { if (dashY >= pointList[1].y) { dashY = pointList[0].y + Math.round((pointList[1].y - pointList[0].y) / 2); } } else if (path.charAt(0) === 'l') { if (dashX <= pointList[1].x) { dashX = pointList[0].x - Math.round((pointList[0].x - pointList[1].x) / 2); } } else if (path.charAt(0) === 'r') { if (dashX >= pointList[1].x) { dashX = pointList[0].x + Math.round((pointList[1].x - pointList[0].x) / 2); } } } this.slashElement.setAttribute('transform', 'translate(' + dashX + ' ' + dashY + ') rotate(' + angle + ')'); var slashHalfLength = Math.round(this.getParam('flowDefaultSlashLength') / 2); this.slashElement.setAttribute('points', '-' + slashHalfLength + ',0 ' + slashHalfLength + ',0'); this.element.appendChild(this.slashElement); } if (this.data.isAssociation) { this.polylineElement.setAttribute('stroke-linecap', 'round'); this.polylineElement.setAttribute('stroke-dasharray', this.getParam('dottedLineAssociationDashArray')); } if (this.textElement) { var _yShift = 0; var _xShift = 0; if (path.charAt(0) === 'u') { _yShift = -Math.round(this.getParam('fontSize') / 2); _xShift = +this.getParam('textMarginSide'); } else if (path.charAt(0) === 'd') { _yShift = Math.round(this.getParam('fontSize') / 2) + this.getParam('textMarginTop'); _xShift = +this.getParam('textMarginSide'); } else if (path.charAt(0) === 'l') { _yShift = -Math.round(this.getParam('fontSize') / 2); _xShift = -this.getParam('textMarginSide'); this.textElement.setAttribute('text-anchor', 'end'); } else if (path.charAt(0) === 'r') { _yShift = -Math.round(this.getParam('fontSize') / 2); _xShift = +this.getParam('textMarginSide'); } this.textElement.setAttribute('y', pointList[0].y + _yShift); this.textElement.setAttribute('x', pointList[0].x + _xShift); this.element.appendChild(this.textElement); } this.registerMouseEvents(); } }, { key: 'isDraggable', value: function isDraggable() { return true; } }, { key: 'onMouseOver', value: function onMouseOver(e) { _get(Flow.prototype.__proto__ || Object.getPrototypeOf(Flow.prototype), 'onMouseOver', this).call(this, e); if (this.canvas.getState() === 'remove') { return; } var color = this.shadeColor(this.getParam('strokeColor'), -10); this.polylineElement.setAttribute('stroke', color); if (this.slashElement) { this.slashElement.setAttribute('stroke', color); } this.markerElement.setAttribute('stroke', color); this.markerElement.setAttribute('fill', color); } }, { key: 'onMouseOut', value: function onMouseOut(e) { _get(Flow.prototype.__proto__ || Object.getPrototypeOf(Flow.prototype), 'onMouseOut', this).call(this, e); this.polylineElement.setAttribute('stroke', this.getParam('strokeColor')); if (this.slashElement) { this.slashElement.setAttribute('stroke', this.getParam('strokeColor')); } this.markerElement.setAttribute('stroke', this.getParam('strokeColor')); this.markerElement.setAttribute('fill', this.getParam('strokeColor')); } }, { key: 'showRemovalIndication', value: function showRemovalIndication() { var color = this.getParam('removalStrokeColor'); this.polylineElement.setAttribute('stroke', color); this.polylineElement.setAttribute('stroke-opacity', 0.5); if (this.slashElement) { this.slashElement.setAttribute('stroke', color); this.slashElement.setAttribute('stroke-opacity', 0.5); } this.markerElement.setAttribute('stroke', color); this.markerElement.setAttribute('fill', color); this.markerElement.setAttribute('stroke-opacity', 0.5); } }, { key: 'hideRemovalIndication', value: function hideRemovalIndication() { this.polylineElement.setAttribute('stroke-opacity', 1); if (this.slashElement) { this.slashElement.setAttribute('stroke-opacity', 1); } this.markerElement.setAttribute('stroke-opacity', 1); } }, { key: 'setEndFigure', value: function setEndFigure(figure) { this.data.endPoint = null; this.data.endId = figure.id; } }, { key: 'setEndPoint', value: function setEndPoint(point) { this.data.endId = null; this.data.endPoint = point; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { return false; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { return false; } }, { key: 'afterRender', value: function afterRender() { if (this.textElement) { this.wrapText(this.data.text, 200); } } }, { key: 'turnBackDirection', value: function turnBackDirection(direction) { if (direction === 'u') return 'd'; if (direction === 'd') return 'u'; if (direction === 'r') return 'l'; if (direction === 'l') return 'r'; } }]); return Flow; }(EspoBpmn.Figures.Base); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.FlowDrawing = function (_EspoBpmn$Figures$Flo) { _inherits(FlowDrawing, _EspoBpmn$Figures$Flo); function FlowDrawing() { _classCallCheck(this, FlowDrawing); return _possibleConstructorReturn(this, (FlowDrawing.__proto__ || Object.getPrototypeOf(FlowDrawing)).apply(this, arguments)); } _createClass(FlowDrawing, [{ key: 'init', value: function init() {} }, { key: 'onMouseOver', value: function onMouseOver(e) {} }, { key: 'onMouseOut', value: function onMouseOut(e) {} }, { key: 'isDraggable', value: function isDraggable() { return false; } }]); return FlowDrawing; }(EspoBpmn.Figures.Flow); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Circle = function (_EspoBpmn$Figures$Bas2) { _inherits(Circle, _EspoBpmn$Figures$Bas2); function Circle() { _classCallCheck(this, Circle); return _possibleConstructorReturn(this, (Circle.__proto__ || Object.getPrototypeOf(Circle)).apply(this, arguments)); } _createClass(Circle, [{ key: 'prepareElement', value: function prepareElement() { if (this.element) { this.removeElement(); } this.element = document.createElementNS('http://www.w3.org/2000/svg', 'g'); this.element.setAttribute('data-id', this.data.id); var iconPathD = this.getIcon(); if (iconPathD) { this.iconElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.iconElement.setAttribute('height', this.getIconHeight()); this.iconElement.setAttribute('width', this.getIconWidth()); this.iconElement.setAttribute('viewBox', this.getIconViewBox()); } this.textElement = null; if (this.data.text && this.data.text !== '') { this.textElement = document.createElementNS('http://www.w3.org/2000/svg', 'text'); this.textElement.setAttribute('font-size', this.getParam('fontSize')); this.textElement.setAttribute('text-anchor', 'middle'); this.textElement.setAttribute('fill', this.getParam('textColor')); this.textElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;' + '-moz-user-select: none;-ms-user-select: none;'); } this.circleElement = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); var strokeWidth = this.getParam('strokeWidth'); if (this.isBoldStroke()) { strokeWidth *= this.getParam('boldStrokeWidthMultiplier'); radius = radius - strokeWidth + this.getParam('strokeWidth'); } if (this.isDoubleBorder()) { this.internalCircleElement = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); this.internalCircleElement.setAttribute('stroke-width', strokeWidth); this.internalCircleElement.setAttribute('stroke', this.getParam('strokeColor')); this.internalCircleElement.setAttribute('r', this.getParam('circleInternalRadius')); this.internalCircleElement.setAttribute('fill', 'none'); } if (this.data.outline) { var outlineColor = this.getParam('outlineColor1'); if (this.data.outline > 1) { outlineColor = this.getParam('outlineColor' + this.data.outline); } this.outlineFilterElement = document.createElementNS('http://www.w3.org/2000/svg', 'filter'); this.outlineFilterElement.setAttribute('id', 'outline-fitler-' + this.data.id); var blurElement = document.createElementNS('http://www.w3.org/2000/svg', 'feGaussianBlur'); blurElement.setAttribute('in', 'SourceGraphic'); blurElement.setAttribute('stdDeviation', this.getParam('outlineBlurStdDeviation')); this.outlineFilterElement.appendChild(blurElement); this.element.appendChild(this.outlineFilterElement); this.outlineElement = document.createElementNS('http://www.w3.org/2000/svg', 'circle'); this.outlineElement.setAttribute('filter', 'url(#outline-fitler-' + this.data.id + ')'); this.outlineElement.setAttribute('stroke-width', this.getParam('outlineStroke')); this.outlineElement.setAttribute('fill', outlineColor); this.outlineElement.setAttribute('fill-opacity', this.getParam('outlineOpacity')); this.outlineElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;' + '-moz-user-select: none;-ms-user-select: none;'); this.outlineElement.setAttribute('r', this.getParam('circleRadius') + this.getParam('outlineStroke')); this.element.appendChild(this.outlineElement); } if (this.data.center) { this.setElementCenter(this.data.center); } var radius = this.radius = this.figureParams.radius || this.getParam('circleRadius'); this.circleElement.setAttribute('fill', this.getParam('fillColor') || 'none'); this.circleElement.setAttribute('r', radius); this.circleElement.setAttribute('stroke-width', strokeWidth); this.circleElement.setAttribute('stroke', this.getParam('strokeColor')); if (this.isDottedLineBorder()) { this.circleElement.setAttribute('stroke-dasharray', this.getParam('dottedLineDashArray')); if (this.internalCircleElement) { this.internalCircleElement.setAttribute('stroke-dasharray', this.getParam('dottedLineDashArray')); } } this.element.setAttribute('style', 'cursor: pointer'); if (this.canvas) { this.registerMouseEvents(); } this.element.appendChild(this.circleElement); if (this.internalCircleElement) { this.element.appendChild(this.internalCircleElement); } if (this.iconElement) { this.pathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); this.pathElement.setAttribute('d', iconPathD); this.pathElement.setAttribute('fill', this.getParam('strokeColor')), this.iconElement.appendChild(this.pathElement); this.element.appendChild(this.iconElement); } if (this.textElement) { this.element.appendChild(this.textElement); } } }, { key: 'afterRender', value: function afterRender() { var _this17 = this; if (this.textElement) { setTimeout(function () { _this17.wrapText(_this17.data.text, _this17.getParam('textWidth')); }, 10); } } }, { key: 'isBoldStroke', value: function isBoldStroke() { return false; } }, { key: 'isDoubleBorder', value: function isDoubleBorder() { return false; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }, { key: 'getIconName', value: function getIconName() {} }, { key: 'getIcon', value: function getIcon() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].icon; } }, { key: 'getIconHeight', value: function getIconHeight() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].height; } }, { key: 'getIconWidth', value: function getIconWidth() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].width; } }, { key: 'getIconViewBox', value: function getIconViewBox() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].viewBox; } }, { key: 'fetchFromDom', value: function fetchFromDom(center) { this.data.center.x = parseInt(this.circleElement.getAttribute('cx')); this.data.center.y = parseInt(this.circleElement.getAttribute('cy')); } }, { key: 'setElementCenter', value: function setElementCenter(center) { this.circleElement.setAttribute('cx', center.x); this.circleElement.setAttribute('cy', center.y); if (this.iconElement) { this.iconElement.setAttribute('x', center.x - this.getIconHeight() / 2); this.iconElement.setAttribute('y', center.y - this.getIconHeight() / 2); } if (this.internalCircleElement) { this.internalCircleElement.setAttribute('cx', center.x); this.internalCircleElement.setAttribute('cy', center.y); } if (this.textElement) { this.textElement.setAttribute('y', center.y + this.getParam('circleRadius') + this.getParam('fontSize') + this.getParam('textMarginTop')); this.textElement.setAttribute('transform', 'translate(' + center.x + ')'); } if (this.outlineElement) { this.outlineElement.setAttribute('cx', center.x); this.outlineElement.setAttribute('cy', center.y); } } }, { key: 'shadeElementColors', value: function shadeElementColors() { var strokeColor = this.shadeColor(this.getParam('strokeColor'), -10); this.circleElement.setAttribute('stroke', strokeColor); if (this.getParam('fillColor')) { this.circleElement.setAttribute('fill', this.shadeColor(this.getParam('fillColor'), -10)); } if (this.internalCircleElement) { this.internalCircleElement.setAttribute('stroke', strokeColor); } if (this.pathElement) { this.pathElement.setAttribute('fill', strokeColor); } } }, { key: 'unshadeElementColors', value: function unshadeElementColors() { var strokeColor = this.getParam('strokeColor'); this.circleElement.setAttribute('stroke', strokeColor); this.circleElement.setAttribute('fill', this.getParam('fillColor') || 'none'); if (this.internalCircleElement) { this.internalCircleElement.setAttribute('stroke', strokeColor); } if (this.pathElement) { this.pathElement.setAttribute('fill', strokeColor); } } }, { key: 'setTransparency', value: function setTransparency(value) { this.circleElement.setAttribute('fill-opacity', value); this.circleElement.setAttribute('stroke-opacity', value); if (this.internalCircleElement) { this.internalCircleElement.setAttribute('fill-opacity', value); this.internalCircleElement.setAttribute('stroke-opacity', value); } if (this.pathElement) { this.pathElement.setAttribute('fill-opacity', value); this.pathElement.setAttribute('stroke-opacity', value); } } }, { key: 'unsetTransparency', value: function unsetTransparency() { this.circleElement.removeAttribute('fill-opacity'); this.circleElement.removeAttribute('stroke-opacity'); if (this.internalCircleElement) { this.internalCircleElement.removeAttribute('fill-opacity'); this.internalCircleElement.removeAttribute('stroke-opacity'); } if (this.pathElement) { this.pathElement.removeAttribute('fill-opacity'); this.pathElement.removeAttribute('stroke-opacity'); } } }, { key: 'showRemovalIndication', value: function showRemovalIndication() { if (this.removalIndicationElement) { return; } this.removalIndicationElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); var strokeColor = this.getParam('removalStrokeColor'); var strokeWidth = this.getParam('removalStrokeWidth'); this.removalIndicationElement.setAttribute('stroke', strokeColor); this.removalIndicationElement.setAttribute('stroke-width', strokeWidth); this.removalIndicationElement.setAttribute('stroke-opacity', 0.5); this.removalIndicationElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;' + '-moz-user-select: none;-ms-user-select: none;'); var radius = this.radius; var d = 'M ' + Math.round(this.data.center.x - radius) + ' ' + Math.round(this.data.center.y - radius) + ' L ' + Math.round(this.data.center.x + radius) + ' ' + Math.round(this.data.center.y + radius) + 'M ' + Math.round(this.data.center.x - radius) + ' ' + Math.round(this.data.center.y + radius) + ' L ' + Math.round(this.data.center.x + radius) + ' ' + Math.round(this.data.center.y - radius); this.removalIndicationElement.setAttribute('d', d); this.element.appendChild(this.removalIndicationElement); } }, { key: 'hideRemovalIndication', value: function hideRemovalIndication() { if (!this.removalIndicationElement) { return; } this.element.removeChild(this.removalIndicationElement); this.removalIndicationElement = null; } }]); return Circle; }(EspoBpmn.Figures.Base); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Rhombus = function (_EspoBpmn$Figures$Bas3) { _inherits(Rhombus, _EspoBpmn$Figures$Bas3); function Rhombus() { _classCallCheck(this, Rhombus); return _possibleConstructorReturn(this, (Rhombus.__proto__ || Object.getPrototypeOf(Rhombus)).apply(this, arguments)); } _createClass(Rhombus, [{ key: 'prepareElement', value: function prepareElement() { if (this.element) { this.removeElement(); } this.element = document.createElementNS('http://www.w3.org/2000/svg', 'g'); this.element.setAttribute('data-id', this.data.id); var iconPathD = this.getIcon(); if (iconPathD) { this.iconElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.iconElement.setAttribute('height', this.getIconHeight()); this.iconElement.setAttribute('width', this.getIconWidth()); this.iconElement.setAttribute('viewBox', this.getIconViewBox()); } this.rhombusElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); var size = this.figureParams.size || this.getParam('rhombusSize'); var sideHalfLength = this.sideHalfLength = Math.round(Math.sqrt(Math.pow(size / 2.0, 2.0) / 2.0)); var sideLength = this.sideLength = sideHalfLength * 2; this.diagonalHalfLength = Math.round(size / 2.0); this.textElement = null; if (this.data.text && this.data.text !== '') { this.textElement = document.createElementNS('http://www.w3.org/2000/svg', 'text'); this.textElement.setAttribute('font-size', this.getParam('fontSize')); this.textElement.setAttribute('text-anchor', 'middle'); this.textElement.setAttribute('fill', this.getParam('textColor')); this.textElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;'); } if (this.data.outline) { var outlineColor = this.getParam('outlineColor1'); if (this.data.outline > 1) { outlineColor = this.getParam('outlineColor' + this.data.outline); } this.outlineFilterElement = document.createElementNS('http://www.w3.org/2000/svg', 'filter'); this.outlineFilterElement.setAttribute('id', 'outline-fitler-' + this.data.id); var blurElement = document.createElementNS('http://www.w3.org/2000/svg', 'feGaussianBlur'); blurElement.setAttribute('in', 'SourceGraphic'); blurElement.setAttribute('stdDeviation', this.getParam('outlineBlurStdDeviation')); this.outlineFilterElement.appendChild(blurElement); this.element.appendChild(this.outlineFilterElement); this.outlineElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.outlineElement.setAttribute('filter', 'url(#outline-fitler-' + this.data.id + ')'); this.outlineElement.setAttribute('fill', outlineColor); this.outlineElement.setAttribute('stroke-opacity', this.getParam('outlineOpacity')); this.outlineElement.setAttribute('fill-opacity', this.getParam('outlineOpacity')); this.outlineElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;'); this.outlineElement.setAttribute('height', sideLength + this.getParam('outlineStroke') * 2); this.outlineElement.setAttribute('width', sideLength + this.getParam('outlineStroke') * 2); this.element.appendChild(this.outlineElement); } this.setElementCenter(this.data.center); this.rhombusElement.setAttribute('height', sideLength); this.rhombusElement.setAttribute('width', sideLength); this.rhombusElement.setAttribute('fill', this.getParam('fillColor') || 'none'); this.rhombusElement.setAttribute('stroke-width', this.getParam('strokeWidth')); this.rhombusElement.setAttribute('stroke', this.getParam('strokeColor')); this.element.setAttribute('style', 'cursor: pointer'); this.registerMouseEvents(); this.element.appendChild(this.rhombusElement); if (this.iconElement) { this.pathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); this.pathElement.setAttribute('d', iconPathD); this.pathElement.setAttribute('fill', this.getParam('strokeColor')), this.iconElement.appendChild(this.pathElement); this.element.appendChild(this.iconElement); } if (this.textElement) { this.element.appendChild(this.textElement); } } }, { key: 'getIconName', value: function getIconName() {} }, { key: 'getIcon', value: function getIcon() { var iconName = this.getIconName(); if (!iconName) return; return EspoBpmn.Icons[iconName].icon; } }, { key: 'getIconHeight', value: function getIconHeight() { var iconName = this.getIconName(); if (!iconName) return; return EspoBpmn.Icons[iconName].height; } }, { key: 'getIconWidth', value: function getIconWidth() { var iconName = this.getIconName(); if (!iconName) return; return EspoBpmn.Icons[iconName].width; } }, { key: 'getIconViewBox', value: function getIconViewBox() { var iconName = this.getIconName(); if (!iconName) return; return EspoBpmn.Icons[iconName].viewBox; } }, { key: 'fetchFromDom', value: function fetchFromDom(center) { this.data.center.x = parseInt(this.rhombusElement.getAttribute('x')) + this.sideHalfLength; this.data.center.y = parseInt(this.rhombusElement.getAttribute('y')) + this.sideHalfLength; } }, { key: 'afterRender', value: function afterRender() { if (this.textElement) { setTimeout(function () { this.wrapText(this.data.text, this.getParam('textWidth')); }.bind(this), 10); } } }, { key: 'setElementCenter', value: function setElementCenter(center) { var x = center.x - this.sideHalfLength; var y = center.y - this.sideHalfLength; this.rhombusElement.setAttribute('x', x); this.rhombusElement.setAttribute('y', y); this.rhombusElement.setAttribute('transform', 'rotate(45 ' + center.x + ' ' + center.y + ')'); if (this.iconElement) { this.iconElement.setAttribute('x', center.x - this.getIconHeight() / 2); this.iconElement.setAttribute('y', center.y - this.getIconHeight() / 2); } if (this.textElement) { this.textElement.setAttribute('y', center.y + this.diagonalHalfLength + this.getParam('fontSize') + this.getParam('textMarginTop')); this.textElement.setAttribute('transform', 'translate(' + center.x + ')'); } if (this.outlineElement) { this.outlineElement.setAttribute('x', x - this.getParam('outlineStroke')); this.outlineElement.setAttribute('y', y - this.getParam('outlineStroke')); this.outlineElement.setAttribute('transform', 'rotate(45 ' + center.x + ' ' + center.y + ')'); } } }, { key: 'shadeElementColors', value: function shadeElementColors() { var strokeColor = this.shadeColor(this.getParam('strokeColor'), -10); this.rhombusElement.setAttribute('stroke', strokeColor); if (this.getParam('fillColor')) { this.rhombusElement.setAttribute('fill', this.shadeColor(this.getParam('fillColor'), -10)); } if (this.pathElement) { this.pathElement.setAttribute('fill', strokeColor); } } }, { key: 'unshadeElementColors', value: function unshadeElementColors() { var strokeColor = this.getParam('strokeColor'); this.rhombusElement.setAttribute('stroke', strokeColor); this.rhombusElement.setAttribute('fill', this.getParam('fillColor') || 'none'); if (this.pathElement) { this.pathElement.setAttribute('fill', strokeColor); } } }, { key: 'setTransparency', value: function setTransparency(value) { this.rhombusElement.setAttribute('fill-opacity', value); this.rhombusElement.setAttribute('stroke-opacity', value); if (this.pathElement) { this.pathElement.setAttribute('fill-opacity', value); this.pathElement.setAttribute('stroke-opacity', value); } } }, { key: 'unsetTransparency', value: function unsetTransparency() { this.rhombusElement.removeAttribute('fill-opacity'); this.rhombusElement.removeAttribute('stroke-opacity'); if (this.pathElement) { this.pathElement.removeAttribute('fill-opacity'); this.pathElement.removeAttribute('stroke-opacity'); } } }, { key: 'showRemovalIndication', value: function showRemovalIndication() { if (this.removalIndicationElement) return; this.removalIndicationElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); var strokeColor = this.getParam('removalStrokeColor'); var strokeWidth = this.getParam('removalStrokeWidth'); this.removalIndicationElement.setAttribute('stroke', strokeColor); this.removalIndicationElement.setAttribute('stroke-width', strokeWidth); this.removalIndicationElement.setAttribute('stroke-opacity', 0.5); this.removalIndicationElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;'); var width = this.rhombusElement.getAttribute('width'); var height = this.rhombusElement.getAttribute('height'); var d = 'M ' + Math.round(this.data.center.x - width / 2) + ' ' + Math.round(this.data.center.y - height / 2) + ' L ' + Math.round(this.data.center.x + width / 2) + ' ' + Math.round(this.data.center.y + height / 2) + 'M ' + Math.round(this.data.center.x - width / 2) + ' ' + Math.round(this.data.center.y + height / 2) + ' L ' + Math.round(this.data.center.x + width / 2) + ' ' + Math.round(this.data.center.y - height / 2); this.removalIndicationElement.setAttribute('d', d); this.element.appendChild(this.removalIndicationElement); } }, { key: 'hideRemovalIndication', value: function hideRemovalIndication() { if (!this.removalIndicationElement) return; this.element.removeChild(this.removalIndicationElement); this.removalIndicationElement = null; } }]); return Rhombus; }(EspoBpmn.Figures.Base); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Rectangle = function (_EspoBpmn$Figures$Bas4) { _inherits(Rectangle, _EspoBpmn$Figures$Bas4); function Rectangle() { _classCallCheck(this, Rectangle); return _possibleConstructorReturn(this, (Rectangle.__proto__ || Object.getPrototypeOf(Rectangle)).apply(this, arguments)); } _createClass(Rectangle, [{ key: 'removeElement', value: function removeElement() { _get(Rectangle.prototype.__proto__ || Object.getPrototypeOf(Rectangle.prototype), 'removeElement', this).call(this); if (this.eventStartCanvasElement) { delete this.eventStartCanvasElement; } if (this.subCanvasElement) { delete this.subCanvasElement; } } }, { key: 'calculateSizes', value: function calculateSizes() { var sizeX, sizeY; if (!this.isExpanded()) { sizeX = this.figureParams.sizeX || this.getParam('rectangleSizeX'); sizeY = this.figureParams.sizeY || this.getParam('rectangleSizeY'); } else { sizeX = this.data.width || this.getGlobalParam('rectangleExpandedDefaultWidth'); sizeY = this.data.height || this.getGlobalParam('rectangleExpandedDefaultHeight'); } this.sideXHalfLength = Math.round(sizeX / 2.0); this.sideYHalfLength = Math.round(sizeY / 2.0); this.sideXLength = sizeX; this.sideYLength = sizeY; var boundaryAttachIntervalSize = this.boundaryAttachIntervalSize = this.getParam('boundaryAttachIntervalSize') || this.getParam('circleRadius') * 2; this.attachPointXHalfNumber = Math.ceil((this.sideXHalfLength - boundaryAttachIntervalSize / 2) / boundaryAttachIntervalSize); this.attachPointYHalfNumber = Math.ceil((this.sideYHalfLength - boundaryAttachIntervalSize / 2) / boundaryAttachIntervalSize); } }, { key: 'applySizes', value: function applySizes() { if (this.internalRectangleElement) { this.internalRectangleElement.setAttribute('height', this.sideYLength - this.getParam('rectangleInternalLengthDiff')); this.internalRectangleElement.setAttribute('width', this.sideXLength - this.getParam('rectangleInternalLengthDiff')); } this.rectangleElement.setAttribute('height', this.sideYLength); this.rectangleElement.setAttribute('width', this.sideXLength); } }, { key: 'prepareElement', value: function prepareElement() { var _this20 = this; if (this.element) { this.removeElement(); } this.element = document.createElementNS('http://www.w3.org/2000/svg', 'g'); this.element.setAttribute('data-id', this.data.id); var iconPathD = this.getIcon(); if (iconPathD) { this.iconElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.iconElement.setAttribute('height', this.getIconHeight()); this.iconElement.setAttribute('width', this.getIconWidth()); this.iconElement.setAttribute('viewBox', this.getIconViewBox()); } this.rectangleElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); if (this.isExpanded()) { this.rectangleElement.setAttribute('pointer-events', 'visibleFill'); } this.calculateSizes(); this.textElement = null; if (this.data.text && this.data.text !== '') { this.textElement = document.createElementNS('http://www.w3.org/2000/svg', 'text'); this.textElement.setAttribute('font-size', this.getParam('fontSize')); this.textElement.setAttribute('text-anchor', 'middle'); this.textElement.setAttribute('fill', this.getParam('textColor')); this.textElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;' + '-moz-user-select: none;-ms-user-select: none;'); } this.markerIconElementList = []; this.getAvailableMarkerList().forEach(function (marker) { if (!_this20.hasMarker(marker)) { return; } var iconData = _this20.getMarkerIconData(marker); var markerIconElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); var markerPathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); markerIconElement.setAttribute('data-marker', marker); markerIconElement.setAttribute('height', iconData.height); markerIconElement.setAttribute('width', iconData.width); markerIconElement.setAttribute('viewBox', iconData.viewBox); markerPathElement.setAttribute('d', iconData.icon); markerPathElement.setAttribute('fill', _this20.getParam('strokeColor')); if (iconData.transform) { markerPathElement.setAttribute('transform', iconData.transform); } markerIconElement.appendChild(markerPathElement); _this20.markerIconElementList.push(markerIconElement); }); if (this.isDoubleBorder()) { this.internalRectangleElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.internalRectangleElement.setAttribute('fill', 'none'); this.internalRectangleElement.setAttribute('stroke-width', this.getParam('strokeWidth')); this.internalRectangleElement.setAttribute('stroke', this.getParam('strokeColor')); this.internalRectangleElement.setAttribute('rx', this.getParam('rectangleRoundingRadius')); this.internalRectangleElement.setAttribute('ry', this.getParam('rectangleRoundingRadius')); } if (this.hasEventStartIcon()) { var eventStartData = this.data.eventStartData; var eventStartCenterX = this.getGlobalParam('circleRadius') + this.getGlobalParam('strokeWidth'); var data = { type: eventStartData.type, id: eventStartData.id + '-i', isInterrupting: eventStartData.isInterrupting, center: { x: eventStartCenterX, y: eventStartCenterX } }; var typeKeyName = eventStartData.type.charAt(0).toUpperCase() + eventStartData.type.slice(1); var eventStartFigure = new EspoBpmn.Figures[typeKeyName](data, this.params, eventStartData.type); this.eventStartCanvasElement = document.createElementNS('http://www.w3.org/2000/svg', 'svg'); this.eventStartViewportElement = document.createElementNS('http://www.w3.org/2000/svg', 'g'); this.eventStartViewportElement.setAttribute('transform', 'matrix(' + '0.5' + ',0,0,' + '0.5' + ',0,0)'); this.eventStartCanvasElement.appendChild(this.eventStartViewportElement); this.eventStartViewportElement.appendChild(eventStartFigure.getElement()); } var strokeWidth = this.getParam('strokeWidth'); if (this.isBoldStroke()) { strokeWidth *= this.getParam('boldStrokeWidthMultiplier'); } if (this.isExpanded()) { this.prepareCanvasElement(); } if (this.isResizable()) { this.resizeHandleNWElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.resizeHandleNWElement.setAttribute('pointer-events', 'all'); this.resizeHandleNWElement.setAttribute('fill', 'none'); this.resizeHandleNWElement.style.cursor = 'nw-resize'; this.resizeHandleNWElement.setAttribute('data-orientation', 'nw'); this.resizeHandleNWElement.addEventListener('mousedown', this.resizeOnMouseDown.bind(this)); this.resizeHandleNWElement.addEventListener('touchstart', this.resizeOnTouchStart.bind(this), { passive: true }); this.resizeHandleNWElement.addEventListener('click', this.resizeOnClick.bind(this)); this.resizeHandleNEElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.resizeHandleNEElement.setAttribute('pointer-events', 'all'); this.resizeHandleNEElement.setAttribute('fill', 'none'); this.resizeHandleNEElement.style.cursor = 'ne-resize'; this.resizeHandleNEElement.setAttribute('data-orientation', 'ne'); this.resizeHandleNEElement.addEventListener('mousedown', this.resizeOnMouseDown.bind(this)); this.resizeHandleNEElement.addEventListener('touchstart', this.resizeOnTouchStart.bind(this), { passive: true }); this.resizeHandleNEElement.addEventListener('click', this.resizeOnClick.bind(this)); this.resizeHandleSWElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.resizeHandleSWElement.setAttribute('pointer-events', 'all'); this.resizeHandleSWElement.setAttribute('fill', 'none'); this.resizeHandleSWElement.style.cursor = 'sw-resize'; this.resizeHandleSWElement.setAttribute('data-orientation', 'sw'); this.resizeHandleSWElement.addEventListener('mousedown', this.resizeOnMouseDown.bind(this)); this.resizeHandleSWElement.addEventListener('touchstart', this.resizeOnTouchStart.bind(this), { passive: true }); this.resizeHandleSWElement.addEventListener('click', this.resizeOnClick.bind(this)); this.resizeHandleSEElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.resizeHandleSEElement.setAttribute('pointer-events', 'all'); this.resizeHandleSEElement.setAttribute('fill', 'none'); this.resizeHandleSEElement.style.cursor = 'se-resize'; this.resizeHandleSEElement.setAttribute('data-orientation', 'se'); this.resizeHandleSEElement.addEventListener('mousedown', this.resizeOnMouseDown.bind(this)); this.resizeHandleSEElement.addEventListener('touchstart', this.resizeOnTouchStart.bind(this), { passive: true }); this.resizeHandleSEElement.addEventListener('click', this.resizeOnClick.bind(this)); } if (this.data.outline) { var outlineColor = this.getParam('outlineColor1'); if (this.data.outline > 1) { outlineColor = this.getParam('outlineColor' + this.data.outline); } this.outlineFilterElement = document.createElementNS('http://www.w3.org/2000/svg', 'filter'); this.outlineFilterElement.setAttribute('id', 'outline-fitler-' + this.data.id); var blurElement = document.createElementNS('http://www.w3.org/2000/svg', 'feGaussianBlur'); blurElement.setAttribute('in', 'SourceGraphic'); blurElement.setAttribute('stdDeviation', this.getParam('outlineBlurStdDeviation')); this.outlineFilterElement.appendChild(blurElement); this.element.appendChild(this.outlineFilterElement); this.outlineElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); this.outlineElement.setAttribute('filter', 'url(#outline-fitler-' + this.data.id + ')'); if (!this.isExpanded()) { this.outlineElement.setAttribute('fill', outlineColor); this.outlineElement.setAttribute('fill-opacity', this.getParam('outlineOpacity')); this.outlineElement.setAttribute('height', this.sideYLength + this.getParam('outlineStroke') * 2); this.outlineElement.setAttribute('width', this.sideXLength + this.getParam('outlineStroke') * 2); } else { this.outlineElement.setAttribute('fill', 'none'); this.outlineElement.setAttribute('stroke-width', this.getParam('outlineStroke') * 1.7); this.outlineElement.setAttribute('stroke', outlineColor); this.outlineElement.setAttribute('height', this.sideYLength + this.getParam('outlineStroke') / 2); this.outlineElement.setAttribute('width', this.sideXLength + this.getParam('outlineStroke') / 2); } this.outlineElement.setAttribute('stroke-opacity', this.getParam('outlineOpacity')); this.outlineElement.setAttribute('style', 'pointer-events: none;user-select: none;-webkit-user-select: none;' + '-moz-user-select: none;-ms-user-select: none;'); this.element.appendChild(this.outlineElement); } this.setElementCenter(this.data.center); this.applySizes(); if (!this.isExpanded()) { this.rectangleElement.setAttribute('fill', this.getParam('fillColor') || 'none'); } else { this.rectangleElement.setAttribute('fill', this.getGlobalParam('rectangleExpandedFillColor')); this.rectangleElement.setAttribute('fill-opacity', this.getGlobalParam('rectangleExpandedFillOpacity')); } this.rectangleElement.setAttribute('stroke-width', strokeWidth); this.rectangleElement.setAttribute('stroke', this.getParam('strokeColor')); this.rectangleElement.setAttribute('rx', this.getParam('rectangleRoundingRadius')); this.rectangleElement.setAttribute('ry', this.getParam('rectangleRoundingRadius')); if (this.isDottedLineBorder()) { this.rectangleElement.setAttribute('stroke-dasharray', this.getParam('dottedLineRectangeDashArray')); } this.element.setAttribute('style', 'cursor: pointer'); this.registerMouseEvents(); this.element.appendChild(this.rectangleElement); if (this.internalRectangleElement) { this.element.appendChild(this.internalRectangleElement); } if (this.iconElement) { this.pathElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); this.pathElement.setAttribute('d', iconPathD); this.pathElement.setAttribute('fill', this.getParam('strokeColor')), this.iconElement.appendChild(this.pathElement); this.element.appendChild(this.iconElement); } if (this.eventStartCanvasElement) { this.element.appendChild(this.eventStartCanvasElement); } if (this.textElement) { this.element.appendChild(this.textElement); } if (this.subCanvasElement) { this.element.appendChild(this.subCanvasElement); } this.markerIconElementList.forEach(function (element) { _this20.element.appendChild(element); }); if (this.isResizable()) { this.element.appendChild(this.resizeHandleNWElement); this.element.appendChild(this.resizeHandleNEElement); this.element.appendChild(this.resizeHandleSWElement); this.element.appendChild(this.resizeHandleSEElement); } } }, { key: 'resizeOnClick', value: function resizeOnClick(e) { e.stopPropagation(); } }, { key: 'resizeOnMouseDown', value: function resizeOnMouseDown(e) { if (this.canvas.getState() === 'createFigure' || this.canvas.getState() === 'remove') { return; } if (e.which === 1) { if (this.getGlobalParam('resizingDisabled')) { return; } e.stopPropagation(); this.startResizing(e.target.getAttribute('data-orientation')); } } }, { key: 'resizeOnTouchStart', value: function resizeOnTouchStart(e) { if (this.canvas.getState() === 'createFigure' || this.canvas.getState() === 'remove') { return; } if (this.getGlobalParam('resizingDisabled')) { return; } e.stopPropagation(); this.startResizing(e.target.getAttribute('data-orientation')); } }, { key: 'startResizing', value: function startResizing(orientation) { this.isResizing = true; this.setIsNotResized(); this.canvas.resizedFigure = this; this.resizingListener = this.resizingProcess.bind(this); this.resizingOrientation = orientation; this.canvas.getElement().addEventListener('mousemove', this.resizingListener); this.canvas.getElement().addEventListener('touchmove', this.resizingListener, { passive: true }); } }, { key: 'resizingProcess', value: function resizingProcess(e) { if (this.isResized) { var offset = this.canvas.getOffsetFromMouseEvent(e); var x = (offset.x - this.canvas.offsetX) / this.canvas.scaleRatio; var y = (offset.y - this.canvas.offsetY) / this.canvas.scaleRatio; var width; var height; var diffX, diffY, width, height, centerX, centerY, offsetX, offsetY; diffX = x - this.resizingStartX; diffY = y - this.resizingStartY; if (this.resizingOrientation === 'nw') { centerX = Math.round(this.resizingStartCenterX + diffX / 2); centerY = Math.round(this.resizingStartCenterY + diffY / 2); width = this.resizingStartWidth - diffX; height = this.resizingStartHeight - diffY; offsetX = Math.round(this.resizingStartOffsetX - diffX); offsetY = Math.round(this.resizingStartOffsetY - diffY); } else if (this.resizingOrientation === 'ne') { centerX = Math.round(this.resizingStartCenterX + diffX / 2); centerY = Math.round(this.resizingStartCenterY + diffY / 2); width = this.resizingStartWidth + diffX; height = this.resizingStartHeight - diffY; offsetX = this.resizingStartOffsetX; offsetY = Math.round(this.resizingStartOffsetY - diffY); } else if (this.resizingOrientation === 'sw') { centerX = Math.round(this.resizingStartCenterX + diffX / 2); centerY = Math.round(this.resizingStartCenterY + diffY / 2); width = this.resizingStartWidth - diffX; height = this.resizingStartHeight + diffY; offsetX = Math.round(this.resizingStartOffsetX - diffX); offsetY = this.resizingStartOffsetY; } else if (this.resizingOrientation === 'se') { centerX = Math.round(this.resizingStartCenterX + diffX / 2); centerY = Math.round(this.resizingStartCenterY + diffY / 2); width = this.resizingStartWidth + diffX; height = this.resizingStartHeight + diffY; offsetX = this.resizingStartOffsetX; offsetY = this.resizingStartOffsetY; } if (width <= this.getGlobalParam('minExpandedWidth') || height <= this.getGlobalParam('minExpandedHeight')) { return; } this.data.center.x = centerX; this.data.center.y = centerY; this.data.width = width; this.data.height = height; this.data.offsetX = offsetX; this.data.offsetY = offsetY; this.calculateSizes(); this.setElementCenter(this.data.center); this.applySizes(); this.arrangeText(); this.prepareCanvasElement(); this.rePositionDependencies(); this.reRenderDependencies(); } else { this.setIsResized(); var offset = this.canvas.getOffsetFromMouseEvent(e); var x = (offset.x - this.canvas.offsetX) / this.canvas.scaleRatio; var y = (offset.y - this.canvas.offsetY) / this.canvas.scaleRatio; this.resizingStartX = x; this.resizingStartY = y; this.resizingStartCenterX = this.data.center.x; this.resizingStartCenterY = this.data.center.y; this.resizingStartOffsetX = this.data.offsetX; this.resizingStartOffsetY = this.data.offsetY; this.resizingStartWidth = this.data.width || this.getGlobalParam('rectangleExpandedDefaultWidth'); this.resizingStartHeight = this.data.height || this.getGlobalParam('rectangleExpandedDefaultHeight'); } } }, { key: 'finishResizing', value: function finishResizing() { var _this21 = this; this.isResizing = false; this.resizingOrientation = null; if (this.canvas.resizedFigure) { delete this.canvas.resizedFigure; this.canvas.getElement().removeEventListener('mousemove', this.resizingListener); this.canvas.getElement().removeEventListener('touchmove', this.resizingListener); this.canvas.resizingOffsetX = null; this.canvas.resizingOffsetY = null; } if (this.isResized) { this.setIsNotResized(); this.alignToGrid(); this.reRender(); this.rePositionDependencies(); this.reRenderDependencies(); this.canvas.triggerEvent('change'); } this.dependantIdList.forEach(function (depId) { var depElement = _this21.canvas.getFigure(depId).getElement(); _this21.canvas.getViewportElement().appendChild(depElement); }); } }, { key: 'setIsResized', value: function setIsResized() { this.isResized = true; this.canvas.figureIsResized = true; } }, { key: 'setIsNotResized', value: function setIsNotResized() { this.isResized = false; this.canvas.figureIsResized = false; } }, { key: 'arrangeText', value: function arrangeText() { if (!this.textElement) { return; } var lineCount = this.textElement.childNodes.length; var isArranged = false; if (!this.isExpanded()) { if (lineCount === 1) { this.textElement.setAttribute('y', this.data.center.y + this.getParam('textMarginTop')); isArranged = true; } else if (lineCount === 2) { if (this.hasIcon()) { this.textElement.setAttribute('y', this.data.center.y); } else { this.textElement.setAttribute('y', this.data.center.y - this.getParam('textMarginTop') / 2); } isArranged = true; } else if (lineCount === 3) { if (!this.internalRectangleElement && !this.eventStartCanvasElement) { if (this.hasIcon()) { this.textElement.setAttribute('y', this.data.center.y - this.getParam('textMarginTop') / 2); } else { this.textElement.setAttribute('y', this.data.center.y - this.getParam('fontSize') + this.getParam('textMarginTop')); } isArranged = true; } } } else { if (lineCount === 1) { this.textElement.setAttribute('y', this.data.center.y - this.sideYHalfLength + this.getParam('fontSize') + this.getParam('textMarginTop')); isArranged = true; } } if (!isArranged) { this.textElement.setAttribute('y', this.data.center.y + this.sideYHalfLength + this.getParam('textMarginTop') + this.getParam('fontSize')); } } }, { key: 'afterRender', value: function afterRender() { var _this22 = this; if (this.textElement) { var width = this.getParam('textRectangleWidth'); if (this.isExpanded()) { width = this.sideXLength - this.getGlobalParam('textRectangleExpandedMarginSide') * 2; } setTimeout(function () { _this22.wrapText(_this22.data.text, width); _this22.arrangeText(); }, 10); } } }, { key: 'prepareCanvasElement', value: function prepareCanvasElement() {} }, { key: 'hasEventStartIcon', value: function hasEventStartIcon() { return false; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }, { key: 'isDoubleBorder', value: function isDoubleBorder() { return false; } }, { key: 'isBoldStroke', value: function isBoldStroke() { return false; } }, { key: 'isExpanded', value: function isExpanded() { return false; } }, { key: 'isResizable', value: function isResizable() { return false; } }, { key: 'onDrag', value: function onDrag() { if (this.textElement) { this.arrangeText(); } } }, { key: 'hasIcon', value: function hasIcon() { return !!this.getIconName(); } }, { key: 'getIconName', value: function getIconName() {} }, { key: 'getIcon', value: function getIcon() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].icon; } }, { key: 'getIconHeight', value: function getIconHeight() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].height; } }, { key: 'getIconWidth', value: function getIconWidth() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].width; } }, { key: 'getIconViewBox', value: function getIconViewBox() { var iconName = this.getIconName(); if (!iconName) { return; } return EspoBpmn.Icons[iconName].viewBox; } }, { key: 'fetchFromDom', value: function fetchFromDom(center) { this.data.center.x = parseInt(this.rectangleElement.getAttribute('x')) + this.sideXHalfLength; this.data.center.y = parseInt(this.rectangleElement.getAttribute('y')) + this.sideYHalfLength; } }, { key: 'setElementCenter', value: function setElementCenter(center) { var _this23 = this; var x = center.x - this.sideXHalfLength; var y = center.y - this.sideYHalfLength; this.rectangleElement.setAttribute('x', x); this.rectangleElement.setAttribute('y', y); if (this.iconElement) { this.iconElement.setAttribute('x', center.x + this.getParam('rectangleIconMargin') - this.sideXHalfLength); this.iconElement.setAttribute('y', center.y + this.getParam('rectangleIconMargin') - this.sideYHalfLength); } if (this.eventStartCanvasElement) { this.eventStartCanvasElement.setAttribute('x', center.x + this.getParam('rectangleIconMargin') - this.sideXHalfLength); this.eventStartCanvasElement.setAttribute('y', center.y + this.getParam('rectangleIconMargin') - this.sideYHalfLength); } if (this.textElement) { this.textElement.setAttribute('y', center.y); this.textElement.setAttribute('transform', 'translate(' + center.x + ')'); } if (this.internalRectangleElement) { this.internalRectangleElement.setAttribute('x', x + this.getParam('rectangleInternalLengthDiff') / 2); this.internalRectangleElement.setAttribute('y', y + this.getParam('rectangleInternalLengthDiff') / 2); } if (this.subCanvasElement) { this.subCanvasElement.setAttribute('x', this.data.center.x - this.sideXHalfLength); this.subCanvasElement.setAttribute('y', this.data.center.y - this.sideYHalfLength + this.subCanvasMarginTop); } var markerCount = this.markerIconElementList.length; this.markerIconElementList.forEach(function (element, i) { var offset; var middleIndex = markerCount / 2; if (i < middleIndex) { offset = i - middleIndex; } else if (i >= middleIndex) { offset = i - middleIndex; } else { offset = 0; } var mX = center.x + _this23.getParam('activityMarkerWidth') * offset; var mY = center.y + _this23.sideYHalfLength - _this23.getParam('activityMarkerHeight'); if (_this23.internalRectangleElement) { mY -= _this23.getParam('rectangleInternalLengthDiff') / 2; } element.setAttribute('x', mX); element.setAttribute('y', mY); }); if (this.isResizable()) { var resizeHandleSize = this.getGlobalParam('resizeHandleSize'); var resizeHandleHalfSize = resizeHandleSize / 2; this.resizeHandleNWElement.setAttribute('x', this.data.center.x - this.sideXHalfLength - resizeHandleHalfSize); this.resizeHandleNWElement.setAttribute('y', this.data.center.y - this.sideYHalfLength - resizeHandleHalfSize); this.resizeHandleNWElement.setAttribute('width', resizeHandleSize); this.resizeHandleNWElement.setAttribute('height', resizeHandleSize); this.resizeHandleNEElement.setAttribute('x', this.data.center.x + this.sideXHalfLength - resizeHandleHalfSize); this.resizeHandleNEElement.setAttribute('y', this.data.center.y - this.sideYHalfLength - resizeHandleHalfSize); this.resizeHandleNEElement.setAttribute('width', resizeHandleSize); this.resizeHandleNEElement.setAttribute('height', resizeHandleSize); this.resizeHandleSWElement.setAttribute('x', this.data.center.x - this.sideXHalfLength - resizeHandleHalfSize); this.resizeHandleSWElement.setAttribute('y', this.data.center.y + this.sideYHalfLength - resizeHandleHalfSize); this.resizeHandleSWElement.setAttribute('width', resizeHandleSize); this.resizeHandleSWElement.setAttribute('height', resizeHandleSize); this.resizeHandleSEElement.setAttribute('x', this.data.center.x + this.sideXHalfLength - resizeHandleHalfSize); this.resizeHandleSEElement.setAttribute('y', this.data.center.y + this.sideYHalfLength - resizeHandleHalfSize); this.resizeHandleSEElement.setAttribute('width', resizeHandleSize); this.resizeHandleSEElement.setAttribute('height', resizeHandleSize); } if (this.outlineElement) { if (!this.isExpanded()) { this.outlineElement.setAttribute('x', x - this.getParam('outlineStroke')); this.outlineElement.setAttribute('y', y - this.getParam('outlineStroke')); } else { this.outlineElement.setAttribute('x', x - this.getParam('outlineStroke') / 4); this.outlineElement.setAttribute('y', y - this.getParam('outlineStroke') / 4); } } } }, { key: 'shadeElementColors', value: function shadeElementColors(onlyBorder, boundaryEventColor) { var strokeColor; if (!boundaryEventColor) { strokeColor = this.shadeColor(this.getParam('strokeColor'), -10); } else { strokeColor = this.shadeColor(this.getParam('eventIntermediateStrokeColor'), -10); } this.rectangleElement.setAttribute('stroke', strokeColor); if (onlyBorder) { return; } if (!this.isExpanded() && this.getParam('fillColor')) { this.rectangleElement.setAttribute('fill', this.shadeColor(this.getParam('fillColor'), -10)); } if (this.pathElement) { this.pathElement.setAttribute('fill', strokeColor); } this.markerIconElementList.forEach(function (element) { element.childNodes[0].setAttribute('fill', strokeColor); }); } }, { key: 'unshadeElementColors', value: function unshadeElementColors() { var strokeColor = this.getParam('strokeColor'); this.rectangleElement.setAttribute('stroke', strokeColor); if (!this.isExpanded()) { this.rectangleElement.setAttribute('fill', this.getParam('fillColor') || 'none'); } if (this.pathElement) { this.pathElement.setAttribute('fill', strokeColor); } this.markerIconElementList.forEach(function (element) { element.childNodes[0].setAttribute('fill', strokeColor); }); } }, { key: 'showRemovalIndication', value: function showRemovalIndication() { if (this.removalIndicationElement) { return; } this.removalIndicationElement = document.createElementNS('http://www.w3.org/2000/svg', 'path'); var strokeColor = this.getParam('removalStrokeColor'); var strokeWidth = this.getParam('removalStrokeWidth'); this.removalIndicationElement.setAttribute('stroke', strokeColor); this.removalIndicationElement.setAttribute('stroke-width', strokeWidth); this.removalIndicationElement.setAttribute('stroke-opacity', 0.5); this.removalIndicationElement.setAttribute('style', 'pointer-events: none;user-select: none;' + '-webkit-user-select: none;-moz-user-select: none;-ms-user-select: none;'); var width = this.rectangleElement.getAttribute('width'); var height = this.rectangleElement.getAttribute('height'); var d = 'M ' + Math.round(this.data.center.x - width / 2) + ' ' + Math.round(this.data.center.y - height / 2) + ' L ' + Math.round(this.data.center.x + width / 2) + ' ' + Math.round(this.data.center.y + height / 2) + 'M ' + Math.round(this.data.center.x - width / 2) + ' ' + Math.round(this.data.center.y + height / 2) + ' L ' + Math.round(this.data.center.x + width / 2) + ' ' + Math.round(this.data.center.y - height / 2); this.removalIndicationElement.setAttribute('d', d); this.element.appendChild(this.removalIndicationElement); } }, { key: 'hideRemovalIndication', value: function hideRemovalIndication() { if (!this.removalIndicationElement) { return; } this.element.removeChild(this.removalIndicationElement); this.removalIndicationElement = null; } }, { key: 'findClosestAvailableAttachPoint', value: function findClosestAvailableAttachPoint(point, forElementId) { var attachPointList = this.getAvailableAttachPointList(forElementId); var attachPoint = null; var distanceFound = null; attachPointList.forEach(function (item) { var distance = Math.pow(item.x - point.x, 2) + Math.pow(item.y - point.y, 2); if (distanceFound === null || distance < distanceFound) { attachPoint = item; distanceFound = distance; } }); return attachPoint; } }, { key: 'getAvailableAttachPointList', value: function getAvailableAttachPointList(forElementId) { var _this24 = this; var pointList = []; var x, y; var cX = this.data.center.x; var cY = this.data.center.y; var boundaryAttachIntervalHalfSize = this.boundaryAttachIntervalSize / 2; for (var i = 1; i <= this.attachPointXHalfNumber; i++) { x = cX + this.boundaryAttachIntervalSize * i - boundaryAttachIntervalHalfSize; y = cY - this.sideYHalfLength; pointList.push({ x: x, y: y, position: 'tr' + i }); y = cY + this.sideYHalfLength; pointList.push({ x: x, y: y, position: 'br' + i }); x = cX - this.boundaryAttachIntervalSize * i + boundaryAttachIntervalHalfSize; y = cY - this.sideYHalfLength; pointList.push({ x: x, y: y, position: 'tl' + i }); y = cY + this.sideYHalfLength; pointList.push({ x: x, y: y, position: 'bl' + i }); } for (var i = 1; i <= this.attachPointYHalfNumber; i++) { y = cY + this.boundaryAttachIntervalSize * i - boundaryAttachIntervalHalfSize; x = cX - this.sideXHalfLength; pointList.push({ x: x, y: y, position: 'lb' + i }); x = cX + this.sideXHalfLength; pointList.push({ x: x, y: y, position: 'rb' + i }); y = cY - this.boundaryAttachIntervalSize * i + boundaryAttachIntervalHalfSize; x = cX - this.sideXHalfLength; pointList.push({ x: x, y: y, position: 'lt' + i }); x = cX + this.sideXHalfLength; pointList.push({ x: x, y: y, position: 'rt' + i }); } var availablePointList = []; pointList.forEach(function (item) { var isVacant = true; _this24.dependantIdList.forEach(function (dId) { var figure = _this24.getCanvasFigure(dId); if (figure instanceof EspoBpmn.Figures.EventIntermediateBoundary) { if ((!forElementId || forElementId !== dId) && item.position === figure.data.attachPosition) { isVacant = false; } } }); if (isVacant) { availablePointList.push(item); } }); return availablePointList; } }, { key: 'rePositionDependencies', value: function rePositionDependencies() { var _this25 = this; this.dependantIdList.forEach(function (id) { var figure = _this25.canvas.getFigure(id); if (!figure) { return; } if (figure instanceof EspoBpmn.Figures.EventIntermediateBoundary) { var position = figure.data.attachPosition; if (!position) { return; } figure.data.center = _this25.getAttachPointByPosition(position); } }); } }, { key: 'getAttachPointByPosition', value: function getAttachPointByPosition(position) { var cX = this.data.center.x; var cY = this.data.center.y; var x, y; var p1 = position[0]; var p2 = position[1]; var i = parseInt(position.substr(2)); if (p1 === 't' || p1 === 'b') { if (i > this.attachPointXHalfNumber) { i = this.attachPointXHalfNumber; } } else { if (i > this.attachPointYHalfNumber) { i = this.attachPointYHalfNumber; } } var boundaryAttachIntervalHalfSize = this.boundaryAttachIntervalSize / 2; if (p1 === 't') { y = cY - this.sideYHalfLength; } else if (position[0] === 'b') { y = cY + this.sideYHalfLength; } if (p1 === 't' || p1 === 'b') { if (p2 === 'r') { x = cX + i * this.boundaryAttachIntervalSize - boundaryAttachIntervalHalfSize; } else { x = cX - i * this.boundaryAttachIntervalSize + boundaryAttachIntervalHalfSize; } } if (p1 === 'l') { x = cX - this.sideXHalfLength; } else if (position[0] === 'r') { x = cX + this.sideXHalfLength; } if (p1 === 'l' || p1 === 'r') { if (p2 === 't') { y = cY - i * this.boundaryAttachIntervalSize + boundaryAttachIntervalHalfSize; } else { y = cY + i * this.boundaryAttachIntervalSize - boundaryAttachIntervalHalfSize; } } return { x: x, y: y }; } }, { key: 'getAvailableMarkerList', value: function getAvailableMarkerList() { return []; } }, { key: 'hasMarker', value: function hasMarker(name) { var methodName = 'hasMarker' + name.charAt(0).toUpperCase() + name.slice(1); return this[methodName](); } }, { key: 'getMarkerIconData', value: function getMarkerIconData(name) { var iconName = 'marker' + name.charAt(0).toUpperCase() + name.slice(1); return EspoBpmn.Icons[iconName]; } }, { key: 'setTransparency', value: function setTransparency(value) { this.rectangleElement.setAttribute('stroke-opacity', value); if (this.isExpanded()) { return; } this.rectangleElement.setAttribute('fill-opacity', value); if (this.internalRectangleElement) { this.internalRectangleElement.setAttribute('fill-opacity', value); this.internalRectangleElement.setAttribute('stroke-opacity', value); } if (this.pathElement) { this.pathElement.setAttribute('fill-opacity', value); this.pathElement.setAttribute('stroke-opacity', value); } this.markerIconElementList.forEach(function (element) { element.setAttribute('fill-opacity', value); }); } }, { key: 'unsetTransparency', value: function unsetTransparency() { this.rectangleElement.removeAttribute('stroke-opacity'); if (this.isExpanded()) { return; } this.rectangleElement.removeAttribute('fill-opacity'); if (this.internalRectangleElement) { this.internalRectangleElement.removeAttribute('fill-opacity'); this.internalRectangleElement.removeAttribute('stroke-opacity'); } if (this.pathElement) { this.pathElement.removeAttribute('fill-opacity'); this.pathElement.removeAttribute('stroke-opacity'); } this.markerIconElementList.forEach(function (element) { element.removeAttribute('fill-opacity'); }); } }]); return Rectangle; }(EspoBpmn.Figures.Base); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediate = function (_EspoBpmn$Figures$Cir) { _inherits(EventIntermediate, _EspoBpmn$Figures$Cir); function EventIntermediate() { _classCallCheck(this, EventIntermediate); return _possibleConstructorReturn(this, (EventIntermediate.__proto__ || Object.getPrototypeOf(EventIntermediate)).apply(this, arguments)); } _createClass(EventIntermediate, [{ key: 'isDoubleBorder', value: function isDoubleBorder() { return true; } }]); return EventIntermediate; }(EspoBpmn.Figures.Circle); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateBoundary = function (_EspoBpmn$Figures$Eve) { _inherits(EventIntermediateBoundary, _EspoBpmn$Figures$Eve); function EventIntermediateBoundary() { _classCallCheck(this, EventIntermediateBoundary); return _possibleConstructorReturn(this, (EventIntermediateBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateBoundary)).apply(this, arguments)); } _createClass(EventIntermediateBoundary, [{ key: 'isBoundaryEvent', value: function isBoundaryEvent() { return true; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return !this.data.cancelActivity; } }, { key: 'isAlignableToGrid', value: function isAlignableToGrid() { return false; } }, { key: 'init', value: function init() { _get(EventIntermediateBoundary.prototype.__proto__ || Object.getPrototypeOf(EventIntermediateBoundary.prototype), 'init', this).call(this); if (this.data.attachedToId) { var figure = this.canvas.getFigure(this.data.attachedToId); if (figure) { if (!~figure.dependantIdList.indexOf(this.id)) { figure.dependantIdList.push(this.id); } } } } }, { key: 'onRemove', value: function onRemove(isDependantRemove, removedIdList) { if (this.data.attachedToId) { var figure = this.canvas.getFigure(this.data.attachedToId); if (figure) { if (!isDependantRemove || removedIdList && !~removedIdList.indexOf(figure.id)) { var index = figure.dependantIdList.indexOf(this.id); if (~index) { figure.dependantIdList.splice(index, 1); } } } } } }, { key: 'draggingProcess', value: function draggingProcess(e) { this.getElement().style.cursor = 'move'; this.canvas.getElement().style.cursor = 'move'; var figure = this.canvas.getFigure(this.data.attachedToId); figure.getElement().style.cursor = 'move'; if (!figure) return; if (!this.isDragged) { this.setIsDragged(); return; } var offset = this.canvas.getOffsetFromMouseEvent(e); var point = this.canvas.getPointFromOffset(offset); var x = point.x; var y = point.y; var attachPoint = figure.findClosestAvailableAttachPoint({ x: x, y: y }, this.id); if (!attachPoint) return; this.data.attachPosition = attachPoint.position; this.setElementCenter({ x: attachPoint.x, y: attachPoint.y }); this.fetchFromDom(); this.rePositionDependencies(); this.reRenderDependencies(); this.onDrag(); } }, { key: 'finishDragging', value: function finishDragging() { if (this.isDragged) { this.clickIsBlocked = true; setTimeout(function () { this.clickIsBlocked = false; }.bind(this), 100); } this.canvas.getElement().style.cursor = 'default'; var figure = this.canvas.getFigure(this.data.attachedToId); figure.getElement().style.cursor = 'pointer'; _get(EventIntermediateBoundary.prototype.__proto__ || Object.getPrototypeOf(EventIntermediateBoundary.prototype), 'finishDragging', this).call(this); } }]); return EventIntermediateBoundary; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStart = function (_EspoBpmn$Figures$Cir2) { _inherits(EventStart, _EspoBpmn$Figures$Cir2); function EventStart() { _classCallCheck(this, EventStart); return _possibleConstructorReturn(this, (EventStart.__proto__ || Object.getPrototypeOf(EventStart)).apply(this, arguments)); } _createClass(EventStart, [{ key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { return false; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { if (!this.canvas) { if ('isInterrupting' in this.data) { return !this.data.isInterrupting; } return true; } if (this.isInEventSubProcess()) { if ('isInterrupting' in this.data) { return !this.data.isInterrupting; } return true; } return false; } }, { key: 'onRemove', value: function onRemove() { _get(EventStart.prototype.__proto__ || Object.getPrototypeOf(EventStart.prototype), 'onRemove', this).call(this); if (this.canvas.subProcessFigure && this.canvas.subProcessFigure.data) { if (this.canvas.subProcessFigure.data.eventStartData) { this.canvas.subProcessFigure.data.eventStartData = null; } } } }, { key: 'onCreate', value: function onCreate() { _get(EventStart.prototype.__proto__ || Object.getPrototypeOf(EventStart.prototype), 'onCreate', this).call(this); if (this.canvas.subProcessFigure && this.canvas.subProcessFigure.data) { if (this.canvas.subProcessFigure.data.triggeredByEvent) { this.canvas.subProcessFigure.data.eventStartData = this.data; } } } }, { key: 'checkCreateAllowed', value: function checkCreateAllowed() { if (this.isAllowedOnlyInEventSubProcess()) { if (!this.canvas.subProcessFigure) return false; if (this.canvas.subProcessFigure.type != 'eventSubProcess' && !this.canvas.subProcessFigure.data.triggeredByEvent) { return false; } } if (this.canvas.subProcessFigure && this.canvas.subProcessFigure.data) { if (this.canvas.subProcessFigure.type == 'eventSubProcess' || this.canvas.subProcessFigure.data.triggeredByEvent) { if (this.canvas.subProcessFigure.data.eventStartData) { return false; } if (this.data.type === 'eventStart') return false; } else { if (this.data.type !== 'eventStart') return false; } } return true; } }, { key: 'isAllowedOnlyInEventSubProcess', value: function isAllowedOnlyInEventSubProcess() { return false; } }]); return EventStart; }(EspoBpmn.Figures.Circle); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartConditional = function (_EspoBpmn$Figures$Eve2) { _inherits(EventStartConditional, _EspoBpmn$Figures$Eve2); function EventStartConditional() { _classCallCheck(this, EventStartConditional); return _possibleConstructorReturn(this, (EventStartConditional.__proto__ || Object.getPrototypeOf(EventStartConditional)).apply(this, arguments)); } _createClass(EventStartConditional, [{ key: 'getIconName', value: function getIconName() { return 'eventConditionalCatch'; } }]); return EventStartConditional; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartTimer = function (_EspoBpmn$Figures$Eve3) { _inherits(EventStartTimer, _EspoBpmn$Figures$Eve3); function EventStartTimer() { _classCallCheck(this, EventStartTimer); return _possibleConstructorReturn(this, (EventStartTimer.__proto__ || Object.getPrototypeOf(EventStartTimer)).apply(this, arguments)); } _createClass(EventStartTimer, [{ key: 'getIconName', value: function getIconName() { return 'eventTimerCatch'; } }]); return EventStartTimer; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartMessage = function (_EspoBpmn$Figures$Eve4) { _inherits(EventStartMessage, _EspoBpmn$Figures$Eve4); function EventStartMessage() { _classCallCheck(this, EventStartMessage); return _possibleConstructorReturn(this, (EventStartMessage.__proto__ || Object.getPrototypeOf(EventStartMessage)).apply(this, arguments)); } _createClass(EventStartMessage, [{ key: 'getIconName', value: function getIconName() { return 'eventMessageCatch'; } }]); return EventStartMessage; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartSignal = function (_EspoBpmn$Figures$Eve5) { _inherits(EventStartSignal, _EspoBpmn$Figures$Eve5); function EventStartSignal() { _classCallCheck(this, EventStartSignal); return _possibleConstructorReturn(this, (EventStartSignal.__proto__ || Object.getPrototypeOf(EventStartSignal)).apply(this, arguments)); } _createClass(EventStartSignal, [{ key: 'getIconName', value: function getIconName() { return 'eventSignalCatch'; } }]); return EventStartSignal; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartError = function (_EspoBpmn$Figures$Eve6) { _inherits(EventStartError, _EspoBpmn$Figures$Eve6); function EventStartError() { _classCallCheck(this, EventStartError); return _possibleConstructorReturn(this, (EventStartError.__proto__ || Object.getPrototypeOf(EventStartError)).apply(this, arguments)); } _createClass(EventStartError, [{ key: 'isAllowedOnlyInEventSubProcess', value: function isAllowedOnlyInEventSubProcess() { return true; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }, { key: 'getIconName', value: function getIconName() { return 'eventErrorCatch'; } }]); return EventStartError; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartEscalation = function (_EspoBpmn$Figures$Eve7) { _inherits(EventStartEscalation, _EspoBpmn$Figures$Eve7); function EventStartEscalation() { _classCallCheck(this, EventStartEscalation); return _possibleConstructorReturn(this, (EventStartEscalation.__proto__ || Object.getPrototypeOf(EventStartEscalation)).apply(this, arguments)); } _createClass(EventStartEscalation, [{ key: 'isAllowedOnlyInEventSubProcess', value: function isAllowedOnlyInEventSubProcess() { return true; } }, { key: 'getIconName', value: function getIconName() { return 'eventEscalationCatch'; } }]); return EventStartEscalation; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartCompensation = function (_EspoBpmn$Figures$Eve8) { _inherits(EventStartCompensation, _EspoBpmn$Figures$Eve8); function EventStartCompensation() { _classCallCheck(this, EventStartCompensation); return _possibleConstructorReturn(this, (EventStartCompensation.__proto__ || Object.getPrototypeOf(EventStartCompensation)).apply(this, arguments)); } _createClass(EventStartCompensation, [{ key: 'isAllowedOnlyInEventSubProcess', value: function isAllowedOnlyInEventSubProcess() { return true; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }, { key: 'getIconName', value: function getIconName() { return 'eventCompensationCatch'; } }]); return EventStartCompensation; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartMultiple = function (_EspoBpmn$Figures$Eve9) { _inherits(EventStartMultiple, _EspoBpmn$Figures$Eve9); function EventStartMultiple() { _classCallCheck(this, EventStartMultiple); return _possibleConstructorReturn(this, (EventStartMultiple.__proto__ || Object.getPrototypeOf(EventStartMultiple)).apply(this, arguments)); } _createClass(EventStartMultiple, [{ key: 'getIconName', value: function getIconName() { return 'eventMultipleCatch'; } }]); return EventStartMultiple; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventStartParallelMultiple = function (_EspoBpmn$Figures$Eve10) { _inherits(EventStartParallelMultiple, _EspoBpmn$Figures$Eve10); function EventStartParallelMultiple() { _classCallCheck(this, EventStartParallelMultiple); return _possibleConstructorReturn(this, (EventStartParallelMultiple.__proto__ || Object.getPrototypeOf(EventStartParallelMultiple)).apply(this, arguments)); } _createClass(EventStartParallelMultiple, [{ key: 'getIconName', value: function getIconName() { return 'eventParallelMultipleCatch'; } }]); return EventStartParallelMultiple; }(EspoBpmn.Figures.EventStart); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateThrow = function (_EspoBpmn$Figures$Eve11) { _inherits(EventIntermediateThrow, _EspoBpmn$Figures$Eve11); function EventIntermediateThrow() { _classCallCheck(this, EventIntermediateThrow); return _possibleConstructorReturn(this, (EventIntermediateThrow.__proto__ || Object.getPrototypeOf(EventIntermediateThrow)).apply(this, arguments)); } return EventIntermediateThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateTimerCatch = function (_EspoBpmn$Figures$Eve12) { _inherits(EventIntermediateTimerCatch, _EspoBpmn$Figures$Eve12); function EventIntermediateTimerCatch() { _classCallCheck(this, EventIntermediateTimerCatch); return _possibleConstructorReturn(this, (EventIntermediateTimerCatch.__proto__ || Object.getPrototypeOf(EventIntermediateTimerCatch)).apply(this, arguments)); } _createClass(EventIntermediateTimerCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventTimerCatch'; } }]); return EventIntermediateTimerCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateConditionalCatch = function (_EspoBpmn$Figures$Eve13) { _inherits(EventIntermediateConditionalCatch, _EspoBpmn$Figures$Eve13); function EventIntermediateConditionalCatch() { _classCallCheck(this, EventIntermediateConditionalCatch); return _possibleConstructorReturn(this, (EventIntermediateConditionalCatch.__proto__ || Object.getPrototypeOf(EventIntermediateConditionalCatch)).apply(this, arguments)); } _createClass(EventIntermediateConditionalCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventConditionalCatch'; } }]); return EventIntermediateConditionalCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateMessageThrow = function (_EspoBpmn$Figures$Eve14) { _inherits(EventIntermediateMessageThrow, _EspoBpmn$Figures$Eve14); function EventIntermediateMessageThrow() { _classCallCheck(this, EventIntermediateMessageThrow); return _possibleConstructorReturn(this, (EventIntermediateMessageThrow.__proto__ || Object.getPrototypeOf(EventIntermediateMessageThrow)).apply(this, arguments)); } _createClass(EventIntermediateMessageThrow, [{ key: 'getIconName', value: function getIconName() { return 'eventMessageThrow'; } }]); return EventIntermediateMessageThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateMessageCatch = function (_EspoBpmn$Figures$Eve15) { _inherits(EventIntermediateMessageCatch, _EspoBpmn$Figures$Eve15); function EventIntermediateMessageCatch() { _classCallCheck(this, EventIntermediateMessageCatch); return _possibleConstructorReturn(this, (EventIntermediateMessageCatch.__proto__ || Object.getPrototypeOf(EventIntermediateMessageCatch)).apply(this, arguments)); } _createClass(EventIntermediateMessageCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventMessageCatch'; } }]); return EventIntermediateMessageCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateSignalThrow = function (_EspoBpmn$Figures$Eve16) { _inherits(EventIntermediateSignalThrow, _EspoBpmn$Figures$Eve16); function EventIntermediateSignalThrow() { _classCallCheck(this, EventIntermediateSignalThrow); return _possibleConstructorReturn(this, (EventIntermediateSignalThrow.__proto__ || Object.getPrototypeOf(EventIntermediateSignalThrow)).apply(this, arguments)); } _createClass(EventIntermediateSignalThrow, [{ key: 'getIconName', value: function getIconName() { return 'eventSignalThrow'; } }]); return EventIntermediateSignalThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateSignalCatch = function (_EspoBpmn$Figures$Eve17) { _inherits(EventIntermediateSignalCatch, _EspoBpmn$Figures$Eve17); function EventIntermediateSignalCatch() { _classCallCheck(this, EventIntermediateSignalCatch); return _possibleConstructorReturn(this, (EventIntermediateSignalCatch.__proto__ || Object.getPrototypeOf(EventIntermediateSignalCatch)).apply(this, arguments)); } _createClass(EventIntermediateSignalCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventSignalCatch'; } }]); return EventIntermediateSignalCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateLinkThrow = function (_EspoBpmn$Figures$Eve18) { _inherits(EventIntermediateLinkThrow, _EspoBpmn$Figures$Eve18); function EventIntermediateLinkThrow() { _classCallCheck(this, EventIntermediateLinkThrow); return _possibleConstructorReturn(this, (EventIntermediateLinkThrow.__proto__ || Object.getPrototypeOf(EventIntermediateLinkThrow)).apply(this, arguments)); } _createClass(EventIntermediateLinkThrow, [{ key: 'getIconName', value: function getIconName() { return 'eventLinkThrow'; } }]); return EventIntermediateLinkThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateLinkCatch = function (_EspoBpmn$Figures$Eve19) { _inherits(EventIntermediateLinkCatch, _EspoBpmn$Figures$Eve19); function EventIntermediateLinkCatch() { _classCallCheck(this, EventIntermediateLinkCatch); return _possibleConstructorReturn(this, (EventIntermediateLinkCatch.__proto__ || Object.getPrototypeOf(EventIntermediateLinkCatch)).apply(this, arguments)); } _createClass(EventIntermediateLinkCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventLinkCatch'; } }]); return EventIntermediateLinkCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateMultipleCatch = function (_EspoBpmn$Figures$Eve20) { _inherits(EventIntermediateMultipleCatch, _EspoBpmn$Figures$Eve20); function EventIntermediateMultipleCatch() { _classCallCheck(this, EventIntermediateMultipleCatch); return _possibleConstructorReturn(this, (EventIntermediateMultipleCatch.__proto__ || Object.getPrototypeOf(EventIntermediateMultipleCatch)).apply(this, arguments)); } _createClass(EventIntermediateMultipleCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventMultipleCatch'; } }]); return EventIntermediateMultipleCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateCompensationThrow = function (_EspoBpmn$Figures$Eve21) { _inherits(EventIntermediateCompensationThrow, _EspoBpmn$Figures$Eve21); function EventIntermediateCompensationThrow() { _classCallCheck(this, EventIntermediateCompensationThrow); return _possibleConstructorReturn(this, (EventIntermediateCompensationThrow.__proto__ || Object.getPrototypeOf(EventIntermediateCompensationThrow)).apply(this, arguments)); } _createClass(EventIntermediateCompensationThrow, [{ key: 'getIconName', value: function getIconName() { return 'eventCompensationThrow'; } }]); return EventIntermediateCompensationThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateEscalationThrow = function (_EspoBpmn$Figures$Eve22) { _inherits(EventIntermediateEscalationThrow, _EspoBpmn$Figures$Eve22); function EventIntermediateEscalationThrow() { _classCallCheck(this, EventIntermediateEscalationThrow); return _possibleConstructorReturn(this, (EventIntermediateEscalationThrow.__proto__ || Object.getPrototypeOf(EventIntermediateEscalationThrow)).apply(this, arguments)); } _createClass(EventIntermediateEscalationThrow, [{ key: 'getIconName', value: function getIconName() { return 'eventEscalationThrow'; } }]); return EventIntermediateEscalationThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateMultipleThrow = function (_EspoBpmn$Figures$Eve23) { _inherits(EventIntermediateMultipleThrow, _EspoBpmn$Figures$Eve23); function EventIntermediateMultipleThrow() { _classCallCheck(this, EventIntermediateMultipleThrow); return _possibleConstructorReturn(this, (EventIntermediateMultipleThrow.__proto__ || Object.getPrototypeOf(EventIntermediateMultipleThrow)).apply(this, arguments)); } _createClass(EventIntermediateMultipleThrow, [{ key: 'getIconName', value: function getIconName() { return 'eventMultipleThrow'; } }]); return EventIntermediateMultipleThrow; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateParallelMultipleCatch = function (_EspoBpmn$Figures$Eve24) { _inherits(EventIntermediateParallelMultipleCatch, _EspoBpmn$Figures$Eve24); function EventIntermediateParallelMultipleCatch() { _classCallCheck(this, EventIntermediateParallelMultipleCatch); return _possibleConstructorReturn(this, (EventIntermediateParallelMultipleCatch.__proto__ || Object.getPrototypeOf(EventIntermediateParallelMultipleCatch)).apply(this, arguments)); } _createClass(EventIntermediateParallelMultipleCatch, [{ key: 'getIconName', value: function getIconName() { return 'eventParallelMultipleCatch'; } }]); return EventIntermediateParallelMultipleCatch; }(EspoBpmn.Figures.EventIntermediate); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateCancelBoundary = function (_EspoBpmn$Figures$Eve25) { _inherits(EventIntermediateCancelBoundary, _EspoBpmn$Figures$Eve25); function EventIntermediateCancelBoundary() { _classCallCheck(this, EventIntermediateCancelBoundary); return _possibleConstructorReturn(this, (EventIntermediateCancelBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateCancelBoundary)).apply(this, arguments)); } _createClass(EventIntermediateCancelBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventCancelCatch'; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }]); return EventIntermediateCancelBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateCompensationBoundary = function (_EspoBpmn$Figures$Eve26) { _inherits(EventIntermediateCompensationBoundary, _EspoBpmn$Figures$Eve26); function EventIntermediateCompensationBoundary() { _classCallCheck(this, EventIntermediateCompensationBoundary); return _possibleConstructorReturn(this, (EventIntermediateCompensationBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateCompensationBoundary)).apply(this, arguments)); } _createClass(EventIntermediateCompensationBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventCompensationCatch'; } }, { key: 'outgoingFlowIsAssociation', value: function outgoingFlowIsAssociation() { return true; } }, { key: 'checkFlowToAllowed', value: function checkFlowToAllowed(endFigure) { if (endFigure.flowFromIdList.length) { return false; } if (endFigure instanceof EspoBpmn.Figures.Task || endFigure instanceof EspoBpmn.Figures.SubProcess || endFigure instanceof EspoBpmn.Figures.CallActivity) { return true; } return false; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }]); return EventIntermediateCompensationBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateMultipleBoundary = function (_EspoBpmn$Figures$Eve27) { _inherits(EventIntermediateMultipleBoundary, _EspoBpmn$Figures$Eve27); function EventIntermediateMultipleBoundary() { _classCallCheck(this, EventIntermediateMultipleBoundary); return _possibleConstructorReturn(this, (EventIntermediateMultipleBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateMultipleBoundary)).apply(this, arguments)); } _createClass(EventIntermediateMultipleBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventMultipleCatch'; } }]); return EventIntermediateMultipleBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateParallelMultipleBoundary = function (_EspoBpmn$Figures$Eve28) { _inherits(EventIntermediateParallelMultipleBoundary, _EspoBpmn$Figures$Eve28); function EventIntermediateParallelMultipleBoundary() { _classCallCheck(this, EventIntermediateParallelMultipleBoundary); return _possibleConstructorReturn(this, (EventIntermediateParallelMultipleBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateParallelMultipleBoundary)).apply(this, arguments)); } _createClass(EventIntermediateParallelMultipleBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventParallelMultipleCatch'; } }]); return EventIntermediateParallelMultipleBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateMessageBoundary = function (_EspoBpmn$Figures$Eve29) { _inherits(EventIntermediateMessageBoundary, _EspoBpmn$Figures$Eve29); function EventIntermediateMessageBoundary() { _classCallCheck(this, EventIntermediateMessageBoundary); return _possibleConstructorReturn(this, (EventIntermediateMessageBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateMessageBoundary)).apply(this, arguments)); } _createClass(EventIntermediateMessageBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventMessageCatch'; } }]); return EventIntermediateMessageBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateTimerBoundary = function (_EspoBpmn$Figures$Eve30) { _inherits(EventIntermediateTimerBoundary, _EspoBpmn$Figures$Eve30); function EventIntermediateTimerBoundary() { _classCallCheck(this, EventIntermediateTimerBoundary); return _possibleConstructorReturn(this, (EventIntermediateTimerBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateTimerBoundary)).apply(this, arguments)); } _createClass(EventIntermediateTimerBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventTimerCatch'; } }]); return EventIntermediateTimerBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateEscalationBoundary = function (_EspoBpmn$Figures$Eve31) { _inherits(EventIntermediateEscalationBoundary, _EspoBpmn$Figures$Eve31); function EventIntermediateEscalationBoundary() { _classCallCheck(this, EventIntermediateEscalationBoundary); return _possibleConstructorReturn(this, (EventIntermediateEscalationBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateEscalationBoundary)).apply(this, arguments)); } _createClass(EventIntermediateEscalationBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventEscalationCatch'; } }]); return EventIntermediateEscalationBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateConditionalBoundary = function (_EspoBpmn$Figures$Eve32) { _inherits(EventIntermediateConditionalBoundary, _EspoBpmn$Figures$Eve32); function EventIntermediateConditionalBoundary() { _classCallCheck(this, EventIntermediateConditionalBoundary); return _possibleConstructorReturn(this, (EventIntermediateConditionalBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateConditionalBoundary)).apply(this, arguments)); } _createClass(EventIntermediateConditionalBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventConditionalCatch'; } }]); return EventIntermediateConditionalBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateSignalBoundary = function (_EspoBpmn$Figures$Eve33) { _inherits(EventIntermediateSignalBoundary, _EspoBpmn$Figures$Eve33); function EventIntermediateSignalBoundary() { _classCallCheck(this, EventIntermediateSignalBoundary); return _possibleConstructorReturn(this, (EventIntermediateSignalBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateSignalBoundary)).apply(this, arguments)); } _createClass(EventIntermediateSignalBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventSignalCatch'; } }]); return EventIntermediateSignalBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventIntermediateErrorBoundary = function (_EspoBpmn$Figures$Eve34) { _inherits(EventIntermediateErrorBoundary, _EspoBpmn$Figures$Eve34); function EventIntermediateErrorBoundary() { _classCallCheck(this, EventIntermediateErrorBoundary); return _possibleConstructorReturn(this, (EventIntermediateErrorBoundary.__proto__ || Object.getPrototypeOf(EventIntermediateErrorBoundary)).apply(this, arguments)); } _createClass(EventIntermediateErrorBoundary, [{ key: 'getIconName', value: function getIconName() { return 'eventErrorCatch'; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return false; } }]); return EventIntermediateErrorBoundary; }(EspoBpmn.Figures.EventIntermediateBoundary); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEnd = function (_EspoBpmn$Figures$Cir3) { _inherits(EventEnd, _EspoBpmn$Figures$Cir3); function EventEnd() { _classCallCheck(this, EventEnd); return _possibleConstructorReturn(this, (EventEnd.__proto__ || Object.getPrototypeOf(EventEnd)).apply(this, arguments)); } _createClass(EventEnd, [{ key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { return false; } }, { key: 'isBoldStroke', value: function isBoldStroke() { return true; } }]); return EventEnd; }(EspoBpmn.Figures.Circle); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndTerminate = function (_EspoBpmn$Figures$Eve35) { _inherits(EventEndTerminate, _EspoBpmn$Figures$Eve35); function EventEndTerminate() { _classCallCheck(this, EventEndTerminate); return _possibleConstructorReturn(this, (EventEndTerminate.__proto__ || Object.getPrototypeOf(EventEndTerminate)).apply(this, arguments)); } _createClass(EventEndTerminate, [{ key: 'getIconName', value: function getIconName() { return 'eventTerminateThrow'; } }]); return EventEndTerminate; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndMessage = function (_EspoBpmn$Figures$Eve36) { _inherits(EventEndMessage, _EspoBpmn$Figures$Eve36); function EventEndMessage() { _classCallCheck(this, EventEndMessage); return _possibleConstructorReturn(this, (EventEndMessage.__proto__ || Object.getPrototypeOf(EventEndMessage)).apply(this, arguments)); } _createClass(EventEndMessage, [{ key: 'getIconName', value: function getIconName() { return 'eventMessageThrow'; } }]); return EventEndMessage; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndSignal = function (_EspoBpmn$Figures$Eve37) { _inherits(EventEndSignal, _EspoBpmn$Figures$Eve37); function EventEndSignal() { _classCallCheck(this, EventEndSignal); return _possibleConstructorReturn(this, (EventEndSignal.__proto__ || Object.getPrototypeOf(EventEndSignal)).apply(this, arguments)); } _createClass(EventEndSignal, [{ key: 'getIconName', value: function getIconName() { return 'eventSignalThrow'; } }]); return EventEndSignal; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndError = function (_EspoBpmn$Figures$Eve38) { _inherits(EventEndError, _EspoBpmn$Figures$Eve38); function EventEndError() { _classCallCheck(this, EventEndError); return _possibleConstructorReturn(this, (EventEndError.__proto__ || Object.getPrototypeOf(EventEndError)).apply(this, arguments)); } _createClass(EventEndError, [{ key: 'getIconName', value: function getIconName() { return 'eventErrorThrow'; } }]); return EventEndError; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndEscalation = function (_EspoBpmn$Figures$Eve39) { _inherits(EventEndEscalation, _EspoBpmn$Figures$Eve39); function EventEndEscalation() { _classCallCheck(this, EventEndEscalation); return _possibleConstructorReturn(this, (EventEndEscalation.__proto__ || Object.getPrototypeOf(EventEndEscalation)).apply(this, arguments)); } _createClass(EventEndEscalation, [{ key: 'getIconName', value: function getIconName() { return 'eventEscalationThrow'; } }]); return EventEndEscalation; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndCancel = function (_EspoBpmn$Figures$Eve40) { _inherits(EventEndCancel, _EspoBpmn$Figures$Eve40); function EventEndCancel() { _classCallCheck(this, EventEndCancel); return _possibleConstructorReturn(this, (EventEndCancel.__proto__ || Object.getPrototypeOf(EventEndCancel)).apply(this, arguments)); } _createClass(EventEndCancel, [{ key: 'getIconName', value: function getIconName() { return 'eventCancelThrow'; } }]); return EventEndCancel; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndCompensation = function (_EspoBpmn$Figures$Eve41) { _inherits(EventEndCompensation, _EspoBpmn$Figures$Eve41); function EventEndCompensation() { _classCallCheck(this, EventEndCompensation); return _possibleConstructorReturn(this, (EventEndCompensation.__proto__ || Object.getPrototypeOf(EventEndCompensation)).apply(this, arguments)); } _createClass(EventEndCompensation, [{ key: 'getIconName', value: function getIconName() { return 'eventCompensationThrow'; } }]); return EventEndCompensation; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventEndMultiple = function (_EspoBpmn$Figures$Eve42) { _inherits(EventEndMultiple, _EspoBpmn$Figures$Eve42); function EventEndMultiple() { _classCallCheck(this, EventEndMultiple); return _possibleConstructorReturn(this, (EventEndMultiple.__proto__ || Object.getPrototypeOf(EventEndMultiple)).apply(this, arguments)); } _createClass(EventEndMultiple, [{ key: 'getIconName', value: function getIconName() { return 'eventMultipleThrow'; } }]); return EventEndMultiple; }(EspoBpmn.Figures.EventEnd); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Gateway = function (_EspoBpmn$Figures$Rho) { _inherits(Gateway, _EspoBpmn$Figures$Rho); function Gateway() { _classCallCheck(this, Gateway); return _possibleConstructorReturn(this, (Gateway.__proto__ || Object.getPrototypeOf(Gateway)).apply(this, arguments)); } _createClass(Gateway, [{ key: 'isDivergent', value: function isDivergent() { if (this.flowFromIdList.length > 1) { return true; } return false; } }, { key: 'isConvergent', value: function isConvergent() { if (this.flowToIdList.length > 1) { return true; } return false; } }]); return Gateway; }(EspoBpmn.Figures.Rhombus); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayExclusive = function (_EspoBpmn$Figures$Gat) { _inherits(GatewayExclusive, _EspoBpmn$Figures$Gat); function GatewayExclusive() { _classCallCheck(this, GatewayExclusive); return _possibleConstructorReturn(this, (GatewayExclusive.__proto__ || Object.getPrototypeOf(GatewayExclusive)).apply(this, arguments)); } _createClass(GatewayExclusive, [{ key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { if (this.isConvergent()) { if (!this.flowFromIdList.length) { return true; } return false; } if (this.isDivergent()) { return true; } return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { if (this.isDivergent()) { if (!this.flowToIdList.length) { return true; } return false; } if (this.isConvergent()) { return true; } return true; } }, { key: 'checkFlowReturnAllowed', value: function checkFlowReturnAllowed() { return true; } }]); return GatewayExclusive; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayInclusive = function (_EspoBpmn$Figures$Gat2) { _inherits(GatewayInclusive, _EspoBpmn$Figures$Gat2); function GatewayInclusive() { _classCallCheck(this, GatewayInclusive); return _possibleConstructorReturn(this, (GatewayInclusive.__proto__ || Object.getPrototypeOf(GatewayInclusive)).apply(this, arguments)); } _createClass(GatewayInclusive, [{ key: 'getIconName', value: function getIconName() { return 'gatewayInclusive'; } }, { key: 'getIconHeight', value: function getIconHeight() { return 30; } }, { key: 'getIconWidth', value: function getIconWidth() { return 30; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { if (this.isConvergent()) { if (!this.flowFromIdList.length) { return true; } return false; } if (this.isDivergent()) { return true; } return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { if (this.isDivergent()) { if (!this.flowToIdList.length) { return true; } return false; } if (this.isConvergent()) { return true; } return true; } }]); return GatewayInclusive; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayParallel = function (_EspoBpmn$Figures$Gat3) { _inherits(GatewayParallel, _EspoBpmn$Figures$Gat3); function GatewayParallel() { _classCallCheck(this, GatewayParallel); return _possibleConstructorReturn(this, (GatewayParallel.__proto__ || Object.getPrototypeOf(GatewayParallel)).apply(this, arguments)); } _createClass(GatewayParallel, [{ key: 'getIconName', value: function getIconName() { return 'gatewayParallel'; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { if (this.isConvergent()) { if (!this.flowFromIdList.length) { return true; } return false; } if (this.isDivergent()) { return true; } return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { if (this.isDivergent()) { if (!this.flowToIdList.length) { return true; } return false; } if (this.isConvergent()) { return true; } return true; } }]); return GatewayParallel; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayComplex = function (_EspoBpmn$Figures$Gat4) { _inherits(GatewayComplex, _EspoBpmn$Figures$Gat4); function GatewayComplex() { _classCallCheck(this, GatewayComplex); return _possibleConstructorReturn(this, (GatewayComplex.__proto__ || Object.getPrototypeOf(GatewayComplex)).apply(this, arguments)); } _createClass(GatewayComplex, [{ key: 'getIconName', value: function getIconName() { return 'gatewayComplex'; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { if (this.isConvergent()) { if (!this.flowFromIdList.length) { return true; } return false; } if (this.isDivergent()) { return true; } return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { if (this.isDivergent()) { if (!this.flowToIdList.length) { return true; } return false; } if (this.isConvergent()) { return true; } return true; } }]); return GatewayComplex; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayEventBased = function (_EspoBpmn$Figures$Gat5) { _inherits(GatewayEventBased, _EspoBpmn$Figures$Gat5); function GatewayEventBased() { _classCallCheck(this, GatewayEventBased); return _possibleConstructorReturn(this, (GatewayEventBased.__proto__ || Object.getPrototypeOf(GatewayEventBased)).apply(this, arguments)); } _createClass(GatewayEventBased, [{ key: 'getIconName', value: function getIconName() { return 'gatewayEventBased'; } }, { key: 'checkFlowToAllowed', value: function checkFlowToAllowed(endFigure) { if (endFigure instanceof EspoBpmn.Figures.EventIntermediateLinkCatch || endFigure instanceof EspoBpmn.Figures.EventIntermediateTimerCatch || endFigure instanceof EspoBpmn.Figures.EventIntermediateSignalCatch || endFigure instanceof EspoBpmn.Figures.EventIntermediateMessageCatch || endFigure instanceof EspoBpmn.Figures.EventIntermediateMultipleCatch || endFigure instanceof EspoBpmn.Figures.EventIntermediateConditionalCatch || endFigure instanceof EspoBpmn.Figures.EventIntermediateParallelMultipleCatch) { return true; } return false; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { if (!this.flowToIdList.length) { return true; } return false; } }, { key: 'prepareElement', value: function prepareElement(center) { _get(GatewayEventBased.prototype.__proto__ || Object.getPrototypeOf(GatewayEventBased.prototype), 'prepareElement', this).call(this, center); if (this.iconElement) { this.iconElement.childNodes[0].setAttribute('transform', 'scale(1,-1)'); } } }]); return GatewayEventBased; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayEventBasedStart = function (_EspoBpmn$Figures$Gat6) { _inherits(GatewayEventBasedStart, _EspoBpmn$Figures$Gat6); function GatewayEventBasedStart() { _classCallCheck(this, GatewayEventBasedStart); return _possibleConstructorReturn(this, (GatewayEventBasedStart.__proto__ || Object.getPrototypeOf(GatewayEventBasedStart)).apply(this, arguments)); } _createClass(GatewayEventBasedStart, [{ key: 'getIconName', value: function getIconName() { return 'gatewayEventBasedStart'; } }, { key: 'checkFlowToAllowed', value: function checkFlowToAllowed(endFigure) { if (endFigure instanceof EspoBpmn.Figures.EventIntermediate) { return true; } return false; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { return false; } }]); return GatewayEventBasedStart; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.GatewayParallelStart = function (_EspoBpmn$Figures$Gat7) { _inherits(GatewayParallelStart, _EspoBpmn$Figures$Gat7); function GatewayParallelStart() { _classCallCheck(this, GatewayParallelStart); return _possibleConstructorReturn(this, (GatewayParallelStart.__proto__ || Object.getPrototypeOf(GatewayParallelStart)).apply(this, arguments)); } _createClass(GatewayParallelStart, [{ key: 'getIconName', value: function getIconName() { return 'gatewayParallelStart'; } }, { key: 'checkFlowToAllowed', value: function checkFlowToAllowed(endFigure) { if (endFigure instanceof EspoBpmn.Figures.EventIntermediate) { return true; } return false; } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { return true; } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { return false; } }]); return GatewayParallelStart; }(EspoBpmn.Figures.Gateway); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Activity = function (_EspoBpmn$Figures$Rec) { _inherits(Activity, _EspoBpmn$Figures$Rec); function Activity() { _classCallCheck(this, Activity); return _possibleConstructorReturn(this, (Activity.__proto__ || Object.getPrototypeOf(Activity)).apply(this, arguments)); } _createClass(Activity, [{ key: 'getAvailableMarkerList', value: function getAvailableMarkerList() { return ['loop', 'multiInstanceParallel', 'multiInstanceSequential', 'compensation', 'collapsedSubProcess', 'expandedSubProcess', 'adHoc']; } }, { key: 'checkFlowFromAllowed', value: function checkFlowFromAllowed(startFigure) { if (this.data.isForCompensation && !(startFigure instanceof EspoBpmn.Figures.EventIntermediateCompensationBoundary)) { return false; } return this.checkFlowEndAllowed(); } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { if (this.data.isForCompensation) { return false; } return _get(Activity.prototype.__proto__ || Object.getPrototypeOf(Activity.prototype), 'checkFlowStartAllowed', this).call(this); } }, { key: 'hasMarkerLoop', value: function hasMarkerLoop() { return false; } }, { key: 'hasMarkerMultiInstanceParallel', value: function hasMarkerMultiInstanceParallel() { return false; } }, { key: 'hasMarkerMultiInstanceSequential', value: function hasMarkerMultiInstanceSequential() { return false; } }, { key: 'hasMarkerCollapsedSubProcess', value: function hasMarkerCollapsedSubProcess() { return false; } }, { key: 'hasMarkerExpandedSubProcess', value: function hasMarkerExpandedSubProcess() { return false; } }, { key: 'hasMarkerCompensation', value: function hasMarkerCompensation() { return !!this.data.isForCompensation; } }, { key: 'hasMarkerAdHoc', value: function hasMarkerAdHoc() { return false; } }, { key: 'onFlowEnd', value: function onFlowEnd(startFigure, flowFigure) { if (startFigure instanceof EspoBpmn.Figures.EventIntermediateCompensationBoundary) { this.data.isForCompensation = true; this.reRender(); } } }]); return Activity; }(EspoBpmn.Figures.Rectangle); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.CallActivity = function (_EspoBpmn$Figures$Act) { _inherits(CallActivity, _EspoBpmn$Figures$Act); function CallActivity() { _classCallCheck(this, CallActivity); return _possibleConstructorReturn(this, (CallActivity.__proto__ || Object.getPrototypeOf(CallActivity)).apply(this, arguments)); } _createClass(CallActivity, [{ key: 'hasMarkerSubProcess', value: function hasMarkerSubProcess() { return true; } }, { key: 'isBoldStroke', value: function isBoldStroke() { return true; } }, { key: 'hasMarkerMultiInstanceParallel', value: function hasMarkerMultiInstanceParallel() { return this.data.isMultiInstance && !this.data.isSequential; } }, { key: 'hasMarkerMultiInstanceSequential', value: function hasMarkerMultiInstanceSequential() { return this.data.isMultiInstance && this.data.isSequential; } }]); return CallActivity; }(EspoBpmn.Figures.Activity); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.SubProcess = function (_EspoBpmn$Figures$Act2) { _inherits(SubProcess, _EspoBpmn$Figures$Act2); function SubProcess() { _classCallCheck(this, SubProcess); return _possibleConstructorReturn(this, (SubProcess.__proto__ || Object.getPrototypeOf(SubProcess)).apply(this, arguments)); } _createClass(SubProcess, [{ key: 'hasMarkerCollapsedSubProcess', value: function hasMarkerCollapsedSubProcess() { if (this.isExpanded()) { return false; } return true; } }, { key: 'hasMarkerExpandedSubProcess', value: function hasMarkerExpandedSubProcess() { if (this.canvas.isReadOnly) { return false; } if (this.isExpanded()) { return true; } return false; } }, { key: 'hasMarkerMultiInstanceParallel', value: function hasMarkerMultiInstanceParallel() { return this.data.isMultiInstance && !this.data.isSequential; } }, { key: 'hasMarkerMultiInstanceSequential', value: function hasMarkerMultiInstanceSequential() { return this.data.isMultiInstance && this.data.isSequential; } }, { key: 'isDottedLineBorder', value: function isDottedLineBorder() { return this.isEventSubProcess(); } }, { key: 'isEventSubProcess', value: function isEventSubProcess() { return !!this.data.triggeredByEvent; } }, { key: 'isRemovable', value: function isRemovable() { if (this.data.dataList.length) { return false; } return true; } }, { key: 'hasEventStartIcon', value: function hasEventStartIcon() { if (this.isExpanded()) { return false; } if (this.isEventSubProcess()) { if (this.data.eventStartData) { return true; } } } }, { key: 'isExpanded', value: function isExpanded() { return !!this.data.isExpanded; } }, { key: 'isResizable', value: function isResizable() { if (this.canvas.isReadOnly) { return false; } if (this.isExpanded()) { return true; } } }, { key: 'checkFlowStartAllowed', value: function checkFlowStartAllowed() { if (this.data.isForCompensation) { return false; } return !this.isEventSubProcess(); } }, { key: 'checkFlowEndAllowed', value: function checkFlowEndAllowed() { return !this.isEventSubProcess(); } }, { key: 'init', value: function init() { var dataList = this.data.dataList || []; this.data.dataList = dataList; var canvasParams = this.canvas._clone(this.canvas.params); canvasParams.scaleRatio = 1; this.subCanvas = new EspoBpmn.Canvas(null, canvasParams, dataList, this.id, this.canvas, this); this.subCanvas.moveTo({ x: this.data.offsetX || 0, y: this.data.offsetY || 0 }); } }, { key: 'prepareCanvasElement', value: function prepareCanvasElement() { this.subCanvasElement = this.subCanvas.getElement(); this.subCanvasMarginTop = this.getParam('fontSize') + this.getParam('textMarginTop'); var height = this.sideYLength - this.subCanvasMarginTop; this.dummyElement = this.subCanvas.dummyElement; this.dummyElement.setAttribute('x', 0); this.dummyElement.setAttribute('y', 0); this.dummyElement.setAttribute('width', this.sideXLength); this.dummyElement.setAttribute('height', height); this.subCanvasElement.setAttribute('width', this.sideXLength); this.subCanvasElement.setAttribute('height', height); this.subCanvas.moveTo({ x: this.data.offsetX || 0, y: this.data.offsetY || 0 }); } }, { key: 'prepareElement', value: function prepareElement() { var _this82 = this; _get(SubProcess.prototype.__proto__ || Object.getPrototypeOf(SubProcess.prototype), 'prepareElement', this).call(this); this.markerIconElementList.forEach(function (element) { if (_this82.canvas.isReadOnly) { return false; } var marker = element.getAttribute('data-marker'); if (marker === 'collapsedSubProcess' || marker === 'expandedSubProcess') { var dummyElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect'); dummyElement.setAttribute('pointer-events', 'visibleFill'); dummyElement.setAttribute('fill', 'none'); var viewBoxArr = _this82.getMarkerIconData(marker).viewBox.split(' '); dummyElement.setAttribute('x', 0); dummyElement.setAttribute('y', 0); dummyElement.setAttribute('width', viewBoxArr[2] - viewBoxArr[0]); dummyElement.setAttribute('height', viewBoxArr[3] - viewBoxArr[1]); element.appendChild(dummyElement); if (marker === 'collapsedSubProcess') { element.addEventListener('click', function (e) { if (_this82.canvas.isTouchDevice) { return; } e.stopPropagation(); _this82.expand(); }); element.addEventListener('touchend', function (e) { e.stopPropagation(); _this82.expand(); }, { passive: true }); } else if (element.getAttribute('data-marker') === 'expandedSubProcess') { element.addEventListener('click', function (e) { if (_this82.canvas.isTouchDevice) { return; } e.stopPropagation(); _this82.collapse(); }); element.addEventListener('touchend', function (e) { e.stopPropagation(); _this82.collapse(); }, { passive: true }); } } }); } }, { key: 'expand', value: function expand() { this.data.isExpanded = true; this.reRender(); this.rePositionDependencies(); this.reRenderDependencies(); this.canvas.triggerEvent('change'); } }, { key: 'collapse', value: function collapse() { this.data.isExpanded = false; this.reRender(); this.rePositionDependencies(); this.reRenderDependencies(); this.canvas.triggerEvent('change'); } }, { key: 'fitSizeForFigure', value: function fitSizeForFigure(figure) { var _this83 = this; if (figure instanceof EspoBpmn.Figures.Flow) { return; } if (!figure.data.center) { return; } var offsetX = this.data.offsetX || 0; var offsetY = this.data.offsetY || 0; var x = figure.data.center.x; var y = figure.data.center.y; var leftX = -offsetX; var topY = -offsetY; var width = this.sideXLength; var height = this.sideYLength; var rightX = leftX + width; var bottomY = topY + height - this.subCanvasMarginTop; var radiusX = this.getGlobalParam('circleRadius'); var radiusY = radiusX; if (figure instanceof EspoBpmn.Figures.Rhombus) { radiusX = radiusY = figure.diagonalHalfLength; } else if (figure instanceof EspoBpmn.Figures.Rectangle) { radiusX = figure.sideXHalfLength; radiusY = figure.sideYHalfLength; } var margin = this.getGlobalParam('subProcessMargin'); var isChanged = false; if (x - radiusX - margin < leftX) { isChanged = true; var diff = leftX - (x - radiusX - margin); this.data.offsetX = offsetX + diff; this.data.width = width + diff; this.data.center.x = this.data.center.x - Math.round(diff / 2); } if (x + radiusX + margin > rightX) { isChanged = true; var diff = x + radiusX + margin - rightX; this.data.width = width + diff; this.data.center.x = this.data.center.x + Math.round(diff / 2); } if (y - radiusY - margin < topY) { isChanged = true; var diff = topY - (y - radiusY - margin); this.data.offsetY = offsetY + diff; this.data.height = height + diff; this.data.center.y = this.data.center.y - Math.round(diff / 2); } if (y + radiusY + margin > bottomY) { isChanged = true; var diff = y + radiusY + margin - bottomY; this.data.height = height + diff; this.data.center.y = this.data.center.y + Math.round(diff / 2); } if (isChanged) { setTimeout(function () { _this83.reRender(); _this83.rePositionDependencies(); _this83.reRenderDependencies(); }, 100); } } }]); return SubProcess; }(EspoBpmn.Figures.Activity); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.EventSubProcess = function (_EspoBpmn$Figures$Sub) { _inherits(EventSubProcess, _EspoBpmn$Figures$Sub); function EventSubProcess() { _classCallCheck(this, EventSubProcess); return _possibleConstructorReturn(this, (EventSubProcess.__proto__ || Object.getPrototypeOf(EventSubProcess)).apply(this, arguments)); } _createClass(EventSubProcess, [{ key: 'isEventSubProcess', value: function isEventSubProcess() { return true; } }, { key: 'hasMarkerMultiInstanceParallel', value: function hasMarkerMultiInstanceParallel() { return false; } }, { key: 'hasMarkerMultiInstanceSequential', value: function hasMarkerMultiInstanceSequential() { return false; } }]); return EventSubProcess; }(EspoBpmn.Figures.SubProcess); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.AdHocSubProcess = function (_EspoBpmn$Figures$Sub2) { _inherits(AdHocSubProcess, _EspoBpmn$Figures$Sub2); function AdHocSubProcess() { _classCallCheck(this, AdHocSubProcess); return _possibleConstructorReturn(this, (AdHocSubProcess.__proto__ || Object.getPrototypeOf(AdHocSubProcess)).apply(this, arguments)); } _createClass(AdHocSubProcess, [{ key: 'hasMarkerAdHoc', value: function hasMarkerAdHoc() { return true; } }, { key: 'isEventSubProcess', value: function isEventSubProcess() { return false; } }]); return AdHocSubProcess; }(EspoBpmn.Figures.SubProcess); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Transaction = function (_EspoBpmn$Figures$Sub3) { _inherits(Transaction, _EspoBpmn$Figures$Sub3); function Transaction() { _classCallCheck(this, Transaction); return _possibleConstructorReturn(this, (Transaction.__proto__ || Object.getPrototypeOf(Transaction)).apply(this, arguments)); } _createClass(Transaction, [{ key: 'isEventSubProcess', value: function isEventSubProcess() { return false; } }, { key: 'isDoubleBorder', value: function isDoubleBorder() { return true; } }]); return Transaction; }(EspoBpmn.Figures.SubProcess); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.Task = function (_EspoBpmn$Figures$Act3) { _inherits(Task, _EspoBpmn$Figures$Act3); function Task() { _classCallCheck(this, Task); return _possibleConstructorReturn(this, (Task.__proto__ || Object.getPrototypeOf(Task)).apply(this, arguments)); } return Task; }(EspoBpmn.Figures.Activity); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskUser = function (_EspoBpmn$Figures$Tas) { _inherits(TaskUser, _EspoBpmn$Figures$Tas); function TaskUser() { _classCallCheck(this, TaskUser); return _possibleConstructorReturn(this, (TaskUser.__proto__ || Object.getPrototypeOf(TaskUser)).apply(this, arguments)); } _createClass(TaskUser, [{ key: 'getIconName', value: function getIconName() { return 'taskUser'; } }, { key: 'hasIcon', value: function hasIcon() { return true; } }]); return TaskUser; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskSendMessage = function (_EspoBpmn$Figures$Tas2) { _inherits(TaskSendMessage, _EspoBpmn$Figures$Tas2); function TaskSendMessage() { _classCallCheck(this, TaskSendMessage); return _possibleConstructorReturn(this, (TaskSendMessage.__proto__ || Object.getPrototypeOf(TaskSendMessage)).apply(this, arguments)); } _createClass(TaskSendMessage, [{ key: 'getIconName', value: function getIconName() { return 'taskSendMessage'; } }]); return TaskSendMessage; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskReceiveMessage = function (_EspoBpmn$Figures$Tas3) { _inherits(TaskReceiveMessage, _EspoBpmn$Figures$Tas3); function TaskReceiveMessage() { _classCallCheck(this, TaskReceiveMessage); return _possibleConstructorReturn(this, (TaskReceiveMessage.__proto__ || Object.getPrototypeOf(TaskReceiveMessage)).apply(this, arguments)); } _createClass(TaskReceiveMessage, [{ key: 'getIconName', value: function getIconName() { return 'taskReceiveMessage'; } }]); return TaskReceiveMessage; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskScript = function (_EspoBpmn$Figures$Tas4) { _inherits(TaskScript, _EspoBpmn$Figures$Tas4); function TaskScript() { _classCallCheck(this, TaskScript); return _possibleConstructorReturn(this, (TaskScript.__proto__ || Object.getPrototypeOf(TaskScript)).apply(this, arguments)); } _createClass(TaskScript, [{ key: 'getIconName', value: function getIconName() { return 'taskScript'; } }]); return TaskScript; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskService = function (_EspoBpmn$Figures$Tas5) { _inherits(TaskService, _EspoBpmn$Figures$Tas5); function TaskService() { _classCallCheck(this, TaskService); return _possibleConstructorReturn(this, (TaskService.__proto__ || Object.getPrototypeOf(TaskService)).apply(this, arguments)); } _createClass(TaskService, [{ key: 'getIconName', value: function getIconName() { return 'taskService'; } }]); return TaskService; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskBusinessRule = function (_EspoBpmn$Figures$Tas6) { _inherits(TaskBusinessRule, _EspoBpmn$Figures$Tas6); function TaskBusinessRule() { _classCallCheck(this, TaskBusinessRule); return _possibleConstructorReturn(this, (TaskBusinessRule.__proto__ || Object.getPrototypeOf(TaskBusinessRule)).apply(this, arguments)); } _createClass(TaskBusinessRule, [{ key: 'getIconName', value: function getIconName() { return 'taskBusinessRule'; } }]); return TaskBusinessRule; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn); (function (EspoBpmn) { EspoBpmn.Figures.TaskManual = function (_EspoBpmn$Figures$Tas7) { _inherits(TaskManual, _EspoBpmn$Figures$Tas7); function TaskManual() { _classCallCheck(this, TaskManual); return _possibleConstructorReturn(this, (TaskManual.__proto__ || Object.getPrototypeOf(TaskManual)).apply(this, arguments)); } _createClass(TaskManual, [{ key: 'getIconName', value: function getIconName() { return 'taskManual'; } }]); return TaskManual; }(EspoBpmn.Figures.Task); }).call(undefined, EspoBpmn);