1 |
|
2 |
|
3 |
|
4 | export default function PathMap() {
|
5 |
|
6 | |
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 |
|
33 |
|
34 |
|
35 |
|
36 |
|
37 | this.pathMap = {
|
38 | 'EVENT_MESSAGE': {
|
39 | d: 'm {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}',
|
40 | height: 36,
|
41 | width: 36,
|
42 | heightElements: [ 6, 14 ],
|
43 | widthElements: [ 10.5, 21 ]
|
44 | },
|
45 | 'EVENT_SIGNAL': {
|
46 | d: 'M {mx},{my} l {e.x0},{e.y0} l -{e.x1},0 Z',
|
47 | height: 36,
|
48 | width: 36,
|
49 | heightElements: [ 18 ],
|
50 | widthElements: [ 10, 20 ]
|
51 | },
|
52 | 'EVENT_ESCALATION': {
|
53 | d: 'M {mx},{my} l {e.x0},{e.y0} l -{e.x0},-{e.y1} l -{e.x0},{e.y1} Z',
|
54 | height: 36,
|
55 | width: 36,
|
56 | heightElements: [ 20, 7 ],
|
57 | widthElements: [ 8 ]
|
58 | },
|
59 | 'EVENT_CONDITIONAL': {
|
60 | d: 'M {e.x0},{e.y0} l {e.x1},0 l 0,{e.y2} l -{e.x1},0 Z ' +
|
61 | 'M {e.x2},{e.y3} l {e.x0},0 ' +
|
62 | 'M {e.x2},{e.y4} l {e.x0},0 ' +
|
63 | 'M {e.x2},{e.y5} l {e.x0},0 ' +
|
64 | 'M {e.x2},{e.y6} l {e.x0},0 ' +
|
65 | 'M {e.x2},{e.y7} l {e.x0},0 ' +
|
66 | 'M {e.x2},{e.y8} l {e.x0},0 ',
|
67 | height: 36,
|
68 | width: 36,
|
69 | heightElements: [ 8.5, 14.5, 18, 11.5, 14.5, 17.5, 20.5, 23.5, 26.5 ],
|
70 | widthElements: [ 10.5, 14.5, 12.5 ]
|
71 | },
|
72 | 'EVENT_LINK': {
|
73 | d: 'm {mx},{my} 0,{e.y0} -{e.x1},0 0,{e.y1} {e.x1},0 0,{e.y0} {e.x0},-{e.y2} -{e.x0},-{e.y2} z',
|
74 | height: 36,
|
75 | width: 36,
|
76 | heightElements: [ 4.4375, 6.75, 7.8125 ],
|
77 | widthElements: [ 9.84375, 13.5 ]
|
78 | },
|
79 | 'EVENT_ERROR': {
|
80 | d: 'm {mx},{my} {e.x0},-{e.y0} {e.x1},-{e.y1} {e.x2},{e.y2} {e.x3},-{e.y3} -{e.x4},{e.y4} -{e.x5},-{e.y5} z',
|
81 | height: 36,
|
82 | width: 36,
|
83 | heightElements: [ 0.023, 8.737, 8.151, 16.564, 10.591, 8.714 ],
|
84 | widthElements: [ 0.085, 6.672, 6.97, 4.273, 5.337, 6.636 ]
|
85 | },
|
86 | 'EVENT_CANCEL_45': {
|
87 | d: 'm {mx},{my} -{e.x1},0 0,{e.x0} {e.x1},0 0,{e.y1} {e.x0},0 ' +
|
88 | '0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z',
|
89 | height: 36,
|
90 | width: 36,
|
91 | heightElements: [ 4.75, 8.5 ],
|
92 | widthElements: [ 4.75, 8.5 ]
|
93 | },
|
94 | 'EVENT_COMPENSATION': {
|
95 | d: 'm {mx},{my} {e.x0},-{e.y0} 0,{e.y1} z m {e.x1},-{e.y2} {e.x2},-{e.y3} 0,{e.y1} -{e.x2},-{e.y3} z',
|
96 | height: 36,
|
97 | width: 36,
|
98 | heightElements: [ 6.5, 13, 0.4, 6.1 ],
|
99 | widthElements: [ 9, 9.3, 8.7 ]
|
100 | },
|
101 | 'EVENT_TIMER_WH': {
|
102 | d: 'M {mx},{my} l {e.x0},-{e.y0} m -{e.x0},{e.y0} l {e.x1},{e.y1} ',
|
103 | height: 36,
|
104 | width: 36,
|
105 | heightElements: [ 10, 2 ],
|
106 | widthElements: [ 3, 7 ]
|
107 | },
|
108 | 'EVENT_TIMER_LINE': {
|
109 | d: 'M {mx},{my} ' +
|
110 | 'm {e.x0},{e.y0} l -{e.x1},{e.y1} ',
|
111 | height: 36,
|
112 | width: 36,
|
113 | heightElements: [ 10, 3 ],
|
114 | widthElements: [ 0, 0 ]
|
115 | },
|
116 | 'EVENT_MULTIPLE': {
|
117 | d:'m {mx},{my} {e.x1},-{e.y0} {e.x1},{e.y0} -{e.x0},{e.y1} -{e.x2},0 z',
|
118 | height: 36,
|
119 | width: 36,
|
120 | heightElements: [ 6.28099, 12.56199 ],
|
121 | widthElements: [ 3.1405, 9.42149, 12.56198 ]
|
122 | },
|
123 | 'EVENT_PARALLEL_MULTIPLE': {
|
124 | d:'m {mx},{my} {e.x0},0 0,{e.y1} {e.x1},0 0,{e.y0} -{e.x1},0 0,{e.y1} ' +
|
125 | '-{e.x0},0 0,-{e.y1} -{e.x1},0 0,-{e.y0} {e.x1},0 z',
|
126 | height: 36,
|
127 | width: 36,
|
128 | heightElements: [ 2.56228, 7.68683 ],
|
129 | widthElements: [ 2.56228, 7.68683 ]
|
130 | },
|
131 | 'GATEWAY_EXCLUSIVE': {
|
132 | d:'m {mx},{my} {e.x0},{e.y0} {e.x1},{e.y0} {e.x2},0 {e.x4},{e.y2} ' +
|
133 | '{e.x4},{e.y1} {e.x2},0 {e.x1},{e.y3} {e.x0},{e.y3} ' +
|
134 | '{e.x3},0 {e.x5},{e.y1} {e.x5},{e.y2} {e.x3},0 z',
|
135 | height: 17.5,
|
136 | width: 17.5,
|
137 | heightElements: [ 8.5, 6.5312, -6.5312, -8.5 ],
|
138 | widthElements: [ 6.5, -6.5, 3, -3, 5, -5 ]
|
139 | },
|
140 | 'GATEWAY_PARALLEL': {
|
141 | d:'m {mx},{my} 0,{e.y1} -{e.x1},0 0,{e.y0} {e.x1},0 0,{e.y1} {e.x0},0 ' +
|
142 | '0,-{e.y1} {e.x1},0 0,-{e.y0} -{e.x1},0 0,-{e.y1} -{e.x0},0 z',
|
143 | height: 30,
|
144 | width: 30,
|
145 | heightElements: [ 5, 12.5 ],
|
146 | widthElements: [ 5, 12.5 ]
|
147 | },
|
148 | 'GATEWAY_EVENT_BASED': {
|
149 | d:'m {mx},{my} {e.x0},{e.y0} {e.x0},{e.y1} {e.x1},{e.y2} {e.x2},0 z',
|
150 | height: 11,
|
151 | width: 11,
|
152 | heightElements: [ -6, 6, 12, -12 ],
|
153 | widthElements: [ 9, -3, -12 ]
|
154 | },
|
155 | 'GATEWAY_COMPLEX': {
|
156 | d:'m {mx},{my} 0,{e.y0} -{e.x0},-{e.y1} -{e.x1},{e.y2} {e.x0},{e.y1} -{e.x2},0 0,{e.y3} ' +
|
157 | '{e.x2},0 -{e.x0},{e.y1} l {e.x1},{e.y2} {e.x0},-{e.y1} 0,{e.y0} {e.x3},0 0,-{e.y0} {e.x0},{e.y1} ' +
|
158 | '{e.x1},-{e.y2} -{e.x0},-{e.y1} {e.x2},0 0,-{e.y3} -{e.x2},0 {e.x0},-{e.y1} -{e.x1},-{e.y2} ' +
|
159 | '-{e.x0},{e.y1} 0,-{e.y0} -{e.x3},0 z',
|
160 | height: 17.125,
|
161 | width: 17.125,
|
162 | heightElements: [ 4.875, 3.4375, 2.125, 3 ],
|
163 | widthElements: [ 3.4375, 2.125, 4.875, 3 ]
|
164 | },
|
165 | 'DATA_OBJECT_PATH': {
|
166 | d:'m 0,0 {e.x1},0 {e.x0},{e.y0} 0,{e.y1} -{e.x2},0 0,-{e.y2} {e.x1},0 0,{e.y0} {e.x0},0',
|
167 | height: 61,
|
168 | width: 51,
|
169 | heightElements: [ 10, 50, 60 ],
|
170 | widthElements: [ 10, 40, 50, 60 ]
|
171 | },
|
172 | 'DATA_OBJECT_COLLECTION_PATH': {
|
173 | d: 'm{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10',
|
174 | height: 10,
|
175 | width: 10,
|
176 | heightElements: [],
|
177 | widthElements: []
|
178 | },
|
179 | 'DATA_ARROW': {
|
180 | d:'m 5,9 9,0 0,-3 5,5 -5,5 0,-3 -9,0 z',
|
181 | height: 61,
|
182 | width: 51,
|
183 | heightElements: [],
|
184 | widthElements: []
|
185 | },
|
186 | 'DATA_STORE': {
|
187 | d:'m {mx},{my} ' +
|
188 | 'l 0,{e.y2} ' +
|
189 | 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 ' +
|
190 | 'l 0,-{e.y2} ' +
|
191 | 'c -{e.x0},-{e.y1} -{e.x1},-{e.y1} -{e.x2},0' +
|
192 | 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0 ' +
|
193 | 'm -{e.x2},{e.y0}' +
|
194 | 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0' +
|
195 | 'm -{e.x2},{e.y0}' +
|
196 | 'c {e.x0},{e.y1} {e.x1},{e.y1} {e.x2},0',
|
197 | height: 61,
|
198 | width: 61,
|
199 | heightElements: [ 7, 10, 45 ],
|
200 | widthElements: [ 2, 58, 60 ]
|
201 | },
|
202 | 'TEXT_ANNOTATION': {
|
203 | d: 'm {mx}, {my} m 10,0 l -10,0 l 0,{e.y0} l 10,0',
|
204 | height: 30,
|
205 | width: 10,
|
206 | heightElements: [ 30 ],
|
207 | widthElements: [ 10 ]
|
208 | },
|
209 | 'MARKER_SUB_PROCESS': {
|
210 | d: 'm{mx},{my} m 7,2 l 0,10 m -5,-5 l 10,0',
|
211 | height: 10,
|
212 | width: 10,
|
213 | heightElements: [],
|
214 | widthElements: []
|
215 | },
|
216 | 'MARKER_PARALLEL': {
|
217 | d: 'm{mx},{my} m 3,2 l 0,10 m 3,-10 l 0,10 m 3,-10 l 0,10',
|
218 | height: 10,
|
219 | width: 10,
|
220 | heightElements: [],
|
221 | widthElements: []
|
222 | },
|
223 | 'MARKER_SEQUENTIAL': {
|
224 | d: 'm{mx},{my} m 0,3 l 10,0 m -10,3 l 10,0 m -10,3 l 10,0',
|
225 | height: 10,
|
226 | width: 10,
|
227 | heightElements: [],
|
228 | widthElements: []
|
229 | },
|
230 | 'MARKER_COMPENSATION': {
|
231 | d: 'm {mx},{my} 7,-5 0,10 z m 7.1,-0.3 6.9,-4.7 0,10 -6.9,-4.7 z',
|
232 | height: 10,
|
233 | width: 21,
|
234 | heightElements: [],
|
235 | widthElements: []
|
236 | },
|
237 | 'MARKER_LOOP': {
|
238 | d: 'm {mx},{my} c 3.526979,0 6.386161,-2.829858 6.386161,-6.320661 0,-3.490806 -2.859182,-6.320661 ' +
|
239 | '-6.386161,-6.320661 -3.526978,0 -6.38616,2.829855 -6.38616,6.320661 0,1.745402 ' +
|
240 | '0.714797,3.325567 1.870463,4.469381 0.577834,0.571908 1.265885,1.034728 2.029916,1.35457 ' +
|
241 | 'l -0.718163,-3.909793 m 0.718163,3.909793 -3.885211,0.802902',
|
242 | height: 13.9,
|
243 | width: 13.7,
|
244 | heightElements: [],
|
245 | widthElements: []
|
246 | },
|
247 | 'MARKER_ADHOC': {
|
248 | d: 'm {mx},{my} m 0.84461,2.64411 c 1.05533,-1.23780996 2.64337,-2.07882 4.29653,-1.97997996 2.05163,0.0805 ' +
|
249 | '3.85579,1.15803 5.76082,1.79107 1.06385,0.34139996 2.24454,0.1438 3.18759,-0.43767 0.61743,-0.33642 ' +
|
250 | '1.2775,-0.64078 1.7542,-1.17511 0,0.56023 0,1.12046 0,1.6807 -0.98706,0.96237996 -2.29792,1.62393996 ' +
|
251 | '-3.6918,1.66181996 -1.24459,0.0927 -2.46671,-0.2491 -3.59505,-0.74812 -1.35789,-0.55965 ' +
|
252 | '-2.75133,-1.33436996 -4.27027,-1.18121996 -1.37741,0.14601 -2.41842,1.13685996 -3.44288,1.96782996 z',
|
253 | height: 4,
|
254 | width: 15,
|
255 | heightElements: [],
|
256 | widthElements: []
|
257 | },
|
258 | 'TASK_TYPE_SEND': {
|
259 | d: 'm {mx},{my} l 0,{e.y1} l {e.x1},0 l 0,-{e.y1} z l {e.x0},{e.y0} l {e.x0},-{e.y0}',
|
260 | height: 14,
|
261 | width: 21,
|
262 | heightElements: [ 6, 14 ],
|
263 | widthElements: [ 10.5, 21 ]
|
264 | },
|
265 | 'TASK_TYPE_SCRIPT': {
|
266 | d: 'm {mx},{my} c 9.966553,-6.27276 -8.000926,-7.91932 2.968968,-14.938 l -8.802728,0 ' +
|
267 | 'c -10.969894,7.01868 6.997585,8.66524 -2.968967,14.938 z ' +
|
268 | 'm -7,-12 l 5,0 ' +
|
269 | 'm -4.5,3 l 4.5,0 ' +
|
270 | 'm -3,3 l 5,0' +
|
271 | 'm -4,3 l 5,0',
|
272 | height: 15,
|
273 | width: 12.6,
|
274 | heightElements: [ 6, 14 ],
|
275 | widthElements: [ 10.5, 21 ]
|
276 | },
|
277 | 'TASK_TYPE_USER_1': {
|
278 | d: 'm {mx},{my} c 0.909,-0.845 1.594,-2.049 1.594,-3.385 0,-2.554 -1.805,-4.62199999 ' +
|
279 | '-4.357,-4.62199999 -2.55199998,0 -4.28799998,2.06799999 -4.28799998,4.62199999 0,1.348 ' +
|
280 | '0.974,2.562 1.89599998,3.405 -0.52899998,0.187 -5.669,2.097 -5.794,4.7560005 v 6.718 ' +
|
281 | 'h 17 v -6.718 c 0,-2.2980005 -5.5279996,-4.5950005 -6.0509996,-4.7760005 z' +
|
282 | 'm -8,6 l 0,5.5 m 11,0 l 0,-5'
|
283 | },
|
284 | 'TASK_TYPE_USER_2': {
|
285 | d: 'm {mx},{my} m 2.162,1.009 c 0,2.4470005 -2.158,4.4310005 -4.821,4.4310005 ' +
|
286 | '-2.66499998,0 -4.822,-1.981 -4.822,-4.4310005 '
|
287 | },
|
288 | 'TASK_TYPE_USER_3': {
|
289 | d: 'm {mx},{my} m -6.9,-3.80 c 0,0 2.25099998,-2.358 4.27399998,-1.177 2.024,1.181 4.221,1.537 ' +
|
290 | '4.124,0.965 -0.098,-0.57 -0.117,-3.79099999 -4.191,-4.13599999 -3.57499998,0.001 ' +
|
291 | '-4.20799998,3.36699999 -4.20699998,4.34799999 z'
|
292 | },
|
293 | 'TASK_TYPE_MANUAL': {
|
294 | d: 'm {mx},{my} c 0.234,-0.01 5.604,0.008 8.029,0.004 0.808,0 1.271,-0.172 1.417,-0.752 0.227,-0.898 ' +
|
295 | '-0.334,-1.314 -1.338,-1.316 -2.467,-0.01 -7.886,-0.004 -8.108,-0.004 -0.014,-0.079 0.016,-0.533 0,-0.61 ' +
|
296 | '0.195,-0.042 8.507,0.006 9.616,0.002 0.877,-0.007 1.35,-0.438 1.353,-1.208 0.003,-0.768 -0.479,-1.09 ' +
|
297 | '-1.35,-1.091 -2.968,-0.002 -9.619,-0.013 -9.619,-0.013 v -0.591 c 0,0 5.052,-0.016 7.225,-0.016 ' +
|
298 | '0.888,-0.002 1.354,-0.416 1.351,-1.193 -0.006,-0.761 -0.492,-1.196 -1.361,-1.196 -3.473,-0.005 ' +
|
299 | '-10.86,-0.003 -11.0829995,-0.003 -0.022,-0.047 -0.045,-0.094 -0.069,-0.139 0.3939995,-0.319 ' +
|
300 | '2.0409995,-1.626 2.4149995,-2.017 0.469,-0.4870005 0.519,-1.1650005 0.162,-1.6040005 -0.414,-0.511 ' +
|
301 | '-0.973,-0.5 -1.48,-0.236 -1.4609995,0.764 -6.5999995,3.6430005 -7.7329995,4.2710005 -0.9,0.499 ' +
|
302 | '-1.516,1.253 -1.882,2.19 -0.37000002,0.95 -0.17,2.01 -0.166,2.979 0.004,0.718 -0.27300002,1.345 ' +
|
303 | '-0.055,2.063 0.629,2.087 2.425,3.312 4.859,3.318 4.6179995,0.014 9.2379995,-0.139 13.8569995,-0.158 ' +
|
304 | '0.755,-0.004 1.171,-0.301 1.182,-1.033 0.012,-0.754 -0.423,-0.969 -1.183,-0.973 -1.778,-0.01 ' +
|
305 | '-5.824,-0.004 -6.04,-0.004 10e-4,-0.084 0.003,-0.586 10e-4,-0.67 z'
|
306 | },
|
307 | 'TASK_TYPE_INSTANTIATING_SEND': {
|
308 | d: 'm {mx},{my} l 0,8.4 l 12.6,0 l 0,-8.4 z l 6.3,3.6 l 6.3,-3.6'
|
309 | },
|
310 | 'TASK_TYPE_SERVICE': {
|
311 | d: 'm {mx},{my} v -1.71335 c 0.352326,-0.0705 0.703932,-0.17838 1.047628,-0.32133 ' +
|
312 | '0.344416,-0.14465 0.665822,-0.32133 0.966377,-0.52145 l 1.19431,1.18005 1.567487,-1.57688 ' +
|
313 | '-1.195028,-1.18014 c 0.403376,-0.61394 0.683079,-1.29908 0.825447,-2.01824 l 1.622133,-0.01 ' +
|
314 | 'v -2.2196 l -1.636514,0.01 c -0.07333,-0.35153 -0.178319,-0.70024 -0.323564,-1.04372 ' +
|
315 | '-0.145244,-0.34406 -0.321407,-0.6644 -0.522735,-0.96217 l 1.131035,-1.13631 -1.583305,-1.56293 ' +
|
316 | '-1.129598,1.13589 c -0.614052,-0.40108 -1.302883,-0.68093 -2.022633,-0.82247 l 0.0093,-1.61852 ' +
|
317 | 'h -2.241173 l 0.0042,1.63124 c -0.353763,0.0736 -0.705369,0.17977 -1.049785,0.32371 -0.344415,0.14437 ' +
|
318 | '-0.665102,0.32092 -0.9635006,0.52046 l -1.1698628,-1.15823 -1.5667691,1.5792 1.1684265,1.15669 ' +
|
319 | 'c -0.4026573,0.61283 -0.68308,1.29797 -0.8247287,2.01713 l -1.6588041,0.003 v 2.22174 ' +
|
320 | 'l 1.6724648,-0.006 c 0.073327,0.35077 0.1797598,0.70243 0.3242851,1.04472 0.1452428,0.34448 ' +
|
321 | '0.3214064,0.6644 0.5227339,0.96066 l -1.1993431,1.19723 1.5840256,1.56011 1.1964668,-1.19348 ' +
|
322 | 'c 0.6140517,0.40346 1.3028827,0.68232 2.0233517,0.82331 l 7.19e-4,1.69892 h 2.226848 z ' +
|
323 | 'm 0.221462,-3.9957 c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 ' +
|
324 | '0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 ' +
|
325 | '0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z'
|
326 | },
|
327 | 'TASK_TYPE_SERVICE_FILL': {
|
328 | d: 'm {mx},{my} c -1.788948,0.7502 -3.8576,-0.0928 -4.6097055,-1.87438 -0.7521065,-1.78321 ' +
|
329 | '0.090598,-3.84627 1.8802645,-4.59604 1.78823,-0.74936 3.856881,0.0929 4.608987,1.87437 ' +
|
330 | '0.752106,1.78165 -0.0906,3.84612 -1.879546,4.59605 z'
|
331 | },
|
332 | 'TASK_TYPE_BUSINESS_RULE_HEADER': {
|
333 | d: 'm {mx},{my} 0,4 20,0 0,-4 z'
|
334 | },
|
335 | 'TASK_TYPE_BUSINESS_RULE_MAIN': {
|
336 | d: 'm {mx},{my} 0,12 20,0 0,-12 z' +
|
337 | 'm 0,8 l 20,0 ' +
|
338 | 'm -13,-4 l 0,8'
|
339 | },
|
340 | 'MESSAGE_FLOW_MARKER': {
|
341 | d: 'm {mx},{my} m -10.5 ,-7 l 0,14 l 21,0 l 0,-14 z l 10.5,6 l 10.5,-6'
|
342 | }
|
343 | };
|
344 |
|
345 | |
346 |
|
347 |
|
348 |
|
349 |
|
350 |
|
351 |
|
352 | this.getRawPath = function getRawPath(pathId) {
|
353 | return this.pathMap[pathId].d;
|
354 | };
|
355 |
|
356 | |
357 |
|
358 |
|
359 |
|
360 |
|
361 |
|
362 |
|
363 |
|
364 |
|
365 |
|
366 |
|
367 |
|
368 |
|
369 |
|
370 |
|
371 |
|
372 |
|
373 |
|
374 |
|
375 |
|
376 |
|
377 |
|
378 |
|
379 |
|
380 |
|
381 |
|
382 |
|
383 |
|
384 |
|
385 |
|
386 |
|
387 |
|
388 |
|
389 |
|
390 |
|
391 |
|
392 |
|
393 |
|
394 |
|
395 |
|
396 |
|
397 |
|
398 |
|
399 |
|
400 |
|
401 |
|
402 |
|
403 |
|
404 |
|
405 |
|
406 | this.getScaledPath = function getScaledPath(pathId, param) {
|
407 | var rawPath = this.pathMap[pathId];
|
408 |
|
409 |
|
410 |
|
411 | var mx, my;
|
412 |
|
413 | if (param.abspos) {
|
414 | mx = param.abspos.x;
|
415 | my = param.abspos.y;
|
416 | } else {
|
417 | mx = param.containerWidth * param.position.mx;
|
418 | my = param.containerHeight * param.position.my;
|
419 | }
|
420 |
|
421 | var coordinates = {};
|
422 | if (param.position) {
|
423 |
|
424 |
|
425 | var heightRatio = (param.containerHeight / rawPath.height) * param.yScaleFactor;
|
426 | var widthRatio = (param.containerWidth / rawPath.width) * param.xScaleFactor;
|
427 |
|
428 |
|
429 |
|
430 | for (var heightIndex = 0; heightIndex < rawPath.heightElements.length; heightIndex++) {
|
431 | coordinates['y' + heightIndex] = rawPath.heightElements[heightIndex] * heightRatio;
|
432 | }
|
433 |
|
434 |
|
435 | for (var widthIndex = 0; widthIndex < rawPath.widthElements.length; widthIndex++) {
|
436 | coordinates['x' + widthIndex] = rawPath.widthElements[widthIndex] * widthRatio;
|
437 | }
|
438 | }
|
439 |
|
440 |
|
441 | var path = format(
|
442 | rawPath.d, {
|
443 | mx: mx,
|
444 | my: my,
|
445 | e: coordinates
|
446 | }
|
447 | );
|
448 | return path;
|
449 | };
|
450 | }
|
451 |
|
452 |
|
453 |
|
454 |
|
455 | var tokenRegex = /\{([^{}]+)\}/g,
|
456 | objNotationRegex = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;
|
457 |
|
458 | function replacer(all, key, obj) {
|
459 | var res = obj;
|
460 | key.replace(objNotationRegex, function(all, name, quote, quotedName, isFunc) {
|
461 | name = name || quotedName;
|
462 | if (res) {
|
463 | if (name in res) {
|
464 | res = res[name];
|
465 | }
|
466 | typeof res == 'function' && isFunc && (res = res());
|
467 | }
|
468 | });
|
469 | res = (res == null || res == obj ? all : res) + '';
|
470 |
|
471 | return res;
|
472 | }
|
473 |
|
474 | function format(str, obj) {
|
475 | return String(str).replace(tokenRegex, function(all, key) {
|
476 | return replacer(all, key, obj);
|
477 | });
|
478 | }
|