From 4772b167839c0a1efcc45eeb673a088e3448a152 Mon Sep 17 00:00:00 2001 From: David Evans Date: Sat, 28 Oct 2017 14:47:46 +0100 Subject: [PATCH] Support self-connections [#7] --- README.md | 2 + screenshots/ConnectionTypes.png | Bin 40041 -> 44323 bytes scripts/sequence/Renderer.js | 112 ++++++++++++++++++++++++++++--- scripts/sequence/themes/Basic.js | 6 ++ 4 files changed, 112 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a4d05e5..25a5e7e 100644 --- a/README.md +++ b/README.md @@ -50,6 +50,8 @@ Foo <--> Bar: Double dashed arrow # An arrow with no label: Foo -> Bar +Foo -> Foo: Foo talks to itself + # Arrows leaving on the left and right of the diagram [ -> Foo: From the left [ <- Foo: To the left diff --git a/screenshots/ConnectionTypes.png b/screenshots/ConnectionTypes.png index fd90699fbe615131c7ae244f1917139774131c4a..367a27c365f90752cd7b4e9e1dc5ff269e6a4ee7 100644 GIT binary patch literal 44323 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�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 literal 40041 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πStjB^o8r%h;J4K z--rD|o`qxImsZ$$n;Ihg_fsFRzK&I}oxb+{Ct&S=K9T*?Bk{o_@5Vvb8pG}Fo}3bk z?u{6|cNS7C#8xnCUL-8@KhL#|oYpUMNT2G9ycDZOZE%yC-be6>RjNdZXR_FlPf71@ zx%$mGxSB`2k}+s}Bwg_n$R&EL!!;}%JJaqNPJLmwR^3iLiGg``#}2y=F*nVfLOXQj zfGJ7O3hv)_6F$R_j?h{E-o3I@p%6%=tpoHPEum_r6Y9LwQF0;*q8=GxW3Ds`sh7(%Xcwl7UKtEN7EtWllF%zkEBOH4qWh z<2hVcj;Y88b48yX;t*`*1e}n^JDHU)-O(*7KT&oujadEmtirZuO>=~1T&GFGamwRpH?xC?fjYz(<}LtH3vG#@>c*Y+=MMRznWIG9u6s zL@3TC!y9@MZ~`Q2*gHrJCWegU5Xg)+RYdE*4tW~HB|P-uaeWROfnb*y zv_m%fOtefAEy(>eBkVc)slxkO`=C&hAM29TB5LmIWJ4X^*WUXGG1$zuluq79rlnpi zHaV;Fj-2S|Hibld<3BGJ>lH2{B7 zjBkp=?zIF@umqe3x=yqkbO#KtkfER7yD=Hm|7$k_W8UB0JmD{(d%P>&a5zoIf%cBC z-Nb0bfWAK_jJ*K#8h6>kAw1~*7z}$G`ZGD4zZe__Z;H@>x+cMBpaxswLywFU z)b$k~F7#-SEHGv0kANVgh2#GUe-jsX!(XP4Yh=u*I>N~{6);j~6pcFjZvm`G8Op8J z!t7DSKrXgnXTUU*yLB-|CN&Qz_=}!l20$DUMvKg)M~*( z*sDww`FkWZe${{86d#ZA_q`OAmi%boPgGoj3B90pdAM)TfcPhTc7$_ys5OtbODfJ~ z4zAfH1Z4DV6bKJ^6h$axu=E$gj<;6XWq(|3TUcV&kQG-po>t!|$C{3~Mow#Y3|`Rg zElEy$5m~M+1|hcT1Nq9E{ex%z%{&usL0a_Q0IHMTc$|6BrAe-H*l~y66WfLzs97N` z-}R5ZUvcIg$yvF+V$VShmy{sskiEmL;j91E1COeA$x)q)8G|4ttm0Gj)*29X0s+cB zV=wz`R27_&Hb(1HZqXS;^ zTE~e;1xW?IXN`X|yL}b%`V%mrMFf}Y6U1wC)on2r zJGR@jeRr;Yv)a%o#PqhMlhiti!ZfR6=JSDEYj&}215(VSZLg_sZ_CC9Ez(Ty(fb># zsU?EiK$9U29JX4RnswUQRc(Q0U`$UU)xA29iX-%A^xedDD{~-Yt``{A(dBcnf4U^r za;R;PSzigBI_vE`PyEOBkwhk!SMKL~&y#bv8a*ebfSh)Dk)-Jj0ugNtPT`hu( z(E4WTH-f|b^5eqO1iMh1bW1L5 zP2A|yRZ|OEhE>`A3K;Yul~e?9zM@NFUZ}MI`AS$pG6?9W8Z(XpZ;djCVUr4s+r4Ov zdi@}U?^mhoaQr8{pIU}r@sIE#t4GCp!=Z{bBd`PvmG_zg^__X61@~hi!w0pa6SU7f zX*h@V33!w{CfLCf7Z|)o!UsI!Gl0}R*VZYfRa>^I+P7A9H`eL~8B9Od25?S!-GO_^ zo)_moaS+Nz7YUUgXPet%SBqu#0b5#pP6+(pJ9Zna8K@+JgL34x<0m= zAfwhnH9j)u862Y9J@vAII)3GQx9RkxcQ}*aPKxr#i7V)JDRmj`AX^8Y;yc7POQDZ1 z_1>yoZ?`&7X1yLDax98@Y_6(qgF*$P@CM2S?qUkLu$LraS%|mP57|z(3WF@b-%aSXW@g!3!$>@XH>9J()gx15RI$N#q?!<7H#u+MVqb6V*$!zbOxSHhEuo~ ziX5FfB~y|Wk@oki;)5(gAmQ-+3ZSB{+OUsA@>KGz`lMdfW}W=aLtD?J)y`a1zi9U* z5%u|y#mMI`UXD}E^zDH@VD*UNCCr!h^l|p^*~*6#PD{hOj&~?&`jQpfUCa|ShM+2h z5$~@vJM;KkYoi1FAXE8_4Z{rZl}=8UR#WHt3m5_ZnVZ73)0pJ53{jC*65fYVlC!B+ z0=Wr+D(_xbXM-OVxwF#w!j5>B!)K`BBW>#3p=2#b;2uy;TiB@3=HdONmdt5RWhO3c z`)#9V`AfgFf!vBufEUX{=_D^}_d=QL(s;`J(JtDWldDs_Efx!xudZkIEk1sjv?(T` z3Y1H_^pgi$ShaQnsApK`NfIqC3muDQ=DJ|kwBW%$ci_jG9XM_pB0FOQzdod4h47Yb z>icG>mRaFp^xfD#%|^ZVY4;72x@7a2n;J}QYd14e=GEkL;(b+n&#AAE^|EO%bM+w< zeTN8fhC9*lQ9CZ6LnGrRHJF&jkFVdFWRLY;ZcG*b7`fmlHlnPm$wGwGmW^m!VFJiY zjONvgEEkj7I|1d zRgH+kHq0Jj$dVc0u!L*NM}c(a0Z3=k&arJ@sFZ#Bd1y)b%#jq1=MS(Ojy%DW@D3e1 zjb~rvraUtxP}D(>YTEeJuU@U?=8%D%#$Jlw9POSAU}wuVo&2!W0V?@g>nyU9@NH4o zQ@auup^q*~^DRD(8jLm~+aEYTJ6sN|z2UP<&jH$2^YQVb2n>Z|oyAWg=W?LMRCRRE z*LzRCy}q9=a?plTf&#Z05pSJsQI1r)RkHO=ChOH^D$^u7@K7y!cFJO*s#d+SaVF8L zq%pCmB%V|4wpLxk=Rk*hmcx`|%e`BHU-vU@mg;HoXc5vac7k?T17CK*`2fFd8B*VX zuHE);pdjT{z5lpy_pMxhL^!`Wh|e-Y!F}O$D~rH(cAFyLT4)~zr$C@``4?XB2nWl@M?eeap?%GXJKmz!;KXh?-It|{OEFPdLRoV zOkHiimiN6}B#>iRJu$dBlb$LKp)W%^nzo_+sWhJq^41Y-q!ob?;lG7MR(|>LRiX0C z)~|3H$`#88Ea}V_u|H5g+h?UWHj4(v54`ZcU`xpwC0L*ule;CRnOqQGwKbc1oyj#i zditZw5B7SYAFT%ZEKf_qFfmZP3zDg#OYtfpgm0xsH>WSb9wy-x`1D^0SGpC`Xluxu zirlUcczC1ZN7~P26FXU!;518dG5s@MQ(lf;Tr0i~92a<&!y)F|DqrM8U2dqEuITXB zmONG$)+}QQA-8vrO{l4dvOUDkE(KS_k-X1PPE?MWHO@~5GjW12z;ezHW7LqO^ZCYR z0QJbxn(X-_LP$d+I1fbO>Qg}&oA%~E!?b+{>>A3AsN|I=fFMNCSZs~TQFYK5>UHZN zYHI6po?lb*W_GAZ8!&`X%BxHGl&8H&F11c(@?#rt48_jgd+DZ3=ETuFOt|?6PMKc5 z5?9eq`VFUOQ{#jSw&HgJWL0emyE)VW@JrZt05SMKIFntfm=O!n=#evEumfE;G=$o~ z5R#??mFQi$JXp}ln4n?@*(i~jWk!rdqjIGWkTKs=kOC-zl?04l#~J_GT@#HHaD`F) z`CDKQD%m~#A&5{X2ls!hQkZS%180IN>jJ`94_G`8?_KB4yGMDp573Ls#m7JnbWxD>*kEz8cqELQ(^)$;sdV$ zIHzPw3jiv^ZH=Hid?i~&;ExY&jX=8817;(#L<$D9NylAuT3sSn;vWtw-bs#vaz|b= zP$Ccq?xSjx2OnA26+0~jeuWscOv^(+6SWlOVu+QWSOjRu^cee7^aho;^GX;c!;qm@nr6QTygNOQWW^(!bdy z&n_)-FDca~EA)ORrHlqK|JrSL^g&rK_;sy!N7mkM=42-ZMT9ds3k@S%G3+&D*!5z7 zM}@ZnO_IY|UNa~Mt-~}oO#lUw1igU?^mh%WnHy3hNigi@sL#RQ*!S8P~)Zern17BqT{Ev@JNCc*s*7{`C9@JgtU64pm8J-Iz_h1Mn zNAPQdK0%d6lRd#BWyS-6{!~?m^DHryl&roSU}>+-iuFDhhw`8>@=oF9bgn zi1`1A1|i*82=sOYqb)I#|2Mr;5uv)*4VK-)2qZx}PQEo6S!mx6h||%RJH-WqFgNBw zG8NCn5Uw(FGnuRr3padB?lygaa4+=OYQVRL@5HK{l_p9gReDfbLCuNMPpR&npt#XX zf5iv770yi_;qcunjKm24+|!*MM&p{gc6Dcok<&4Xdzv>BL}Ku63*d=}Yx*N}n~u4> z*8+h^ys*~-0J}{|d+N61L>~B_SZ+VuoIYju>tt}~;5{81I5c^bfG%OtIPSknH=css z9rKeg!mUqscVr8njzR2w9gV4goJANE&B_1m{?>an0%!#M{`lWSe8pOX?dZp9cw!nt zpcs9DiJ=dWSa$92z`3E41voQQ0f1zp)Qn(RtxtMBu$e}rW}ZO-)SQmNLkHpA%8k7zqnC)5Q3r;B0u7^{)+bj^(JXci zx2)*}fc}Va~dRn!Z9$2Ox(M!skl~!RNXSffWW@p1Rere|vvU ziUfcvW7(W0nTaXD2qQViOu}3wWNau?%A*=!Y2Cv3QwAvV^}j~9wakwK?9Ft2QuQ^@ z{1L;My8d(7PphZ-GUeR4N7;RO@@T?c-Co^#7}S7C>rt5*fa$Rt&Pd% z1tXE*McdH}&dUw2h8;Z}REe(9#%wD#yzp`57wXN;$1f&k#NA0Y z0c=a5T;^UP9F3FmtCc60ulOyb{r8)@yS{J}O|zkxHgh-@tRZFh$b!f$KUJfnCf(F$ zd2Gg8hRe|Dac?$mu?mhUlrZg*(IWpIap!om7iQF>JsJj7ZDh?S z9)D%LpS5JNOU;lHoC%YDInRgv241b=-#4T`8?lrkc`-YDmBHuhiNf;y{c zt9^|~{b!_)(mbqWtd`*UQDBKhOhi$$9P?IkK7vP{votwIEzj@V#*NjI?+*zQSS-oU z-o6`k$29o}%VF?H_`_k(Ww!1!E#GoEnmfuWmzs#kjIf}iQV$cbMrmd!KE*W4sAW@` zo%&2@dr{N(6i7bt2_Jwx^8NMa&)J~Sou7bV6Th-%9}&+xJ8t6Yal5Erf^f53uS#9E zYQR_z!BE_j|Fm&@o9$E71t$Z?(@sbd#!a12Ipi{er+@#Nxujw^0(y#-09k?O*O?C& z!!5n?o)IJ)BWShqV}Ogx+jwdiHDh8$n7x0S%zbjx{-!wC)jOB61g@HWmw^)w7fupa znCOVWMh-lfj)cB%c5qd$E*q6*3{D>rBms=TruR7krK+)X4P1Q_nlSEf95=Xrbh7jE zSo^FB!r!Vb(O)C$KBo87jxkUlk;w??nP3dn6&Gb#5~INQmE%TzNCbyP->37ADTi15 zQ;Wo^c!DrgC9lJy`5W_Q{PDBKfjR6 z#K=fga=|^roAlmZ0PAp}cA+Ei?t&bjckY*p{3>%=O<<83P8l_{hr`Y(Aw|`tXE=(qnnkySZvn#v{2=a_p#lk@^eyfX_ z7<6y?+0Sg|CjP$a} z!*j6cC*icC&KzGa<4@UqupG^ilY?K4B@8M%LfEGv}dsn_eO?dnLydBv5E zFL)ixu?|YtIF@_g=Y}K~=Sdi8Eu(TZQ@F9*=9X_(Ig%Sk449E0OE zXFl7z@WMvbfS(OO6liK}d+EuKJ`_Nt{0ShOm;MG29e)Fe>c0U*O~~H>qT_D>QT;c7 zsFD5~Ky>^KAe{aN5Tne01BmLs0YnWC6h`g_5U{@igwx*u!nyr#08#xrfS|0g-jmq> zpNSx#_&`F@|8lA>`86`$B(BkIO8Xzf26C_n@HZ%qgh*X`|L+DEWKV(dF#8}IN3b?a zi4jwNzpS_xB${VhBg7_Wv--Yh(#7YrOI%j=3<1Cy*lUFgTX#b=XI3!dF~nZcabjX2 zN`u0*ey{DsuNFxaKtm?Km57xHG@E6p@Tur4I&ZdC-&(8`#bDIh-rD(4roT<(NvD{( zn_WrnJqs`(3Z31&7q?V6>wcgtH8QKkXZFqyIHJCI znv@RE&Ux;3Cf^<25qVJMLv%Opgu}RhGmAmCnEp~di zYNqaW^2_AB+?SK9r<6pn9d?HAkOMOTy2`+cI(DUk2m2IjUox=)zq|G; z{Une(6sr363O>G~lOh&TV9s|tUHUgwr_fwK1v?|OaGQ7LV#ffRx;=!Q-N!KzopqI! zB)${*Evy^iURuwKe>G%bn%B)fPB_(_51cwA(!x5-k$eo)VLjF09m{L_4~6Q7{haQt zk!(bMUDv(&=Qu$YxeXtvT;AqRz2*>hR^QU5#(UXwqe|aL$e=dG!tB!rqgc`e{JI?_ zm{7N8<@>9T3)6z>ZZq8eb_RQK+{?uaaQRbh5)w}w%LW6IzZ{*HM5QVL!c2XatQN6_ zy@O0u!<7Jh1yETGf8Jm+xUKY_aPMl0d;y|I&|!thT;f(e^Z}i`a9FGU)PR?OiB=1Y z=F?c**B_-0&;m~4*~M_I5E`esBrY2>VP{E+#u>Yx9J&2E5=VZG2;}Axs+frZG*6;? zQlp)X?qGY?w6XUo9E9AF#A3ak2YG+>G#2% zH;A-P<&&xlsWA!i#0G#80|=1~wPvV*Yw^*6v~>C>PduSrXnl!Z>?=0sx}f>jnvO{8 z643vn+i>W$9QHH6xlb|qmI4Gl95Y;Bc#*|K)AKnSUZZS|A1%-s2xi+ew?9mMP@J6_ z>&u%8H4dnK)vj>nnGQj9%uzSD5<|gz@)&f-==${&!wTNph~kU{t1b@$;#c&u+yaX< z2G2~3)^k|e)QOg^j_&6GQ(D)0wgW7hhUM(pQVS3HBG)!ZEM`}(z=w8+Z-rd}1)A;i z5&Nlb>&{QJ;jH_Q-Y<$=)21WtBNgZdrCuLn*Kfc2-SES=qH`FEg99JUSdJ5Yk>t=W zG{NCC*7CL!wO_HdjtUdCK~4Y3WVRF+_=>B}Gn&$ygP9{G{!x9i;hU@+l-}=i7f>U$ zJUPQ04iDpUr9IDzKo@e&5u86_@^8J4yX-XwT@$lY52x1HpfIfOhI~l@Dr>M!XaOmo zKaI)(u6NxuCi>(-eMu`J0i@vML=1&G$;uC{vknqB4xl#$Z%{>qXD&oy1RjO`@c{OR z;BP}?0J)PJng6FoGF({B7@2hFRe4E^iGjg`EIBI_gvrMj@+5gJx$7U(0ZU5!)6|!W z(#jbF%v|6&grF!yYi{>Cr30A?Zp3zqhQ{1y!D-({9RAAhIb|H{Ju^%2ZJ zzZ?9gkN=Tv0Np4s!~ci!j{Nb|qLj;3n$Sii;8$N_@(_C5K(75CCe6QDIW%d422gfB z;|3tJ(23j}$bOtDzl;T<2B5fPi{R(i=5}o{5qQ*Mj7fKG!W;Ed?Wyu&+oPp&ErQtFcP^H$Zp#?l$fJ03XhCG=9 z2T3Shd4xfEBs6edJ|M@G%6NNDZqzvR#9|we`C&rAENc`(5Z4BFlh7@`?-1TmkNCP0q{e>*#6PGd)DORfXpKV~z zX4Js7w`~^P{hM@Gt;Q2yH;GQJc|DfoXF0dsec5pAX*cq4k4rNkC0AyGl8P#DqgL*IZAYO-vya!nrHjhZ8W0KC| z4(Gi0AZ&SQ>r!N;%GYfY3wMGv-`8;KCk?r)VHoWC$O|=HJGBh$33>w^VkOeuzkieq zD0VmTa?sTMm2ZI@zw|Q^kCgca2>n21Zo}ohv{JZ!`X7R)W-9oWRnFcN87zHrGGf$r zQFe;rpqk%RYe`X@5N{v4hA&G^L8naFm=IzAlymr5$L3Ynv0kAC6779XFqA#wF;sK8 zz@#E*>|x%$a$FclsI^>_rvQW1Kg5<3wu~}O0U?tlAPgc}ykzD0htX{G$q2a)-zc&T zt+_DvwVNX2--q8vv(4*0s(iq^wLCQB+Ll zL!KNhs=5k;yLdVQQqp8df)JaqJ`C9+sLewx6h5Cfqcx(9%u41JyQZK z5rLPsATRdU-MKrsi{>Ky z#!$h^nZhIK$Ztomda|*JSQOQ}viq3D{V$$38O`@L8HP31iB(j{z(5cnS84?OV)@+- z(_k4_#u!JWz`xlj$AYQ+qFHGyoxyfFiv+|kDnO&AqkaSjRn=e* za>sG;uFuL9yQ(w~m4TWYJBQhOW|V1}IJ_Kpn~A^;y%XWUb5A+%cK?PPsmg!Mk;a$b z2r;5bM=VMcVmnZh%``UlAP0!>xUo(<0>>Qj-j<82z<&Bm9upUqDvXkRN_(P>@rJ8w z_Hre&V+Gqb!S9RdWcw#GRKgWRFUL-UbH4*@Rpw~yu$E~P_vj~=$^E0n&u{d7iZ2z1 zYp+zhWeGnFJbDH_Q;gArUWGTxJgymcJx~2SGO5Nps+I>N&@7yv84WBQ$NE+}{X6)j zf1RnXpeC1KtA3rFigg9J$+6T!}Rse zGu#8rS$bdX4>VfX&7NypUg>&J*cQ`rypaN|5@}YBJd%58^jOR-BBfmTm*9(a zm8xc2Oufeq`kR82K_-MvYe#kTo|LxqmbN=0p|>1ARlSZWw-RiW zZ8DSwGcNe)3v4TfioQ|UXLAZ)l#>`f2Ja8qy~aK<);VK$z8N`%5AxEVIN<%^d*3q* z|~T)gz*Ds9PjU`U*ez6|XIJS_-$?get08)z9j+9#KDbaI2n`ulpK9`A!GafDBw z)H$TcH_dUy#||_GdJI8$CJ*$O6+CJRP5{&0X{-!A1B#qU&Rj<9HRAd|)kslmHxl^& zIp>oj0cZx_3ncz0cK4-{dDxdqMuLFnbo-&vM8F^U6B_Il?xD;ZoD*;jK^Ox5-_5}P z$6x~ToW`;yCq4lgh55h$aIUa{74(b^iz`C~eq0tA?pP6qm&9ryq^tUKF=THFwmDc} z0$>*!$3XxGc8mwR0=>Zii!h5s5@%(V=(k%~e=eSL5N^$H8R<4tbkW}S1i2+Yc86^S zabQKwJj_1WsAmv~n3aQb6z5|GYz-8ke&P)fMKf~yuiZ$Dn1(s^FmD$GLzXv92U8h| zi(t7mN)Rgaw(2*~q(MugK$on^L^K=DkFtpTtPw?AaiFZPGfA8Y^h_1*%juqt0bUVf zd?U+&U{w-vjg*)9nuG3eQoMmZW zu!31 zFoy&;JN_(o>qNWHaPBMQ4p@;SMC*=J-~JQO3Mb-Rag%PIcDZhugA+~P{c6}aKA%{R zAnC|k&-oWK_2S8P)!dI5$JYiRtGmR;R@V4ItotRi)KZ?z3-y(Yqt^HxL1+-s8Gw}P zVd%*Pv^aJp3h^4__5ehn0@Z#@~FB?pGhUrR<;U zRNZEX&^`kvB!XJw?Y$$tIyP(FXRJmeDk@`opi)~u(z0YMqhz==&m(k=)DtiWSi>~Q zIq^7ALymM{%99;iPf{a%--eHV6&w%H9ynF>g|mdm7pbtkRE0!t1 zXkmCWFm8<`r_ge$Ot3;}L?4AvlZHjUvucZ+c5XCy_A5YG4WThU0+6GN!^%Ivq92zK zrhM-uOC~l8u?I$d^|Q@pGK(>PhG|FWMx2G4qW}vT@1$EecJR z!jb6c(&wqjm8T^UUXlFgH0{0Z+KI)F@IMkl3BihtP2xQ-7T>&jc~<9h>~N;RNwlT_ zxiApMe+8jH^w2Kv{njMlq5n=)ewG8QOk%hlPiJ5va#&vaTg{yiJ}eTSk5s^a@%%x6 ziF^}C1&d8r=(vaR7my#}Gguu8g%dPKK9IcaZogyfea&oqFt{R16YbzOfjY&u&pj_Q z9EN>r5y3>PJW)P6M+fZLp*Qg*L@F)IG2;nfk5~EO3e%uIf{TG5e!iS=BavGGoBzHU zdNvu`O`lfGgz?vhO&<}|DSb)(sI<6P8OBDv?hQ)*C2{#vpyuZ&ouq(R57~6k~YfPGboc8rWdB`k4+Z zT;5Ii+>h#8O8F%h#-t(CdD#nY{tcL*N&pCBLg$us2o&%H7@AoV#H$a&J*N(q-HF^! zblhxt*U%=+YhT>>tY@D~{IX5pN~2p-B@H-$9yoyd)ic;+a*={9H?PVhb~{(QgiZ?XTL*nJc1s_t5(6quu`on0cep ze?57rFP$NYFCE0MoL7rqdA3%wTv0t$)t&4MYTk8`(^;2|Y0!n`7+;pTW+Jl2 zMwWW(96%%C%!`dYX>|m=MvbDkEpB|w%`~3Gs%!#^FEVBUtBmwSo3xc6fqmwKE|#KTAoNPdJ)Yx4mtv6Hf}&HX)+X}wM$<$^5X+t zXAk2y1-bJOZsC(ERX}JI0&tZ!C`RH2OHA@$r?1*@(^JBg{G;I8+(cbh?2BZG4RK>Z zz^6R%qzL+cVPxwKeFngUaHWes3?wPmSN6ytjAZEt1a%bb!AJ~>QG_^1g8@Pnphe$> zaUkskSwjP2EAzA13lij>0!_Qy9)aYKcl17wOiUK2&w!~cLyK_Z_hx1?X9fgh9)B#O zGr*!HhP&MWIR5=)a$zN(0Y1LR6&Vd{#XzM@(6|2^yuJ+SWh{+jaN?<5kJ+J!aUUL_#|{DBI0I=d*$pI z`5fut#B~N)&&1@FyE1L>iEjY90mchBnP!;1dB9`Tm_5_GpVg3c7qDd}1OCIJfoB7G zDH5)(Zlyg0%fdp*qtPYAtROcQKQkH0Z}~#uZ1&Sop6ayHgy^0oz^bxL({HLAi*;~w z6hVD?9W4cV4|)kS^RoRwCh(@}3Olz3Q4~~hdW)8Isxe+j6GRU^v?d&Aq>osC^z5nE zud*A*iEj(THGECYmVGJLpNHFXgNFb_-F^U;0X3V0sB=DWnvT<0O3&jLj3Y3B}7}H{P0BA`U9orQ^wHUPTeQ^>Rly1DGp#ozx}0S!^zD+sp9L%o zckffAouNftDYerIRaL&rX<8S&l-j_Ts060oYr5vHzYls3lU8LItvl&!go9!4ZG^70 z#k@lg-^5#7ew^!7mdZwDT$8=HYX8i=PP*~AD}HIazL=IbqCjN#R#l^iCybl9R&to9 zg~#hjWvjf?IxDzZGMryMFcnb7(PK#zHx-es-oVWNJmlTT>!^Ef>Q3#ztfzdQU_FVw z5|nhIpi4)MhAn604Fy;~2ZDti=+nY3AI)77xv1EFUMU(K zA`e%p@i0{cHJb1Jqeo3gHD&Ro(q;%LzD_f@L$#Aj&$!7T2Pi69oR9J)76e_-bili# z1%w_i*NQQY+Sz|WcGAr8pTmyAvlVM(nr_UBL}Ju(ANTH#S^+++pd7qv&&pQj6n%vK z>{ARleM9Ie;>ok z?QE@74Ax{g;*zS2SPlMU&q|1^0AUn)Si7OwlFni8G2Mg{{LeaJ^#TM1HJOQMfU83T z`yZe}mG0>OemVK`A$?+c#%hy}KUd_{B&M;cA^U z-I3&*iGVW=*wl)}Wh>hnUq*nnBwJ$A??i$bO8UF1Hdxk?QGwdFJkd&Xs^1vzgILQ6 zD~RhSP{UGgee$lO$T=shjX3NX!S&5Q)BV1aBs{+Ulnl7i@oEow4`F;zHJH4=Sv zNQcw4!Othd{JHR1>`Hi1>sG!;-LFn(Q7iE8P!X3@jzHah)0J2$-+!j_~qV046ilAo>Y7L0NwbcBrnc z2Ti5^tAqFtYbuEU#g-q|{J8n~gw%zWCL0qg%^rFdBuhFlQa4xu)shUU@B+p^4y63Y zPA8JO8)3s)3cM3O=4Q(gJB+?gvDg_e3CDg zh2%OEHVwkFhoaxUDZgi{X~YWp4j4#KX@$?V9C3sGrq(;u1Q;s)B~axCoA%~vV5NY9 zu!mw%{gaU9Ufee@_kabFC1MDWy-SkkSF7D`AOBo6gi-xh_-i*1RG|II@XsxYegFJV{!`3bC!IL4 V(Zx^wDFix{hN_NA>7{G;{~!Oc2^;_b diff --git a/scripts/sequence/Renderer.js b/scripts/sequence/Renderer.js index 7256694..1db5a03 100644 --- a/scripts/sequence/Renderer.js +++ b/scripts/sequence/Renderer.js @@ -241,15 +241,31 @@ define([ separationConnection({agents, label}) { const config = this.theme.connect; - this.addSeparation( - agents[0], - agents[1], - + const labelWidth = ( this.sizer.measure(config.label.attrs, label).width + - config.arrow.width * 2 + - config.label.padding * 2 + - this.theme.agentLineAttrs['stroke-width'] + config.label.padding * 2 ); + const strokeWidth = this.theme.agentLineAttrs['stroke-width']; + + if(agents[0] === agents[1]) { + const agentSpaces = new Map(); + agentSpaces.set(agents[0], { + left: 0, + right: ( + labelWidth + + config.arrow.width + + strokeWidth + + config.loopbackRadius + ), + }); + this.addSeparations(this.visibleAgents, agentSpaces); + } else { + this.addSeparation( + agents[0], + agents[1], + labelWidth + config.arrow.width * 2 + strokeWidth + ); + } } separationNoteOver({agents, mode, label}) { @@ -463,7 +479,79 @@ define([ this.currentY += maxHeight + this.theme.actionMargin; } - renderConnection({label, agents, line, left, right}) { + renderSelfConnection({label, agents, line, left, right}) { + const config = this.theme.connect; + const from = this.agentInfos.get(agents[0]); + + const dy = config.arrow.height / 2; + const short = this.theme.agentLineAttrs['stroke-width']; + + const height = ( + this.sizer.measureHeight(config.label.attrs, label) + + config.label.margin.top + + config.label.margin.bottom + ); + + const y0 = this.currentY + Math.max(dy, height); + const x0 = ( + from.x + + short + + config.arrow.width + + config.label.padding + ); + + const renderedText = SVGShapes.renderBoxedText(label, { + x: x0 - config.mask.padding.left, + y: y0 - height + config.label.margin.top, + padding: config.mask.padding, + boxAttrs: config.mask.maskAttrs, + labelAttrs: config.label.loopbackAttrs, + boxLayer: this.mask, + labelLayer: this.actionLabels, + }); + const r = config.loopbackRadius; + const x1 = ( + x0 + + renderedText.width + + config.label.padding - + config.mask.padding.left - + config.mask.padding.right + ); + const y1 = y0 + r * 2; + + this.actionShapes.appendChild(svg.make('path', Object.assign({ + 'd': ( + 'M ' + (from.x + (left ? short : 0)) + ' ' + y0 + + ' L ' + x1 + ' ' + y0 + + ' A ' + r + ' ' + r + ' 0 0 1 ' + x1 + ' ' + y1 + + ' L ' + (from.x + (right ? short : 0)) + ' ' + y1 + ), + }, config.lineAttrs[line]))); + + if(left) { + drawHorizontalArrowHead(this.actionShapes, { + x: from.x + short, + y: y0, + dx: config.arrow.width, + dy, + attrs: config.arrow.attrs, + }); + } + + if(right) { + drawHorizontalArrowHead(this.actionShapes, { + x: from.x + short, + y: y1, + dx: config.arrow.width, + dy, + attrs: config.arrow.attrs, + }); + } + + this.currentY = y1 + dy + this.theme.actionMargin; + } + + renderSimpleConnection({label, agents, line, left, right}) { const config = this.theme.connect; const from = this.agentInfos.get(agents[0]); const to = this.agentInfos.get(agents[1]); @@ -520,6 +608,14 @@ define([ this.currentY = y + dy + this.theme.actionMargin; } + renderConnection(stage) { + if(stage.agents[0] === stage.agents[1]) { + this.renderSelfConnection(stage); + } else { + this.renderSimpleConnection(stage); + } + } + renderNote({xMid = null, x0 = null, x1 = null}, anchor, mode, label) { const config = this.theme.note[mode]; diff --git a/scripts/sequence/themes/Basic.js b/scripts/sequence/themes/Basic.js index d44ed96..a40f2e1 100644 --- a/scripts/sequence/themes/Basic.js +++ b/scripts/sequence/themes/Basic.js @@ -59,6 +59,7 @@ define([ }, connect: { + loopbackRadius: 6, lineAttrs: { 'solid': { 'fill': 'none', @@ -91,6 +92,11 @@ define([ 'line-height': LINE_HEIGHT, 'text-anchor': 'middle', }, + loopbackAttrs: { + 'font-family': 'sans-serif', + 'font-size': 8, + 'line-height': LINE_HEIGHT, + }, }, mask: { padding: {