From 095ba527d0992005db8a59bdef1260d920eafcb8 Mon Sep 17 00:00:00 2001 From: exodus4d Date: Fri, 23 Jan 2015 18:01:03 +0100 Subject: [PATCH] map update logic --- .idea/deployment.xml | 3 + img/favicons/favicon-32x32.png | Bin 1467 -> 0 bytes img/favicons/mstile-70x70.png | Bin 4464 -> 0 bytes img/{grid_20x20.png => grid_40x40.png} | Bin 2821 -> 2882 bytes img/jqueryui/ui-bg_flat_0_999999_40x100.png | Bin 220 -> 0 bytes img/jqueryui/ui-bg_flat_0_aaaaaa_40x100.png | Bin 87 -> 0 bytes img/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png | Bin 115 -> 0 bytes img/jqueryui/ui-bg_glass_65_ffffff_1x400.png | Bin 98 -> 0 bytes img/jqueryui/ui-bg_glass_75_dadada_1x400.png | Bin 111 -> 0 bytes img/jqueryui/ui-bg_glass_75_e6e6e6_1x400.png | Bin 110 -> 0 bytes img/jqueryui/ui-bg_glass_75_ffffff_1x400.png | Bin 99 -> 0 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 86 -> 0 bytes .../ui-bg_inset-soft_95_fef1ec_1x100.png | Bin 120 -> 0 bytes img/jqueryui/ui-icons_222222_256x240.png | Bin 3710 -> 0 bytes img/jqueryui/ui-icons_2e83ff_256x240.png | Bin 3712 -> 0 bytes img/jqueryui/ui-icons_428bca_256x240.png | Bin 4549 -> 0 bytes img/jqueryui/ui-icons_454545_256x240.png | Bin 3707 -> 0 bytes img/jqueryui/ui-icons_555555_256x240.png | Bin 6988 -> 0 bytes img/jqueryui/ui-icons_888888_256x240.png | Bin 3710 -> 0 bytes img/jqueryui/ui-icons_999999_256x240.png | Bin 6986 -> 0 bytes img/jqueryui/ui-icons_cd0a0a_256x240.png | Bin 3707 -> 0 bytes img/jqueryui/ui-icons_f0ad4e_256x240.png | Bin 4549 -> 0 bytes img/jqueryui/ui-icons_f6cf3b_256x240.png | Bin 3919 -> 0 bytes img/jqueryui/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes img/pf-bg.jpg | Bin 101381 -> 169855 bytes index.htm | 6 +- js/app.js | 14 +- js/app/ccp.js | 40 +- js/app/init.js | 30 +- js/app/main.js | 104 +++- js/app/map/map.js | 573 +++++++++++------- js/app/module_map.js | 110 +--- js/app/page.js | 299 ++++++++- js/app/util.js | 57 +- js/lib/jquery.ba-throttle-debounce.min.js | 9 + js/lib/jquery.dragToSelect.js | 30 +- js/lib/jsPlumb-1.6.4-min.js | 6 - js/lib/velocity.min.js | 4 + node_modules/.bin/build.js | 24 +- node_modules/.bin/readme.txt | 2 +- sass/bootstrap/_navbar.scss | 4 +- sass/layout/_dialogs.scss | 4 + sass/layout/_main.scss | 43 +- sass/layout/_map.scss | 87 ++- sass/smartadmin/_main-colorpallet.scss | 4 +- sass/smartadmin/_main.scss | 2 + templates/modules/header.html | 21 +- templates/modules/map_dialog.html | 47 +- 48 files changed, 1022 insertions(+), 501 deletions(-) delete mode 100644 img/favicons/favicon-32x32.png delete mode 100644 img/favicons/mstile-70x70.png rename img/{grid_20x20.png => grid_40x40.png} (93%) delete mode 100644 img/jqueryui/ui-bg_flat_0_999999_40x100.png delete mode 100644 img/jqueryui/ui-bg_flat_0_aaaaaa_40x100.png delete mode 100644 img/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png delete mode 100644 img/jqueryui/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 img/jqueryui/ui-bg_glass_75_dadada_1x400.png delete mode 100644 img/jqueryui/ui-bg_glass_75_e6e6e6_1x400.png delete mode 100644 img/jqueryui/ui-bg_glass_75_ffffff_1x400.png delete mode 100644 img/jqueryui/ui-bg_highlight-soft_75_cccccc_1x100.png delete mode 100644 img/jqueryui/ui-bg_inset-soft_95_fef1ec_1x100.png delete mode 100644 img/jqueryui/ui-icons_222222_256x240.png delete mode 100644 img/jqueryui/ui-icons_2e83ff_256x240.png delete mode 100644 img/jqueryui/ui-icons_428bca_256x240.png delete mode 100644 img/jqueryui/ui-icons_454545_256x240.png delete mode 100644 img/jqueryui/ui-icons_555555_256x240.png delete mode 100644 img/jqueryui/ui-icons_888888_256x240.png delete mode 100644 img/jqueryui/ui-icons_999999_256x240.png delete mode 100644 img/jqueryui/ui-icons_cd0a0a_256x240.png delete mode 100644 img/jqueryui/ui-icons_f0ad4e_256x240.png delete mode 100644 img/jqueryui/ui-icons_f6cf3b_256x240.png delete mode 100644 img/jqueryui/ui-icons_ffffff_256x240.png create mode 100644 js/lib/jquery.ba-throttle-debounce.min.js delete mode 100644 js/lib/jsPlumb-1.6.4-min.js create mode 100644 js/lib/velocity.min.js diff --git a/.idea/deployment.xml b/.idea/deployment.xml index 6647537f..0e0154f0 100644 --- a/.idea/deployment.xml +++ b/.idea/deployment.xml @@ -14,6 +14,9 @@ + + + diff --git a/img/favicons/favicon-32x32.png b/img/favicons/favicon-32x32.png deleted file mode 100644 index dd8d295c7bfc40d6d96679291846a93a0e377483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1467 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 usH*8;G!-zaIv9+#$z2nkBjQ;?YtrsW& diff --git a/img/grid_20x20.png b/img/grid_40x40.png similarity index 93% rename from img/grid_20x20.png rename to img/grid_40x40.png index d177b0d49f592da2059bd6b6c34595c6cf69314e..794ce32ee08d7a65a03a343e1e1d3c8ae8ad9916 100644 GIT binary patch delta 174 zcmZn_J0zyq8Q|y6%O%Cdz`(%k>ERLtq%}a8gAGXb{M(VcQE@(3eXggAV@SoVH`fnx zHW&!FTf$ delta 112 zcmX>k)+(mh8Q|y6%O%Cdz`(%k>ERLtq(wlOgAGXbcFOW@RGiP{YT)VO7*cU7Y0Jj) zlm$vFQj-=KNthN~IS|O~&MRX&!HsQ`fq}u5pvw+GO$`74Gc(xlV|-u`u~Hty_jL7h JS?83{1OP@mAF}`e diff --git a/img/jqueryui/ui-bg_flat_0_999999_40x100.png b/img/jqueryui/ui-bg_flat_0_999999_40x100.png deleted file mode 100644 index 13c79e860e4b6c92f658092f7ef9b0d698ebca4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F0wfqj{vTKlq?nSt-CY>?t&Hpz19_YU9+AaB z+5?Q;PG;Ky8FHR3jv*e$lV^0Y8uW1Wp}<8<3}@%A?%kw1TLGw2wZt`|BqgyV)hf9t z6-Y4{85kPt8d&NYT7(!FS(%tv8Jp`Gm|GbbY_Q+2f}$ZeKP5A*61RqfN$fL#8W=oX L{an^LB{Ts5@m@Bs diff --git a/img/jqueryui/ui-bg_flat_0_aaaaaa_40x100.png b/img/jqueryui/ui-bg_flat_0_aaaaaa_40x100.png deleted file mode 100644 index e425e6e46ebdfe12ca1ef41e6bb245ca73c9b368..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F$P6UUt$JVyq?iMILR?p^S|wQb`zMgg@9E+g jA|aWaAi=u0;THn~Qv?I!Q*DoYpcI3rtDnm{r-UW|K6e!> diff --git a/img/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png b/img/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png deleted file mode 100644 index 3b2914a2db9ba71dc8ff433ed40a9a8c0a68f50d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 115 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq^vw$978H@y*+)JlR<%pCGfZY zwf84`7jUxWI;QCN@AQ$-m@M$g{LbP0l+XkKQf4Nb diff --git a/img/jqueryui/ui-bg_glass_65_ffffff_1x400.png b/img/jqueryui/ui-bg_glass_65_ffffff_1x400.png deleted file mode 100644 index e81a6d065d7d713956a3ea07a76470be8cecff3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq%=KU978H@y*+IRRK{`G;s5^^ wVdjO!BA)Hde4L(a4fl7Ly`QGX@W6yq>z4Vh?|YMNftnaRUHx3vIVCg!0JS$AK>z>% diff --git a/img/jqueryui/ui-bg_glass_75_dadada_1x400.png b/img/jqueryui/ui-bg_glass_75_dadada_1x400.png deleted file mode 100644 index 5a46b47cb16631068aee9e0bd61269fc4e95e5cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq|7{B978O6lPf+wIa#m9#>Unb zm^4K~wN3Zq+uP5-{ny=&85vK{%#o+1c=d#Wzp$P!}vL2cM diff --git a/img/jqueryui/ui-bg_highlight-soft_75_cccccc_1x100.png b/img/jqueryui/ui-bg_highlight-soft_75_cccccc_1x100.png deleted file mode 100644 index 3cd467e18ef26785b4cc9b3986ee9794f138e9be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 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 diff --git a/img/jqueryui/ui-icons_2e83ff_256x240.png b/img/jqueryui/ui-icons_2e83ff_256x240.png deleted file mode 100644 index 3bb63f15c665b6e7b954cd09acc230c87ec75869..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3712 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 diff --git a/img/jqueryui/ui-icons_454545_256x240.png b/img/jqueryui/ui-icons_454545_256x240.png deleted file mode 100644 index a813d3e3c39082673ba95728823ae28d5bdd587b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3707 zcmd^Ci8s{!_kVw8jA1NeCx($VWJ&TQ+tBbJ`yN>yQg)K?kmiFdk5VRCN-~r^nM5Tr zBMB*lB9uK@N72~LPv3vzcg{WUd*A1tb6>Cfe!tE==l*AF{WlLr90LI0F*hUH0|4!Z zV1)y@e-4>jZ0@@yTT4e1qABtJkKsdDC-xh+jgmk=!`eAE{ND`pOpH3?N-2F1s{_<{Aog` zDt+27&Gtx&r4*HW-8cNJhCZ{Be#qWd(Rbc3N}8_Yjl-I$W>yNdf?w*rX<>78S2#jX zTG*oUYd_G=>FNsKIf7bv?7g!5IMg>|Bajl2xD3E>+@UA}2SIYhG$Jhot(cTp+GKkl zd1Xg=+}*5-uE)XCs=?i=v6HUY^0Fn#b@;Jy@>K%wfWsJC$oA!ygoOZ-&OZY39V&CV z&%o*V?d!oQIMR)wS{1SRPXqm6n-<-YRC<0vjyZ;QtSo!K%^PFb#zn*0M*PE@=QLh+ zbiX!tEB#m)d}?s^1E-iYjoc=6Uji>JXC_5i2XelG#~Wp>hIHAak6p*Fw$xs#>h9jV zl0iKDo%dE!O}oRCVPiLD;{i3o6kmUoQW&>7fr5xNQmXCLi= z?%m8jWX`D^LOCtTXy-Yn+x)cvuG`^!X<8p-+h>e6YC{Os{Tz{V20nX{OKru(7~S{$ zq-E)-CPRggRO~T!?_-XxF1fVGZFhEDxMeRYJYfrQ7(so-6MJBCPsfJ8OE7jb)ty3l z=}!N6;HFL98)r^2I;w8kT;mN#fPmJ0wk6tH$*=RbXD$h;QNCI&!@=D6Eosd^Z-!L& zOj&*X{&i9qPX!IvvZIXpDS^n5GP(Fm_+WvHFA1i2B^UhCy%$0LCePJDmva3+t)idj zg?6GVEeqUs%I#`@WkFfMPG1}Ka)A>~>=onN0}YyQoVYekw$L_ZconjF02e@--2L~d z-ThH4UTJ zJEaB*apa7pE)Wv_r z)9P~ci<9fb*K9vwY7(a6t34&8@1d2DTe)OkW}hC5H9O$>aHMfv!|jY?8-BIpZPVS~ z{$uNBmb)WN(}A5qo=y5i1G1zYV#;27Wsd$XLzmj=v)1~=A%JCXB!3qs8t$^?rS*Fr zigp?D(#RRATDZl_bG5JLmcNF!tC#~%`lF1awci@s*$Fu&yO)xi;~e~w5g8wE%o#sf!Tz((!=!g(znja@WMxFck8@aU&E%NI7m0PAb( z_8b_XNgWZ-D1AWY^fo9giv#@uoHGOL(mu#Ef)<2>aFS2@wi$QFo1Y@*03RNH0SpAQ zd+VYTP6)#!BZYmuR4m?@{0Kg-+7&PWrVFgmD=U&_?d3k6PF$5_9@ziocuiyKZ}$y= z5e3f>{sSaUAhGd)*CoP)TnQgvN|V!)w@q9!cPep7NEgnof+InzKG>=$+Y137tm5}93fMyH$F^3U~uvxF!1UUpso+`NNO!JgEb#zkHN0w zTuK_g1W+1U-+JWpYwWejfe)z6=EAbdO6*5WT6xl4kl?n|YlfURvmSr5i5_k!C-t(i z(R6V&$z#9Vnbf@!Iq@Wfd20t_`oA5|>n#?Um1QM0*mUHBlH_Mr1=571dG_k#B@cQ0 zVIpj%3`n}y_4H$zJ1gZ{drI=}QrTC~dmZ=#?n#81HQ6dIC1o1ZN%98=1G{rX#S$;} zbg++o?uFo7TC_cs2B&>o{HZAAyDR9#<3bnxRkG7yi`=JatLof{@t>>y9YkO&AH#3B zL|!go&R&dWfFp?=;lK?lwCcvkvoIUmKM5R0$GldKd98{*^)-%z=UvI-VF}E8<}xts zeAWETr=Aow8@qS7atDa$e4MrX`wTF}$Nw94nNc(LXzjLe)<4yIZ36cu#^n_i%R>W@ zQ&vzKlFavhRmzt2U74eB1Q6}@p%}RoBh~paD}TX*<+02V*}lu$mdK$XPKhh{3tAfr z77UHqv1;TfDK2hl9mBKmc_TX4NZvK|w};MbsOsZHd&h`ZVxAoGp9wUf{cp`uDsr|% z>fPpncML0l@`d1~f@=vSX@@zBamc&$_;9~gN!5#gHzD(6toW?STpg*{ za>=P$EO+LbCt~FYROe{_@$Onq?ON5(hQPh3ma$8De&+JkjSUx~%PQH{MPG}5?h*7Q zV&$Y?<*UAxIps;M2k_?&55(8!N?;)^SKY+3*-`ek@mFJ&3J~jVnrS99AZ^5?hWSE1 z{V?bF<{EB0@l=kVCiwhtaqA}rwg^UiCdG^m#}%`CLB9T9*)fjmq(X!Snh$YXQ`8-@ zN>a)Wd{SQdj*WU&N&cIiGEn~zXd`tpZqoadcOA&hmMAspR+irp5cAF&IfOK#U0J8JAejLpZZ5dNA}0=)&&EfN?`O*F0x5mB_y&YI6V_A{ z;S!NkPa2_N?safdYI6*_N;fTp0*iS45kvUEc$p@aX2)f#VzjL%1v=!;MHhTIZ+LKn zWnc>|aVs)rKvF;cgg`7bq^e>fXX*8_bM@%?DXJV6klQv{iZlD zm*95w*&w1;jcwjfXCYP!p*?sdk0GX#> zt{>7h=E>rvBi|a9vs4}F-TB@;e^}gMr{Af8*Vs-pCreQx{@N&A=bkxT%jp&{&w5aU zz|>0AeY5;nP&?_^rw^i0O?G&VjeZr_#c;;Pb(Hgut~&=}8cvA~A{m)O+R@7~to<87 zHXQQTYmu_O+1iF*TMcsji@|F#_U*H+ZflIvKqEInc4a>w+kGsOISOe5NgKA_T<<#a zqBiiq1<_r@(g69$IF<@se^vHRyQj?P5QgGw8*wxa)*MBKE;_+CsxAn3EWm%j&-%}Z z2=2)@>0^pP`-I5m`NK`sc3t+LYA6Eey;ZDQbU1Y%@< zJ{JVx{QI=hMPGpcsbV}6754Eb@%Z7B>MLcgPsLCFa$`@U&?gC=FTG=-#=r=nD@Nj)XE^cUkpB+h%@_x>Bz;G-y@~(%v-|l7I z-jiqlbe&a{RJ{;{Y(sJX$d?59ND4hL^8>^Y@d^PjP1fkEX;gFB21Eo_+6xt``af}< zHSM?r8EG5Kd46M=J?4@<5FZI-1@^*>P~~1VHRn+pZiWI7wUi+`%lgiQUz9RP)4NAs z3JX*A%r|J8!kJ8x`(p$r>v@z@R!VLiMhP@1bJibthH+<5B8&mI45%qpE_ezVH0+55X?B%HF-w zKDFxKTU4)zc#R4;rDCwJ`-%=98Iv09eO`so^u%s1*^ z9sX|>a%aG>i(5e@W3g><*c&bEHBVgTe9x-anrp@Fu)b1u?49W6WW4 z$5Bxe_*~uE{u#W%rps2tH7$iMWg8@Ng`gpVu?K}x4vbRyi<;a*MY>h)nGsC5z2I}onviokbJpWh!eO5Exy8@jpKjOg8{bb_V!9@89Ura5(e7K z!U`6VfGA;lGyW+NbSBV8bD;-m`tw(_cF@ljJ5d==X&LOcYF2#Pn#SGThFRWgkj5v$ z9k&E`CF-INf%^n~*C72BTbCz}AaCk`zlb?f_|ITB+sRmMhb31X_9FTa4FJ5G!|)0+ zCR`oszZ}(Qn^9dEZ(i>L(Y&21YL6Z2+!75-hmf>-_83={XZI5IteO*`8FP(1eK>C9 zbh`d?yT|_55?3g*m7jFfqps|W)Y5|8+kON&hRLQf)urZs;p}7Z0)*2dQDkuqNUFbp z6^@#T{&1J!ZPaN9|AQ6}{rKO8SZO+J>-$OI+0uiTmD-Hb9u7=tTw%CgRqB^uEX`Z) zH05*#`r3L_bA%m;fTz0id-SJ2vGOSAQ|}ho|IUG;jaz1A!0gRQT{%*rBWXF&rn{+g@s%h zzGG;5$&)l4r%V%^dA8a25t`j!N*qi{Yqs_UqRRz>1-87%Nv`-$FCD(`t-uw*S&7>X#9i_FrP)Khott{kPeb7hOBm*||^J zn&aUJqKb8>_id;huWU|{V+Z>CC8>N4rlGk$#i^+kn{GVtm%>>l8$D{hsiZr*zhH*V zIA6^;L8ogv$23w@v1jS)CI<>KX{lMxctMv-&t=kjjrVn za$}!*FF;&A2--G&5IQ6OF;U&((U`V4%-l9_tz+Yw_;GKZvfx`{BiyP|}ZAX&1`*m#Ll|7h1}>wRiCagVzchH4ojxadF;zbk#}Q4RZAr2S*f3NZz()m)Hd@kHalQZDL)KgR zt}-(APBD?5my~r5hr(s zxwTwZdY;xmVv>@n1Qp*qJ(hu5UHydPBOeziezPvf*WplKjb zLgF(+aJ`^0)k?}0DshFB49YW6N$I6`11yEcE;O6Jl^kEL%S-B<({(G(-NuBMO@7Z| z5cwnpE8YRVXx_66FzC79%A(B2ZE(+;xQ5|*)}P|AWtaXjAdLELbF9O1ADGiIUS^>; zZ!KRTh0Dv>4VJw^i4*G0;3(DyF3C+D9gW|!0W&?HEbaR|47C?+_-+s%k}Ep}mAlms z|DnlexW(k0kT-sRoh&hahzo~-^TMGe4N7~5G`u~AEdh9f;0+EJ=PMVoi2y29Ib609 z>!?y%rz>#1u*Z^)EY*t=E)9fmi+W&|4{=MfaI;RyhSj&$vQcD4+_g-Ns}7;erE0Qz zlLfV@xo+`({#QlppQ&zrt43hkJsHaHum20{{zsfgXamo?YEI?i}~mnRmqP0Q<16XeT=`2`wy2b1wb++&2|JNnWE;oOybMCB-|2@_-Q$Dk*cVpwM z5In-;sBdKDX9Ij`MMiF0v?u|0P=jmy+2ah2lkt>!oX}7Pys$+BtRz3_q&=yxtcn?p zz;Pj0)?2}>gEzw|KmR~!o=B;$?n~ucd7xomMHEhOx5Z@Wg%0=7gb~BCVfGUuFD_g_ z3=0JR<4mc}!iKY$JEs3ozY3UR{7c(V;zg_ghS7^Il25+V^B=O_ZDigouQSc%zW>Nr z6-n>$TauXLuYCwJB z0JGQwW$mDJMfUxgr_|Z8I%emM#DC9e9aX;N>aCGBa$mKbsH4X2f!i}?ra_IouGT_; zb+@qs>>5%u{vy1uS|Q9^&ai;aFg-;9E}-1FQL6K$IPCJmInIMDJqkzGNGn}mXK~cv z^w(iI$GW3hG*I51vo1nZ-Io@^SYvBexWpKoJsmM?A0^ov`(9+s9y^a9BMI@Kqm&6; zx|}1OV`|eUWucBkPwz@*1DHD-4jbL+>Ti}9-@cd^8*)Ui7|;^ zu-{e}W^xl5W0dYjd!axHnz<~G!F1zd*XGAujSQ+~YGOTPK}BG`HGllDNk1I4U7cgJ z;oitqe6Lw9OE`Dp7dBvQRfCPt!2cM=W8r^9=X=;1$@tyJaXB6}RAA6FZlB6JRReK{*Fg{0Nz z+{pn?c2j+E#k0R+d}`U|R0SkuKLd_&Rd;YZU(KOxOya6T2=(5s%>PT;LS%HGcr(TItZO6*-U) z0vDYFOK^4kC|PmAWbR=~uyFRZfHyCk~1Bq|+q@eMQVs^OFO6Og4ZJ(}AwPg}DF>2`81yyFvI zix}bIKQT1k9sGd`xh0>O?S-&OI^K%G^K1y&r!J=!c_*}~;tr1o-c37FW^90$Y`Wqd zNVHP*jMB?Dixn3i=QhwS_lrxfulT;B5*F#iH%wm({a#>tFL<=2Ng+#pv0vIrUeS5i zmDSv$HpNr3+K5AT;+isL>RHJ&;wj%$3y+((FZhrQ1|?145vdjHFmV(P3RmrFAfXqT zD^O3<{JmBgyzO(zUK{xC@@oW%$}GB1!7?=@IE&9Kxymz{k3-aL5jTBAnf(NX`c-!l zv^V1tnDLG}$8zxC+n%G69?LVRG5dDNyb48_90>;%4Xy{0P{C5;2pS; z6a<>XqvF~bTt@VD&V=albUr8yFW4qJ6jo+L~p%!-haZ`%1=6(LvI zGqw?gbTI~vNa2r?GFou6e#9az^e-#_|~V{gVNCJv@HieVy3h8z>iswaEI<;OQf`h zzNh5%+eQ?2X(MWUN>Q_#WLwo*pyqFEHNyJ`C@%z4N?uCmsK}D*kL636c0s0%Rdo4S z>yHn)cPb7;;h>z9TOsHhPqYE`6FvjD1x?Q@w%C&MDvwAeun)!FU*%@CG?yzsec80& z9V;)WUZj-0t+d9L1y<}Vg@Qza^No}xc-8TXnO>MLUHV|Jx9~m2Sj%9Et9X*lX@oY6 zP=`YHu0B{hZ1`u9^UwSf(gs*+J(Xp53knw(=qASJu3n`pTR#Kdd?NNJf9XGs!J1Nx zP4qfC_nJ2+PUsPd`V@+H!>;~*o#J4X{sv{q`7Q4G&c`FZqrwfmUOz@=pO=rA4>o+6 z+vkE5k)rZQY562KLVoi;`NBsJR4uU*s(S>2@wvy;hO@gB%*<5J>}RgI3G14_@_(m@ z<$5+kxY*n5+h&etK&Gd0R#Gr%pwXS$51jJ|B?ehsE5GgbIiJ4r^0i+1#YNn|T|c8^ zMZdQ#hrO$m@gV&1O5!tSC8v=Qp$_PvhG)q6q_v(Wx!s{L@IBp@_?@h@>l|VB? zjP!KjkC{tOQ=M(PO4x<41K@;>@A(khPlB%JdPn_1i_PND8=fxG@q6oIwqvoSLNcAx{CUx5x()1 zaxiX(a0Tv|AA~@RTawi8Q!YpW1DQJ;7zVlBySu}A zB_!;5gv=9T+%<1?u~vw zEiu1ux8fYua5GNf^|s5UXR=>XEDh!%y|QB73?oIU1;Lqo=q{*WSvO=qtKs?wfE$ zCfw2Abgu0sK=m^_1v5vmRFv`@9zM3pezax$8d1Jg6FG}4$NPTr`|NZ^P#4`wh^24jU-b z&(jLuct4B#%dd|2TbbQbkW{DrX1!E_8(%49oqL(1pra+ z)#4d51f?Z$>+>RO8qxjiVr4^`{!2%ub#ewr5dF2eXNczSPa=mEi}tu_ZE^QIxXQ}q zawu+7MF`%)NH$c76zs{=y5b{-aJag+ZdC>CeWZIgL6(J zAEN?@?;fPW?S`_YKE;*!&sPr}VS&3XQa5jz?_ci-t!xz$BJ}tq6tCEp2a(HzY_F?+ z<3Adx90&Rk#{b$SWJ~ePctB;Z80*s?zLm@#-sb~lh zCksetrM8hvs1p;&t{j9KGO*E$n@ovkOnYqgS7jHBBneUD=Kc~;8h!B60F{^(6v_{@#@^L5htg`%C zNrs;)fw;asa=c5{dv6M)1F8qO1#MdgOd@Ry(^;HyIjx2z$g(qsCGXT`*WF29B?;$p z0D})`#iD1dqf5RvB-(-tjq`0)R(N(wx84Sk6_@DsG_eSmd%XCnBiGIc&k*b>6kg(h z-N06gA$e~}47W<2k}pHkl_S}(Vuz>b@%~YDS>n6=JF~~i2Nc#eGPICo0Cm**;t;fO#T zAw-p~w5H!)s%-7^^SY_0JyiO4VwP`w7Ix$>rz_{@!B-I1$G3WZd*?b#FDZj4n()X1 zlF%wyAHx}@wx19Vd8X5R89GuZdB2>A)LXd?lD{cx4`gtQ`@0-7&k&3SgH9?-9-Al4 z0FWst6Mpj$#ZLO<7kNWxl;t~QFgo|^wfgxO(*%&kJ!vH(B_yeyWjh>C0TSeX8D&rW zXwM*h=el{NY(ec#DFa*S+^XC&DZue#J3rF`F${;Gws`j1XO3omiSTH?NqK{+lTboD zg-Xfy1ca2nyT!YL{+l+v!>T^)j#rE_=2zwtNfSADsIe#7wsJ}<)W(wB2rL8v-n$~A zUYNr37Ub(fBc+GH`C%i${Po52n+o2gZHJnb6XcBh*ayVeK>{it9y8cPFdQ%v`tv;;I4y~bp>=y!LpkU~r-_Kh4xx$WgJnAaXPP!23x>!R)Rbqnkf0Ars0+Cyz@vg-<@q-NX)DlwQsK zv1qylKM8fOJ2?w=Eh z&r&*6P3@?!5dg(zf`b zTyXi^3<{V4JsW7*uJ0|ZXYNE_(px|^KzVQQ>+lMnfU|S5N+^>}`JoYs)mjb|5^!pr z{&{5-8Y6715VqnkUfSLX zKmf)s$O9ALf${6ZgvA8~#ra`8uqWa$7$>|V`CklN-EAE0{Qmz2#*)6gcLp^7_=29h q9m2=zr7a+9<8E!sr0QyAZ>wu-W#i}BZ!2-91gI)%DOAeAL;nxOmM5$L diff --git a/img/jqueryui/ui-icons_888888_256x240.png b/img/jqueryui/ui-icons_888888_256x240.png deleted file mode 100644 index 0b5ccc85e67a5a17c5deb83f095844539bee2c7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3710 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 diff --git a/img/jqueryui/ui-icons_999999_256x240.png b/img/jqueryui/ui-icons_999999_256x240.png deleted file mode 100644 index da7e727b07d651a3063e1d33ba2636234dfec9ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6986 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 diff --git a/img/jqueryui/ui-icons_cd0a0a_256x240.png b/img/jqueryui/ui-icons_cd0a0a_256x240.png deleted file mode 100644 index 8c3af0c41be30a8e96363325849eb2b9caaa7608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3707 zcmd^?`9IX(7su~xhGCE>JIPL&NV3kTNh8~2jlzV=u8>5`+Y%p1)+kFROOkC8T5O}m z5;9tlEE7p~vLrO~RsY8K`8bbr@A=`J$9X-@5BHt~vgL6sMjQhGz?zbX)&Rh^uV9fI zvF!&;PyF6K=E&x@$GR|l|35avZ{of!+%nkO(guhMY9hJG%`tcP%h_HeoTrEjb@Ry@ z>^ed^A?>7yvsS-;Fh1&)cSld#VWMQ?^J`_b#Yv?VPn7@U%P(NK;K_w#d z`A4RDdcG(90f2A8lxS=l>N1-%cVh;}hblB+HE_ny;M5NuJzU`NB_~9ij(>5ydY|3W z@nQcf6w$Z>cIeiS0pjC?U?Is^>SihDR1}cpTMQ+5N7-H%)l1=M#)So;T9FxT2bW#ljxKM@Z6cr&~H`G*gX?NvO&d zwZ-ivawmz2<9oGj`2#$C*h6k!8UiA4xGvc$LYhn{UDYX)=V$QHVFS6=O&%e)dP`@^%mctSvxIF*Jqpy)){7^*<0U*YV_y8hV+ZYS-)&uICt2n9CLS# z3@~s`1+eOFJlxphAwEpQ-G{m2?#@3`%Rf{@E) z!mq8k53ed`=TvbIoa)x4L`RD3n&8)cE!W7qD<#U1-qqp|hHK`33mrWplwnuW+24qv zl?i-H9CFQqqSI;o8!x?^nr`VSwd}p^+tsRJ6>SM=L8D9TCP(Q<0-J5fQ)rhuVX{Pq zhq6WLu!AS^_YBhcNHp6lh1z?>EA^(}m_UzNJ99S3zw>WNbS>Jt_C2T68){m9eItA?pA&Rk41S)LGp{c(f#FZMM$q zGS(v5_;VtQkRjXo#aIXz#>iiW`6}|O_*h}blEB|_H;257Z}ghEIo9^eJ}@;wy=@69 z3S}xtA^K{4p7x!KQ7BfEnpxPS<|@4GjkuamlFOU<7LmoCRAS z&J>sa^enBjx^6owo0O=C4x}5FDrc7wTC!i-LA)$$LomCUy7dJVNbwIDK*{0XVSloW z!;Ngn(e1<$4Vl3e)%50J7J|-`F(`S!Ui)OT=pEnr#Pp53+uMFDMxZ%xYV7IDPVvo!z-VZFhu3FEGxg=H%q5m@hD& zduzd4o6X@kLxkS^WMaXy*i3@AWCoHuBT4E(cADfA_pMwi%}JhHbqrVVQjjjurqza z37k6(QnlYThvRocy=d1FiP6nX9UnvY?jkD*PBrqv;n0rWlkY|BC_^HUBxw)nA&SKQ zU?*r)3nTd%!a|FP&6&#!IW*yNs^Mmcszq}|AChjfLyv6~Xuf129DXO4iWgYq%+6`w z%=po7_j5rb2HT>izHs9GuytLuo^mi&#q9FfB%xUW@fY2UBxRWNBLuU`6h?lCAT-}$ zoOpkO7I&1yGo;khym>32YihQgJ~TOHvzE1QW?x|6H_J`z)h|w;qA%TRW+(!V6%e_O zQB5B?p@x@mJ(x|+U9zf)v$MSac6jJn{Ra~jKb`s*U9KJOMY<`_Yd1c*hfMW%+D4Nu4+bQU9UNjHu_pI<{oSOYrGtf9Q z<%QGc6Rzet#razB{1>v~D(dF_Kwf2YFhFbvL0}J|@)(A289cDPF;T6I*~z$ZJFsDI z)uk8O06*OK_IL7t^rCjUP3XDrwW1uiDt*YAvO6RP@JHnyV~s5*8&HkHo4%2KLR(IV z2kZx~FbmGyO$pmMy_;sBb`)D7ppuM#C=1Mq7Rzit;7`PT3LDbcWN zS=np8b@V)pWWhtZ2or^ea>yYXLkBl3))c2Qi)p9lz#fLrP6!{bVzWTaZBXL)nO!L( zJ5mGW8%>>X94tcF(Pjf&T+M@&T4v4Ir{Uan9z;czz0WVhh~JlWPo9<&^A}(sTJiE6 ziHDG%PK%Ii>;t5wHBhR9zu+RVb(n~>A^xT*L$jZbK09L*H%414;X;GrLBPCM>dE(0 zQicp?Sir~KeC!nr>yy<6*7#{$)IWqYp7M-WFYgq}nS3X;AhR7k<0il*tmx>B@r!Hd zg-IR172E1f1%}lRfoq6&|C7^6lTh?+5+ zPPj8p3&oXEr35g-sP4!ydV zxTUo#z$|T|;2P?>DMT(J3 zsvBolKC6$O4`{qM>^ageCRW>YgUIi5iS#kMAo>`kL;?CNR`~h9TImDgd48;GcrDA? z;hvjeoZA(^%Nh1Sqnsoz!O&Tdb#ZdFXthmKZSC0q*74hZNa72UH#BhlbzMY?vRQdV ztiS3TAJ*mjUtTk|fjHL)`D=*}_m}+%J@q^0Trz^#%R89GS+yK2 z7unSAIB1{Qe>AIK_EG}o)T1?loK2C3k1BUg_p^dsA%fNQV9(52Dp{tqw6w9bSTXed zV9}z}zRlCwMGX&pnvu@pnWk5&=Q{7m1n|B{_p|cY+7_1Q8?HLj_9c4Wo$?Pz{7_{T z*5d-RFdzg3qX}`JX!9Vp(g6_S`sZMK680y>VMN2gD?3)7=D*hvhda`biq+dAq_IFP znt4eoG&QbS*$ur-CnAI=`l-U5W>SWJzAW z?Spi|^0G_!GhI^V)Iek47p(=aNtud8$;RM1Tt5$XDWLe98$Je?)fUFTEvXQw7C8at z8eiF9fPiR{{=Ji?n^)yA^XitPnparLy+hFV z0opxossO+_Cmk(yvq#_8>|le?JvlUUsuWF zYHf@q{T*x?Vk{hbpnE~_{^{9dK|ncZ(+v4VQjOV_Z3J`^2=z!xF{pwI;&Q);VzW|# zJlM7RGP2GBBg1o&eWSSF>_E+J1nif70avC?>^_4ZY*QBd2!>B>&t4S7|3Z!&0J=)?akS`Yh#=6HoFYQEteb{m5MP_k6(6_UoGiba?0` zD@tCPB`<*<%X9CcjIEv}Z5qJPzf@O1n)}XLef>nLdzP_|a&a7i1D*zEym5gbZaLvT z7CUw$^BlVWYp{yzI42f0d*6q82$==`K|S5&-kIHPi;G`ovOEH2yxJjOICgVrR6m z`Nf+++oyaZgB{NFtb}VgLY4Y~zagh-o1%Qyd+GN?P|LBE-y{9cr0~cA4f>xM#1kRj z%KW&%HdW7Wn&8tNY-c9pJ8=Ll)-*hY z`hGk_Ho2Wg@no7P0fi|Kj+u)yA(uds1|H6#u=_&TiP(=GTA%0J0e68Odbus=rt)HtYOz+fb zR!hyJb(VI5M_YT}}xczMEOsJyNV@cm1`%6CQk{D6M|W3*^4=tE$T zq~WWZ+#S;cK;@)Qgh(qKR&)ml`V2>#e8Y2Ox8?8JRHmqXn`WR3e+k|I!pK?ODgyYG z1;@*Op`Fmz66bd-O8L6mO~uzAIOR! zD`43lMRB-JHsIx7sum9lGM-t^fV)sQ=ffQKG`1`@9F+mH z8l8C6gNqNtH9-JbhWd4Dqmny7i=k1`>%)tK{!Wg79*3NKo!ayvDMGcni|nr|k`wwM z$?@~8L(?V=>|p_d9N_#Aiz5!NT^ z0CjO+shWDY`zG*RIs@ZpMJMFMCqxi)`Z7XgWE)_0pDGS~8!Y?D{CqJi&5pcoH%XhJ z@ek;5IyX7J${u}2-fKBG1->$eQ+|FW2Fl<-o}24bfe`YYkjqI>;V^4ZuR05>w|!0s zHPnw>!V6A{Ra^uc0D`nMSwO1o+w9w)JP!Y9pwBzs9>G@9P9&NR3H6G>m0lUlzg!0u zt_qQBG(zA#KO&Uv)e~Q{YS^JK9y~Z~rx*wW*);&%oQQEs5dFQlqXw|l2OSKc7PpGm z@_U-e=o+8%Wcb>4a|>)v|KtM^qyWs9z!A%&@b_fu!A>qA9zN*;fDI^JEN!G`#On@YRrd=|DwYNQq)jPb<={m_ z!#1TVCM=19PG0ifH-7vwa3uBteyVF?+d8*?!Mw8Pw5yt>_0pP1^S&I9$AwhQt-6HW zLFoa4-s6=xHQW;>V|_P%rKH?k?pP}#aQJwEvfAJpW;*HC^bS~cbWPY>ue`Flr zFI>*MNSjQ{Pk8+!-!pkcK>u5mI9YO*{kMfmp}(#eIn9zF@(vfp8ua<15tE5WFlPCv z=DDf|pCx2l;UPc{a_^)ato(sGOmkShVjr}eiR0+CD%L*b3l_2uyQL%)uli5#20KsT zixZ34@CckxBPIdDdc?~8OZZ%Bse;rjN&~6QEkvnTx~vCEK0dq_;1Y298znAq3 zAk6{Ciezr6NKEVD3qu=_6V*^f05y-!zLg@+lrOfS;*cW?_MR9HT`N zIkuJblM>&z!_%>FE(;b^3}9w6{BK5oh!e@pG_T};RjoX@+l`sFwv<3U+6WygrWGll zKjNLq9t3>I7HGGy4>^$w4$t<>+mXDaR=(brdd=Hwv>^3_bHHCyW@e~&2g%oL+$s|D z&7abaB~a(@ToQA#y7}yex-`CM`rzqa^J(d(?px=&R@G4w+9XFwRfga04B)~jaOQ%r-+=j63!K2uD@cwj_s3( z_Pqr>z7`G|H=HsTUaaH^)07ZQyZk^lgy6*evW2pA21z-fNmzIhLHMVvB|fgRle8y) z1GiIEiIsr_Lyp)ss|SoYx(>ZpuaVKA$|h?1)zWy8S8y17c;)@wm_c*zG0p>xTF*Ka zPzi0YMejhlZAGg&!v2MVl;L<}4<;};*qz15{@e24)6Rvh823k(O5M0o-3I_=`j43g zcWwB=J=~jiDv%LI;S-o3zg_8G?jmuV&O4ghi1tFhLseGu{hgzOpOhHxSU<*0m$Fd? z^GskM-{hVh`CWGA=vsb0DNuEs-P{+PrdH|#h*ulvKKTV`Vanh%ZkK`(%z*6JrsxoQ zIJ(b`+VGo3EC@WnYHr;ZXO@sQ_;MsnO{c%=0qcB;F(y?{f5~|uI$=GOu`v3 z@zD#nTHN?7+u2@k3dG3>*41yjTWz(j+7A^ydIKuy0#Cbwrt5CTlCax?4Ej);z&yGV zM$7|4`@p_dt;q_Gk8#(FE9u+}bSAmF5%r05!TL$p`X~Pt%-;Rk$TDa(76tv_n*%AevUX$%P{ZB>_9M-Ta4w z-hL`pV88hkf!!n?Nx(aCnq(7E+gkF!tdjUde@24IyOXH}C8n`3Gh+4TR<~W9gWmh| ze+yXF7xAFrS!WuT&XjM9(5I>sq&Jj^Tg|~BoDr7AsHjjuQwlTsGDSVAKS8-l`a=il z$-x&|Otf#5I})VFpa*(eQ#UX_pRzp62mvbOup=W-sytZFt_zWXW}ZwoBZIJ!1TkvA z_sbQ=Ok5VK7~d7$FhCW+vjS z!skk*uT+MECBK>g(?F5C@{2*fqkaXOrs27FKgYeupcCeui43KxTRir+?4Vu&g4PVo z%lo-$c6v-&>|0+d-ze~w=roK{=r**eGIY{%Q?)NUpT%!DXV?_NmpE{;stYmAEg5$z zSobjBc&SFT5VpsC_Xs1y^Nw9>=J1E1DrmUQNVvADndHey&~>|uI?T6pk@taY3kT22 zd>lMh4Ya|*#`$u;6So!-q8s6`ngtZ(jj2MGB7MWd2rRRA=)=UA6IVrzm;(Gf)%)g+ zIj_0h$9`8|XD7v;VUdXvj6@f`ENSeuTUil}LB2jm-{a3`XYs);BxIhv8^c*8pR%Og zTj@Jaq4cT`EznFagLn@$4x_nhZ9NLbiT1V9Mpg>MndP1OFBIBG#L+~9=MwjhXhWyl z=!VWCMdhPn1LY28K~>B#TigB__L3>2ufLbGP9(Y4Sk99ndEf@^ zeS{}VpJb-S>2V|u8>F?pl5CNFN)p6|e~kE|fm`$9ih8nZBi4BrxJ=SE9}35La~aKi z9R1X(X$RH-2R5a_4@<>(ENc%V@&@TFA+;_nBN5ye3UIya>Z6M2uaqUYTao;6gVQLT z_08CPFUJtCH+J)g=!Z@eMU%gd^HJkhyZJxL#KzK}bM5}|b#6G~m`cD0GeH4rzvzZe}Lo!Z675nA@B9-^Prj?fXDEoGgL<-00=6|Cvh1 zE5pWmZv_G#S_w(tnTe(~3aLsvEuu{$k@{Xl;2y3GjEs|wazZ@1apmEqY9D9QPc6D3 z6l-KUb$NMa98}qS8nOXmKB-#cX2Fe7mnV=zpho1<)Umc!JU^ALhVU%=iF*_GS>t`x zA7$z9DXU;Oh)fck;U94A=2+xa(}<~Z)WuR55fqn8H D$=_x%swaooqf9M^H&*L9xPd7T%W9QFze$_fGigl%oCTmXPJ zu7HO_ZtQ)wcEA2Sob289Y@F-s>x*oY|0henYFc;$vtzi6gDU_eQC%FBz9YcNPF9KO zTaaO;aLqiZNd2bJTWx9bR<|66xLi}h1AVr&i_Njw&B=mBsJKH2%k*>QCHxcB6?H1N z9yheU=3q=KPoBRVdo_Gp_y*lfTPq8f3=u$Bv~>`b(1Im@fMRlY}kuf(;2!Y#9CB$@IcQU9) zLVZXEf_|6fwp}NPHJq*Y)fgZop*8_(12zySiQmsdKNEx}e6p!sXmu+?rnfQvJ_4K& zq+RkopJev^3xOq3+lU;TlpG*95E3z3ZM`tt2*0ct&iA12NSZl{qyr%s(gqk7ST5Uc z!6$>FSWOW@bOO3?_YxA-#we-)R|SmVmoGkFp3}u*3yn;@jfJAtPPd>uV8nxzJDczz z8-jgVjxrTYc_7Hjiq0jJ?Ta1Z!+R!n1hVqb=6xG~lK}EhB9lJAtv&{S?*`mq#2`FQ ziJp@JogxaND#)+O;L0gt-+8}7J2H)-gG9KBZv~^^6jC^dqATqfCp-e{Wo!2?&|1Ak(v;>y(TxzMOygOvuL*oQst~){oj#-fE5vYp4mt=335)0S# zBvCe}BLkkF6qx5sqJ96zq`-V&Rj1QI@rej6Z*r>>&BVw@FTwjOT$p=Ht*1IN43>~r!PSTAvnAw%9!69=+Zw@bX_&>1;xGRn2%u34ZbKSpSW*mB zxj2Yx4-$*bC8s#fBfK5R$gO6B7#f9t5?VRhMfQnJ}^TYnB#O)HVW65y?yIUu-V`3=084G-kHCzlXBtciq_mWPFyHU_ap*d$oTne ztz|Ksg`r6&@l6BcXC|eV5J2Z9nqD0VsxGb8;TEe%Kh3vrsqO*r8^ZFB<^g%LAwOYv zU(6$1)h}76l^Evdbuw2VW-a$y%WDDL5YJd4S5rLw0!JS|`unK#zZDAcvTy1g4jHz2 z$*6ob@k9l0CGLBnU9Ae`ZVCH`1uZsm*4IN0$i>{g7=29G;mOO^SU*Mcg<6A!yR^^3 zW`6@`^FuyIx1Vj$1P0obN75UobL!@BACpOE!)WZ0K#d|vRnfCc5_F|blalB&JC=kQ z7?^MRpqms3e{%d*X5$c$W>aF>n zRb}th6ip}ob*;hmmM$ziuVU$m)F!6F5m;6}!sxo=S^}CeJ7o6a2>sm((G(WoeMEpN zU=0O{Bw1rv4X&zsbegiI*$l8rQWsPJP*7w|)4kDty%puEOme$_ca(1!jRd!>GbVy% zS#4rs)+OC%^mW1beAF|Hwp_1Mh9(fhDKF1YtCP9Efzj%Gq+QqdnAi*CUWx4B`ehOH;=oe*)Nv zEQ4wP08`#dI_=F7k8Q}|T4$9n<;Ue}wq848D0nrmB3vdD)#ZaUt}xIhionMb&gEix z!EDpQc+!(z*MzcEP~&5$==%Fy$~W=VVZ65>6}@wlVmai z_o@taTZTdV81T^5Vj;Eq`A%i}FmX4y>uM2g=ID{dA3D2r577)lXr2St+!poB5|xP* zrw%rRQc{OjXBhRwIQK0peapAD-k3-K11ZN}Q~N>G0d^L4_p+Dx-Ze+-C7mS8@u;$% zgIqm_6Bnu70YFUQ9|SkMsjZ@EKr4a}C_$;V`sEJd$3-gqPC($+{8A-bWjlZH>3o9q zmnN1^&BvYujTQ7BBP37#ow~UlBnpX*^iMGBU$r=1&A=#7UT6Ghy|?hAupKP;HnhWt z?=%Y53SMnuak{_Wd~$;g*$cxYi&7#Sz%sn@;mdFcI?hZEr&zXrVfH{P#gkH80Zo=f zbG$*b-4zrJ2PBD~`sHU0`Ha0jk%Np9q>j>d#4W`U;JNdZq1>UB_n*Tkad{UUc@0+e(g@1ECDPk7q1z@~&f4JIG< zxs+v6AKl!k`;b#SPOF|@Oa8Pk&lsq_e-`(*Dqv!$78$3ewpo>{*9}rTaM^ z`!te02Wvl+N2ILai=?KfUXi{zjNU6MMYG)eTf%l?fV$8lnJ!a%L|^KedF#=)o6t`9 zC@8rUSlNp!Tvjgx{_-)K@S+uhLNIaUnj}?IFW|H|sC4=Adr=&AAw!$um%9dI-W{q# z+ZQo5sS5$Jm@X@iigRkGK{iNMsa+i{>&S7?aosjOqb(-S5y8Xn%&A*euEE5%`m3JI ziPBtL>Gu@j0weewfu-Z5*DJ)U=p|~kXk~4V1o?UrIVTA)8|EMx{v%J}Hy$NX6J9Sx zUk(lBqhYUV9iMNEh2$~hV}D`y9jzk|H4{xAOlgdb2f{5BSAbc_r?g~RZ!F`MJVuyfp9uOj&k?S}cUA1yTg%0&;Zud~J_T9>4$T0-M855le z51ZpeFDtzGu$dVa>W&Y>vA~~!E(>&?j)i#5ox%tPLhapTSm(m8bciR!^;r3ZOa;dX zWcSo=4ou4n?Y}Aw$Te7QlISzZWfv&6fBpFbw_Q=bnx$H$rfFyF`WKi6fK4s^3%Xx~6-LI0k>#w1g%LF1ERn;bt{dX4w5f zBx~%cU_R>o?Kw4o5-2p6xGXd_2CSsh(5F0sK35-TY0sT&VI~OmMTm7kmS0`Ce$;cuu1iQScd2 zyO0xWsY6cL=p*zmCP-k^==pwNKc8=+va@n;M(nE5b1$Hdz!o-3kV|4^9oAX-3NEJ` zjZHKf>fb6xLL-%#A!4u+14xRDj*q;)Q!7CR!AqdW^Ulzr8a%kG0sYwiN5qI_^Po4k=k9AFS>2?(uN|32I6Y!lH^bz~ef50pBD<+v1}S z2cMqJZHS;ej~-f*kx6G>0!ppvyFNOWk?C@Mj(}8fLSL>LSYNWfqt#WT7cdrV;&)^5 zuUtrJC$h90uh-)T4Vp>J6|aRNGBuJ@CG8Dpr2*b1ptlB>#T#7~xGD{2PSner_eRJ$ z0ucOdU7`X2RuWRlA24XNMf?j|Q(;THR}np?1bn0CU%k z1Cx6qBKP#%>0FvVo?&y>t8!sYMr?}tdvf~}bXhf)47Xe-)E_>g>sm&=<);(q$ud}?yZiq!`V z6b0v=C%7S7X^r}9tC(V&i%X>gp4p34ZX7&4x9R$92)hKfl2IPp23bs?M9cvtHLt5w63a)om~uVt%rbl$b9_O5>_LW%toqJ#RmwV2==ic*rz7lOw=eaq=H~;_ux21)-Jpcgw zdj+hrf&W^f<%Qk9Zpqf#;q3n5{{POY;f!wmTR1An9(4&I0z1LNX50QSTV2M%4|y9c z#{ZQIVJKu~aY5?ZaZP*GIGqGs=e@q6o|EPhZB3CC?@LnORK8O@z{{<0KtSn5?#~OW zy=L;x8T&*%xqElS;s5~Pjk7d2bqIaA)xZbovnZd7eX17WNxx=w`p(8vulwUZ zl{so}MuRNJx5!8S5G;$o2?BApPHt+)!^#*Ww`?rcVE}mcyuY`X2o|uVUyI9o1t11O zemGWR?;aD#0$vJhiPhv~0iXS#iLq!>Qd$` zU{}<|Vb9Md>$4TMbL7C3GP#r;4Wc$}Z;^j;n}yc!E3d;`wry$!JkmJP0%(tIh!!TET8=+{rhUi^60G0t2HJSxXv-*DgC(HrJd8`|Dp3NvL5yg>xAvU zho|fEA~w^-HrW&H-JwkqNX2I-bEXBR&Uhp+y2^)1h1IIlNCzC!v-Mz@&z&VPz+cl1 z=f&f6Y*U~C`ixm4Sy1hl$hg(4%Dy;bq~k7d1<@K&%%NLT`L+A)-QXyKVswX?op90( zB#yeFEih@c{OXU8Oq~1CFI_38GXmns3(`;W(i+bslovCx4u7gvK>DrGOug*?G|1nz z_OR}|ZYS3pq-p?rS7G0qa`TM}r5XqDT4cV>%Qyk#9ES}`jc+Ww|DcbZrF6UG>CeXp zOVIV}K1e#z9@tu#?X)Ri=?zXMB`X3G-_I7FL-Zq`nbfWtX_EO1*!+U6pJW-_k&+vk zMd}THh}{(Ch_wPk(PI4vVB_KT76kGxVytLxpWg}&bHw`a3G#QzxV@ICNax&@hk3<_ zBh`Tq66G{-tCw$V{(y0v7l!tp20~@gdFXjzFbF#bJE7i>T4ux zQdrF3org^wFcnw$#bQMv@SfN3$Fuo7HnB_`2ZGB{ZqGr>%xP;2_!Q{=N-ZhU1c~^5 zdt=OO#wmcpkXJyCG?{{&n=R{Sn=Ytg;<09CH)l7TA&wkt{Q;>RrA2Ia6-QixEPLrU z%0)N$3Nh0?U825&v($Sz}0G_(!v&xSSAzje4{rup+^W@^}ByqOb95$E0sbwK*%#GP}!6`%*Z@L;&C z3^dE&>5%bWAXmP*X1 z_m}Pivs*u7@9i>qA!58fDCwj^M<1P(u^m;urVdlM@>aIf+E3-d9ZW>fc4cS7w5O3sCmKKn z+94A?VyfSBb9{}rEbCIYtXORJBCv__fnZ>?a}edaA%bP$jI?J^q0UKO!mduA8U!3b z0CJ_Js}NWQZoebapVUHP%pPOUm?1<)zd%`hzUM-Y6g1z|@@3G_kio?S0bcbjQuxJd>vU$Uyz(4*peEDSVc-G;O;% z9Y97%Tq}TRsH+oN%2u(oyC=W<9`e@&m;i;jC%L;sP(9RBDQnth3;ZMEQNFH3GEf0c zU<3RF!hNG-vCDooYFS^nPlFnv4(ElI1=vNcr42TF^uq67f{MoN>{f&>xA91r4pz5Zc&@P^i-9||`98v$Si!U@}ouZ88W zg;YL=OQ;4}UQtkpyd~lD{qWy0H|lwJXKmenz#E=*9kt$YX*X!wDk7ITlIUGWnj>a7 z<_GQR752@J)Y(U)ncu(dIit7P}oBq8x$FP85)&Nsw<#rOW z8U_x(1J)Zgm(8tZXU%+(yYcO+Z7#ZszPwa2`ygiMPayX9KondtFMRK!7x`9uWN;(f zfWW?8yOdj;GA3We0YAW92gWipn(d>zcbA+vZ_21BxF?-pfcW` zbqY??6ie(6M)p@6@WQ?Tl7 zoKrKEj|x~2yZehhMLkFRRnOC>XL&L+N;m0B{_OQ9gzzTYb!!Jct=bk?_hIpY9rOwY zMnr69R(?8EN52qR+k!~qnCYc-KmV&*d$&NY?t5cjR)V+ncMor=puTRoo?{5dH;@!* z<~RrV!+ljAN+;Qx2LraY&JWnz^|sYbZjP+Y;|pC#DuHUH+>F~x3PqTkx)=OAE0X9( z(AO6gp~AH^{nq+n)LHYDD8mQN?DDFcd!U&d4PaajzSD1~lXq3p{x=^vItrq3gD^4O z=hYS`?&C-0&KuAV>Jv}T?ba0IafL$~+bZ}p$9lwyyx=-uPN`Hpvv<)Ia>OWHa4+N4 z6zscrW$^XA32EJw^7hYtkRJr{Q8 zQ|*1pp_q6Mno|D6EX!kgSv0h0I3~ef_l%$DTFjL`0y16n%^dGNQn;2V82mqoIi9i{15vu zLq&(BTl9CInUjZlTIa>^!!HlMK3W8Sd_Ow0+E8IT?h$=55$^Z)$WYIuig=O;Lp_1Q z4wOT;XbWQ!>Mh`pdXuSo=KBba;wT!wK`Hf1Ueh04*%D7Kfj*#b~BNfvz zsbf?uiMm5-xhaQ|7Om2OrYbU>ngUM9%F5nU<65IFyu(`yZ;Vb1)=wCd!L2K?c$ezE z4IbS|^?Z>)eEp}ZfjwF)Waw?pPJ?{~*g%;efxO~Nx7dQGLWZ)cPQ*T!((W- zGm2?tM)K}7oG<0Xz<`ltWjxvE<$AH!4*R{A2~uYGr@m!vm*j+e#CE9^*}Oc#uihB| z5;#kMY2^8mrr80%*+02bDx6B{Jsch(d7kQGV7~iGTgFZBu$Pf`tNf`B2{|t7fGhIq zos0xF#l$bfxOtcGDd*MDbdKBaCKxgCEbr8JTNd_1bjWC{Ubgk z9~)9;A1&=FyIt$l!VBXfD~6VCk0fjO%QwLJ7k00RH*%I8cCqF542VzP^;`OU-_?=< zbV}OoQE)HqV`|)X5+WbgSxGWH>t+7-O;(l~Z+FJJ)sygu^+eF01#Suj+pnAcw!s>p z$-xF}c>7t9X6H$^V9hvT5H{jKv+=zzWHA0pgw8e5fZpm9vIphVq3%S4*N3%&jsY^Q zK%sSPuj=?d{ATs0o0y6#0w3%YT^@-_sTuTUwI(Q{;l3KjeAbVk#Wmi%PDxm`zoqQ~ z((<-}*FSP%5gt7uI3t1&75ne{@1^bpdW1;MMGNkSr~UAuDbB4+VQi|x(gdO^zin_) zncfs2hj8xdiiy)@vVkfkItLKvsGtJhrTb0T~tFl4Q3J!flauS==b& z6Bm!g%dDvlCf(St$kVofvH90|9yl-gmvRvcKS&Ye9DdoTK@2m}iSvC{3m%4E0 z@TJD7c1V?!URM7+t?f3)%{X(6JXg~A9TvGQyX6n(^Yt0NX;>vDPcr~mICPooLWA_` z<1A>FuXr|C)dtDr*PQt%Xs5WePWUB&gBj$zZ#BIY%?jDdpbSA-PV0`dGf^oa_Jp}Z zlrGV7oe`#B^+nPIQ`ZDJeJas=ru#=*YL#+n?Go}f33>1GsZ{TTy2bdBihj}mz*mp! zOzn%{WgLM=*CpiuKUs*GnHa{B$2siJqfNi|Z;|rH%stM*8b26kAMCYY&NHwPGtlYn z7UVx_^sgR$Z8x27foS63FCPt|gtcG_ zy#@C|!VQV~TY}G5e57qp?F4jRxqq~@h6^?-cvD>ySwVLl2m7=gERtEn>Fw_@ND%pO oiVC*mbz<%I+0K1Z`+LWvZ$3~$+A!Gm?^hpSc@||}WrmLVKLvuzv;Y7A diff --git a/img/pf-bg.jpg b/img/pf-bg.jpg index a677831846dfcb5a70c2abde0dbe7a38793d95b2..72c3aa0b51f802ddbb111f23d1f8cd947b69e84a 100644 GIT binary patch literal 169855 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'$ENRzxZl5tkDSgz+ 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 z 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ΫsSQ}H6K|ITd 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 diff --git a/index.htm b/index.htm index 33f8372c..1bfeb06d 100644 --- a/index.htm +++ b/index.htm @@ -24,11 +24,9 @@ - - + @@ -41,7 +39,7 @@ - + diff --git a/js/app.js b/js/app.js index c9c7497d..8433b075 100644 --- a/js/app.js +++ b/js/app.js @@ -1,6 +1,6 @@ requirejs.config({ - baseUrl: 'js', // user build_js files, change to "js" for un-compressed source + baseUrl: 'build_js', // user build_js files, change to "js" for un-compressed source stubModules: ['text'], // Exclude these modules on build paths: { layout: 'layout', @@ -8,11 +8,11 @@ requirejs.config({ //jquery: "lib/jquery-2.1.1.min", // v2.1.1 jQuery bootstrap: 'lib/bootstrap.min', // v3.3.0 Bootstrap js code - http://getbootstrap.com/javascript/ text: 'lib/requirejs/text', // v2.0.12 A RequireJS/AMD loader plugin for loading text resources. + throttleDebounce: 'lib/jquery.ba-throttle-debounce.min', // v1.1 Handle/throttle jquery events - http://benalman.com/projects/jquery-throttle-debounce-plugin/ + velocity: 'lib/velocity.min', // v1.2.1 animation engine - http://julian.com/research/velocity/ templates: '../templates', // template dir slidebars: 'lib/slidebars', // v0.10 Slidebars - side menu plugin http://plugins.adchsm.me/slidebars/ - // jsPlumb: 'lib/jsPlumb-1.6.4-min', // v1.4.6 jsPlumb - main map draw plugin http://www.jsplumb.org/ jsPlumb: 'lib/dom.jsPlumb-1.7.2-min', // v1.7.2 jsPlumb (Vanilla)- main map draw plugin http://www.jsplumb.org/ - customScrollbar: 'lib/jquery.mCustomScrollbar.concat.min', // v3.1.11 Custom scroll bars - http://manos.malihu.gr/ datatables: 'lib/jquery.dataTables.min', // v1.10.3 DataTables - tables datatablesBootstrap: 'lib/dataTables.bootstrap', // DataTables - not used (bootstrap style) @@ -38,11 +38,13 @@ requirejs.config({ }, shim: { - jqueryUI: { - export: '$', + bootstrap: { deps: ['jquery'] }, - bootstrap: { + velocity: { + deps: ['jquery'] + }, + throttleDebounce: { deps: ['jquery'] }, slidebars: { diff --git a/js/app/ccp.js b/js/app/ccp.js index c6bb7429..220d6c64 100644 --- a/js/app/ccp.js +++ b/js/app/ccp.js @@ -2,7 +2,7 @@ * Global CCPEvE function wrapper */ -define(["jquery", "app/render", "app/init"], function($, Render, Config) { +define(['jquery'], function($) { "use strict"; @@ -10,48 +10,16 @@ define(["jquery", "app/render", "app/init"], function($, Render, Config) { * in-game or out-of-game browser * @returns {boolean} */ - var isInGame = function(){ + var isInGameBrowser = function(){ var inGame = false; if(typeof CCPEVE === 'object'){ inGame = true; } -return true; + return inGame; - } - - - var requestTrust = function(){ - if(isInGame()){ - - var config = { - name: 'modules/dialog', - position: $('body'), - link: 'after', - functions: { - after: function(){ - $( "#pf_trust_dialog" ).dialog({ - modal: true, - buttons: { - Ok: function(){ - $(this).dialog('close'); - } - } - }); - } - } - }; - - var data = { - id: 'pf_trust_dialog', - titel: 'Trust page', - content: 123 //CCPEVE.requestTrust(Config.baseUrl) - }; - // Render.showModule(config, data); - } }; - return { - requestTrust: requestTrust + isInGameBrowser: isInGameBrowser }; }); \ No newline at end of file diff --git a/js/app/init.js b/js/app/init.js index d9ab8cc4..3ac9422e 100644 --- a/js/app/init.js +++ b/js/app/init.js @@ -8,7 +8,8 @@ define(['jquery'], function($) { var Config = { timer: { - mainPing: 3000 // main server ping + mapUpdatePing: 3000, // ping for map update + userUpdatePing: 2000 // ping for map user update }, path: { img: 'img/' @@ -17,23 +18,31 @@ define(['jquery'], function($) { zKillboard: 'https://zkillboard.com/api/', // killboard api eveCentral: 'http://api.eve-central.com/api/' // jump rout api }, + animationSpeed: { + headerLink: 100 // links in head bar + }, classes: { // map types mapTypes: { - global: { - class: 'pf-map-type-global', - classTab: 'pf-map-type-tab-global', - label: 'Global' + standard: { + class: '', + classTab: 'pf-map-type-tab-default', + label: '' + }, + private: { + class: 'pf-map-type-private', + classTab: 'pf-map-type-tab-private', + label: 'Private' }, alliance: { class: 'pf-map-type-alliance', classTab: 'pf-map-type-tab-alliance', label: 'Alliance' }, - private: { - class: 'pf-map-type-private', - classTab: 'pf-map-type-tab-private', - label: 'Private' + global: { + class: 'pf-map-type-global', + classTab: 'pf-map-type-tab-global', + label: 'Global' } }, // system effects @@ -195,7 +204,8 @@ define(['jquery'], function($) { jumpbridge: { cssClass: 'pf-map-connection-jumpbridge', paintStyle: { - dashstyle: '2' + //dashstyle: '2', + 'stroke-dasharray': [15,15] } }, stargate: { diff --git a/js/app/main.js b/js/app/main.js index af54168f..34b2a7c8 100644 --- a/js/app/main.js +++ b/js/app/main.js @@ -6,10 +6,12 @@ define([ 'jquery', 'app/init', 'app/render', + 'velocity', 'app/ccp', 'app/page', - 'app/module_map' -], function($, Init, Render, CCP) { + 'app/module_map', + 'throttleDebounce' +], function($, Init, Render, Velocity, CCP) { 'use strict'; @@ -19,7 +21,8 @@ define([ $(function() { - CCP.requestTrust(); + //CCP.requestTrust(); + $('body').loadPageStructure(); @@ -381,8 +384,12 @@ define([ id: 4, // system id user: [ { + id: 3, name: 'Exodus 4D', - ship: 'Legion', + ship: { + id: 55, + name: 'legion' + }, status: 'corp' } ] @@ -391,16 +398,28 @@ define([ id: 5, // system id user: [ { + id: 4, name: 'Faye Fantastic', - ship: 'Armageddon', + ship: { + id: 56, + name: 'Armageddon' + }, status: 'ally' },{ + id: 5, name: 'Sibasomos', - ship: 'Proteus', + ship: { + id: 57, + name: 'Proteus' + }, status: 'corp' },{ + id: 6, name: 'Xtrah', - ship: 'Pod', + ship: { + id: 58, + name: 'Pod' + }, status: 'ally' } ] @@ -410,35 +429,64 @@ define([ } ]}; - - // update map module ======================================== - setTimeout( - function() { - console.time('updateUserData') - // $('#' + config.mapModuleId).updateMapModuleData(userData); - console.timeEnd('updateUserData') - }, 5000); + $('#' + config.mapModuleId).on('pf:initModule', function(){ + var mapModule = $(this); + var mapDataUpdateActive = true; // allow update "map data" + var userDataUpdateActive = true; // allow update "user data" + // ping for main map update + var triggerMapUpdatePing = function(tempMapData){ - // server ping - var triggerMainPing = function(tempMapData){ - console.time('updateMapData') - // load map module ========================================== - $('#' + config.mapModuleId).updateMapModule(tempMapData); - console.timeEnd('updateMapData') + // prevent multiple requests simultaneously + if(mapDataUpdateActive === true){ + $(document).setProgramStatus('online'); - console.time('getMapData') - var mapData = $('#' + config.mapModuleId).getMapModuleData(); - console.timeEnd('getMapData') - console.log(mapData); - }; + mapDataUpdateActive = false; + console.time('updateMapData') - //setInterval(triggerMainPing, 5000, mapData); + // load map module ========================================== + mapDataUpdateActive = mapModule.updateMapModule(tempMapData); + console.timeEnd('updateMapData') + }else{ + // not finished in time -> to slow or error + $(document).setProgramStatus('problem'); + } + + // get updated map data + if(mapDataUpdateActive === true){ + console.time('getMapData') + var mapData = mapModule.getMapModuleData(); + console.timeEnd('getMapData') + } + }; + + triggerMapUpdatePing(mapData); + setInterval(triggerMapUpdatePing, Init.timer.mapUpdatePing, mapData); + + // ping for user data update + var triggerUserUpdatePing = function(tempUserData){ + + // prevent multiple requests simultaneously + if(userDataUpdateActive === true){ + $(document).setProgramStatus('online'); + + userDataUpdateActive = false; + console.time('updateUserData'); + userDataUpdateActive = mapModule.updateMapModuleData(userData); + console.timeEnd('updateUserData'); + }else{ + // not finished in time -> to slow or error + $(document).setProgramStatus('problem'); + } + + }; + setInterval(triggerUserUpdatePing, Init.timer.userUpdatePing, mapData); + + }); - setInterval(triggerMainPing, Init.timer.mainPing, mapData); }); diff --git a/js/app/map/map.js b/js/app/map/map.js index 815d335b..ab0282ca 100644 --- a/js/app/map/map.js +++ b/js/app/map/map.js @@ -38,7 +38,8 @@ define([ systemHeadNameClass: 'pf-system-head-name', // class for system name systemHeadExpandClass: 'pf-system-head-expand', // class for system head expand arrow systemBodyClass: 'pf-system-body', // class for system body - systemBodyItemClass: 'pf-system-body-item', + systemBodyItemHeight: 16, // px of a system body entry + systemBodyItemClass: 'pf-system-body-item', // class for a system body entry systemBodyItemStatusClass: 'pf-user-status', systemBodyRightClass: 'pf-system-body-right', dynamicElementWrapperId: 'pf-dialog-wrapper', // wrapper div for dynamic content (dialogs, context-menus,...) @@ -98,6 +99,11 @@ define([ onMaxConnections:function(info, e) { console.log('max connections') console.log(info.maxConnections); + }, + beforeDetach:function(connection) { + var mapElement = connection._jsPlumb.instance.getContainer(); + $(mapElement).getMapOverlay().startMapUpdateCounter(); + return true; }/*, overlays:[ @@ -156,20 +162,13 @@ define([ $.fn.updateSystemUserData = function(map, data, currentUserData){ var system = $(this); + var systemId = system.attr('id'); // find system body - var systemBody = $( $(system).find('.' + config.systemBodyClass) ); + var systemBody = $( system.find('.' + config.systemBodyClass) ); // find expand arrow - var systemHeadExpand = $( $(system).find('.' + config.systemHeadExpandClass) ); - - system = $(system); - - // remove tooltip - system.removeAttr('title'); - - // remove all content - systemBody.empty(); + var systemHeadExpand = $( system.find('.' + config.systemHeadExpandClass) ); var userCounter = 0; @@ -177,78 +176,126 @@ define([ // if current user is in THIS system trigger event if(currentUserData){ - /* not used jet - var tabContentElement = getTabContentElementByMapElement(system); - - $(tabContentElement).trigger('pf:highlightTab', [{system: system}]); - */ - system.data('currentUser', true); } + var oldCacheKey = system.data('userCache'); + // add user information if( data && data.user ){ - console.log(data.user) - $.each(data.user, function(i, userData){ - userCounter++; + var cacheArray = []; + // loop all active pilots and build cache-key + for(var i = 0; i < data.user.length; i++){ + var tempUserData = data.user[i]; + cacheArray.push(tempUserData.id + '_' + tempUserData.ship.name); + } - var statusClass = getStatusClassForUser(userData.status); - var userName = userData.name; + var cacheKey = cacheArray.join('_'); - var item = $('
', { - class: config.systemBodyItemClass - }).append( - $('
  • ', { - class: ['fa', 'fa-circle', config.systemBodyItemStatusClass, statusClass].join(' ') - }) - ).append( - $('', { - text: ' ' + userName - }) - ).append( - $('', { - text: userData.ship, - class: config.systemBodyRightClass - }) - ); + // check for if cacheKey has changed + if(cacheKey !== oldCacheKey){ + // set new CacheKey + system.data('userCache', cacheKey); - systemBody.append(item); - }); + // remove all content + systemBody.empty(); - } -/* - var oldUserCount = system.attr('title'); + // loop "again" and build DOM object with user information + for(var j = 0; j < data.user.length; j++){ + var userData = data.user[j]; + userCounter++; - system.removeAttr('title'); + var statusClass = getStatusClassForUser(userData.status); + var userName = userData.name; - if(userCounter === 0){ - // hide expand arrow - systemBody.hide(100); - systemHeadExpand.hide(100, function(){ - if(oldUserCount !== userCounter){ - // revalidate element size and repaint - map.revalidate( system.attr('id') ); + var item = $('
    ', { + class: config.systemBodyItemClass + }).append( + $('', { + text: userData.ship.name, + class: config.systemBodyRightClass + }) + ).append( + $('
  • ', { + class: ['fa', 'fa-circle', config.systemBodyItemStatusClass, statusClass].join(' ') + }) + ).append( + $('', { + text: ' ' + userName + }) + ); + + systemBody.append(item); } - }); + + + // ================================================================= + + // user count changed -> adapt tooltip + system.tooltip('destroy'); + + system.attr('title', userCounter); + + // show system head + systemHeadExpand.velocity({ + width: '10px' + },{ + duration: 50, + display: 'inline-block', + progress: function(){ + // revalidate element size and repaint + map.revalidate( systemId ); + }, + complete: function(){ + + // show system body + systemBody.velocity({ + height: config.systemBodyItemHeight + 'px' + },{ + duration: 50, + display: 'auto', + progress: function(){ + // revalidate element size and repaint + map.revalidate( systemId ); + } + }); + + // show active user tooltip + toggleSystemTooltip([system], 'show', {placement: 'top', trigger: 'manual'}); + } + }); + } }else{ - systemBody.show(100); - systemHeadExpand.show(100, function(){ - if(oldUserCount !== userCounter){ - // revalidate element size and repaint - map.revalidate( system.attr('id') ); - } - }); + // no user data found for this system + system.data('userCache', false); - system.attr('title', userCounter); + if( + oldCacheKey && + oldCacheKey.length > 0 + ){ + // no user -> clear SystemBody + systemHeadExpand.velocity('reverse',{ + display: 'none', + complete: function(){ + systemBody.velocity('reverse',{ + display: 'none', + progress: function(){ + // revalidate element size and repaint + map.revalidate( systemId ); + systemBody.empty(); + } + }); + } + }); + } - // show active user tooltip - toggleSystemTooltip([system], 'show', {placement: 'top', trigger: 'manual'}); } -*/ + + }; @@ -264,8 +311,9 @@ define([ if(options){ $(systems[i]).tooltip(options); } - $(systems[i]).tooltip(show); } + + $(systems).tooltip(show); }; /** @@ -287,6 +335,7 @@ define([ // add new class system.data('status', statusLabel); system.addClass( statusClass ); + }; /** @@ -406,156 +455,163 @@ define([ var mapContainer = mapConfig.map.getContainer(); - if(mapContainer === undefined){ - // add new map - // create map wrapper - var mapWrapper = $('
    ', { - class: config.mapWrapperClass - }); + // prevent jsPlumb from re-painting during main-map update -> performance boost :) + mapConfig.map.doWhileSuspended(function() { - // create new map container - mapContainer = $('
    ', { - id: config.mapIdPrefix + mapConfig.config.id, - class: [config.mapClass].join(' ') - }); + if(mapContainer === undefined){ + // add new map + + // create map wrapper + var mapWrapper = $('
    ', { + class: config.mapWrapperClass + }); + + // create new map container + mapContainer = $('
    ', { + id: config.mapIdPrefix + mapConfig.config.id, + class: [config.mapClass].join(' ') + }); + + // add additional information + mapContainer.data('id', mapConfig.config.id); + + mapWrapper.append(mapContainer); + + // append mapWrapper to parent element (at the top) + $(parentElement).prepend(mapWrapper); + + + // set main Container for current map -> the container exists now in DOM !! very important + mapConfig.map.setContainer($('#' + config.mapIdPrefix + mapConfig.config.id)); + + // set map observer + setMapObserver(mapConfig.map); + } // add additional information - mapContainer.data('id', mapConfig.config.id); mapContainer.data('name', mapConfig.config.name); + mapContainer.data('scope', mapConfig.config.scope); + mapContainer.data('icon', mapConfig.config.icon); mapContainer.data('type', mapConfig.config.type); - mapWrapper.append(mapContainer); + mapContainer = $(mapContainer); - // append mapWrapper to parent element (at the top) - $(parentElement).prepend(mapWrapper); + // get map data + var mapData = mapContainer.getMapData(); + if(mapData !== false){ + // map data available -> map not locked by update counter :) + var currentSystemData = mapData.data.systems; + var currentConnectionData = mapData.data.connections; - // set main Container for current map -> the container exists now in DOM !! very important - mapConfig.map.setContainer($('#' + config.mapIdPrefix + mapConfig.config.id)); + // update systems =========================================================== - // set map observer - setMapObserver(mapConfig.map); - } + for(var i = 0; i < mapConfig.data.systems.length; i++){ + var systemData = mapConfig.data.systems[i]; - mapContainer = $(mapContainer); + // add system + var addNewSystem = true; - // get map data - var mapData = mapContainer.getMapData(); + for(var k = 0; k < currentSystemData.length; k++){ + if(currentSystemData[k].id === systemData.id){ - if(mapData !== false){ - // map data available -> map not locked by update counter :) - var currentSystemData = mapData.data.systems; - var currentConnectionData = mapData.data.connections; + if( currentSystemData[k].updated < systemData.updated ){ + // system changed -> update + mapContainer.getSystem(mapConfig.map, systemData); + } - // update systems =========================================================== - - for(var i = 0; i < mapConfig.data.systems.length; i++){ - var systemData = mapConfig.data.systems[i]; - - // add system - var addNewSystem = true; - - for(var k = 0; k < currentSystemData.length; k++){ - if(currentSystemData[k].id === systemData.id){ - - if( currentSystemData[k].updated < systemData.updated ){ - // system changed -> update - mapContainer.getSystem(mapConfig.map, systemData); + addNewSystem = false; + break; } + } - addNewSystem = false; - break; + if( addNewSystem === true){ + drawSystem(mapConfig.map, systemData); } } - if( addNewSystem === true){ - console.log('omg') - drawSystem(mapConfig.map, systemData); - } - } + // check for systems that are gone -> delete system + for(var a = 0; a < currentSystemData.length; a++){ - // check for systems that are gone -> delete system - for(var a = 0; a < currentSystemData.length; a++){ + var deleteThisSystem = true; - var deleteThisSystem = true; + for(var b = 0; b < mapConfig.data.systems.length; b++){ + var deleteSystemData = mapConfig.data.systems[b]; - for(var b = 0; b < mapConfig.data.systems.length; b++){ - var deleteSystemData = mapConfig.data.systems[b]; - - if(deleteSystemData.id === currentSystemData[a].id){ - deleteThisSystem = false; - break; - } - } - - if(deleteThisSystem === true){ - // system not found -> delete system - deleteSystem(mapConfig.map, $('#' + config.systemIdPrefix + currentSystemData[a].id)); - } - } - - // update connections ========================================================= - - // set up default connections - for(var j = 0; j < mapConfig.data.connections.length; j++){ - var connectionData = mapConfig.data.connections[j]; - - // add connection - var addNewConnection= true; - - for(var c = 0; c < currentConnectionData.length; c++){ - if(currentConnectionData[c].id === connectionData.id){ - // connection already exists -> check for updates - - if( - currentConnectionData[c].updated < connectionData.updated && // has changed - ativeConnections[mapData.config.id][connectionData.id] !== undefined - ){ - // connection changed -> update - var tempConnection = ativeConnections[mapData.config.id][connectionData.id]; - updateConnection(tempConnection, connectionData, currentConnectionData[c]); + if(deleteSystemData.id === currentSystemData[a].id){ + deleteThisSystem = false; + break; } + } - addNewConnection = false; - break; + if(deleteThisSystem === true){ + // system not found -> delete system + deleteSystem(mapConfig.map, $('#' + config.systemIdPrefix + currentSystemData[a].id)); } } - if(addNewConnection === true){ - drawConnection(mapConfig.map, connectionData); - } - } + // update connections ========================================================= - // check for connections that are gone -> delete connection - for(var d = 0; d < currentConnectionData.length; d++){ + // set up default connections + for(var j = 0; j < mapConfig.data.connections.length; j++){ + var connectionData = mapConfig.data.connections[j]; - var deleteThisConnection = true; + // add connection + var addNewConnection= true; - for(var e = 0; e < mapConfig.data.connections.length;e++){ - var deleteConnectionData = mapConfig.data.connections[e]; + for(var c = 0; c < currentConnectionData.length; c++){ + if(currentConnectionData[c].id === connectionData.id){ + // connection already exists -> check for updates - if(deleteConnectionData.id === currentConnectionData[d].id){ - deleteThisConnection = false; - break; + if( + currentConnectionData[c].updated < connectionData.updated && // has changed + ativeConnections[mapData.config.id][connectionData.id] !== undefined + ){ + // connection changed -> update + var tempConnection = ativeConnections[mapData.config.id][connectionData.id]; + updateConnection(tempConnection, connectionData, currentConnectionData[c]); + } + + addNewConnection = false; + break; + } + } + + if(addNewConnection === true){ + drawConnection(mapConfig.map, connectionData); } } - deleteThisConnection = true; - if( - deleteThisConnection === true && - ativeConnections[mapData.config.id][currentConnectionData.id] !== undefined - ){ - // connection not found -> delete connection - var deleteConnection = ativeConnections[mapData.config.id][currentConnectionData.id]; - mapConfig.map.detach(deleteConnection); + + // check for connections that are gone -> delete connection + for(var d = 0; d < currentConnectionData.length; d++){ + + var deleteThisConnection = true; + + for(var e = 0; e < mapConfig.data.connections.length;e++){ + var deleteConnectionData = mapConfig.data.connections[e]; + + if(deleteConnectionData.id === currentConnectionData[d].id){ + deleteThisConnection = false; + break; + } + } + deleteThisConnection = true; + if( + deleteThisConnection === true && + ativeConnections[mapData.config.id][currentConnectionData.id] !== undefined + ){ + // connection not found -> delete connection + var deleteConnection = ativeConnections[mapData.config.id][currentConnectionData.id]; + mapConfig.map.detach(deleteConnection); + } + } + // repaint all connections because of some strange visual bugs -_- + mapConfig.map.repaintEverything(); } - - // repaint all connections because of some strange visual bugs -_- - mapConfig.map.repaintEverything(); - - } + }); }; @@ -622,7 +678,7 @@ define([ // get System Element by data var newSystem = mapContainer.getSystem(map, systemData); -console.log('test') + // add new system to map mapContainer.append(newSystem); @@ -1152,8 +1208,6 @@ console.log('test') var systemHeadExpand = $( system.find('.' + config.systemHeadExpandClass) ); var systemBody = $( system.find('.' + config.systemBodyClass) ); - var bodyItemHeight = 16; - // make system draggable map.draggable(system, { containment: 'parent', @@ -1246,54 +1300,51 @@ console.log('test') // get ship counter and calculate expand height var shipCounter = parseInt( system.attr('data-original-title') ); - var expandheight = shipCounter * bodyItemHeight; + var expandheight = shipCounter * config.systemBodyItemHeight; - systemBody.animate( + systemBody.velocity( { height: expandheight + 'px', - width: '100%', + width: 100, 'min-width': '150px' - }, - { - // queue:false, + },{ duration: 100, - step: function(){ + progress: function(){ // repaint connections of current system map.revalidate( hoverSystemId ); }, complete: function(){ map.revalidate( hoverSystemId ); - $(this).find('.' + config.systemBodyRightClass).show(); + $(this).find('.' + config.systemBodyRightClass).velocity({ + opacity: 1 + },{ + duration: 50, + display: 'auto' + }); } } ); + }, function(e){ // hover out var hoverSystem = $(this).parents('.' + config.systemClass); var hoverSystemId = hoverSystem.attr('id'); - systemBody.animate( - { - height: '16px', - width: '100%', - 'min-width': '60px' - }, - { - // queue:false, - duration: 100, - step: function(){ - // repaint connections of current system - map.revalidate( hoverSystemId ); - $(this).find('.' + config.systemBodyRightClass).hide(); - }, - start: function(){ - $(this).find('.' + config.systemBodyRightClass).hide(); - }, - complete: function(){ - map.revalidate( hoverSystemId ); - } + systemBody.find('.' + config.systemBodyRightClass).velocity( { + opacity: 0 + },{ + duration: 100, + display: 'none', + complete: function(){ + systemBody.velocity('reverse', { + complete: function(){ + // overwrite "complete" function from first "hover"-open + map.revalidate( hoverSystemId ); + } + }); } - ); + }); + }); // context menu ================================================================== @@ -1415,7 +1466,6 @@ console.log('test') // load system data ================================================================================= system.on('click', function(e){ - var system = $(this); // left mouse button @@ -1426,29 +1476,31 @@ console.log('test') // select system system.toggleSelectSystem(map); }else{ - - // activate system - markSystemActive(map, system); - - // get parent Tab Content and fire update event - var tabContentElement = getTabContentElementByMapElement( system ); - - var data = { - system: system - }; - - $(tabContentElement).trigger('pf:updateSystemData', [data]); + system.showSystemInfo(map); } } - } }); + }; + $.fn.showSystemInfo = function(map){ + var system = $(this); + // activate system + markSystemActive(map, system); + + // get parent Tab Content and fire update event + var tabContentElement = getTabContentElementByMapElement( system ); + + var data = { + system: system + }; + + $(tabContentElement).trigger('pf:updateSystemData', [data]); }; /** - * toggle select status of a system + * toggle selectable status of a system */ $.fn.toggleSelectSystem = function(map){ var system = $(this); @@ -1791,6 +1843,23 @@ console.log('test') }); + $(mapContainer).on('pf:menuSelectSystem', function(e, data){ + var tempMapContainer = $(this); + var systemId = config.systemIdPrefix + tempMapContainer.data('id') + '-' + data.systemId; + var system = $(this).find('#' + systemId); + + if(system.length === 1){ + // scroll to system + var tempMapWrapper = tempMapContainer.parents('.' + config.mapWrapperClass); + tempMapWrapper.scrollTo(system); + + // select system + system.showSystemInfo(map); + } + + }); + + }; /** @@ -2166,22 +2235,24 @@ console.log('test') * update the Data of the user that is currently viewing the map (if available) -> In - game info * @param userData * @param currentUserData + * @returns {boolean} */ $.fn.updateUserData = function(userData, currentUserData){ - // get all systems var systems = $(this).find('.' + config.systemClass); // get new map instance or load existing var map = getMapInstance(userData.config.id); - // trigger reset event for all Tabs - var tabContentElements = getTabContentElements(); - $(tabContentElements).trigger('pf:highlightTab', [{}]); - // container must exist! otherwise systems cant be updated if(map.getContainer() !== undefined){ + // data for header update + var headerUpdateData = { + mapId: userData.config.id, + userCount: 0 // active user in a map + }; + for(var i = 0; i < systems.length; i++){ // get user Data for System @@ -2206,11 +2277,24 @@ console.log('test') currentUserData.system.id === systemId ){ tempCurrentUserData = currentUserData; + + // set current location data for header update + headerUpdateData.currentSystemId = systemId; + headerUpdateData.currentSystemName = system.getSystemInfo(['alias']); + } + + if(tempUserData){ + headerUpdateData.userCount += tempUserData.user.length; } system.updateSystemUserData(map, tempUserData, tempCurrentUserData); } + + // trigger document event -> update header + $(document).trigger('pf:updateHeaderData', headerUpdateData); } + + return true; }; /** @@ -2239,6 +2323,8 @@ console.log('test') var mapConfig = {}; mapConfig.id = mapElement.data('id'); mapConfig.name = mapElement.data('name'); + mapConfig.scope = mapElement.data('scope'); + mapConfig.icon = mapElement.data('icon'); mapConfig.type = mapElement.data('type'); mapData.config = mapConfig; @@ -2267,6 +2353,7 @@ console.log('test') systemData.rally = tempSystem.data('rally'); systemData.currentUser = tempSystem.data('currentUser'); systemData.updated = tempSystem.data('updated'); + systemData.userCount = (tempSystem.attr('data-original-title') ? parseInt( tempSystem.attr('data-original-title') ) : 0); // position ------------------------------- var positionData = {}; @@ -2356,16 +2443,23 @@ console.log('test') setConnectionObserver(newJsPlumbInstance, info.connection); }); + newJsPlumbInstance.bind('connectionDetached', function(info, e) { + }); + // event after DragStop a connection or new connection newJsPlumbInstance.bind('beforeDrop', function(info) { var connection = info.connection; var sourceSystem = $('#' + info.sourceId); var returnValue = true; + var connectionId = connection.getParameter('connectionId'); + sourceSystem.getMapOverlay().startMapUpdateCounter(); - // set "default" connection status - setConnectionWHStatus(connection, 'wh_fresh'); + // set "default" connection status only for NEW connections + if(!connection.suspendedElement){ + setConnectionWHStatus(connection, 'wh_fresh'); + } // prevent multiple connections between same systems var connections = checkForConnection(newJsPlumbInstance, info.sourceId, info.targetId ); @@ -2381,12 +2475,24 @@ console.log('test') // notification if(returnValue === true){ - Util.showNotify({title: 'New Connection established', text: 'fgdgdf', type: 'success'}); + + var text = 'New connection established'; + if(connectionId > 0){ + text = 'connection switched'; + } + + Util.showNotify({title: text, type: 'success'}); } return returnValue; }); + // event before Detach connection + newJsPlumbInstance.bind('beforeDetach', function(info) { + + return true; + }); + activeInstances[mapId] = newJsPlumbInstance; @@ -2513,8 +2619,7 @@ console.log('test') */ $.fn.scrollTo = function(position){ return this.each(function(){ - // todo re-comment not used jet - //$(this).mCustomScrollbar('scrollTo', position); + $(this).mCustomScrollbar('scrollTo', position); }); }; diff --git a/js/app/module_map.js b/js/app/module_map.js index 8f525c92..c8379871 100644 --- a/js/app/module_map.js +++ b/js/app/module_map.js @@ -68,15 +68,6 @@ define([ // map scopes mapScopes: [ {scope: 'wormhole', label: 'W-Space'} - ], - - mapIcons: [ - {class: 'fa-desktop', label: 'desktop'}, - {class: 'fa-bookmark', label: 'bookmark'}, - {class: 'fa-cube', label: 'cube'}, - {class: 'fa-warning', label: 'warning'}, - {class: 'fa-plane', label: 'plane'}, - {class: 'fa-rocket', label: 'rocket'} ] }; @@ -86,56 +77,7 @@ define([ systemKillsGraphData: {} // data for system kills info graph }; - /** - * shows the add new map dialog - */ - var showNewMapDialog = function(){ - // confirm dialog - var moduleConfig = { - name: 'modules/map_dialog', - position: $('#' + config.dynamicElementWrapperId), - link: 'after', - functions: { - after: function(){ - $( "#" + config.newMapDialogId).dialog({ - modal: true, - resizable: false, - buttons: { - 'Cancel': function(){ - $(this).dialog('close'); - }, - 'Add map': function(){ - - // get form Values - var form = $('#' + config.newMapDialogId).find('form'); - - var newMapData = {}; - - $.each(form.serializeArray(), function(i, field) { - newMapData[field.name] = field.value; - }); - - saveMapData(newMapData); - - $(this).dialog('close'); - } - } - }); - } - } - }; - - var moduleData = { - id: config.newMapDialogId, - title: 'Add new map', - scope: config.mapScopes, - type: Util.getMapTypes(), - icon: config.mapIcons - }; - - Render.showModule(moduleConfig, moduleData); - }; var saveMapData = function(mapData){ @@ -160,8 +102,13 @@ define([ * @returns {*} */ $.fn.getActiveMap = function(){ + var map = $(this).find('.active.' + config.mapTabContentClass + ' .' + config.mapClass); + if(map.length === 0){ + map = false; + } + return map; }; @@ -193,11 +140,6 @@ define([ drawSystemInfoElement($( e.target ), systemInfoData); }); - // highlight a mapTab - $(this).on('pf:highlightTab', function(e, data){ - // TODO - }); - }); }; @@ -1745,6 +1687,7 @@ define([ /** * updates complete map module (all maps) * @param userData + * @returns {boolean} */ $.fn.updateMapModuleData = function(userData){ @@ -1759,25 +1702,29 @@ define([ } // get map Data - $.each(mapElements, function(i, mapElement){ - - var mapId = parseInt( $(mapElement).data('id') ); + for(var i = 0; i < mapElements.length; i++){ + var mapElement = $(mapElements[i]); + var mapId = mapElement.data('id'); var mapUserData = null; // get user data for each active map - $.each(userData.mapUserData, function(j, tempMapData){ + for(var j = 0; j < userData.mapUserData.length; j++){ + var tempMapData = userData.mapUserData[j]; if(tempMapData.config.id === mapId){ // map userData found mapUserData = tempMapData; + break; } - }); + } // update map if(mapUserData){ - $(mapElement).updateUserData(mapUserData, currentUserData); + mapElement.updateUserData(mapUserData, currentUserData); } - }); + } + + return true; }; /** @@ -1950,6 +1897,7 @@ define([ /** * load/update map module into element (all maps) * @param mapData + * @returns {boolean} */ $.fn.updateMapModule = function(mapData){ @@ -2071,7 +2019,7 @@ define([ // add "add" button var tabAddOptions = { id: 0, - tabClasses: [config.mapTabClass, Util.getInfoForMap( 'default', 'classTab') ], + tabClasses: [config.mapTabClass, Util.getInfoForMap( 'standard', 'classTab') ], contentClasses: [config.mapTabContentClass], icon: 'fa-plus', name: 'add', @@ -2113,7 +2061,7 @@ define([ if(mapId === 0){ // add new Tab selected - showNewMapDialog(); + $(document).trigger('pf:menuEditMap', {newMap: true}); e.preventDefault(); } }); @@ -2138,19 +2086,23 @@ define([ } }); - allTabElements.on('hide.bs.tab', function (e) { + allTabElements.on('hide.bs.tab', function (e, a) { - var mapId = $(e.target).data('map-id'); + var newMapId = $(e.relatedTarget).data('map-id'); + var oldMapId = $(e.target).data('map-id'); - var currentTabContentElement = $('#' + config.mapTabIdPrefix + mapId); - - // disable scrollbar for map that will be hidden. "freeze" current state - var scrollableElement = currentTabContentElement.find('.' + config.mapWrapperClass); - $(scrollableElement).mCustomScrollbar( 'disable' ); + // disable map if new map is selected -> not "add button" + if(newMapId > 0){ + var currentTabContentElement = $('#' + config.mapTabIdPrefix + oldMapId); + // disable scrollbar for map that will be hidden. "freeze" current state + var scrollableElement = currentTabContentElement.find('.' + config.mapWrapperClass); + $(scrollableElement).mCustomScrollbar( 'disable' ); + } }); } + return true; }; /** diff --git a/js/app/page.js b/js/app/page.js index 2b27897c..25683367 100644 --- a/js/app/page.js +++ b/js/app/page.js @@ -7,10 +7,10 @@ define([ 'app/util', 'app/render', 'bootbox', + 'app/ccp', 'slidebars', - 'fullScreen', 'app/module_map' -], function($, Init, Util, Render, bootbox) { +], function($, Init, Util, Render, bootbox, CCP) { 'use strict'; @@ -33,6 +33,9 @@ define([ headClass: 'pf-head', // class for page head headMenuClass: 'pf-head-menu', // class for page head menu button (left) headMapClass: 'pf-head-map', // class for page head map button (right) + headActiveUserClass: 'pf-head-active-user', // class for "active user" link + headCurrentLocationClass: 'pf-head-current-location', // class for "show current location" link + headProgramStatusClass: 'pf-head-program-status', // class for "program status" notification // footer pageFooterId: 'pf-footer', // id for page footer @@ -206,12 +209,19 @@ define([ ) ); - // init menu - if($.fullscreen.isNativelySupported() === true){ - $('#' + config.menuButtonFullScreenId).removeClass('hide'); + // init full screen -> IGB does not support full screen + if(CCP.isInGameBrowser() === false){ + requirejs(['fullScreen'], function() { + if($.fullscreen.isNativelySupported() === true){ + $('#' + config.menuButtonFullScreenId).removeClass('hide'); + } + }); } + + + }; /** @@ -236,13 +246,24 @@ define([ $('', { class: 'list-group-item', href: '#' - }).html('  Grid snap').prepend( + }).html('   Grid snap').prepend( $('',{ class: 'glyphicon glyphicon-th' }) ).on('click', function(){ $('#' + config.mapModuleId).getActiveMap().triggerMenuEvent('Grid', {button: this}); }) + ).append( + $('', { + class: 'list-group-item', + href: '#' + }).html('  Edit').prepend( + $('',{ + class: 'fa fa-edit fa-fw' + }) + ).on('click', function(){ + $(document).triggerMenuEvent('EditMap', {newMap: false}); + }) ) ); }; @@ -274,6 +295,8 @@ define([ var slideMenu = new $.slidebars({ scrollLock: false }); + + // main menus $('.' + config.headMenuClass).on('click', function() { slideMenu.slidebars.toggle('left'); }); @@ -282,11 +305,28 @@ define([ slideMenu.slidebars.toggle('right'); }); + // active pilots + $('.' + config.headActiveUserClass).find('a').on('click', function(){ + $(document).triggerMenuEvent('ShowMapInfo'); + }); + + // current location + $('.' + config.headCurrentLocationClass).find('a').on('click', function(){ + $('#' + config.mapModuleId).getActiveMap().triggerMenuEvent('SelectSystem', {systemId: $(this).data('systemId') }); + }); + $(document).on('pf:closeMenu', function(e){ // close all menus slideMenu.slidebars.close(); }); + // init all tooltips + var tooltipElements = $('#' + config.pageHeaderId).find('[title]'); + tooltipElements.tooltip({placement: 'bottom'}); + + // trigger load main map module -> header is required for drag&drop position + $('#' + config.mapModuleId).trigger('pf:initModule'); + } } }; @@ -373,27 +413,182 @@ define([ return false; }); + $(document).on('pf:menuEditMap', function(e, data){ + // show map edit dialog or edit map + var mapData = false; + + if(data.newMap === false){ + var activeMap = $('#' + config.mapModuleId).getActiveMap(); + + if(activeMap){ + mapData = activeMap.getMapData(true); + } + } + + showNewMapDialog(mapData); + return false; + }); + $(document).on('pf:menuFullScreen', function(e, data){ - var fullScreenElement = $('body'); + if(CCP.isInGameBrowser() === false){ + var fullScreenElement = $('body'); - // close all menus - $(this).trigger('pf:closeMenu', [{}]); + // close all menus + $(this).trigger('pf:closeMenu', [{}]); + + // wait until menu is closed before switch mode (looks better) + setTimeout( + function() { + // fullscreen is not supported by IGB + requirejs(['jquery', 'fullScreen'], function($) { + + if($.fullscreen.isFullScreen()){ + $.fullscreen.exit(); + }else{ + fullScreenElement.fullscreen({overflow: 'overflow-y', toggleClass: config.fullScreenClass}); + } + }); + }, 400); + } - // wait until menu is closed before switch mode (looks better) - setTimeout( - function() { - if($.fullscreen.isFullScreen()){ - $.fullscreen.exit(); - }else{ - fullScreenElement.fullscreen({overflow: 'overflow-y', toggleClass: config.fullScreenClass}); - } - }, 400); return false; }); + // update header links with current map data + $(document).on('pf:updateHeaderData', function(e, data){ + var activeMap = $('#' + config.mapModuleId).getActiveMap(); + + var userCount = 0; + var currentLocationData = {}; + + // show active user just for the current active map + if( + activeMap && + activeMap.data('id') === data.mapId + ){ + userCount = data.userCount; + currentLocationData = data; + } + + updateHeaderActiveUserCount(userCount); + updateHeaderCurrentLocation(currentLocationData); + + }); + }; + + /** + * update the "active user" badge in header + * @param userCount + */ + var updateHeaderActiveUserCount = function(userCount){ + var activeUserElement = $('.' + config.headActiveUserClass); + var badge = activeUserElement.find('.badge'); + + if(badge.data('userCount') !== userCount){ + badge.data('userCount', userCount); + + if(userCount > 0){ + badge.text(userCount); + activeUserElement.velocity('fadeIn', {duration: Init.animationSpeed.headerLink}); + }else{ + activeUserElement.velocity('reverse'); + } + } + }; + + /** + * update the "current location" element in head + * @param locationData + */ + var updateHeaderCurrentLocation = function(locationData){ + var currentLocationElement = $('.' + config.headCurrentLocationClass); + var linkElement = currentLocationElement.find('a'); + var textElement = linkElement.find('span'); + + if( + linkElement.data('systemName') !== locationData.currentSystemName + ){ + var tempSystemName = locationData.currentSystemName; + var tempSystemId = locationData.currentSystemId; + if( + tempSystemName === undefined || + tempSystemId === undefined + ){ + tempSystemName = false; + tempSystemId = false; + } + + linkElement.data('systemName', tempSystemName); + linkElement.data('systemId', tempSystemId); + + if(locationData.currentSystemName){ + textElement.text(locationData.currentSystemName); + currentLocationElement.velocity('fadeIn', {duration: Init.animationSpeed.headerLink}); + }else{ + currentLocationElement.velocity('reverse'); + } + } + }; + + /** + * shows the add new map dialog + */ + var showNewMapDialog = function(mapData){ + + var formData = {}; + + requirejs(['text!templates/modules/map_dialog.html', 'lib/mustache'], function(template, Mustache) { + + var data = { + id: config.newMapDialogId, + scope: config.mapScopes, + type: Util.getMapTypes(), + icon: Util.getMapIcons(), + formData: formData + }; + + var content = Mustache.render(template, data); + + var dialogTitle = 'New map'; + + if(mapData !== false){ + dialogTitle = 'Edit map'; + content = $(content); + content.find('select[name="icon"]').val( mapData.config.icon ); + content.find('input[name="name"]').val( mapData.config.name ); + content.find('select[name="scope"]').val( mapData.config.scope ); + content.find('select[name="type"]').val( mapData.config.type ); + } + + + + var mapInfoDialog = bootbox.dialog({ + title: dialogTitle, + message: content, + buttons: { + close: { + label: 'cancel', + className: 'btn-default' + }, + success: { + label: 'add map', + className: 'btn-primary', + callback: function() { + + // get form Values + var form = $('#' + config.newMapDialogId).find('form'); + var newMapData = form.getFormValues(); + + saveMapData(newMapData); + } + } + } + }); + + }); }; /** @@ -475,6 +670,13 @@ define([ tempData.push( '' ); } + // active pilots + if(tempSystemData.userCount > 0){ + tempData.push(tempSystemData.userCount); + }else{ + tempData.push( '' ); + } + // type tempData.push(tempSystemData.type); @@ -548,6 +750,10 @@ define([ title: '', width: '15px', searchable: false + },{ + title: '', + width: '18px', + searchable: false },{ title: 'type', width: '50px' @@ -935,5 +1141,62 @@ define([ }; + /** + * trigger "program status" in head + * @param status + */ + $.fn.setProgramStatus = function(status){ + var statusElement = $('.' + config.headProgramStatusClass); + var icon = statusElement.find('i'); + var textElement = statusElement.find('span'); + + var iconClass = false; + var textClass = false; + var text = ''; + + switch(status){ + case 'online': + if( ! statusElement.hasClass('txt-color-green')){ + iconClass = 'fa-wifi'; + textClass = 'txt-color-green'; + text = 'online'; + } + break; + case 'problem': + if( ! statusElement.hasClass('txt-color-orange')){ + iconClass = 'fa-warning'; + textClass = 'txt-color-orange'; + text = 'problem'; + } + break; + case 'offline': + if( ! statusElement.hasClass('txt-color-red')){ + iconClass = 'fa-bolt'; + textClass = 'txt-color-red'; + text = 'offline'; + } + break; + } + + // change status, on status changed + if(iconClass !== false){ + + statusElement.velocity('fadeOut', { + duration: Init.animationSpeed.headerLink, + complete: function(){ + statusElement.removeClass('txt-color-green txt-color-orange txt-color-red'); + icon.removeClass('fa-wifi fa-warning fa-bolt'); + statusElement.addClass(textClass); + icon.addClass(iconClass); + textElement.text(text); + } + }).velocity('fadeIn', { + duration: Init.animationSpeed.headerLink + }); + + } + + }; + }); \ No newline at end of file diff --git a/js/app/util.js b/js/app/util.js index de6e0b22..562e51f4 100644 --- a/js/app/util.js +++ b/js/app/util.js @@ -14,10 +14,41 @@ define([ ajaxOverlayWrapperClass: 'pf-loading-overlay-wrapper', ajaxOverlayVisibleClass: 'pf-loading-overlay-visible', - formEditableFieldClass: 'pf-editable' // Class for all xEditable fields + formEditableFieldClass: 'pf-editable', // Class for all xEditable fields + + // available map ions + mapIcons: [ + { + class: 'fa-desktop', + label: 'desktop', + unicode: '' + },{ + class: 'fa-bookmark', + label: 'bookmark', + unicode: '' + },{ + class: 'fa-cube', + label: 'cube', + unicode: '' + },{ + class: 'fa-plane', + label: 'plane', + unicode: '' + },{ + class: 'fa-rocket', + label: 'rocket', + unicode: '' + },{ + class: 'fa-life-ring', + label: 'life ring', + unicode: '' + } + ] }; + + /** * displays a loading indicator on an element */ @@ -164,6 +195,15 @@ define([ }; + /** + * get all available map icons + * @returns {*} + */ + var getMapIcons = function(){ + + return config.mapIcons; + }; + /** * get all available map Types * @returns {Array} @@ -173,12 +213,16 @@ define([ var mapTypes = []; $.each(Init.classes.mapTypes, function(prop, data){ - var tempData = { - type: prop, - label: data.label - }; - mapTypes.push(tempData); + // skip "default" type -> just for 'add' icon + if(data.label.length > 0){ + var tempData = { + type: prop, + label: data.label + }; + + mapTypes.push(tempData); + } }); return mapTypes; @@ -499,6 +543,7 @@ define([ return { showNotify: showNotify, + getMapIcons: getMapIcons, getMapTypes: getMapTypes, getInfoForMap: getInfoForMap, getMapScopes: getMapScopes, diff --git a/js/lib/jquery.ba-throttle-debounce.min.js b/js/lib/jquery.ba-throttle-debounce.min.js new file mode 100644 index 00000000..07205508 --- /dev/null +++ b/js/lib/jquery.ba-throttle-debounce.min.js @@ -0,0 +1,9 @@ +/* + * jQuery throttle / debounce - v1.1 - 3/7/2010 + * http://benalman.com/projects/jquery-throttle-debounce-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this); \ No newline at end of file diff --git a/js/lib/jquery.dragToSelect.js b/js/lib/jquery.dragToSelect.js index 3c6c8cbb..84bb92b7 100644 --- a/js/lib/jquery.dragToSelect.js +++ b/js/lib/jquery.dragToSelect.js @@ -332,8 +332,7 @@ jQuery.fn.dragToSelect = function (conf) { parent.disableTextSelect(); } - parent - .mousedown(function (e) { + parent.mousedown(function (e) { if( e.which === 1 && // left mouse down @@ -352,24 +351,27 @@ jQuery.fn.dragToSelect = function (conf) { } - }) - .mousemove(function (e) { + }); - refreshSelectBox(e); + var dragSelectMousemove = function (e) { - if (config.selectables && config.selectOnMove) { + refreshSelectBox(e); - selectElementsInRange(); - } + if (config.selectables && config.selectOnMove) { - if (config.autoScroll) { - scrollPerhaps(e); - } + selectElementsInRange(); + } - e.preventDefault(); - }) - .mouseup(function (e) { + if (config.autoScroll) { + scrollPerhaps(e); + } + e.preventDefault(); + }; + parent.mousemove($.throttle(30, dragSelectMousemove) ); + + + parent.mouseup(function (e) { if (config.selectables) { selectElementsInRange(); } diff --git a/js/lib/jsPlumb-1.6.4-min.js b/js/lib/jsPlumb-1.6.4-min.js deleted file mode 100644 index ea6e8818..00000000 --- a/js/lib/jsPlumb-1.6.4-min.js +++ /dev/null @@ -1,6 +0,0 @@ -!function(){"undefined"==typeof Math.sgn&&(Math.sgn=function(a){return 0==a?0:a>0?1:-1});var a={subtract:function(a,b){return{x:a.x-b.x,y:a.y-b.y}},dotProduct:function(a,b){return a.x*b.x+a.y*b.y},square:function(a){return Math.sqrt(a.x*a.x+a.y*a.y)},scale:function(a,b){return{x:a.x*b,y:a.y*b}}},b=64,c=Math.pow(2,-b-1),d=function(b,c){for(var d=[],e=f(b,c),h=c.length-1,i=2*h-1,j=g(e,i,d,0),k=a.subtract(b,c[0]),m=a.square(k),n=0,o=0;j>o;o++){k=a.subtract(b,l(c,h,d[o],null,null));var p=a.square(k);m>p&&(m=p,n=d[o])}return k=a.subtract(b,c[h]),p=a.square(k),m>p&&(m=p,n=1),{location:n,distance:m}},e=function(a,b){var c=d(a,b);return{point:l(b,b.length-1,c.location,null,null),location:c.location}},f=function(b,c){for(var d=c.length-1,e=2*d-1,f=[],g=[],h=[],i=[],k=[[1,.6,.3,.1],[.4,.6,.6,.4],[.1,.3,.6,1]],l=0;d>=l;l++)f[l]=a.subtract(c[l],b);for(var l=0;d-1>=l;l++)g[l]=a.subtract(c[l+1],c[l]),g[l]=a.scale(g[l],3);for(var m=0;d-1>=m;m++)for(var n=0;d>=n;n++)h[m]||(h[m]=[]),h[m][n]=a.dotProduct(g[m],f[n]);for(l=0;e>=l;l++)i[l]||(i[l]=[]),i[l].y=0,i[l].x=parseFloat(l)/e;for(var o=d,p=d-1,q=0;o+p>=q;q++){var r=Math.max(0,q-p),s=Math.min(q,o);for(l=r;s>=l;l++)j=q-l,i[l+j].y+=h[j][l]*k[j][l]}return i},g=function(a,c,d,e){var f,j,m=[],n=[],o=[],p=[];switch(h(a,c)){case 0:return 0;case 1:if(e>=b)return d[0]=(a[0].x+a[c].x)/2,1;if(i(a,c))return d[0]=k(a,c),1}l(a,c,.5,m,n),f=g(m,c,o,e+1),j=g(n,c,p,e+1);for(var q=0;f>q;q++)d[q]=o[q];for(var q=0;j>q;q++)d[q+f]=p[q];return f+j},h=function(a,b){var c,d,e=0;c=d=Math.sgn(a[0].y);for(var f=1;b>=f;f++)c=Math.sgn(a[f].y),c!=d&&e++,d=c;return e},i=function(a,b){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;i=a[0].y-a[b].y,j=a[b].x-a[0].x,k=a[0].x*a[b].y-a[b].x*a[0].y;for(var t=max_distance_below=0,u=1;b>u;u++){var v=i*a[u].x+j*a[u].y+k;v>t?t=v:max_distance_below>v&&(max_distance_below=v)}return n=0,o=1,p=0,q=i,r=j,s=k-t,l=n*r-q*o,m=1/l,e=(o*s-r*p)*m,q=i,r=j,s=k-max_distance_below,l=n*r-q*o,m=1/l,f=(o*s-r*p)*m,g=Math.min(e,f),h=Math.max(e,f),d=h-g,c>d?1:0},k=function(a,b){var c=1,d=0,e=a[b].x-a[0].x,f=a[b].y-a[0].y,g=a[0].x-0,h=a[0].y-0,i=e*d-f*c,j=1/i,k=(e*h-f*g)*j;return 0+c*k},l=function(a,b,c,d,e){for(var f=[[]],g=0;b>=g;g++)f[0][g]=a[g];for(var h=1;b>=h;h++)for(var g=0;b-h>=g;g++)f[h]||(f[h]=[]),f[h][g]||(f[h][g]={}),f[h][g].x=(1-c)*f[h-1][g].x+c*f[h-1][g+1].x,f[h][g].y=(1-c)*f[h-1][g].y+c*f[h-1][g+1].y;if(null!=d)for(g=0;b>=g;g++)d[g]=f[g][0];if(null!=e)for(g=0;b>=g;g++)e[g]=f[b-g][g];return f[b][0]},m={},n=function(a){var b=m[a];if(!b){b=[];var c=function(){return function(b){return Math.pow(b,a)}},d=function(){return function(b){return Math.pow(1-b,a)}},e=function(a){return function(){return a}},f=function(){return function(a){return a}},g=function(){return function(a){return 1-a}},h=function(a){return function(b){for(var c=1,d=0;di;i++){for(var j=[new e(a)],k=0;a-i>k;k++)j.push(new f);for(var k=0;i>k;k++)j.push(new g);b.push(new h(j))}b.push(new d),m[a]=b}return b},o=function(a,b){for(var c=n(a.length-1),d=0,e=0,f=0;f0?1:-1,h=null;ed;)d+=.005*e,f=o(a,d),c+=p(f,b),b=f;return c},t=function(a,b,c){return r(a,b,c).point},u=function(a,b,c){return r(a,b,c).location},v=function(a,b){var c=o(a,b),d=o(a.slice(0,a.length-1),b),e=d.y-c.y,f=d.x-c.x;return 0==e?1/0:Math.atan(e/f)},w=function(a,b,c){var d=r(a,b,c);return d.location>1&&(d.location=1),d.location<0&&(d.location=0),v(a,d.location)},x=function(a,b,c,d){d=null==d?0:d;var e=r(a,b,d),f=v(a,e.location),g=Math.atan(-1/f),h=c/2*Math.sin(g),i=c/2*Math.cos(g);return[{x:e.point.x+i,y:e.point.y+h},{x:e.point.x-i,y:e.point.y-h}]};window.jsBezier={distanceFromCurve:d,gradientAtPoint:v,gradientAtPointAlongCurveFrom:w,nearestPointOnCurve:e,pointOnCurve:o,pointAlongCurveFrom:t,perpendicularToCurveAt:x,locationAlongCurveFrom:u,getLength:s}}(),function(){"use strict";var a=this.Biltong={},b=function(a){return"[object Array]"===Object.prototype.toString.call(a)},c=function(a,c,d){return a=b(a)?a:[a.x,a.y],c=b(c)?c:[c.x,c.y],d(a,c)},d=a.gradient=function(a,b){return c(a,b,function(a,b){return b[0]==a[0]?b[1]>a[1]?1/0:-1/0:b[1]==a[1]?b[0]>a[0]?0:-0:(b[1]-a[1])/(b[0]-a[0])})},e=(a.normal=function(a,b){return-1/d(a,b)},a.lineLength=function(a,b){return c(a,b,function(a,b){return Math.sqrt(Math.pow(b[1]-a[1],2)+Math.pow(b[0]-a[0],2))})},a.quadrant=function(a,b){return c(a,b,function(a,b){return b[0]>a[0]?b[1]>a[1]?2:1:b[0]==a[0]?b[1]>a[1]?2:1:b[1]>a[1]?3:4})}),f=(a.theta=function(a,b){return c(a,b,function(a,b){var c=d(a,b),f=Math.atan(c),g=e(a,b);return(4==g||3==g)&&(f+=Math.PI),0>f&&(f+=2*Math.PI),f})},a.intersects=function(a,b){var c=a.x,d=a.x+a.w,e=a.y,f=a.y+a.h,g=b.x,h=b.x+b.w,i=b.y,j=b.y+b.h;return g>=c&&d>=g&&i>=e&&f>=i||h>=c&&d>=h&&i>=e&&f>=i||g>=c&&d>=g&&j>=e&&f>=j||h>=c&&d>=g&&j>=e&&f>=j||c>=g&&h>=c&&e>=i&&j>=e||d>=g&&h>=d&&e>=i&&j>=e||c>=g&&h>=c&&f>=i&&j>=f||d>=g&&h>=c&&f>=i&&j>=f},a.encloses=function(a,b,c){var d=a.x,e=a.x+a.w,f=a.y,g=a.y+a.h,h=b.x,i=b.x+b.w,j=b.y,k=b.y+b.h,l=function(a,b,d,e){return c?b>=a&&d>=e:b>a&&d>e};return l(d,h,e,i)&&l(f,j,g,k)},[null,[1,-1],[1,1],[-1,1],[-1,-1]]),g=[null,[-1,-1],[-1,1],[1,1],[1,-1]];a.pointOnLine=function(a,b,c){var h=d(a,b),i=e(a,b),j=c>0?f[i]:g[i],k=Math.atan(h),l=Math.abs(c*Math.sin(k))*j[1],m=Math.abs(c*Math.cos(k))*j[0];return{x:a.x+m,y:a.y+l}},a.perpendicularLineTo=function(a,b,c){var e=d(a,b),f=Math.atan(-1/e),g=c/2*Math.sin(f),h=c/2*Math.cos(f);return[{x:b.x+h,y:b.y+g},{x:b.x-h,y:b.y-g}]}}.call(this),function(){var a=function(a){return"[object Array]"===Object.prototype.toString.call(a)},b=function(a){return"[object Number]"===Object.prototype.toString.call(a)},c=function(a){return"string"==typeof a},d=function(a){return"boolean"==typeof a},e=function(a){return null==a},f=function(a){return null==a?!1:"[object Object]"===Object.prototype.toString.call(a)},g=function(a){return"[object Date]"===Object.prototype.toString.call(a)},h=function(a){return"[object Function]"===Object.prototype.toString.call(a)},i=function(a){for(var b in a)if(a.hasOwnProperty(b))return!1;return!0},j=this,k=j.jsPlumbUtil={isArray:a,isString:c,isBoolean:d,isNull:e,isObject:f,isDate:g,isFunction:h,isEmpty:i,isNumber:b,clone:function(b){if(c(b))return""+b;if(d(b))return!!b;if(g(b))return new Date(b.getTime());if(h(b))return b;if(a(b)){for(var e=[],i=0;i=f.length,i=function(){return e[g[1]]||function(){return e[g[1]]=[],e[g[1]]}()};if(h)g?i()[g[3]]=c:e[a]=c;else if(g){var j=i();e=j[g[3]]||function(){return j[g[3]]={},j[g[3]]}()}else e=e[a]||function(){return e[a]={},e[a]}()}),a},functionChain:function(a,b,c){for(var d=0;d-1&&a.splice(c,1),-1!=c},remove:function(a,b){var c=k.indexOf(a,b);return c>-1&&a.splice(c,1),-1!=c},addWithFunction:function(a,b,c){-1==k.findWithFunction(a,c)&&a.push(b)},addToList:function(a,b,c,d){var e=a[b];return null==e&&(e=[],a[b]=e),e[d?"unshift":"push"](c),e},extend:function(b,c){var d;for(c=a(c)?c:[c],d=0;d2)for(d=2;dh&&j!==!1;){if(c[d])a[d][h].apply(this,[e,f]);else try{j=a[d][h].apply(this,[e,f])}catch(l){k.log("jsPlumb: fire failed for event "+d+" : "+l)}h++,(null==a||null==a[d])&&(i=!0)}}return this},this.unbind=function(b){return b?delete a[b]:a={},this},this.getListener=function(b){return a[b]},this.setSuspendEvents=function(a){b=a},this.isSuspendEvents=function(){return b},this.cleanupListeners=function(){for(var b in a)a[b]=null}},k.EventGenerator.prototype={cleanup:function(){this.cleanupListeners()}},Function.prototype.bind||(Function.prototype.bind=function(a){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var b=Array.prototype.slice.call(arguments,1),c=this,d=function(){},e=function(){return c.apply(this instanceof d&&a?this:a,b.concat(Array.prototype.slice.call(arguments)))};return d.prototype=this.prototype,e.prototype=new d,e})}.call(this),function(){"use strict";var a=this,b=a.jsPlumbUtil;b.ieVersion=/MSIE\s([\d.]+)/.test(navigator.userAgent)?new Number(RegExp.$1):-1,b.oldIE=b.ieVersion>-1&&b.ieVersion<9,b.matchesSelector=function(a,b,c){c=c||a.parentNode;for(var d=c.querySelectorAll(b),e=0;e';var b=a.firstChild;null!=b&&null!=b.style?(b.style.behavior="url(#default#VML)",c.vml=b?"object"==typeof b.adj:!0):c.vml=!1,a.parentNode.removeChild(a)}return c.vml},d=function(){var a=-1;if("Microsoft Internet Explorer"==navigator.appName){var b=navigator.userAgent,c=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=c.exec(b)&&(a=parseFloat(RegExp.$1))}return a}(),e=d>-1&&9>d,f=function(a,b){if(null==a)return[0,0];var c=k(a),d=j(c,0);return[d[b+"X"],d[b+"Y"]]},g=function(a){return null==a?[0,0]:e?[a.clientX+document.documentElement.scrollLeft,a.clientY+document.documentElement.scrollTop]:f(a,"page")},h=function(a){return f(a,"screen")},i=function(a){return f(a,"client")},j=function(a,b){return a.item?a.item(b):a[b]},k=function(a){return a.touches&&a.touches.length>0?a.touches:a.changedTouches&&a.changedTouches.length>0?a.changedTouches:a.targetTouches&&a.targetTouches.length>0?a.targetTouches:[a]},l=function(a){var b={},c=[],d={},e={},f={};this.register=function(g){var h=a.getId(g),i=jsPlumbAdapter.getOffset(g,a);b[h]||(b[h]=g,c.push(g),d[h]={});var j=function(b){if(b)for(var c=0;c0){var l=jsPlumbAdapter.getOffset(g,a);d[h][k]={id:k,offset:{left:l.left-i.left,top:l.top-i.top}},f[k]=h}j(b.childNodes[c])}};j(g)},this.updateOffsets=function(b){if(null!=b){var c=jsPlumb.getDOMElement(b),e=a.getId(c),g=d[e],h=jsPlumbAdapter.getOffset(c,a);if(g)for(var i in g){var j=jsPlumb.getElementObject(i),k=jsPlumbAdapter.getOffset(j,a);d[e][i]={id:i,offset:{left:k.left-h.left,top:k.top-h.top}},f[i]=e}}},this.endpointAdded=function(c){var g=document.body,h=a.getId(c),i=jsPlumbAdapter.getOffset(c,a),j=c.parentNode;for(e[h]=e[h]?e[h]+1:1;null!=j&&j!=g;){var k=a.getId(j,null,!0);if(k&&b[k]){var l=jsPlumbAdapter.getOffset(j,a);null==d[k][h]&&(d[k][h]={id:h,offset:{left:i.left-l.left,top:i.top-l.top}},f[h]=k);break}j=j.parentNode}},this.endpointDeleted=function(a){if(e[a.elementId]&&(e[a.elementId]--,e[a.elementId]<=0))for(var b in d)d[b]&&(delete d[b][a.elementId],delete f[a.elementId])},this.changeId=function(a,b){d[b]=d[a],d[a]={},f[b]=f[a],f[a]=null},this.getElementsForDraggable=function(a){return d[a]},this.elementRemoved=function(a){var b=f[a];b&&(delete d[b][a],delete f[a])},this.reset=function(){b={},c=[],d={},e={}},this.dragEnded=function(b){var c=a.getId(b),d=f[c];d&&this.updateOffsets(d)},this.setParent=function(b,c,e,g){var h=f[c];if(h){d[g]||(d[g]={}),d[g][c]=d[h][c],delete d[h][c];var i=jsPlumbAdapter.getOffset(e,a),j=jsPlumbAdapter.getOffset(b,a);d[g][c].offset={left:j.left-i.left,top:j.top-i.top},f[c]=g}},this.getDragAncestor=function(b){var c=jsPlumb.getDOMElement(b),d=a.getId(c),e=f[d];return e?jsPlumb.getDOMElement(e):null}};window.console||(window.console={time:function(){},timeEnd:function(){},group:function(){},groupEnd:function(){},log:function(){}});var m=function(a){return null==a?null:a.replace(/^\s\s*/,"").replace(/\s\s*$/,"")},n=function(a,b){b=m(b),"undefined"!=typeof a.className.baseVal?a.className.baseVal=b:a.className=b},o=function(a){return"undefined"==typeof a.className.baseVal?a.className:a.className.baseVal},p=function(a,b,c){for(var d=jsPlumbUtil.isArray(c)?c:c.split(/\s+/),e=o(a),f=e.split(/\s+/),g=0;gf;f++)d&&d==e[f]||e[f].setHover(b,!0,c)},h=function(a){return null==a?null:a.split(" ")},i=function(b,c,d){if(b.getDefaultType){for(var e=b.getTypeDescriptor(),f=a.merge({},b.getDefaultType()),g=0,h=b._jsPlumb.types.length;h>g;g++)f=a.merge(f,b._jsPlumb.instance.getType(b._jsPlumb.types[g],e),["cssClass"]);c&&(f=a.populate(f,c)),b.applyType(f,d),d||b.repaint()}},j=window.jsPlumbUIComponent=function(b){jsPlumbUtil.EventGenerator.apply(this,arguments);var c=this,d=arguments,g=c.idPrefix,h=g+(new Date).getTime();if(this._jsPlumb={instance:b._jsPlumb,parameters:b.parameters||{},paintStyle:null,hoverPaintStyle:null,paintStyleInUse:null,hover:!1,beforeDetach:b.beforeDetach,beforeDrop:b.beforeDrop,overlayPlacements:[],hoverClass:b.hoverClass||b._jsPlumb.Defaults.HoverClass,types:[]},this.getId=function(){return h},b.events)for(var i in b.events)c.bind(i,b.events[i]);this.clone=function(){var a={};return this.constructor.apply(a,d),a}.bind(this),this.isDetachAllowed=function(b){var c=!0;if(this._jsPlumb.beforeDetach)try{c=this._jsPlumb.beforeDetach(b)}catch(d){a.log("jsPlumb: beforeDetach callback failed",d)}return c},this.isDropAllowed=function(b,c,d,e,f,g,h){var i=this._jsPlumb.instance.checkCondition("beforeDrop",{sourceId:b,targetId:c,scope:d,connection:e,dropEndpoint:f,source:g,target:h});if(this._jsPlumb.beforeDrop)try{i=this._jsPlumb.beforeDrop({sourceId:b,targetId:c,scope:d,connection:e,dropEndpoint:f,source:g,target:h})}catch(j){a.log("jsPlumb: beforeDrop callback failed",j)}return i};var j=[],k=function(a,b,c){j.push([a,b,c]),a.bind(b,c)},l=[],m=function(a,b,c,d){var e=f[c]||c,g=function(a){d&&d(a)===!1||b.fire(e,b,a)};l.push([a,c,g,b]),b._jsPlumb.instance.on(a,c,g)},n=function(a,b,c,d){f[b]||b,d._jsPlumb.instance.off(a,b,c)};this.setListenerComponent=function(a){for(var b=0;bd;d++)m(a,b,e[d],c[e[d]])},this.detachListeners=function(){for(var a=0;a1){for(var b=0,c=e.length;c>b;b++)n(a,e[b]);for(b=1,c=arguments.length;c>b;b++)this.attachListeners(a,arguments[b])}}},k=function(a,b){var c=a._jsPlumb.types[b],d=a._jsPlumb.instance.getType(c,a.getTypeDescriptor());null!=d&&d.cssClass&&a.canvas&&a._jsPlumb.instance.removeClass(a.canvas,d.cssClass)};jsPlumbUtil.extend(j,jsPlumbUtil.EventGenerator,{getParameter:function(a){return this._jsPlumb.parameters[a]},setParameter:function(a,b){this._jsPlumb.parameters[a]=b},getParameters:function(){return this._jsPlumb.parameters},setParameters:function(a){this._jsPlumb.parameters=a},addClass:function(a){jsPlumbAdapter.addClass(this.canvas,a)},removeClass:function(a){jsPlumbAdapter.removeClass(this.canvas,a)},setType:function(a,b,c){this.clearTypes(),this._jsPlumb.types=h(a)||[],i(this,b,c)},getType:function(){return this._jsPlumb.types},reapplyTypes:function(a,b){i(this,a,b)},hasType:function(a){return-1!=jsPlumbUtil.indexOf(this._jsPlumb.types,a)},addType:function(a,b,c){var d=h(a),e=!1;if(null!=d){for(var f=0,g=d.length;g>f;f++)this.hasType(d[f])||(this._jsPlumb.types.push(d[f]),e=!0);e&&i(this,b,c)}},removeType:function(b,c){var d=h(b),e=!1,f=function(b){var c=a.indexOf(this._jsPlumb.types,b);return-1!=c?(k(this,c),this._jsPlumb.types.splice(c,1),!0):!1}.bind(this);if(null!=d){for(var g=0,j=d.length;j>g;g++)e=f(d[g])||e;e&&i(this,null,c)}},clearTypes:function(a){for(var b=this._jsPlumb.types.length,c=0;b>c;c++)k(this,0),this._jsPlumb.types.splice(0,1);i(this,{},a)},toggleType:function(a,b,c){var d=h(a);if(null!=d){for(var e=0,f=d.length;f>e;e++){var g=jsPlumbUtil.indexOf(this._jsPlumb.types,d[e]);-1!=g?(k(this,g),this._jsPlumb.types.splice(g,1)):this._jsPlumb.types.push(d[e])}i(this,b,c)}},applyType:function(a,b){if(this.setPaintStyle(a.paintStyle,b),this.setHoverPaintStyle(a.hoverPaintStyle,b),a.parameters)for(var c in a.parameters)this.setParameter(c,a.parameters[c])},setPaintStyle:function(a,b){this._jsPlumb.paintStyle=a,this._jsPlumb.paintStyleInUse=this._jsPlumb.paintStyle,d(this),b||this.repaint()},getPaintStyle:function(){return this._jsPlumb.paintStyle},setHoverPaintStyle:function(a,b){this._jsPlumb.hoverPaintStyle=a,d(this),b||this.repaint()},getHoverPaintStyle:function(){return this._jsPlumb.hoverPaintStyle},cleanup:function(){this.unbindListeners(),this.detachListeners()},destroy:function(){this.cleanupListeners(),this.clone=null,this._jsPlumb=null},isHover:function(){return this._jsPlumb.hover},setHover:function(a,b,d){if(this._jsPlumb&&!this._jsPlumb.instance.currentlyDragging&&!this._jsPlumb.instance.isHoverSuspended()){if(this._jsPlumb.hover=a,null!=this.canvas){if(null!=this._jsPlumb.instance.hoverClass){var e=a?"addClass":"removeClass";this._jsPlumb.instance[e](this.canvas,this._jsPlumb.instance.hoverClass)}null!=this._jsPlumb.hoverClass&&this._jsPlumb.instance[e](this.canvas,this._jsPlumb.hoverClass)}null!=this._jsPlumb.hoverPaintStyle&&(this._jsPlumb.paintStyleInUse=a?this._jsPlumb.hoverPaintStyle:this._jsPlumb.paintStyle,this._jsPlumb.instance.isSuspendDrawing()||(d=d||c(),this.repaint({timestamp:d,recalc:!1}))),this.getAttachedElements&&!b&&g(this,a,c(),this)}}});var l="__label",m=function(a,b){for(var c=-1,d=0,e=a._jsPlumb.overlays.length;e>d;d++)if(b===a._jsPlumb.overlays[d].id){c=d;break}return c},n=function(a,b){var c={cssClass:b.cssClass,labelStyle:a.labelStyle,id:l,component:a,_jsPlumb:a._jsPlumb.instance},d=u.extend(c,b);return new(u.Overlays[a._jsPlumb.instance.getRenderMode()].Label)(d)},o=function(b,c){var d=null;if(a.isArray(c)){var e=c[0],f=u.extend({component:b,_jsPlumb:b._jsPlumb.instance},c[1]);3==c.length&&u.extend(f,c[2]),d=new(u.Overlays[b._jsPlumb.instance.getRenderMode()][e])(f)}else d=c.constructor==String?new(u.Overlays[b._jsPlumb.instance.getRenderMode()][c])({component:b,_jsPlumb:b._jsPlumb.instance}):c;b._jsPlumb.overlays.push(d)},p=function(a,b){var c=a.defaultOverlayKeys||[],d=b.overlays,e=function(b){return a._jsPlumb.instance.Defaults[b]||u.Defaults[b]||[]};d||(d=[]);for(var f=0,g=c.length;g>f;f++)d.unshift.apply(d,e(c[f]));return d},q=window.OverlayCapableJsPlumbUIComponent=function(a){j.apply(this,arguments),this._jsPlumb.overlays=[];var b=p(this,a);if(b)for(var c=0,d=b.length;d>c;c++)o(this,b[c]);if(a.label){var e=a.labelLocation||this.defaultLabelLocation||.5,f=a.labelStyle||this._jsPlumb.instance.Defaults.LabelStyle;this._jsPlumb.overlays.push(n(this,{label:a.label,location:e,labelStyle:f}))}this.setListenerComponent=function(a){if(this._jsPlumb)for(var b=0;bc;c++)this.addOverlay(a.overlays[c],!0)},setHover:function(a){if(this._jsPlumb&&!this._jsPlumb.instance.isConnectionBeingDragged())for(var b=0,c=this._jsPlumb.overlays.length;c>b;b++)this._jsPlumb.overlays[b][a?"addClass":"removeClass"](this._jsPlumb.instance.hoverClass)},addOverlay:function(a,b){o(this,a),b||this.repaint()},getOverlay:function(a){var b=m(this,a);return b>=0?this._jsPlumb.overlays[b]:null},getOverlays:function(){return this._jsPlumb.overlays},hideOverlay:function(a){var b=this.getOverlay(a);b&&b.hide()},hideOverlays:function(){for(var a=0,b=this._jsPlumb.overlays.length;b>a;a++)this._jsPlumb.overlays[a].hide()},showOverlay:function(a){var b=this.getOverlay(a);b&&b.show()},showOverlays:function(){for(var a=0,b=this._jsPlumb.overlays.length;b>a;a++)this._jsPlumb.overlays[a].show()},removeAllOverlays:function(a){for(var b=0,c=this._jsPlumb.overlays.length;c>b;b++)this._jsPlumb.overlays[b].cleanup&&this._jsPlumb.overlays[b].cleanup();this._jsPlumb.overlays.splice(0,this._jsPlumb.overlays.length),this._jsPlumb.overlayPositions=null,a||this.repaint()},removeOverlay:function(a){var b=m(this,a);if(-1!=b){var c=this._jsPlumb.overlays[b];c.cleanup&&c.cleanup(),this._jsPlumb.overlays.splice(b,1),this._jsPlumb.overlayPositions&&delete this._jsPlumb.overlayPositions[a]}},removeOverlays:function(){for(var a=0,b=arguments.length;b>a;a++)this.removeOverlay(arguments[a])},moveParent:function(a){this.bgCanvas&&(this.bgCanvas.parentNode.removeChild(this.bgCanvas),a.appendChild(this.bgCanvas)),this.canvas.parentNode.removeChild(this.canvas),a.appendChild(this.canvas);for(var b=0;bi;i++)d=e.getElementObject(b[i]),g=e.getDOMElement(d),f=e.getAttribute(g,"id"),h.push(c.apply(e,[g,f]))}else d=e.getDOMElement(b),f=e.getId(d),h=c.apply(e,[d,f]);return h},K=function(a){return r[a]},L=function(b,c,d){if(!jsPlumbAdapter.headless){var f=null==c?!1:c;if(f&&u.isDragSupported(b,e)&&!u.isAlreadyDraggable(b,e)){var g=d||e.Defaults.DragOptions;g=u.extend({},g);var h=u.dragEvents.drag,i=u.dragEvents.stop,j=u.dragEvents.start,k=e.getDOMElement(b),l=e.dragManager.getDragAncestor(k),m={left:0,top:0},n=m,o=!1;g[j]=a.wrap(g[j],function(){return n=null!=l?jsPlumbAdapter.getOffset(l,e):m,e.setHoverSuspended(!0),e.select({source:b}).addClass(e.elementDraggingClass+" "+e.sourceElementDraggingClass,!0),e.select({target:b}).addClass(e.elementDraggingClass+" "+e.targetElementDraggingClass,!0),e.setConnectionBeingDragged(!0),g.canDrag?d.canDrag():void 0 -},!1),g[h]=a.wrap(g[h],function(){var a=e.getUIPosition(arguments,e.getZoom());a.left+=n.left,a.top+=n.top,I(b,a,null,!0),o&&e.addClass(b,"jsPlumb_dragged"),o=!0}),g[i]=a.wrap(g[i],function(){var a=e.getUIPosition(arguments,e.getZoom(),!0);I(b,a),o=!1,e.removeClass(b,"jsPlumb_dragged"),e.setHoverSuspended(!1),e.select({source:b}).removeClass(e.elementDraggingClass+" "+e.sourceElementDraggingClass,!0),e.select({target:b}).removeClass(e.elementDraggingClass+" "+e.targetElementDraggingClass,!0),e.setConnectionBeingDragged(!1),e.dragManager.dragEnded(b)});var p=Y(b);x[p]=!0;var q=x[p];g.disabled=null==q?!1:!q,e.initDraggable(b,g,!1),e.dragManager.register(b)}}},M=function(b,c){var d=u.extend({},b);if(c&&u.extend(d,c),d.source&&(d.source.endpoint?d.sourceEndpoint=d.source:d.source=e.getDOMElement(d.source)),d.target&&(d.target.endpoint?d.targetEndpoint=d.target:d.target=e.getDOMElement(d.target)),b.uuids&&(d.sourceEndpoint=K(b.uuids[0]),d.targetEndpoint=K(b.uuids[1])),d.sourceEndpoint&&d.sourceEndpoint.isFull())return a.log(e,"could not add connection; source endpoint is full"),void 0;if(d.targetEndpoint&&d.targetEndpoint.isFull())return a.log(e,"could not add connection; target endpoint is full"),void 0;if(!d.type&&d.sourceEndpoint&&(d.type=d.sourceEndpoint.connectionType),d.sourceEndpoint&&d.sourceEndpoint.connectorOverlays){d.overlays=d.overlays||[];for(var f=0,g=d.sourceEndpoint.connectorOverlays.length;g>f;f++)d.overlays.push(d.sourceEndpoint.connectorOverlays[f])}!d["pointer-events"]&&d.sourceEndpoint&&d.sourceEndpoint.connectorPointerEvents&&(d["pointer-events"]=d.sourceEndpoint.connectorPointerEvents);var h,i,j,k=function(a,b){var c=u.extend({},a);for(var d in b)b[d]&&(c[d]=b[d]);return c},l=function(a,b,c){return e.addEndpoint(a,k(i.def,{anchor:d.anchors?d.anchors[c]:d.anchor,endpoint:d.endpoints?d.endpoints[c]:d.endpoint,paintStyle:d.endpointStyles?d.endpointStyles[c]:d.endpointStyle,hoverPaintStyle:d.endpointHoverStyles?d.endpointHoverStyles[c]:d.endpointHoverStyle}))};if(d.target&&!d.target.endpoint&&!d.targetEndpoint&&!d.newConnection&&(h=Y(d.target),i=this.targetEndpointDefinitions[h])){if(!i.enabled)return;i.isTarget=!0,j=null!=i.endpoint&&i.endpoint._jsPlumb?i.endpoint:l(d.target,i.def,1),i.uniqueEndpoint&&(i.endpoint=j),d.targetEndpoint=j,j._doNotDeleteOnDetach=!1,j._deleteOnDetach=!0}if(d.source&&!d.source.endpoint&&!d.sourceEndpoint&&!d.newConnection&&(h=Y(d.source),i=this.sourceEndpointDefinitions[h])){if(!i.enabled)return;j=null!=i.endpoint&&i.endpoint._jsPlumb?i.endpoint:l(d.source,i.def,0),i.uniqueEndpoint&&(i.endpoint=j),d.sourceEndpoint=j,j._doNotDeleteOnDetach=!1,j._deleteOnDetach=!0}return d}.bind(e),N=function(a){var b=e.Defaults.ConnectionType||e.getDefaultConnectionType();e.Defaults.EndpointType||u.Endpoint,a._jsPlumb=e,a.newConnection=N,a.newEndpoint=Q,a.endpointsByUUID=r,a.endpointsByElement=q,a.finaliseConnection=O;var c=new b(a);return c.id="con_"+F(),P("click","click",c),P("dblclick","dblclick",c),P("contextmenu","contextmenu",c),c.isDetachable()&&(c.endpoints[0].initDraggable(),c.endpoints[1].initDraggable()),c},O=function(a,b,c,d){if(b=b||{},a.suspendedEndpoint||p.push(a),a.endpoints[0].isTemporarySource=!1,(null==a.suspendedEndpoint||d)&&e.anchorManager.newConnection(a),I(a.source),!b.doNotFireConnectionEvent&&b.fireEvent!==!1){var f={connection:a,source:a.source,target:a.target,sourceId:a.sourceId,targetId:a.targetId,sourceEndpoint:a.endpoints[0],targetEndpoint:a.endpoints[1]};e.fire("connection",f,c)}},P=function(a,b,c){c.bind(a,function(a,d){e.fire(b,c,d)})},Q=function(a){var b=e.Defaults.EndpointType||u.Endpoint,c=u.extend({},a);c._jsPlumb=e,c.newConnection=N,c.newEndpoint=Q,c.endpointsByUUID=r,c.endpointsByElement=q,c.finaliseConnection=O,c.fireDetachEvent=_,c.fireMoveEvent=ab,c.floatingConnections=w,c.elementId=Y(c.source);var d=new b(c);return d.id="ep_"+F(),P("click","endpointClick",d),P("dblclick","endpointDblClick",d),P("contextmenu","contextmenu",d),jsPlumbAdapter.headless||e.dragManager.endpointAdded(c.source),d},R=function(a,b,c){var d=q[a];if(d&&d.length)for(var e=0,f=d.length;f>e;e++){for(var g=0,h=d[e].connections.length;h>g;g++){var i=b(d[e].connections[g]);if(i)return}c&&c(d[e])}},S=function(a,b){return J(a,function(a,c){x[c]=b,this.isDragSupported(a)&&this.setElementDraggable(a,b)})},T=function(a,b,c){b="block"===b;var d=null;c&&(d=b?function(a){a.setVisible(!0,!0,!0)}:function(a){a.setVisible(!1,!0,!0)});var e=k(a);R(e.id,function(a){if(b&&c){var d=a.sourceId===e.id?1:0;a.endpoints[d].isVisible()&&a.setVisible(!0)}else a.setVisible(b)},d)},U=function(a){return J(a,function(a,b){var c=null==x[b]?!1:x[b];return c=!c,x[b]=c,this.setDraggable(a,c),c})},V=function(a,b){var c=null;b&&(c=function(a){var b=a.isVisible();a.setVisible(!b)}),R(a,function(a){var b=a.isVisible();a.setVisible(!b)},c)},W=this.updateOffset=function(a){var c,d=a.timestamp,f=a.recalc,g=a.offset,h=a.elId;return A&&!d&&(d=B),!f&&d&&d===v[h]?{o:a.offset||t[h],s:z[h]}:(f||!g?(c=document.getElementById(h),null!=c&&(z[h]=e.getSize(c),t[h]=b(c,e),v[h]=d)):(t[h]=g,null==z[h]&&(c=document.getElementById(h),null!=c&&(z[h]=e.getSize(c))),v[h]=d),t[h]&&!t[h].right&&(t[h].right=t[h].left+z[h][0],t[h].bottom=t[h].top+z[h][1],t[h].width=z[h][0],t[h].height=z[h][1],t[h].centerx=t[h].left+t[h].width/2,t[h].centery=t[h].top+t[h].height/2),{o:t[h],s:z[h]})},X=function(a){var b=t[a];return b?{o:b,s:z[a]}:W({elId:a})},Y=function(a,b,c){if(jsPlumbUtil.isString(a))return a;if(null==a)return null;var d=e.getAttribute(a,"id");return d&&"undefined"!==d||(2==arguments.length&&void 0!==arguments[1]?d=b:(1==arguments.length||3==arguments.length&&!arguments[2])&&(d="jsPlumb_"+f+"_"+F()),c||e.setAttribute(a,"id",d)),d};this.setConnectionBeingDragged=function(a){y=a},this.isConnectionBeingDragged=function(){return y},this.connectorClass="_jsPlumb_connector",this.hoverClass="_jsPlumb_hover",this.endpointClass="_jsPlumb_endpoint",this.endpointConnectedClass="_jsPlumb_endpoint_connected",this.endpointFullClass="_jsPlumb_endpoint_full",this.endpointDropAllowedClass="_jsPlumb_endpoint_drop_allowed",this.endpointDropForbiddenClass="_jsPlumb_endpoint_drop_forbidden",this.overlayClass="_jsPlumb_overlay",this.draggingClass="_jsPlumb_dragging",this.elementDraggingClass="_jsPlumb_element_dragging",this.sourceElementDraggingClass="_jsPlumb_source_element_dragging",this.targetElementDraggingClass="_jsPlumb_target_element_dragging",this.endpointAnchorClassPrefix="_jsPlumb_endpoint_anchor",this.hoverSourceClass="_jsPlumb_source_hover",this.hoverTargetClass="_jsPlumb_target_hover",this.dragSelectClass="_jsPlumb_drag_select",this.Anchors={},this.Connectors={svg:{},vml:{}},this.Endpoints={svg:{},vml:{}},this.Overlays={svg:{},vml:{}},this.ConnectorRenderers={},this.SVG="svg",this.VML="vml",this.addEndpoint=function(b,c,d){d=d||{};var f=u.extend({},d);u.extend(f,c),f.endpoint=f.endpoint||e.Defaults.Endpoint,f.paintStyle=f.paintStyle||e.Defaults.EndpointStyle,b=H(b);for(var g=[],h=a.isArray(b)||null!=b.length&&!a.isString(b)?b:[b],i=0,j=h.length;j>i;i++){var k=e.getDOMElement(h[i]),l=Y(k);f.source=k,qb(f.source),W({elId:l,timestamp:B});var m=Q(f);f.parentAnchor&&(m.parentAnchor=f.parentAnchor),a.addToList(q,l,m);var n=t[l],o=z[l],p=m.anchor.compute({xy:[n.left,n.top],wh:o,element:m,timestamp:B}),r={anchorLoc:p,timestamp:B};A&&(r.recalc=!1),A||m.paint(r),g.push(m),m._doNotDeleteOnDetach=!0}return 1==g.length?g[0]:g},this.addEndpoints=function(b,c,d){for(var f=[],g=0,h=c.length;h>g;g++){var i=e.addEndpoint(b,c[g],d);a.isArray(i)?Array.prototype.push.apply(f,i):f.push(i)}return f},this.animate=function(b,c,d){d=d||{};var f=this.getElementObject(b),g=this.getDOMElement(b),h=Y(g),i=u.animEvents.step,j=u.animEvents.complete;d[i]=a.wrap(d[i],function(){e.repaint(h)}),d[j]=a.wrap(d[j],function(){e.repaint(h)}),e.doAnimate(f,c,d)},this.checkCondition=function(b,c){var d=e.getListener(b),f=!0;if(d&&d.length>0)try{for(var g=0,h=d.length;h>g;g++)f=f&&d[g](c)}catch(i){a.log(e,"cannot check condition ["+b+"]"+i)}return f},this.checkASyncCondition=function(b,c,d,f){var g=e.getListener(b);if(g&&g.length>0)try{g[0](c,d,f)}catch(h){a.log(e,"cannot asynchronously check condition ["+b+"]"+h)}},this.connect=function(a,b){var c,d=M(a,b);return d&&(qb(d.source),c=N(d),O(c,d)),c};var Z=[{el:"source",elId:"sourceId",epDefs:"sourceEndpointDefinitions"},{el:"target",elId:"targetId",epDefs:"targetEndpointDefinitions"}],$=function(a,b,c,d){var e,f,g,h=Z[c],i=a[h.elId],j=(a[h.el],a.endpoints[c]),k={index:c,originalSourceId:0===c?i:a.sourceId,newSourceId:a.sourceId,originalTargetId:1==c?i:a.targetId,newTargetId:a.targetId,connection:a};if(b.constructor==u.Endpoint)e=b,e.addConnection(a);else if(f=Y(b),g=this[h.epDefs][f],f===a[h.elId])e=null;else if(g){if(!g.enabled)return;e=null!=g.endpoint&&g.endpoint._jsPlumb?g.endpoint:this.addEndpoint(b,g.def),g.uniqueEndpoint&&(g.endpoint=e),e._doNotDeleteOnDetach=!1,e._deleteOnDetach=!0,e.addConnection(a)}else e=a.makeEndpoint(0===c,b,f),e._doNotDeleteOnDetach=!1,e._deleteOnDetach=!0;return null!=e&&(j.detachFromConnection(a),a.endpoints[c]=e,a[h.el]=e.element,a[h.elId]=e.elementId,k[0===c?"newSourceId":"newTargetId"]=e.elementId,ab(k),d||a.repaint()),k}.bind(this);this.setSource=function(a,b,c){var d=$(a,b,0,c);this.anchorManager.sourceChanged(d.originalSourceId,d.newSourceId,a)},this.setTarget=function(a,b,c){var d=$(a,b,1,c);this.anchorManager.updateOtherEndpoint(d.originalSourceId,d.originalTargetId,d.newTargetId,a)},this.deleteEndpoint=function(a,b){var c=e.setSuspendDrawing(!0),d="string"==typeof a?r[a]:a;return d&&e.deleteObject({endpoint:d}),c||e.setSuspendDrawing(!1,b),e},this.deleteEveryEndpoint=function(){var a=e.setSuspendDrawing(!0);for(var b in q){var c=q[b];if(c&&c.length)for(var d=0,f=c.length;f>d;d++)e.deleteEndpoint(c[d],!0)}return q={},r={},e.anchorManager.reset(),e.dragManager.reset(),a||e.setSuspendDrawing(!1),e};var _=function(a,b,c){var d=e.Defaults.ConnectionType||e.getDefaultConnectionType(),f=a.constructor==d,g=f?{connection:a,source:a.source,target:a.target,sourceId:a.sourceId,targetId:a.targetId,sourceEndpoint:a.endpoints[0],targetEndpoint:a.endpoints[1]}:a;b&&e.fire("connectionDetached",g,c),e.anchorManager.connectionDetached(g)},ab=function(a,b){e.fire("connectionMoved",a,b)};this.unregisterEndpoint=function(a){a._jsPlumb.uuid&&(r[a._jsPlumb.uuid]=null),e.anchorManager.deleteEndpoint(a);for(var b in q){var c=q[b];if(c){for(var d=[],f=0,g=c.length;g>f;f++)c[f]!=a&&d.push(c[f]);q[b]=d}q[b].length<1&&delete q[b]}},this.detach=function(){if(0!==arguments.length){var a=e.Defaults.ConnectionType||e.getDefaultConnectionType(),b=arguments[0].constructor==a,c=2==arguments.length?b?arguments[1]||{}:arguments[0]:arguments[0],d=c.fireEvent!==!1,f=c.forceDetach,g=b?arguments[0]:c.connection;if(g)(f||jsPlumbUtil.functionChain(!0,!1,[[g.endpoints[0],"isDetachAllowed",[g]],[g.endpoints[1],"isDetachAllowed",[g]],[g,"isDetachAllowed",[g]],[e,"checkCondition",["beforeDetach",g]]]))&&g.endpoints[0].detach(g,!1,!0,d);else{var h=u.extend({},c);if(h.uuids)K(h.uuids[0]).detachFrom(K(h.uuids[1]),d);else if(h.sourceEndpoint&&h.targetEndpoint)h.sourceEndpoint.detachFrom(h.targetEndpoint);else{var i=Y(e.getDOMElement(h.source)),j=Y(e.getDOMElement(h.target));R(i,function(a){(a.sourceId==i&&a.targetId==j||a.targetId==i&&a.sourceId==j)&&e.checkCondition("beforeDetach",a)&&a.endpoints[0].detach(a,!1,!0,d)})}}}},this.detachAllConnections=function(a,b){b=b||{},a=e.getDOMElement(a);var c=Y(a),d=q[c];if(d&&d.length)for(var f=0,g=d.length;g>f;f++)d[f].detachAll(b.fireEvent!==!1);return e},this.detachEveryConnection=function(a){return a=a||{},e.doWhileSuspended(function(){for(var b in q){var c=q[b];if(c&&c.length)for(var d=0,e=c.length;e>d;d++)c[d].detachAll(a.fireEvent!==!1)}p.splice(0)}),e},this.deleteObject=function(a){var b={endpoints:{},connections:{},endpointCount:0,connectionCount:0},c=a.fireEvent!==!1,d=a.deleteAttachedObjects!==!1,f=function(a){if(null!=a&&null==b.connections[a.id]&&(null!=a._jsPlumb&&a.setHover(!1),b.connections[a.id]=a,b.connectionCount++,d))for(var c=0;cc;c++)f=e.getDOMElement(a[c]),f&&L(f,!0,b);else if(a._nodes)for(c=0,d=a._nodes.length;d>c;c++)f=e.getDOMElement(a._nodes[c]),f&&L(f,!0,b);else f=e.getDOMElement(a),f&&L(f,!0,b);return e};var bb=function(a,b,c,d){for(var e=0,f=a.length;f>e;e++)a[e][b].apply(a[e],c);return d(a)},cb=function(a,b,c){for(var d=[],e=0,f=a.length;f>e;e++)d.push([a[e][b].apply(a[e],c),a[e]]);return d},db=function(a,b,c){return function(){return bb(a,b,arguments,c)}},eb=function(a,b){return function(){return cb(a,b,arguments)}},fb=function(a,b){var c=[];if(a)if("string"==typeof a){if("*"===a)return a;c.push(a)}else if(b)c=a;else if(a.length)for(var d=0,e=a.length;e>d;d++)c.push(k(a[d]).id);else c.push(k(a).id);return c},gb=function(a,b,c){return"*"===a?!0:a.length>0?-1!=jsPlumbUtil.indexOf(a,b):!c};this.getConnections=function(a,b){a?a.constructor==String&&(a={scope:a}):a={};for(var c=a.scope||e.getDefaultScope(),d=fb(c,!0),f=fb(a.source),g=fb(a.target),h=!b&&d.length>1?{}:[],i=function(a,c){if(!b&&d.length>1){var e=h[a];null==e&&(e=h[a]=[]),e.push(c)}else h.push(c)},j=0,k=p.length;k>j;j++){var l=p[j];gb(d,l.scope)&&gb(f,l.sourceId)&&gb(g,l.targetId)&&i(l.scope,l)}return h};var hb=function(a,b){return function(c){for(var d=0,e=a.length;e>d;d++)c(a[d]);return b(a)}},ib=function(a){return function(b){return a[b]}},jb=function(a,b){var c,d,e={length:a.length,each:hb(a,b),get:ib(a)},f=["setHover","removeAllOverlays","setLabel","addClass","addOverlay","removeOverlay","removeOverlays","showOverlay","hideOverlay","showOverlays","hideOverlays","setPaintStyle","setHoverPaintStyle","setSuspendEvents","setParameter","setParameters","setVisible","repaint","addType","toggleType","removeType","removeClass","setType","bind","unbind"],g=["getLabel","getOverlay","isHover","getParameter","getParameters","getPaintStyle","getHoverPaintStyle","isVisible","hasType","getType","isSuspendEvents"];for(c=0,d=f.length;d>c;c++)e[f[c]]=db(a,f[c],b);for(c=0,d=g.length;d>c;c++)e[g[c]]=eb(a,g[c]);return e},kb=function(a){var b=jb(a,kb);return u.extend(b,{setDetachable:db(a,"setDetachable",kb),setReattach:db(a,"setReattach",kb),setConnector:db(a,"setConnector",kb),detach:function(){for(var b=0,c=a.length;c>b;b++)e.detach(a[b])},isDetachable:eb(a,"isDetachable"),isReattach:eb(a,"isReattach")})},lb=function(a){var b=jb(a,lb);return u.extend(b,{setEnabled:db(a,"setEnabled",lb),setAnchor:db(a,"setAnchor",lb),isEnabled:eb(a,"isEnabled"),detachAll:function(){for(var b=0,c=a.length;c>b;b++)a[b].detachAll()},remove:function(){for(var b=0,c=a.length;c>b;b++)e.deleteObject({endpoint:a[b]})}})};this.select=function(a){return a=a||{},a.scope=a.scope||"*",kb(a.connections||e.getConnections(a,!0))},this.selectEndpoints=function(a){a=a||{},a.scope=a.scope||"*";var b=!a.element&&!a.source&&!a.target,c=b?"*":fb(a.element),d=b?"*":fb(a.source),e=b?"*":fb(a.target),f=fb(a.scope,!0),g=[];for(var h in q){var i=gb(c,h,!0),j=gb(d,h,!0),k="*"!=d,l=gb(e,h,!0),m="*"!=e;if(i||j||l)a:for(var n=0,o=q[h].length;o>n;n++){var p=q[h][n];if(gb(f,p.scope,!0)){var r=k&&d.length>0&&!p.isSource,s=m&&e.length>0&&!p.isTarget;if(r||s)continue a;g.push(p)}}}return lb(g)},this.getAllConnections=function(){return p},this.getDefaultScope=function(){return C},this.getEndpoint=K,this.getEndpoints=function(a){return q[k(a).id]},this.getDefaultEndpointType=function(){return u.Endpoint},this.getDefaultConnectionType=function(){return u.Connection},this.getId=Y,this.getOffset=function(a){return t[a],W({elId:a})},this.appendElement=G;var mb=!1;this.isHoverSuspended=function(){return mb},this.setHoverSuspended=function(a){mb=a};var nb=function(a){return function(){return jsPlumbAdapter.isRenderModeAvailable(a)}};this.isSVGAvailable=nb("svg"),this.isVMLAvailable=nb("vml"),this.hide=function(a,b){return T(a,"none",b),e},this.idstamp=F,this.connectorsInitialized=!1;var ob=[],pb=["svg","vml"];this.registerConnectorType=function(a,b){ob.push([a,b])};var qb=function(a){if(!m&&a){var b=e.getDOMElement(a);b.offsetParent&&(m=b.offsetParent)}},rb=function(){e.Defaults.Container&&(m=e.getDOMElement(e.Defaults.Container))};this.init=function(){var a=function(a,b,c){u.Connectors[a][b]=function(){c.apply(this,arguments),u.ConnectorRenderers[a].apply(this,arguments)},jsPlumbUtil.extend(u.Connectors[a][b],[c,u.ConnectorRenderers[a]])};if(!u.connectorsInitialized){for(var b=0;b=4?[d[2],d[3]]:[0,0],offsets:d.length>=6?[d[4],d[5]]:[0,0],elementId:f,jsPlumbInstance:g,cssClass:7==d.length?d[6]:null};h=new u.Anchor(i),h.clone=function(){return new u.Anchor(i)}}return h.id||(h.id="anchor_"+F()),h},this.makeAnchors=function(b,c,d){for(var f=[],g=0,h=b.length;h>g;g++)"string"==typeof b[g]?f.push(u.Anchors[b[g]]({elementId:c,jsPlumbInstance:d})):a.isArray(b[g])&&f.push(e.makeAnchor(b[g],c,d));return f},this.makeDynamicAnchor=function(a,b){return new u.DynamicAnchor({anchors:a,selector:b,elementId:null,jsPlumbInstance:e})},this.targetEndpointDefinitions={};var sb=function(a,b,c){a.paintStyle=a.paintStyle||c.Defaults.EndpointStyles[b]||c.Defaults.EndpointStyle,a.hoverPaintStyle=a.hoverPaintStyle||c.Defaults.EndpointHoverStyles[b]||c.Defaults.EndpointHoverStyle,a.anchor=a.anchor||c.Defaults.Anchors[b]||c.Defaults.Anchor,a.endpoint=a.endpoint||c.Defaults.Endpoints[b]||c.Defaults.Endpoint};this.sourceEndpointDefinitions={};var tb=function(a,b,c,d,e){for(var f=a.target||a.srcElement,g=!1,h=d.getSelector(b,c),i=0;i0&&c>=p.maxConnections)return m&&m({element:d.el,connection:l},a),!1;if(o.anchor.locked=!1,k&&this.setDragScope(h,k),null==l.suspendedEndpoint&&!l.pending)return!1;var q=f.isDropAllowed(0===n?e:l.sourceId,0===n?l.targetId:e,l.scope,l,null,0===n?d.el:l.source,0===n?l.target:d.el);if(l.suspendedEndpoint){l[n?"targetId":"sourceId"]=l.suspendedEndpoint.elementId,l[n?"target":"source"]=l.suspendedEndpoint.element,l.endpoints[n]=l.suspendedEndpoint;var r=(l.suspendedEndpoint.getElement(),l.suspendedEndpoint.elementId);ab({index:n,originalSourceId:0===n?r:l.sourceId,newSourceId:0===n?e:l.sourceId,originalTargetId:1==n?r:l.targetId,newTargetId:1==n?e:l.targetId,connection:l},a)}if(q){var s=this.getElementObject(d.el),t=p.endpoint;if((null==t||null==t._jsPlumb)&&(t=this.addEndpoint(s,g)),g.uniqueEndpoint&&(p.endpoint=t),t._doNotDeleteOnDetach=!1,t._deleteOnDetach=!0,l.isDetachable()&&t.initDraggable(),null!=t.anchor.positionFinder){var v=this.getUIPosition(arguments,this.getZoom()),x=b(s,this),y=this.getSize(s),z=t.anchor.positionFinder(v,x,y,t.anchor.constructorParams);t.anchor.x=z[0],t.anchor.y=z[1]}l[n?"target":"source"]=t.element,l[n?"targetId":"sourceId"]=t.elementId,l.endpoints[n].detachFromConnection(l),l.endpoints[n]._deleteOnDetach&&(l.endpoints[n].deleteAfterDragStop=!0),t.addConnection(l),l.endpoints[n]=t,l.deleteEndpointsOnDetach=i,1==n?this.anchorManager.updateOtherEndpoint(l.sourceId,l.suspendedElementId,l.targetId,l):this.anchorManager.sourceChanged(l.suspendedEndpoint.elementId,l.sourceId,l),O(l,null,a),l.pending=!1}else l.suspendedEndpoint&&(l.isReattach()?(l.setHover(!1),l.floatingAnchorIndex=null,l.suspendedEndpoint.addConnection(l),this.repaint(o.elementId)):l.deleteConnectionNow=!0)}}.bind(this),p=u.dragEvents.drop;n.scope=n.scope||h,n[p]=a.wrap(n[p],o),g.allowLoopback===!1&&(n.canDrop=function(a){var b=a.getDragElement()._jsPlumbRelatedElement;return b!=d.el}),this.initDroppable(this.getElementObject(d.el),n,!0)}.bind(this);c=H(c);for(var o=c.length&&c.constructor!=String?c:[c],p=0,q=o.length;q>p;p++)n(o[p]);return this},this.unmakeTarget=function(a,b){var c=k(a);return u.destroyDroppable(c.el),b||delete this.targetEndpointDefinitions[c.id],this},this.makeSource=function(c,d,f){var g=u.extend({},f);u.extend(g,d),sb(g,0,this);var h=g.maxConnections||1,j=g.onMaxConnections,l=function(c){var d=c.id,f=this.getElementObject(c.el),k=this.getDOMElement(f),l=function(){return null==g.parent?null:"parent"===g.parent?c.el.parentNode:e.getDOMElement(g.parent)},n=null!=g.parent?this.getId(l()):d;qb(n),this.sourceEndpointDefinitions[n]={def:g,uniqueEndpoint:g.uniqueEndpoint,maxConnections:h,enabled:!0};var o=u.dragEvents.stop,p=u.dragEvents.drag,q=u.extend({},g.dragOptions||{}),r=q.drag,s=q.stop,t=null,v=!1;q.scope=q.scope||g.scope,q[p]=a.wrap(q[p],function(){r&&r.apply(this,arguments),v=!1}),q[o]=a.wrap(q[o],function(){if(s&&s.apply(this,arguments),this.currentlyDragging=!1,null!=t._jsPlumb){var a=g.anchor||this.Defaults.Anchor,c=t.anchor,e=t.connections[0],f=this.makeAnchor(a,d,this),h=t.element;if(null!=f.positionFinder){var i=b(h,this),j=this.getSize(h),k={left:i.left+c.x*j[0],top:i.top+c.y*j[1]},n=f.positionFinder(k,i,j,f.constructorParams);f.x=n[0],f.y=n[1]}if(t.setAnchor(f,!0),g.parent){var o=l();if(o){var p=g.container||m;t.setElement(o,p)}}t.repaint(),this.repaint(t.elementId),this.repaint(e.targetId)}}.bind(this));var w=function(a){var b=this.getOriginalEvent(a),c=this.sourceEndpointDefinitions[n];if(d=this.getId(this.getDOMElement(f)),c.enabled){if(g.filter){var m=jsPlumbUtil.isString(g.filter)?tb(b,f,g.filter,this,g.filterExclude):g.filter(b,f);if(m===!1)return}var o=this.select({source:n}).length;if(c.maxConnections>=0&&c.uniqueEndpoint&&o>=c.maxConnections)return j&&j({element:f,maxConnections:h},a),!1;var p=jsPlumbAdapter.getPositionOnElement(b,k,i),r=p;g.parent&&(r=jsPlumbAdapter.getPositionOnElement(b,l(),i));var s={};u.extend(s,g),s.isTemporarySource=!0,s.anchor=[p[0],p[1],0,0],s.parentAnchor=[r[0],r[1],0,0],s.dragOptions=q,t=this.addEndpoint(d,s),v=!0,t.endpointWillMoveTo=g.parent?l():null,t._doNotDeleteOnDetach=!1,t._deleteOnDetach=!0;var w=function(){v&&(v=!1,e.deleteEndpoint(t))};e.registerListener(t.canvas,"mouseup",w),e.registerListener(f,"mouseup",w),e.trigger(t.canvas,"mousedown",a),jsPlumbUtil.consume(a)}}.bind(this);this.registerListener(f,"mousedown",w),this.sourceEndpointDefinitions[n].trigger=w,g.filter&&jsPlumbUtil.isString(g.filter)&&e.setDragFilter(f,g.filter)}.bind(this);c=H(c);for(var n=c.length&&c.constructor!=String?c:[c],o=0,p=n.length;p>o;o++)l(k(n[o]));return this},this.unmakeSource=function(a,b){var c=k(a),d=this.sourceEndpointDefinitions[c.id].trigger;return d&&e.unregisterListener(c.el,"mousedown",d),b||delete this.sourceEndpointDefinitions[c.id],this},this.unmakeEverySource=function(){for(var a in this.sourceEndpointDefinitions)e.unmakeSource(a,!0);return this.sourceEndpointDefinitions={},this},this.unmakeEveryTarget=function(){for(var a in this.targetEndpointDefinitions)e.unmakeTarget(a,!0);return this.targetEndpointDefinitions={},this};var ub=function(b,c,d,e){var f="source"==b?this.sourceEndpointDefinitions:this.targetEndpointDefinitions;if(c=H(c),a.isString(c))f[c].enabled=e?!f[c].enabled:d;else if(c.length)for(var g=0,h=c.length;h>g;g++){var i=k(c[g]);f[i.id]&&(f[i.id].enabled=e?!f[i.id].enabled:d)}else{var j=k(c).id;f[j].enabled=e?!f[j].enabled:d}return this}.bind(this),vb=function(b,c){return b=H(b),a.isString(b)||!b.length?c.apply(this,[b]):b.length?c.apply(this,[b[0]]):void 0}.bind(this);this.toggleSourceEnabled=function(a){return ub("source",a,null,!0),this.isSourceEnabled(a)},this.setSourceEnabled=function(a,b){return ub("source",a,b)},this.isSource=function(a){return vb(a,function(a){return null!=this.sourceEndpointDefinitions[k(a).id]})},this.isSourceEnabled=function(a){return vb(a,function(a){var b=this.sourceEndpointDefinitions[k(a).id];return b&&b.enabled===!0})},this.toggleTargetEnabled=function(a){return ub("target",a,null,!0),this.isTargetEnabled(a)},this.isTarget=function(a){return vb(a,function(a){return null!=this.targetEndpointDefinitions[k(a).id]})},this.isTargetEnabled=function(a){return vb(a,function(a){var b=this.targetEndpointDefinitions[k(a).id];return b&&b.enabled===!0})},this.setTargetEnabled=function(a,b){return ub("target",a,b)},this.ready=function(a){e.bind("ready",a)},this.repaint=function(a,b,c){if("object"==typeof a&&a.length)for(var d=0,f=a.length;f>d;d++)I(a[d],b,c);else I(a,b,c);return e},this.repaintEverything=function(a){var b=c();for(var d in q)I(d,null,b,a);return this},this.removeAllEndpoints=function(a,b){var c=function(a){var d,f,g=k(a),h=q[g.id];if(h)for(d=0,f=h.length;f>d;d++)e.deleteEndpoint(h[d]);if(delete q[g.id],b&&g.el&&3!=g.el.nodeType&&8!=g.el.nodeType)for(d=0,f=g.el.childNodes.length;f>d;d++)c(g.el.childNodes[d])};return c(a),this},this.remove=function(a,b){var c=k(a);return e.doWhileSuspended(function(){e.removeAllEndpoints(c.id,!0),e.dragManager.elementRemoved(c.id),delete w[c.id],e.anchorManager.clearFor(c.id),e.anchorManager.removeFloatingConnection(c.id)},b===!1),c.el&&e.removeElement(c.el),e};var wb={},xb=function(){for(var a in wb)for(var b=0,c=wb[a].length;c>b;b++){var d=wb[a][b];e.off(d.el,d.event,d.listener)}wb={}};this.registerListener=function(a,b,c){e.on(a,b,c),jsPlumbUtil.addToList(wb,b,{el:a,event:b,listener:c})},this.unregisterListener=function(a,b,c){e.off(a,b,c),jsPlumbUtil.removeWithFunction(wb,function(a){return a.type==b&&a.listener==c})},this.reset=function(){e.deleteEveryEndpoint(),e.unbind(),this.targetEndpointDefinitions={},this.sourceEndpointDefinitions={},p.splice(0),xb(),e.anchorManager.reset(),jsPlumbAdapter.headless||e.dragManager.reset()},this.setDefaultScope=function(a){return C=a,e},this.setDraggable=S,this.setId=function(a,b,c){var d;jsPlumbUtil.isString(a)?d=a:(a=this.getDOMElement(a),d=this.getId(a));var e=this.getConnections({source:d,scope:"*"},!0),f=this.getConnections({target:d,scope:"*"},!0);b=""+b,c?a=this.getDOMElement(b):(a=this.getDOMElement(d),this.setAttribute(a,"id",b)),q[b]=q[d]||[];for(var g=0,h=q[b].length;h>g;g++)q[b][g].setElementId(b),q[b][g].setReferenceElement(a);delete q[d],this.anchorManager.changeId(d,b),this.dragManager&&this.dragManager.changeId(d,b);var i=function(c,d,e){for(var f=0,g=c.length;g>f;f++)c[f].endpoints[d].setElementId(b),c[f].endpoints[d].setReferenceElement(a),c[f][e+"Id"]=b,c[f][e]=a};i(e,0,"source"),i(f,1,"target"),this.repaint(b)},this.setDebugLog=function(a){n=a},this.setSuspendDrawing=function(a,b){var c=A;return A=a,B=a?(new Date).getTime():null,b&&this.repaintEverything(),c},this.isSuspendDrawing=function(){return A},this.getSuspendedAt=function(){return B},this.doWhileSuspended=function(b,c){var d=this.isSuspendDrawing();d||this.setSuspendDrawing(!0);try{b()}catch(e){a.log("Function run while suspended failed",e)}d||this.setSuspendDrawing(!1,!c)},this.getOffset=function(a){return t[a]},this.getCachedData=X,this.timestamp=c,this.setRenderMode=function(a){if(a!==u.SVG&&a!==u.VML)throw new TypeError("Render mode ["+a+"] not supported");return D=jsPlumbAdapter.setRenderMode(a)},this.getRenderMode=function(){return D},this.show=function(a,b){return T(a,"block",b),e},this.toggleVisible=V,this.toggleDraggable=U,this.addListener=this.bind,jsPlumbAdapter.headless||(e.dragManager=jsPlumbAdapter.getDragManager(e),e.recalculateOffsets=e.dragManager.updateOffsets)};jsPlumbUtil.extend(t,jsPlumbUtil.EventGenerator,{setAttribute:function(a,b,c){this.setAttribute(a,b,c)},getAttribute:function(a,b){return this.getAttribute(u.getDOMElement(a),b)},registerConnectionType:function(a,b){this._connectionTypes[a]=u.extend({},b)},registerConnectionTypes:function(a){for(var b in a)this._connectionTypes[b]=u.extend({},a[b])},registerEndpointType:function(a,b){this._endpointTypes[a]=u.extend({},b)},registerEndpointTypes:function(a){for(var b in a)this._endpointTypes[b]=u.extend({},a[b])},getType:function(a,b){return"connection"===b?this._connectionTypes[a]:this._endpointTypes[a]},setIdChanged:function(a,b){this.setId(a,b,!0)},setParent:function(a,b){var c=this.getElementObject(a),d=this.getDOMElement(c),e=this.getId(d),f=this.getElementObject(b),g=this.getDOMElement(f),h=this.getId(g);d.parentNode.removeChild(d),g.appendChild(d),this.dragManager.setParent(c,e,f,h)},getSize:function(a){return[a.offsetWidth,a.offsetHeight]},getWidth:function(a){return a.offsetWidth},getHeight:function(a){return a.offsetHeight},extend:function(a,b,c){var d;if(c)for(d=0;d0?this.connections[0].setHover(a,!1):this.setHover(a)}.bind(this);g._transient||this._jsPlumb.instance.anchorManager.add(this,this.elementId),this.setEndpoint=function(a){null!=this.endpoint&&(this.endpoint.cleanup(),this.endpoint.destroy());var b=function(a,b){var c=h.getRenderMode();if(jsPlumb.Endpoints[c][a])return new jsPlumb.Endpoints[c][a](b);if(!h.Defaults.DoNotThrowErrors)throw{msg:"jsPlumb: unknown endpoint type '"+a+"'"}},c={_jsPlumb:this._jsPlumb.instance,cssClass:g.cssClass,container:g.container,tooltip:g.tooltip,connectorTooltip:g.connectorTooltip,endpoint:this};j.isString(a)?this.endpoint=b(a,c):j.isArray(a)?(c=j.merge(a[1],c),this.endpoint=b(a[0],c)):this.endpoint=a.clone(),jsPlumb.extend({},c),this.endpoint.clone=function(){return j.isString(a)?b(a,c):j.isArray(a)?(c=j.merge(a[1],c),b(a[0],c)):void 0}.bind(this),this.type=this.endpoint.type,this.bindListeners(this.endpoint,this,s)},this.setEndpoint(g.endpoint||h.Defaults.Endpoint||jsPlumb.Defaults.Endpoint||"Dot"),this.setPaintStyle(g.paintStyle||g.style||h.Defaults.EndpointStyle||jsPlumb.Defaults.EndpointStyle,!0),this.setHoverPaintStyle(g.hoverPaintStyle||h.Defaults.EndpointHoverStyle||jsPlumb.Defaults.EndpointHoverStyle,!0),this._jsPlumb.paintStyleInUse=this.getPaintStyle(),jsPlumb.extend(this,g,d),this.isSource=g.isSource||!1,this.isTemporarySource=g.isTemporarySource||!1,this.isTarget=g.isTarget||!1,this._jsPlumb.maxConnections=g.maxConnections||h.Defaults.MaxConnections,this.canvas=this.endpoint.canvas,this.addClass(h.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass),jsPlumbAdapter.addClass(this.element,h.endpointAnchorClassPrefix+"_"+this._jsPlumb.currentAnchorClass),this.connections=g.connections||[],this.connectorPointerEvents=g["connector-pointer-events"],this.scope=g.scope||h.getDefaultScope(),this.timestamp=null,this.reattachConnections=g.reattach||h.Defaults.ReattachConnections,this.connectionsDetachable=h.Defaults.ConnectionsDetachable,(g.connectionsDetachable===!1||g.detachable===!1)&&(this.connectionsDetachable=!1),this.dragAllowedWhenFull=g.dragAllowedWhenFull!==!1,g.onMaxConnections&&this.bind("maxConnections",g.onMaxConnections),this.addConnection=function(a){this.connections.push(a),this[(this.connections.length>0?"add":"remove")+"Class"](h.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](h.endpointFullClass)},this.detachFromConnection=function(a,b,c){b=null==b?f(a,this):b,b>=0&&(this.connections.splice(b,1),this[(this.connections.length>0?"add":"remove")+"Class"](h.endpointConnectedClass),this[(this.isFull()?"add":"remove")+"Class"](h.endpointFullClass)),!c&&this._deleteOnDetach&&0===this.connections.length&&h.deleteObject({endpoint:this,fireEvent:!1,deleteAttachedObjects:!1})},this.detach=function(a,b,c,d,e,g,i){var j=null==i?f(a,this):i,k=!1;return d=d!==!1,j>=0&&(c||a._forceDetach||a.isDetachable()&&a.isDetachAllowed(a)&&this.isDetachAllowed(a)&&h.checkCondition("beforeDetach",a))&&(h.deleteObject({connection:a,fireEvent:!b&&d,originalEvent:e,deleteAttachedObjects:!1}),k=!0),k},this.detachAll=function(a,b){for(;this.connections.length>0;)this.detach(this.connections[0],!1,!0,a!==!1,b,this,0);return this},this.detachFrom=function(a,b,c){for(var d=[],e=0;e0){var l=e(this,a.elementWithPrecedence),m=l.endpoints[0]==this?1:0,n=0===m?l.sourceId:l.targetId,o=h.getCachedData(n),p=o.o,q=o.s;k.txy=[p.left,p.top],k.twh=q,k.tElement=l.endpoints[m]}g=this.anchor.compute(k)}this.endpoint.compute(g,this.anchor.getOrientation(this),this._jsPlumb.paintStyleInUse,i||this.paintStyleInUse),this.endpoint.paint(this._jsPlumb.paintStyleInUse,this.anchor),this.timestamp=b;for(var r=0;rb.dist?1:0 -});for(var o=k[0].source,p=k[0].target,q=0;qc[0][0],d===!1?-1:1}},q=function(a,b){var c=a[0][0]<0?-Math.PI-a[0][0]:Math.PI-a[0][0],d=b[0][0]<0?-Math.PI-b[0][0]:Math.PI-b[0][0];return c>d?1:a[0][1]>b[0][1]?1:-1},r={top:function(a,b){return a[0]>b[0]?1:-1},right:p(!0),bottom:p(!0),left:q},s=function(a,b){return a.sort(b)},t=function(a,b){var c=l.getCachedData(a),e=c.s,g=c.o,h=function(b,c,e,g,h,i,j){if(g.length>0)for(var k=s(g,r[b]),l="right"===b||"top"===b,m=o(b,c,e,k,h,i,l),n=function(a,b){d[a.id]=[b[0],b[1],b[2],b[3]],f[a.id]=j},p=0;p-1&&(i[b].splice(f,1),jsPlumbUtil.addToList(i,c,[d,d.endpoints[0],d.endpoints[0].anchor.constructor==jsPlumb.DynamicAnchor]))},this.sourceChanged=function(a,b,c){if(a!==b){jsPlumbUtil.removeWithFunction(i[a],function(a){return a[0].id===c.id});var d=jsPlumbUtil.findWithFunction(i[c.targetId],function(a){return a[0].id===c.id});d>-1&&(i[c.targetId][d][0]=c,i[c.targetId][d][1]=c.endpoints[0],i[c.targetId][d][2]=c.endpoints[0].anchor.constructor==jsPlumb.DynamicAnchor),jsPlumbUtil.addToList(i,b,[c,c.endpoints[1],c.endpoints[1].anchor.constructor==jsPlumb.DynamicAnchor])}},this.rehomeEndpoint=function(a,c,d){var e=b[c]||[],f=l.getId(d);if(f!==c){var g=jsPlumbUtil.indexOf(e,a);if(g>-1){var h=e.splice(g,1)[0];j.add(h,f)}}for(var i=0;i0?this.anchors[0]:null,e=(this.anchors.length>0?0:-1,d),f=this,g=function(a,b,c,d,e){var f=d[0]+a.x*e[0],g=d[1]+a.y*e[1],h=d[0]+e[0]/2,i=d[1]+e[1]/2;return Math.sqrt(Math.pow(b-f,2)+Math.pow(c-g,2))+Math.sqrt(Math.pow(h-f,2)+Math.pow(i-g,2))},h=b.selector||function(a,b,c,d,e){for(var f=c[0]+d[0]/2,h=c[1]+d[1]/2,i=-1,j=1/0,k=0;kl&&(i=k+0,j=l)}return e[i]};this.compute=function(a){var b=a.xy,c=a.wh,g=a.timestamp,i=a.txy,j=a.twh;a.clearUserDefinedLocation&&(userDefinedLocation=null),this.timestamp=g;var k=f.getUserDefinedLocation();return null!=k?k:this.locked||null==i||null==j?d.compute(a):(a.timestamp=null,d=h(b,c,i,j,this.anchors),this.x=d.x,this.y=d.y,d!=e&&this.fire("anchorChanged",d),e=d,d.compute(a))},this.getCurrentLocation=function(a){return this.getUserDefinedLocation()||(null!=d?d.getCurrentLocation(a):null)},this.getOrientation=function(a){return null!=d?d.getOrientation(a):[0,0]},this.over=function(a,b){null!=d&&d.over(a,b)},this.out=function(){null!=d&&d.out()},this.getCssClass=function(){return d&&d.getCssClass()||""}},jsPlumbUtil.extend(jsPlumb.DynamicAnchor,jsPlumb.Anchor);var b=function(a,b,c,d,e,f){jsPlumb.Anchors[e]=function(g){var h=g.jsPlumbInstance.makeAnchor([a,b,c,d,0,0],g.elementId,g.jsPlumbInstance);return h.type=e,f&&f(h,g),h}};b(.5,0,0,-1,"TopCenter"),b(.5,1,0,1,"BottomCenter"),b(0,.5,-1,0,"LeftMiddle"),b(1,.5,1,0,"RightMiddle"),b(.5,0,0,-1,"Top"),b(.5,1,0,1,"Bottom"),b(0,.5,-1,0,"Left"),b(1,.5,1,0,"Right"),b(.5,.5,0,0,"Center"),b(1,0,0,-1,"TopRight"),b(1,1,0,1,"BottomRight"),b(0,0,0,-1,"TopLeft"),b(0,1,0,1,"BottomLeft"),jsPlumb.Defaults.DynamicAnchors=function(a){return a.jsPlumbInstance.makeAnchors(["TopCenter","RightMiddle","BottomCenter","LeftMiddle"],a.elementId,a.jsPlumbInstance)},jsPlumb.Anchors.AutoDefault=function(a){var b=a.jsPlumbInstance.makeDynamicAnchor(jsPlumb.Defaults.DynamicAnchors(a));return b.type="AutoDefault",b};var c=function(a,b){jsPlumb.Anchors[a]=function(c){var d=c.jsPlumbInstance.makeAnchor(["Continuous",{faces:b}],c.elementId,c.jsPlumbInstance);return d.type=a,d}};jsPlumb.Anchors.Continuous=function(a){return a.jsPlumbInstance.continuousAnchorFactory.get(a)},c("ContinuousLeft",["left"]),c("ContinuousTop",["top"]),c("ContinuousBottom",["bottom"]),c("ContinuousRight",["right"]),b(0,0,0,0,"Assign",function(a,b){var c=b.position||"Fixed";a.positionFinder=c.constructor==String?b.jsPlumbInstance.AnchorPositionFinders[c]:c,a.constructorParams=b}),jsPlumbInstance.prototype.AnchorPositionFinders={Fixed:function(a,b,c){return[(a.left-b.left)/c[0],(a.top-b.top)/c[1]]},Grid:function(a,b,c,d){var e=a.left-b.left,f=a.top-b.top,g=c[0]/d.grid[0],h=c[1]/d.grid[1],i=Math.floor(e/g),j=Math.floor(f/h);return[(i*g+g/2)/c[0],(j*h+h/2)/c[1]]}},jsPlumb.Anchors.Perimeter=function(a){a=a||{};var b=a.anchorCount||60,c=a.shape;if(!c)throw new Error("no shape supplied to Perimeter Anchor type");var d=function(){for(var a=.5,c=2*Math.PI/b,d=0,e=[],f=0;b>f;f++){var g=a+a*Math.sin(d),h=a+a*Math.cos(d);e.push([g,h,0,0]),d+=c}return e},e=function(a){for(var c=b/a.length,d=[],e=function(a,e,f,g,h){c=b*h;for(var i=(f-a)/c,j=(g-e)/c,k=0;c>k;k++)d.push([a+i*k,e+j*k,0,0])},f=0;f0?a:b+a:a*b;return Biltong.pointOnLine({x:e,y:g},{x:f,y:h},d)}return{x:f,y:h}}return{x:e,y:g}},this.gradientAtPoint=function(){return c},this.pointAlongPathFrom=function(a,b,c){var d=this.pointOnPath(a,c),i=0>=b?{x:e,y:g}:{x:f,y:h};return 0>=b&&Math.abs(b)>1&&(b*=-1),Biltong.pointOnLine(d,i,b)};var j=function(a,b,c){return c>=Math.min(a,b)&&c<=Math.max(a,b)},k=function(a,b,c){return Math.abs(c-a)a-b?b:i>c-a?c:a};this.pointOnPath=function(b,d){if(0===b)return{x:this.x1,y:this.y1,theta:this.startAngle};if(1==b)return{x:this.x2,y:this.y2,theta:this.endAngle};d&&(b/=h);var e=c(this,b),f=a.cx+a.r*Math.cos(e),g=a.cy+a.r*Math.sin(e);return{x:j(f),y:j(g),theta:e}},this.gradientAtPoint=function(b,c){var d=this.pointOnPath(b,c),e=Biltong.normal([a.cx,a.cy],[d.x,d.y]);return this.anticlockwise||1/0!=e&&e!=-1/0||(e*=-1),e},this.pointAlongPathFrom=function(b,c,d){var e=this.pointOnPath(b,d),g=2*(c/f)*Math.PI,h=this.anticlockwise?-1:1,i=e.theta+h*g,j=a.cx+this.radius*Math.cos(i),k=a.cy+this.radius*Math.sin(i);return{x:j,y:k}}},Bezier:function(a){var b=(jsPlumb.Segments.AbstractSegment.apply(this,arguments),[{x:a.x1,y:a.y1},{x:a.cp1x,y:a.cp1y},{x:a.cp2x,y:a.cp2y},{x:a.x2,y:a.y2}]),c={minX:Math.min(a.x1,a.x2,a.cp1x,a.cp2x),minY:Math.min(a.y1,a.y2,a.cp1y,a.cp2y),maxX:Math.max(a.x1,a.x2,a.cp1x,a.cp2x),maxY:Math.max(a.y1,a.y2,a.cp1y,a.cp2y)};this.type="Bezier";var d=function(a,b,c){return c&&(b=jsBezier.locationAlongCurveFrom(a,b>0?0:1,b)),b};this.pointOnPath=function(a,c){return a=d(b,a,c),jsBezier.pointOnCurve(b,a)},this.gradientAtPoint=function(a,c){return a=d(b,a,c),jsBezier.gradientAtPoint(b,a)},this.pointAlongPathFrom=function(a,c,e){return a=d(b,a,e),jsBezier.pointAlongCurveFrom(b,a,c)},this.getLength=function(){return jsBezier.getLength(b)},this.getBounds=function(){return c}}};var a=function(){this.resetBounds=function(){this.bounds={minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}},this.resetBounds()};jsPlumb.Connectors.AbstractConnector=function(b){a.apply(this,arguments);var c=[],d=0,e=[],f=[],g=b.stub||0,h=jsPlumbUtil.isArray(g)?g[0]:g,i=jsPlumbUtil.isArray(g)?g[1]:g,j=b.gap||0,k=jsPlumbUtil.isArray(j)?j[0]:j,l=jsPlumbUtil.isArray(j)?j[1]:j,m=null,n=!1,o=null;this.isEditable=function(){return!1},this.setEdited=function(a){n=a},this.getPath=function(){},this.setPath=function(){},this.findSegmentForPoint=function(a,b){for(var d={d:1/0,s:null,x:null,y:null,l:null},e=0;e0?a/d:(d+a)/d);for(var g=e.length-1,h=1,i=0;i=a){g=i,h=1==a?1:0===a?0:(a-e[i][0])/f[i];break}return{segment:c[g],proportion:h,index:g}},r=function(a,b,e){if(e.x1!=e.x2||e.y1!=e.y2){var f=new jsPlumb.Segments[b](e);c.push(f),d+=f.getLength(),a.updateBounds(f)}},s=function(){d=c.length=e.length=f.length=0};this.setSegments=function(a){m=[],d=0;for(var b=0;bo?0:1,q=[1,0][p];f=[],g=[],f[p]=a.sourcePos[p]>a.targetPos[p]?-1:1,g[p]=a.sourcePos[p]>a.targetPos[p]?1:-1,f[q]=0,g[q]=0}var r=c?n+k*f[0]:k*f[0],s=d?o+k*f[1]:k*f[1],t=c?l*g[0]:n+l*g[0],u=d?l*g[1]:o+l*g[1],v=f[0]*g[0]+f[1]*g[1],w={sx:r,sy:s,tx:t,ty:u,lw:e,xSpan:Math.abs(t-r),ySpan:Math.abs(u-s),mx:(r+t)/2,my:(s+u)/2,so:f,to:g,x:j,y:m,w:n,h:o,segment:b,startStubX:r+f[0]*h,startStubY:s+f[1]*h,endStubX:t+g[0]*i,endStubY:u+g[1]*i,isXGreaterThanStubTimes2:Math.abs(r-t)>h+i,isYGreaterThanStubTimes2:Math.abs(s-u)>h+i,opposite:-1==v,perpendicular:0===v,orthogonal:1==v,sourceAxis:0===f[0]?"y":"x",points:[j,m,n,o,r,s,t,u]};return w.anchorOrientation=w.opposite?"opposite":w.orthogonal?"orthogonal":"perpendicular",w};return this.getSegments=function(){return c},this.updateBounds=function(a){var b=a.getBounds();this.bounds.minX=Math.min(this.bounds.minX,b.minX),this.bounds.maxX=Math.max(this.bounds.maxX,b.maxX),this.bounds.minY=Math.min(this.bounds.minY,b.minY),this.bounds.maxY=Math.max(this.bounds.maxY,b.maxY)},this.pointOnPath=function(a,b){var c=q(a,b);return c.segment&&c.segment.pointOnPath(c.proportion,!1)||[0,0]},this.gradientAtPoint=function(a,b){var c=q(a,b);return c.segment&&c.segment.gradientAtPoint(c.proportion,!1)||0},this.pointAlongPathFrom=function(a,b,c){var d=q(a,c);return d.segment&&d.segment.pointAlongPathFrom(d.proportion,b,!1)||[0,0]},this.compute=function(a){n||(o=t.call(this,a)),s(),this._compute(o,a),this.x=o.points[0],this.y=o.points[1],this.w=o.points[2],this.h=o.points[3],this.segment=o.segment,p()},{addSegment:r,prepareCompute:t,sourceStub:h,targetStub:i,maxStub:Math.max(h,i),sourceGap:k,targetGap:l,maxGap:Math.max(k,l)}},jsPlumbUtil.extend(jsPlumb.Connectors.AbstractConnector,a);var b=jsPlumb.Connectors.Straight=function(){this.type="Straight";var a=jsPlumb.Connectors.AbstractConnector.apply(this,arguments);this._compute=function(b){a.addSegment(this,"Straight",{x1:b.sx,y1:b.sy,x2:b.startStubX,y2:b.startStubY}),a.addSegment(this,"Straight",{x1:b.startStubX,y1:b.startStubY,x2:b.endStubX,y2:b.endStubY}),a.addSegment(this,"Straight",{x1:b.endStubX,y1:b.endStubY,x2:b.tx,y2:b.ty})}};jsPlumbUtil.extend(jsPlumb.Connectors.Straight,jsPlumb.Connectors.AbstractConnector),jsPlumb.registerConnectorType(b,"Straight"),jsPlumb.Endpoints.AbstractEndpoint=function(b){a.apply(this,arguments);var c=this.compute=function(){var a=this._compute.apply(this,arguments);return this.x=a[0],this.y=a[1],this.w=a[2],this.h=a[3],this.bounds.minX=this.x,this.bounds.minY=this.y,this.bounds.maxX=this.x+this.w,this.bounds.maxY=this.y+this.h,a};return{compute:c,cssClass:b.cssClass}},jsPlumbUtil.extend(jsPlumb.Endpoints.AbstractEndpoint,a),jsPlumb.Endpoints.Dot=function(a){this.type="Dot",jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments),a=a||{},this.radius=a.radius||10,this.defaultOffset=.5*this.radius,this.defaultInnerRadius=this.radius/3,this._compute=function(a,b,c){this.radius=c.radius||this.radius;var d=a[0]-this.radius,e=a[1]-this.radius,f=2*this.radius,g=2*this.radius;if(c.strokeStyle){var h=c.lineWidth||1;d-=h,e-=h,f+=2*h,g+=2*h}return[d,e,f,g,this.radius]}},jsPlumbUtil.extend(jsPlumb.Endpoints.Dot,jsPlumb.Endpoints.AbstractEndpoint),jsPlumb.Endpoints.Rectangle=function(a){this.type="Rectangle",jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments),a=a||{},this.width=a.width||20,this.height=a.height||20,this._compute=function(a,b,c){var d=c.width||this.width,e=c.height||this.height,f=a[0]-d/2,g=a[1]-e/2;return[f,g,d,e]}},jsPlumbUtil.extend(jsPlumb.Endpoints.Rectangle,jsPlumb.Endpoints.AbstractEndpoint);var c=function(){jsPlumb.DOMElementComponent.apply(this,arguments),this._jsPlumb.displayElements=[]};jsPlumbUtil.extend(c,jsPlumb.DOMElementComponent,{getDisplayElements:function(){return this._jsPlumb.displayElements},appendDisplayElement:function(a){this._jsPlumb.displayElements.push(a)}}),jsPlumb.Endpoints.Image=function(a){this.type="Image",c.apply(this,arguments),jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments);var b=a.onload,d=a.src||a.url,e=a.cssClass?" "+a.cssClass:"";this._jsPlumb.img=new Image,this._jsPlumb.ready=!1,this._jsPlumb.initialized=!1,this._jsPlumb.deleted=!1,this._jsPlumb.widthToUse=a.width,this._jsPlumb.heightToUse=a.height,this._jsPlumb.endpoint=a.endpoint,this._jsPlumb.img.onload=function(){null!=this._jsPlumb&&(this._jsPlumb.ready=!0,this._jsPlumb.widthToUse=this._jsPlumb.widthToUse||this._jsPlumb.img.width,this._jsPlumb.heightToUse=this._jsPlumb.heightToUse||this._jsPlumb.img.height,b&&b(this))}.bind(this),this._jsPlumb.endpoint.setImage=function(a,c){var d=a.constructor==String?a:a.src;b=c,this._jsPlumb.img.src=d,null!=this.canvas&&this.canvas.setAttribute("src",this._jsPlumb.img.src)}.bind(this),this._jsPlumb.endpoint.setImage(d,b),this._compute=function(a){return this.anchorPoint=a,this._jsPlumb.ready?[a[0]-this._jsPlumb.widthToUse/2,a[1]-this._jsPlumb.heightToUse/2,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse]:[0,0,0,0]},this.canvas=document.createElement("img"),this.canvas.style.margin=0,this.canvas.style.padding=0,this.canvas.style.outline=0,this.canvas.style.position="absolute",this.canvas.className=this._jsPlumb.instance.endpointClass+e,this._jsPlumb.widthToUse&&this.canvas.setAttribute("width",this._jsPlumb.widthToUse),this._jsPlumb.heightToUse&&this.canvas.setAttribute("height",this._jsPlumb.heightToUse),this._jsPlumb.instance.appendElement(this.canvas),this.attachListeners(this.canvas,this),this.actuallyPaint=function(){if(!this._jsPlumb.deleted){this._jsPlumb.initialized||(this.canvas.setAttribute("src",this._jsPlumb.img.src),this.appendDisplayElement(this.canvas),this._jsPlumb.initialized=!0);var a=this.anchorPoint[0]-this._jsPlumb.widthToUse/2,b=this.anchorPoint[1]-this._jsPlumb.heightToUse/2;jsPlumbUtil.sizeElement(this.canvas,a,b,this._jsPlumb.widthToUse,this._jsPlumb.heightToUse)}},this.paint=function(a,b){null!=this._jsPlumb&&(this._jsPlumb.ready?this.actuallyPaint(a,b):window.setTimeout(function(){this.paint(a,b)}.bind(this),200))}},jsPlumbUtil.extend(jsPlumb.Endpoints.Image,[c,jsPlumb.Endpoints.AbstractEndpoint],{cleanup:function(){this._jsPlumb.deleted=!0,this.canvas&&this.canvas.parentNode.removeChild(this.canvas),this.canvas=null}}),jsPlumb.Endpoints.Blank=function(){jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments),this.type="Blank",c.apply(this,arguments),this._compute=function(a){return[a[0],a[1],10,0]},this.canvas=document.createElement("div"),this.canvas.style.display="block",this.canvas.style.width="1px",this.canvas.style.height="1px",this.canvas.style.background="transparent",this.canvas.style.position="absolute",this.canvas.className=this._jsPlumb.endpointClass,jsPlumb.appendElement(this.canvas),this.paint=function(){jsPlumbUtil.sizeElement(this.canvas,this.x,this.y,this.w,this.h)}},jsPlumbUtil.extend(jsPlumb.Endpoints.Blank,[jsPlumb.Endpoints.AbstractEndpoint,c],{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}}),jsPlumb.Endpoints.Triangle=function(a){this.type="Triangle",jsPlumb.Endpoints.AbstractEndpoint.apply(this,arguments),a=a||{},a.width=a.width||55,a.height=a.height||55,this.width=a.width,this.height=a.height,this._compute=function(a,b,c){var d=c.width||self.width,e=c.height||self.height,f=a[0]-d/2,g=a[1]-e/2;return[f,g,d,e]}};var d=jsPlumb.Overlays.AbstractOverlay=function(a){this.visible=!0,this.isAppendedAtTopLevel=!0,this.component=a.component,this.loc=null==a.location?.5:a.location,this.endpointLoc=null==a.endpointLocation?[.5,.5]:a.endpointLocation};d.prototype={cleanup:function(){this.component=null,this.canvas=null,this.endpointLoc=null},setVisible:function(a){this.visible=a,this.component.repaint()},isVisible:function(){return this.visible},hide:function(){this.setVisible(!1)},show:function(){this.setVisible(!0)},incrementLocation:function(a){this.loc+=a,this.component.repaint()},setLocation:function(a){this.loc=a,this.component.repaint()},getLocation:function(){return this.loc}},jsPlumb.Overlays.Arrow=function(a){this.type="Arrow",d.apply(this,arguments),this.isAppendedAtTopLevel=!1,a=a||{};var b=jsPlumbUtil,c=Biltong;this.length=a.length||20,this.width=a.width||20,this.id=a.id;var e=(a.direction||1)<0?-1:1,f=a.paintStyle||{lineWidth:1},g=a.foldback||.623;this.computeMaxSize=function(){return 1.5*self.width},this.draw=function(a,d){var h,i,j,k,l;if(a.pointAlongPathFrom){if(b.isString(this.loc)||this.loc>1||this.loc<0){var m=parseInt(this.loc,10),n=this.loc<0?1:0;h=a.pointAlongPathFrom(n,m,!1),i=a.pointAlongPathFrom(n,m-e*this.length/2,!1),j=c.pointOnLine(h,i,this.length)}else if(1==this.loc){if(h=a.pointOnPath(this.loc),i=a.pointAlongPathFrom(this.loc,-this.length),j=c.pointOnLine(h,i,this.length),-1==e){var o=j;j=h,h=o}}else if(0===this.loc){if(j=a.pointOnPath(this.loc),i=a.pointAlongPathFrom(this.loc,this.length),h=c.pointOnLine(j,i,this.length),-1==e){var p=j;j=h,h=p}}else h=a.pointAlongPathFrom(this.loc,e*this.length/2),i=a.pointOnPath(this.loc),j=c.pointOnLine(h,i,this.length);k=c.perpendicularLineTo(h,j,this.width),l=c.pointOnLine(h,j,g*this.length);var q={hxy:h,tail:k,cxy:l},r=f.strokeStyle||d.strokeStyle,s=f.fillStyle||d.strokeStyle,t=f.lineWidth||d.lineWidth,u={component:a,d:q,lineWidth:t,strokeStyle:r,fillStyle:s,minX:Math.min(h.x,k[0].x,k[1].x),maxX:Math.max(h.x,k[0].x,k[1].x),minY:Math.min(h.y,k[0].y,k[1].y),maxY:Math.max(h.y,k[0].y,k[1].y)};return u}return{component:a,minX:0,maxX:0,minY:0,maxY:0}}},jsPlumbUtil.extend(jsPlumb.Overlays.Arrow,d),jsPlumb.Overlays.PlainArrow=function(a){a=a||{};var b=jsPlumb.extend(a,{foldback:1});jsPlumb.Overlays.Arrow.call(this,b),this.type="PlainArrow"},jsPlumbUtil.extend(jsPlumb.Overlays.PlainArrow,jsPlumb.Overlays.Arrow),jsPlumb.Overlays.Diamond=function(a){a=a||{};var b=a.length||40,c=jsPlumb.extend(a,{length:b/2,foldback:2});jsPlumb.Overlays.Arrow.call(this,c),this.type="Diamond"},jsPlumbUtil.extend(jsPlumb.Overlays.Diamond,jsPlumb.Overlays.Arrow);var e=function(a,b){return(null==a._jsPlumb.cachedDimensions||b)&&(a._jsPlumb.cachedDimensions=a.getDimensions()),a._jsPlumb.cachedDimensions -},f=function(a){jsPlumb.DOMElementComponent.apply(this,arguments),d.apply(this,arguments),this.id=a.id,this._jsPlumb.div=null,this._jsPlumb.initialised=!1,this._jsPlumb.component=a.component,this._jsPlumb.cachedDimensions=null,this._jsPlumb.create=a.create,this._jsPlumb.initiallyInvisible=a.visible===!1,this.getElement=function(){if(null==this._jsPlumb.div){var b=this._jsPlumb.div=jsPlumb.getDOMElement(this._jsPlumb.create(this._jsPlumb.component));b.style.position="absolute";var c=this._jsPlumb.instance.overlayClass+" "+(this.cssClass?this.cssClass:a.cssClass?a.cssClass:"");b.className=c,this._jsPlumb.instance.appendElement(b),this._jsPlumb.instance.getId(b),this.attachListeners(b,this),this.canvas=b,a.visible===!1&&(b.style.display="none")}return this._jsPlumb.div},this.draw=function(a,b,c){var d=e(this);if(null!=d&&2==d.length){var f={x:0,y:0};if(c)f={x:c[0],y:c[1]};else if(a.pointOnPath){var g=this.loc,h=!1;(jsPlumbUtil.isString(this.loc)||this.loc<0||this.loc>1)&&(g=parseInt(this.loc,10),h=!0),f=a.pointOnPath(g,h)}else{var i=this.loc.constructor==Array?this.loc:this.endpointLoc;f={x:i[0]*a.w,y:i[1]*a.h}}var j=f.x-d[0]/2,k=f.y-d[1]/2;return{component:a,d:{minx:j,miny:k,td:d,cxy:f},minX:j,maxX:j+d[0],minY:k,maxY:k+d[1]}}return{minX:0,maxX:0,minY:0,maxY:0}}};jsPlumbUtil.extend(f,[jsPlumb.DOMElementComponent,d],{getDimensions:function(){return jsPlumb.getSize(this.getElement())},setVisible:function(a){this._jsPlumb.div.style.display=a?"block":"none",a&&this._jsPlumb.initiallyInvisible&&(e(this,!0),this.component.repaint(),this._jsPlumb.initiallyInvisible=!1)},clearCachedDimensions:function(){this._jsPlumb.cachedDimensions=null},cleanup:function(){null!=this._jsPlumb.div&&this._jsPlumb.instance.removeElement(this._jsPlumb.div)},computeMaxSize:function(){var a=e(this);return Math.max(a[0],a[1])},reattachListeners:function(a){this._jsPlumb.div&&this.reattachListenersForElement(this._jsPlumb.div,this,a)},paint:function(a){this._jsPlumb.initialised||(this.getElement(),a.component.appendDisplayElement(this._jsPlumb.div),this.attachListeners(this._jsPlumb.div,a.component),this._jsPlumb.initialised=!0),this._jsPlumb.div.style.left=a.component.x+a.d.minx+"px",this._jsPlumb.div.style.top=a.component.y+a.d.miny+"px"}}),jsPlumb.Overlays.Custom=function(){this.type="Custom",f.apply(this,arguments)},jsPlumbUtil.extend(jsPlumb.Overlays.Custom,f),jsPlumb.Overlays.GuideLines=function(){var a=this;a.length=50,a.lineWidth=5,this.type="GuideLines",d.apply(this,arguments),jsPlumb.jsPlumbUIComponent.apply(this,arguments),this.draw=function(b){var c=b.pointAlongPathFrom(a.loc,a.length/2),d=b.pointOnPath(a.loc),e=Biltong.pointOnLine(c,d,a.length),f=Biltong.perpendicularLineTo(c,e,40),g=Biltong.perpendicularLineTo(e,c,20);return{connector:b,head:c,tail:e,headLine:g,tailLine:f,minX:Math.min(c.x,e.x,g[0].x,g[1].x),minY:Math.min(c.y,e.y,g[0].y,g[1].y),maxX:Math.max(c.x,e.x,g[0].x,g[1].x),maxY:Math.max(c.y,e.y,g[0].y,g[1].y)}}},jsPlumb.Overlays.Label=function(a){this.labelStyle=a.labelStyle,this.cssClass=null!=this.labelStyle?this.labelStyle.cssClass:null;var b=jsPlumb.extend({create:function(){return document.createElement("div")}},a);if(jsPlumb.Overlays.Custom.call(this,b),this.type="Label",this.label=a.label||"",this.labelText=null,this.labelStyle){var c=this.getElement();if(this.labelStyle.font=this.labelStyle.font||"12px sans-serif",c.style.font=this.labelStyle.font,c.style.color=this.labelStyle.color||"black",this.labelStyle.fillStyle&&(c.style.background=this.labelStyle.fillStyle),this.labelStyle.borderWidth>0){var d=this.labelStyle.borderStyle?this.labelStyle.borderStyle:"black";c.style.border=this.labelStyle.borderWidth+"px solid "+d}this.labelStyle.padding&&(c.style.padding=this.labelStyle.padding)}},jsPlumbUtil.extend(jsPlumb.Overlays.Label,jsPlumb.Overlays.Custom,{cleanup:function(){this.div=null,this.label=null,this.labelText=null,this.cssClass=null,this.labelStyle=null},getLabel:function(){return this.label},setLabel:function(a){this.label=a,this.labelText=null,this.clearCachedDimensions(),this.update(),this.component.repaint()},getDimensions:function(){return this.update(),f.prototype.getDimensions.apply(this,arguments)},update:function(){if("function"==typeof this.label){var a=this.label(this);this.getElement().innerHTML=a.replace(/\r\n/g,"
    ")}else null==this.labelText&&(this.labelText=this.label,this.getElement().innerHTML=this.labelText.replace(/\r\n/g,"
    "))}})}(),function(){"use strict";var a=function(a){this.type="Flowchart",a=a||{},a.stub=null==a.stub?30:a.stub;var b,c=jsPlumb.Connectors.AbstractConnector.apply(this,arguments),d=null==a.midpoint?.5:a.midpoint,e=[],f=(a.grid,a.alwaysRespectStubs),g=null,h=null,i=null,j=null!=a.cornerRadius?a.cornerRadius:0,k=function(a){return 0>a?-1:0===a?0:1},l=function(a,b,c,d){if(h!=b||i!=c){var e=null==h?d.sx:h,f=null==i?d.sy:i,g=e==b?"v":"h",j=k(b-e),l=k(c-f);h=b,i=c,a.push([e,f,b,c,g,j,l])}},m=function(a){return Math.sqrt(Math.pow(a[0]-a[2],2)+Math.pow(a[1]-a[3],2))},n=function(a){var b=[];return b.push.apply(b,a),b},o=function(a,b,d){for(var e,f,g=0;g0&&e[4]!=f[4]){var h=Math.min(j,m(e),m(f));e[2]-=e[5]*h,e[3]-=e[6]*h,f[0]+=f[5]*h,f[1]+=f[6]*h;var i=e[6]==f[5]&&1==f[5]||e[6]==f[5]&&0===f[5]&&e[5]!=f[6]||e[6]==f[5]&&-1==f[5],k=f[1]>e[3]?1:-1,l=f[0]>e[2]?1:-1,o=k==l,p=o&&i||!o&&!i?f[0]:e[2],q=o&&i||!o&&!i?e[3]:f[1];c.addSegment(a,"Straight",{x1:e[0],y1:e[1],x2:e[2],y2:e[3]}),c.addSegment(a,"Arc",{r:h,x1:e[2],y1:e[3],x2:f[0],y2:f[1],cx:p,cy:q,ac:i})}else{var r=e[2]==e[0]?0:e[2]>e[0]?d.lw/2:-(d.lw/2),s=e[3]==e[1]?0:e[3]>e[1]?d.lw/2:-(d.lw/2);c.addSegment(a,"Straight",{x1:e[0]-r,y1:e[1]-s,x2:e[2]+r,y2:e[3]+s})}e=f}null!=f&&c.addSegment(a,"Straight",{x1:f[0],y1:f[1],x2:f[2],y2:f[3]})};this.setSegments=function(a){g=a},this.isEditable=function(){return!0},this.getOriginalSegments=function(){return g||e},this._compute=function(a,j){if(j.clearEdits&&(g=null),null!=g)return o(this,g,a),void 0;e=[],h=null,i=null,b=null;var k=a.startStubX+(a.endStubX-a.startStubX)*d,m=a.startStubY+(a.endStubY-a.startStubY)*d,n={x:[0,1],y:[1,0]},p=function(){return[a.startStubX,a.startStubY,a.endStubX,a.endStubY]},q={perpendicular:p,orthogonal:p,opposite:function(b){var c=a,d="x"==b?0:1,e={x:function(){return 1==c.so[d]&&(c.startStubX>c.endStubX&&c.tx>c.startStubX||c.sx>c.endStubX&&c.tx>c.sx)||-1==c.so[d]&&(c.startStubXc.endStubY&&c.ty>c.startStubY||c.sy>c.endStubY&&c.ty>c.sy)||-1==c.so[d]&&(c.startStubYj[b][0],s=e[b][p][0],t=e[b][p][1],u=d[b][p][q];return c.segment==u[3]||c.segment==u[2]&&r?f[b]:c.segment==u[2]&&s>t?g[b]:c.segment==u[2]&&t>=s||c.segment==u[1]&&!r?i[b]:c.segment==u[0]||c.segment==u[1]&&r?h[b]:void 0},orthogonal:function(b,c,d,e,f){var g=a,h={x:-1==g.so[0]?Math.min(c,e):Math.max(c,e),y:-1==g.so[1]?Math.min(c,e):Math.max(c,e)}[b];return{x:[[h,d],[h,f],[e,f]],y:[[d,h],[f,h],[f,e]]}[b]},opposite:function(b,d,e,f){var g=a,h={x:"y",y:"x"}[b],i={x:"height",y:"width"}[b],l=g["is"+b.toUpperCase()+"GreaterThanStubTimes2"];if(j.sourceEndpoint.elementId==j.targetEndpoint.elementId){var n=e+(1-j.sourceEndpoint.anchor[h])*j.sourceInfo[i]+c.maxStub;return{x:[[d,n],[f,n]],y:[[n,d],[n,f]]}[b]}return!l||1==g.so[t]&&d>f||-1==g.so[t]&&f>d?{x:[[d,m],[f,m]],y:[[k,d],[k,f]]}[b]:1==g.so[t]&&f>d||-1==g.so[t]&&d>f?{x:[[k,g.sy],[k,g.ty]],y:[[g.sx,m],[g.tx,m]]}[b]:void 0}},s=q[a.anchorOrientation](a.sourceAxis),t="x"==a.sourceAxis?0:1,u="x"==a.sourceAxis?1:0,v=s[t],w=s[u],x=s[t+2],y=s[u+2];l(e,s[0],s[1],a);var z=r[a.anchorOrientation](a.sourceAxis,v,w,x,y);if(z)for(var A=0;A=a&&b>=d?1:c>=a&&d>=b?2:a>=c&&d>=b?3:4},b=function(a,b,c,d,e,f,g,h,i){return i>=h?[a,b]:1===c?d[3]<=0&&e[3]>=1?[a+(d[2]<.5?-1*f:f),b]:d[2]>=1&&e[2]<=0?[a,b+(d[3]<.5?-1*g:g)]:[a+-1*f,b+-1*g]:2===c?d[3]>=1&&e[3]<=0?[a+(d[2]<.5?-1*f:f),b]:d[2]>=1&&e[2]<=0?[a,b+(d[3]<.5?-1*g:g)]:[a+1*f,b+-1*g]:3===c?d[3]>=1&&e[3]<=0?[a+(d[2]<.5?-1*f:f),b]:d[2]<=0&&e[2]>=1?[a,b+(d[3]<.5?-1*g:g)]:[a+-1*f,b+-1*g]:4===c?d[3]<=0&&e[3]>=1?[a+(d[2]<.5?-1*f:f),b]:d[2]<=0&&e[2]>=1?[a,b+(d[3]<.5?-1*g:g)]:[a+1*f,b+-1*g]:void 0},c=function(c){c=c||{},this.type="StateMachine";var d=jsPlumb.Connectors.AbstractConnector.apply(this,arguments),e=c.curviness||10,f=c.margin||5,g=c.proximityLimit||80,h=c.orientation&&"clockwise"===c.orientation,i=c.loopbackRadius||25,j=c.showLoopback!==!1;this._compute=function(c,k){var l=Math.abs(k.sourcePos[0]-k.targetPos[0]),m=Math.abs(k.sourcePos[1]-k.targetPos[1]);if(Math.min(k.sourcePos[0],k.targetPos[0]),Math.min(k.sourcePos[1],k.targetPos[1]),j&&k.sourceEndpoint.elementId===k.targetEndpoint.elementId){var n=k.sourcePos[0],o=(k.sourcePos[0],k.sourcePos[1]-f),p=(k.sourcePos[1]-f,n),q=o-i,r=2*i,s=2*i,t=p-i,u=q-i;c.points[0]=t,c.points[1]=u,c.points[2]=r,c.points[3]=s,d.addSegment(this,"Arc",{loopback:!0,x1:n-t+4,y1:o-u,startAngle:0,endAngle:2*Math.PI,r:i,ac:!h,x2:n-t-4,y2:o-u,cx:p-t,cy:q-u})}else{var v=k.sourcePos[0]c?a.insertBefore(b,a.childNodes[c]):a.appendChild(b)};jsPlumbUtil.svg={node:q,attr:p,pos:r};var w=function(a){var b=a.pointerEventsSpec||"all",c={};jsPlumb.jsPlumbUIComponent.apply(this,a.originalArgs),this.canvas=null,this.path=null,this.svg=null,this.bgCanvas=null;var d=a.cssClass+" "+(a.originalArgs[0].cssClass||""),e={style:"",width:0,height:0,"pointer-events":b,position:"absolute"};this.svg=q("svg",e),a.useDivWrapper?(this.canvas=document.createElement("div"),this.canvas.style.position="absolute",jsPlumbUtil.sizeElement(this.canvas,0,0,1,1),this.canvas.className=d):(p(this.svg,{"class":d}),this.canvas=this.svg),a._jsPlumb.appendElement(this.canvas,a.originalArgs[0].parent),a.useDivWrapper&&this.canvas.appendChild(this.svg);var f=[this.canvas];return this.getDisplayElements=function(){return f},this.appendDisplayElement=function(a){f.push(a)},this.paint=function(b,d,e){if(null!=b){var f,g=[this.x,this.y],h=[this.w,this.h];null!=e&&(e.xmin<0&&(g[0]+=e.xmin),e.ymin<0&&(g[1]+=e.ymin),h[0]=e.xmax+(e.xmin<0?-e.xmin:0),h[1]=e.ymax+(e.ymin<0?-e.ymin:0)),a.useDivWrapper?(jsPlumbUtil.sizeElement(this.canvas,g[0],g[1],h[0],h[1]),g[0]=0,g[1]=0,f=r([0,0])):f=r([g[0],g[1]]),c.paint.apply(this,arguments),p(this.svg,{style:f,width:h[0],height:h[1]})}},{renderer:c}};jsPlumbUtil.extend(w,jsPlumb.jsPlumbUIComponent,{cleanup:function(){this.canvas&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas),this.svg=null,this.canvas=null,this.bgCanvas=null,this.path=null,this.group=null},setVisible:function(a){this.canvas&&(this.canvas.style.display=a?"block":"none"),this.bgCanvas&&(this.bgCanvas.style.display=a?"block":"none")}}),jsPlumb.ConnectorRenderers.svg=function(a){var b=this,c=w.apply(this,[{cssClass:a._jsPlumb.connectorClass,originalArgs:arguments,pointerEventsSpec:"none",_jsPlumb:a._jsPlumb}]);c.renderer.paint=function(c,d,e){var f=b.getSegments(),g="",h=[0,0];if(e.xmin<0&&(h[0]=-e.xmin),e.ymin<0&&(h[1]=-e.ymin),f.length>0){for(var i=0;iMath.PI?1:0,d=a.anticlockwise?0:1;return"M"+a.x1+" "+a.y1+" A "+a.radius+" "+b.r+" 0 "+c+","+d+" "+a.x2+" "+a.y2}}[a.type]()}}};var x=window.SvgEndpoint=function(a){var b=w.apply(this,[{cssClass:a._jsPlumb.endpointClass,originalArgs:arguments,pointerEventsSpec:"all",useDivWrapper:!0,_jsPlumb:a._jsPlumb}]);b.renderer.paint=function(a){var b=jsPlumb.extend({},a);b.outlineColor&&(b.strokeWidth=b.outlineWidth,b.strokeStyle=jsPlumbUtil.convertStyle(b.outlineColor,!0)),null==this.node?(this.node=this.makeNode(b),this.svg.appendChild(this.node),this.attachListeners(this.node,this)):null!=this.updateNode&&this.updateNode(this.node),u(this.svg,this.node,b,[this.x,this.y,this.w,this.h],this),r(this.node,[this.x,this.y])}.bind(this)};jsPlumbUtil.extend(x,w,{reattachListeners:function(){this.node&&this.reattachListenersForElement(this.node,this)}}),jsPlumb.Endpoints.svg.Dot=function(){jsPlumb.Endpoints.Dot.apply(this,arguments),x.apply(this,arguments),this.makeNode=function(){return q("circle",{cx:this.w/2,cy:this.h/2,r:this.radius})},this.updateNode=function(a){p(a,{cx:this.w/2,cy:this.h/2,r:this.radius})}},jsPlumbUtil.extend(jsPlumb.Endpoints.svg.Dot,[jsPlumb.Endpoints.Dot,x]),jsPlumb.Endpoints.svg.Rectangle=function(){jsPlumb.Endpoints.Rectangle.apply(this,arguments),x.apply(this,arguments),this.makeNode=function(){return q("rect",{width:this.w,height:this.h})},this.updateNode=function(a){p(a,{width:this.w,height:this.h})}},jsPlumbUtil.extend(jsPlumb.Endpoints.svg.Rectangle,[jsPlumb.Endpoints.Rectangle,x]),jsPlumb.Endpoints.svg.Image=jsPlumb.Endpoints.Image,jsPlumb.Endpoints.svg.Blank=jsPlumb.Endpoints.Blank,jsPlumb.Overlays.svg.Label=jsPlumb.Overlays.Label,jsPlumb.Overlays.svg.Custom=jsPlumb.Overlays.Custom;var y=function(a,b){a.apply(this,b),jsPlumb.jsPlumbUIComponent.apply(this,b),this.isAppendedAtTopLevel=!1,this.path=null,this.paint=function(a,d){if(a.component.svg&&d){null==this.path&&(this.path=q("path",{"pointer-events":"all"}),a.component.svg.appendChild(this.path),this.canvas=a.component.svg,this.attachListeners(this.path,a.component),this.attachListeners(this.path,this));var e=b&&1==b.length?b[0].cssClass||"":"",f=[0,0];d.xmin<0&&(f[0]=-d.xmin),d.ymin<0&&(f[1]=-d.ymin),p(this.path,{d:c(a.d),"class":e,stroke:a.strokeStyle?a.strokeStyle:null,fill:a.fillStyle?a.fillStyle:null,transform:"translate("+f[0]+","+f[1]+")"})}};var c=function(a){return"M"+a.hxy.x+","+a.hxy.y+" L"+a.tail[0].x+","+a.tail[0].y+" L"+a.cxy.x+","+a.cxy.y+" L"+a.tail[1].x+","+a.tail[1].y+" L"+a.hxy.x+","+a.hxy.y};this.reattachListeners=function(){this.path&&this.reattachListenersForElement(this.path,this)}};jsPlumbUtil.extend(y,[jsPlumb.jsPlumbUIComponent,jsPlumb.Overlays.AbstractOverlay],{cleanup:function(){null!=this.path&&this._jsPlumb.instance.removeElement(this.path)},setVisible:function(a){null!=this.path&&(this.path.style.display=a?"block":"none")}}),jsPlumb.Overlays.svg.Arrow=function(){y.apply(this,[jsPlumb.Overlays.Arrow,arguments])},jsPlumbUtil.extend(jsPlumb.Overlays.svg.Arrow,[jsPlumb.Overlays.Arrow,y]),jsPlumb.Overlays.svg.PlainArrow=function(){y.apply(this,[jsPlumb.Overlays.PlainArrow,arguments])},jsPlumbUtil.extend(jsPlumb.Overlays.svg.PlainArrow,[jsPlumb.Overlays.PlainArrow,y]),jsPlumb.Overlays.svg.Diamond=function(){y.apply(this,[jsPlumb.Overlays.Diamond,arguments])},jsPlumbUtil.extend(jsPlumb.Overlays.svg.Diamond,[jsPlumb.Overlays.Diamond,y]),jsPlumb.Overlays.svg.GuideLines=function(){var a,b,c=null,d=this;jsPlumb.Overlays.GuideLines.apply(this,arguments),this.paint=function(f,g){null==c&&(c=q("path"),f.connector.svg.appendChild(c),d.attachListeners(c,f.connector),d.attachListeners(c,d),a=q("path"),f.connector.svg.appendChild(a),d.attachListeners(a,f.connector),d.attachListeners(a,d),b=q("path"),f.connector.svg.appendChild(b),d.attachListeners(b,f.connector),d.attachListeners(b,d));var h=[0,0];g.xmin<0&&(h[0]=-g.xmin),g.ymin<0&&(h[1]=-g.ymin),p(c,{d:e(f.head,f.tail),stroke:"red",fill:null,transform:"translate("+h[0]+","+h[1]+")"}),p(a,{d:e(f.tailLine[0],f.tailLine[1]),stroke:"blue",fill:null,transform:"translate("+h[0]+","+h[1]+")"}),p(b,{d:e(f.headLine[0],f.headLine[1]),stroke:"green",fill:null,transform:"translate("+h[0]+","+h[1]+")"})};var e=function(a,b){return"M "+a.x+","+a.y+" L"+b.x+","+b.y}},jsPlumbUtil.extend(jsPlumb.Overlays.svg.GuideLines,jsPlumb.Overlays.GuideLines)}(),function(){"use strict";var a={"stroke-linejoin":"joinstyle",joinstyle:"joinstyle",endcap:"endcap",miterlimit:"miterlimit"},b=null;if(document.createStyleSheet&&document.namespaces){var c=[".jsplumb_vml","jsplumb\\:textbox","jsplumb\\:oval","jsplumb\\:rect","jsplumb\\:stroke","jsplumb\\:shape","jsplumb\\:group"],d="behavior:url(#default#VML);position:absolute;";b=document.createStyleSheet();for(var e=0;e0&&t-1 in e}if(!e.jQuery){var $=function(e,t){return new $.fn.init(e,t)};$.isWindow=function(e){return null!=e&&e==e.window},$.type=function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?a[o.call(e)]||"object":typeof e},$.isArray=Array.isArray||function(e){return"array"===$.type(e)},$.isPlainObject=function(e){var t;if(!e||"object"!==$.type(e)||e.nodeType||$.isWindow(e))return!1;try{if(e.constructor&&!n.call(e,"constructor")&&!n.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}for(t in e);return void 0===t||n.call(e,t)},$.each=function(e,r,a){var n,o=0,i=e.length,s=t(e);if(a){if(s)for(;i>o&&(n=r.apply(e[o],a),n!==!1);o++);else for(o in e)if(n=r.apply(e[o],a),n===!1)break}else if(s)for(;i>o&&(n=r.call(e[o],o,e[o]),n!==!1);o++);else for(o in e)if(n=r.call(e[o],o,e[o]),n===!1)break;return e},$.data=function(e,t,a){if(void 0===a){var n=e[$.expando],o=n&&r[n];if(void 0===t)return o;if(o&&t in o)return o[t]}else if(void 0!==t){var n=e[$.expando]||(e[$.expando]=++$.uuid);return r[n]=r[n]||{},r[n][t]=a,a}},$.removeData=function(e,t){var a=e[$.expando],n=a&&r[a];n&&$.each(t,function(e,t){delete n[t]})},$.extend=function(){var e,t,r,a,n,o,i=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof i&&(u=i,i=arguments[s]||{},s++),"object"!=typeof i&&"function"!==$.type(i)&&(i={}),s===l&&(i=this,s--);l>s;s++)if(null!=(n=arguments[s]))for(a in n)e=i[a],r=n[a],i!==r&&(u&&r&&($.isPlainObject(r)||(t=$.isArray(r)))?(t?(t=!1,o=e&&$.isArray(e)?e:[]):o=e&&$.isPlainObject(e)?e:{},i[a]=$.extend(u,o,r)):void 0!==r&&(i[a]=r));return i},$.queue=function(e,r,a){function n(e,r){var a=r||[];return null!=e&&(t(Object(e))?!function(e,t){for(var r=+t.length,a=0,n=e.length;r>a;)e[n++]=t[a++];if(r!==r)for(;void 0!==t[a];)e[n++]=t[a++];return e.length=n,e}(a,"string"==typeof e?[e]:e):[].push.call(a,e)),a}if(e){r=(r||"fx")+"queue";var o=$.data(e,r);return a?(!o||$.isArray(a)?o=$.data(e,r,n(a)):o.push(a),o):o||[]}},$.dequeue=function(e,t){$.each(e.nodeType?[e]:e,function(e,r){t=t||"fx";var a=$.queue(r,t),n=a.shift();"inprogress"===n&&(n=a.shift()),n&&("fx"===t&&a.unshift("inprogress"),n.call(r,function(){$.dequeue(r,t)}))})},$.fn=$.prototype={init:function(e){if(e.nodeType)return this[0]=e,this;throw new Error("Not a DOM node.")},offset:function(){var t=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:t.top+(e.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:t.left+(e.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function e(){for(var e=this.offsetParent||document;e&&"html"===!e.nodeType.toLowerCase&&"static"===e.style.position;)e=e.offsetParent;return e||document}var t=this[0],e=e.apply(t),r=this.offset(),a=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:$(e).offset();return r.top-=parseFloat(t.style.marginTop)||0,r.left-=parseFloat(t.style.marginLeft)||0,e.style&&(a.top+=parseFloat(e.style.borderTopWidth)||0,a.left+=parseFloat(e.style.borderLeftWidth)||0),{top:r.top-a.top,left:r.left-a.left}}};var r={};$.expando="velocity"+(new Date).getTime(),$.uuid=0;for(var a={},n=a.hasOwnProperty,o=a.toString,i="Boolean Number String Function Array Date RegExp Object Error".split(" "),s=0;sn;++n){var o=u(r,e,a);if(0===o)return r;var i=l(r,e,a)-t;r-=i/o}return r}function p(){for(var t=0;b>t;++t)w[t]=l(t*x,e,a)}function f(t,r,n){var o,i,s=0;do i=r+(n-r)/2,o=l(i,e,a)-t,o>0?n=i:r=i;while(Math.abs(o)>h&&++s=y?c(t,s):0==l?s:f(t,r,r+x)}function g(){V=!0,(e!=r||a!=n)&&p()}var m=4,y=.001,h=1e-7,v=10,b=11,x=1/(b-1),S="Float32Array"in t;if(4!==arguments.length)return!1;for(var P=0;4>P;++P)if("number"!=typeof arguments[P]||isNaN(arguments[P])||!isFinite(arguments[P]))return!1;e=Math.min(e,1),a=Math.min(a,1),e=Math.max(e,0),a=Math.max(a,0);var w=S?new Float32Array(b):new Array(b),V=!1,C=function(t){return V||g(),e===r&&a===n?t:0===t?0:1===t?1:l(d(t),r,n)};C.getControlPoints=function(){return[{x:e,y:r},{x:a,y:n}]};var T="generateBezier("+[e,r,a,n]+")";return C.toString=function(){return T},C}function u(e,t){var r=e;return g.isString(e)?v.Easings[e]||(r=!1):r=g.isArray(e)&&1===e.length?s.apply(null,e):g.isArray(e)&&2===e.length?b.apply(null,e.concat([t])):g.isArray(e)&&4===e.length?l.apply(null,e):!1,r===!1&&(r=v.Easings[v.defaults.easing]?v.defaults.easing:h),r}function c(e){if(e){var t=(new Date).getTime(),r=v.State.calls.length;r>1e4&&(v.State.calls=n(v.State.calls));for(var o=0;r>o;o++)if(v.State.calls[o]){var s=v.State.calls[o],l=s[0],u=s[2],f=s[3],d=!!f,m=null;f||(f=v.State.calls[o][3]=t-16);for(var y=Math.min((t-f)/u.duration,1),h=0,b=l.length;b>h;h++){var S=l[h],w=S.element;if(i(w)){var V=!1;if(u.display!==a&&null!==u.display&&"none"!==u.display){if("flex"===u.display){var C=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];$.each(C,function(e,t){x.setPropertyValue(w,"display",t)})}x.setPropertyValue(w,"display",u.display)}u.visibility!==a&&"hidden"!==u.visibility&&x.setPropertyValue(w,"visibility",u.visibility);for(var T in S)if("element"!==T){var k=S[T],A,F=g.isString(k.easing)?v.Easings[k.easing]:k.easing;if(1===y)A=k.endValue;else{var E=k.endValue-k.startValue;if(A=k.startValue+E*F(y,u,E),!d&&A===k.currentValue)continue}if(k.currentValue=A,"tween"===T)m=A;else{if(x.Hooks.registered[T]){var j=x.Hooks.getRoot(T),H=i(w).rootPropertyValueCache[j];H&&(k.rootPropertyValue=H)}var N=x.setPropertyValue(w,T,k.currentValue+(0===parseFloat(A)?"":k.unitType),k.rootPropertyValue,k.scrollData);x.Hooks.registered[T]&&(i(w).rootPropertyValueCache[j]=x.Normalizations.registered[j]?x.Normalizations.registered[j]("extract",null,N[1]):N[1]),"transform"===N[0]&&(V=!0)}}u.mobileHA&&i(w).transformCache.translate3d===a&&(i(w).transformCache.translate3d="(0px, 0px, 0px)",V=!0),V&&x.flushTransformCache(w)}}u.display!==a&&"none"!==u.display&&(v.State.calls[o][2].display=!1),u.visibility!==a&&"hidden"!==u.visibility&&(v.State.calls[o][2].visibility=!1),u.progress&&u.progress.call(s[1],s[1],y,Math.max(0,f+u.duration-t),f,m),1===y&&p(o)}}v.State.isTicking&&P(c)}function p(e,t){if(!v.State.calls[e])return!1;for(var r=v.State.calls[e][0],n=v.State.calls[e][1],o=v.State.calls[e][2],s=v.State.calls[e][4],l=!1,u=0,c=r.length;c>u;u++){var p=r[u].element;if(t||o.loop||("none"===o.display&&x.setPropertyValue(p,"display",o.display),"hidden"===o.visibility&&x.setPropertyValue(p,"visibility",o.visibility)),o.loop!==!0&&($.queue(p)[1]===a||!/\.velocityQueueEntryFlag/i.test($.queue(p)[1]))&&i(p)){i(p).isAnimating=!1,i(p).rootPropertyValueCache={};var f=!1;$.each(x.Lists.transforms3D,function(e,t){var r=/^scale/.test(t)?1:0,n=i(p).transformCache[t];i(p).transformCache[t]!==a&&new RegExp("^\\("+r+"[^.]").test(n)&&(f=!0,delete i(p).transformCache[t])}),o.mobileHA&&(f=!0,delete i(p).transformCache.translate3d),f&&x.flushTransformCache(p),x.Values.removeClass(p,"velocity-animating")}if(!t&&o.complete&&!o.loop&&u===c-1)try{o.complete.call(n,n)}catch(d){setTimeout(function(){throw d},1)}s&&o.loop!==!0&&s(n),o.loop!==!0||t||($.each(i(p).tweensContainer,function(e,t){/^rotate/.test(e)&&360===parseFloat(t.endValue)&&(t.endValue=0,t.startValue=360),/^backgroundPosition/.test(e)&&100===parseFloat(t.endValue)&&"%"===t.unitType&&(t.endValue=0,t.startValue=100)}),v(p,"reverse",{loop:!0,delay:o.delay})),o.queue!==!1&&$.dequeue(p,o.queue)}v.State.calls[e]=!1;for(var g=0,m=v.State.calls.length;m>g;g++)if(v.State.calls[g]!==!1){l=!0;break}l===!1&&(v.State.isTicking=!1,delete v.State.calls,v.State.calls=[])}var f=function(){if(r.documentMode)return r.documentMode;for(var e=7;e>4;e--){var t=r.createElement("div");if(t.innerHTML="",t.getElementsByTagName("span").length)return t=null,e}return a}(),d=function(){var e=0;return t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||function(t){var r=(new Date).getTime(),a;return a=Math.max(0,16-(r-e)),e=r+a,setTimeout(function(){t(r+a)},a)}}(),g={isString:function(e){return"string"==typeof e},isArray:Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isNodeList:function(e){return"object"==typeof e&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&e.length!==a&&(0===e.length||"object"==typeof e[0]&&e[0].nodeType>0)},isWrapped:function(e){return e&&(e.jquery||t.Zepto&&t.Zepto.zepto.isZ(e))},isSVG:function(e){return t.SVGElement&&e instanceof t.SVGElement},isEmptyObject:function(e){for(var t in e)return!1;return!0}},$,m=!1;if(e.fn&&e.fn.jquery?($=e,m=!0):$=t.Velocity.Utilities,8>=f&&!m)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=f)return void(jQuery.fn.velocity=jQuery.fn.animate);var y=400,h="swing",v={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:t.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:r.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:$,Redirects:{},Easings:{},Promise:t.Promise,defaults:{queue:"",duration:y,easing:h,begin:a,complete:a,progress:a,display:a,visibility:a,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(e){$.data(e,"velocity",{isSVG:g.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:1},debug:!1};t.pageYOffset!==a?(v.State.scrollAnchor=t,v.State.scrollPropertyLeft="pageXOffset",v.State.scrollPropertyTop="pageYOffset"):(v.State.scrollAnchor=r.documentElement||r.body.parentNode||r.body,v.State.scrollPropertyLeft="scrollLeft",v.State.scrollPropertyTop="scrollTop");var b=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,a){var n={x:t.x+a.dx*r,v:t.v+a.dv*r,tension:t.tension,friction:t.friction};return{dx:n.v,dv:e(n)}}function r(r,a){var n={dx:r.v,dv:e(r)},o=t(r,.5*a,n),i=t(r,.5*a,o),s=t(r,a,i),l=1/6*(n.dx+2*(o.dx+i.dx)+s.dx),u=1/6*(n.dv+2*(o.dv+i.dv)+s.dv);return r.x=r.x+l*a,r.v=r.v+u*a,r}return function a(e,t,n){var o={x:-1,v:0,tension:null,friction:null},i=[0],s=0,l=1e-4,u=.016,c,p,f;for(e=parseFloat(e)||500,t=parseFloat(t)||20,n=n||null,o.tension=e,o.friction=t,c=null!==n,c?(s=a(e,t),p=s/n*u):p=u;;)if(f=r(f||o,p),i.push(1+f.x),s+=16,!(Math.abs(f.x)>l&&Math.abs(f.v)>l))break;return c?function(e){return i[e*(i.length-1)|0]}:s}}();v.Easings={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}},$.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(e,t){v.Easings[t[0]]=l.apply(null,t[1])});var x=v.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e=0;e=f)switch(e){case"name":return"filter";case"extract":var a=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=a?a[1]/100:1;case"inject":return t.style.zoom=1,parseFloat(r)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case"name":return"opacity";case"extract":return r;case"inject":return r}}},register:function(){9>=f||v.State.isGingerbread||(x.Lists.transformsBase=x.Lists.transformsBase.concat(x.Lists.transforms3D));for(var e=0;en&&(n=1),o=!/(\d)$/i.test(n);break;case"skew":o=!/(deg|\d)$/i.test(n);break;case"rotate":o=!/(deg|\d)$/i.test(n)}return o||(i(r).transformCache[t]="("+n+")"),i(r).transformCache[t]}}}();for(var e=0;e=f||3!==o.split(" ").length||(o+=" 1"),o;case"inject":return 8>=f?4===n.split(" ").length&&(n=n.split(/\s+/).slice(0,3).join(" ")):3===n.split(" ").length&&(n+=" 1"),(8>=f?"rgb":"rgba")+"("+n.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(f||v.State.isAndroid&&!v.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(v.State.prefixMatches[e])return[v.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,a=t.length;a>r;r++){var n;if(n=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()}),g.isString(v.State.prefixElement.style[n]))return v.State.prefixMatches[e]=n,[n,!0]}return[e,!1]}},Values:{hexToRgb:function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,a;return e=e.replace(t,function(e,t,r,a){return t+t+r+r+a+a}),a=r.exec(e),a?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]:[0,0,0]},isCSSNullValue:function(e){return 0==e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return/^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){var t=e&&e.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t)?"inline":/^(li)$/i.test(t)?"list-item":/^(tr)$/i.test(t)?"table-row":/^(table)$/i.test(t)?"table":/^(tbody)$/i.test(t)?"table-row-group":"block"},addClass:function(e,t){e.classList?e.classList.add(t):e.className+=(e.className.length?" ":"")+t},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(e,r,n,o){function s(e,r){function n(){u&&x.setPropertyValue(e,"display","none")}var l=0;if(8>=f)l=$.css(e,r);else{var u=!1;if(/^(width|height)$/.test(r)&&0===x.getPropertyValue(e,"display")&&(u=!0,x.setPropertyValue(e,"display",x.Values.getDisplayType(e))),!o){if("height"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var c=e.offsetHeight-(parseFloat(x.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingTop"))||0)-(parseFloat(x.getPropertyValue(e,"paddingBottom"))||0);return n(),c}if("width"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var p=e.offsetWidth-(parseFloat(x.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat(x.getPropertyValue(e,"paddingRight"))||0);return n(),p}}var d;d=i(e)===a?t.getComputedStyle(e,null):i(e).computedStyle?i(e).computedStyle:i(e).computedStyle=t.getComputedStyle(e,null),"borderColor"===r&&(r="borderTopColor"),l=9===f&&"filter"===r?d.getPropertyValue(r):d[r],(""===l||null===l)&&(l=e.style[r]),n()}if("auto"===l&&/^(top|right|bottom|left)$/i.test(r)){var g=s(e,"position");("fixed"===g||"absolute"===g&&/top|left/i.test(r))&&(l=$(e).position()[r]+"px")}return l}var l;if(x.Hooks.registered[r]){var u=r,c=x.Hooks.getRoot(u);n===a&&(n=x.getPropertyValue(e,x.Names.prefixCheck(c)[0])),x.Normalizations.registered[c]&&(n=x.Normalizations.registered[c]("extract",e,n)),l=x.Hooks.extractValue(u,n)}else if(x.Normalizations.registered[r]){var p,d;p=x.Normalizations.registered[r]("name",e),"transform"!==p&&(d=s(e,x.Names.prefixCheck(p)[0]),x.Values.isCSSNullValue(d)&&x.Hooks.templates[r]&&(d=x.Hooks.templates[r][1])),l=x.Normalizations.registered[r]("extract",e,d)}if(!/^[\d-]/.test(l))if(i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r))if(/^(height|width)$/i.test(r))try{l=e.getBBox()[r]}catch(g){l=0}else l=e.getAttribute(r);else l=s(e,x.Names.prefixCheck(r)[0]);return x.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+r+": "+l),l},setPropertyValue:function(e,r,a,n,o){var s=r;if("scroll"===r)o.container?o.container["scroll"+o.direction]=a:"Left"===o.direction?t.scrollTo(a,o.alternateValue):t.scrollTo(o.alternateValue,a);else if(x.Normalizations.registered[r]&&"transform"===x.Normalizations.registered[r]("name",e))x.Normalizations.registered[r]("inject",e,a),s="transform",a=i(e).transformCache[r];else{if(x.Hooks.registered[r]){var l=r,u=x.Hooks.getRoot(r);n=n||x.getPropertyValue(e,u),a=x.Hooks.injectValue(l,a,n),r=u}if(x.Normalizations.registered[r]&&(a=x.Normalizations.registered[r]("inject",e,a),r=x.Normalizations.registered[r]("name",e)),s=x.Names.prefixCheck(r)[0],8>=f)try{e.style[s]=a}catch(c){v.debug&&console.log("Browser does not support ["+a+"] for ["+s+"]")}else i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r)?e.setAttribute(r,a):e.style[s]=a;v.debug>=2&&console.log("Set "+r+" ("+s+"): "+a)}return[s,a]},flushTransformCache:function(e){function t(t){return parseFloat(x.getPropertyValue(e,t))}var r="";if((f||v.State.isAndroid&&!v.State.isChrome)&&i(e).isSVG){var a={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};$.each(i(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(r+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var n,o;$.each(i(e).transformCache,function(t){return n=i(e).transformCache[t],"transformPerspective"===t?(o=n,!0):(9===f&&"rotateZ"===t&&(t="rotate"),void(r+=t+n+" "))}),o&&(r="perspective"+o+" "+r)}x.setPropertyValue(e,"transform",r)}};x.Hooks.register(),x.Normalizations.register(),v.hook=function(e,t,r){var n=a;return e=o(e),$.each(e,function(e,o){if(i(o)===a&&v.init(o),r===a)n===a&&(n=v.CSS.getPropertyValue(o,t));else{var s=v.CSS.setPropertyValue(o,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(o),n=s}}),n};var S=function(){function e(){return l?T.promise||null:f}function n(){function e(e){function p(e,t){var r=a,i=a,s=a;return g.isArray(e)?(r=e[0],!g.isArray(e[1])&&/^[\d-]/.test(e[1])||g.isFunction(e[1])||x.RegEx.isHex.test(e[1])?s=e[1]:(g.isString(e[1])&&!x.RegEx.isHex.test(e[1])||g.isArray(e[1]))&&(i=t?e[1]:u(e[1],o.duration),e[2]!==a&&(s=e[2]))):r=e,t||(i=i||o.easing),g.isFunction(r)&&(r=r.call(n,w,P)),g.isFunction(s)&&(s=s.call(n,w,P)),[r||0,i,s]}function f(e,t){var r,a;return a=(t||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r||(r=x.Values.getUnitType(e)),[a,r]}function d(){var e={myParent:n.parentNode||r.body,position:x.getPropertyValue(n,"position"),fontSize:x.getPropertyValue(n,"fontSize")},a=e.position===N.lastPosition&&e.myParent===N.lastParent,o=e.fontSize===N.lastFontSize;N.lastParent=e.myParent,N.lastPosition=e.position,N.lastFontSize=e.fontSize;var s=100,l={};if(o&&a)l.emToPx=N.lastEmToPx,l.percentToPxWidth=N.lastPercentToPxWidth,l.percentToPxHeight=N.lastPercentToPxHeight;else{var u=i(n).isSVG?r.createElementNS("http://www.w3.org/2000/svg","rect"):r.createElement("div");v.init(u),e.myParent.appendChild(u),$.each(["overflow","overflowX","overflowY"],function(e,t){v.CSS.setPropertyValue(u,t,"hidden")}),v.CSS.setPropertyValue(u,"position",e.position),v.CSS.setPropertyValue(u,"fontSize",e.fontSize),v.CSS.setPropertyValue(u,"boxSizing","content-box"),$.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(e,t){v.CSS.setPropertyValue(u,t,s+"%")}),v.CSS.setPropertyValue(u,"paddingLeft",s+"em"),l.percentToPxWidth=N.lastPercentToPxWidth=(parseFloat(x.getPropertyValue(u,"width",null,!0))||1)/s,l.percentToPxHeight=N.lastPercentToPxHeight=(parseFloat(x.getPropertyValue(u,"height",null,!0))||1)/s,l.emToPx=N.lastEmToPx=(parseFloat(x.getPropertyValue(u,"paddingLeft"))||1)/s,e.myParent.removeChild(u)}return null===N.remToPx&&(N.remToPx=parseFloat(x.getPropertyValue(r.body,"fontSize"))||16),null===N.vwToPx&&(N.vwToPx=parseFloat(t.innerWidth)/100,N.vhToPx=parseFloat(t.innerHeight)/100),l.remToPx=N.remToPx,l.vwToPx=N.vwToPx,l.vhToPx=N.vhToPx,v.debug>=1&&console.log("Unit ratios: "+JSON.stringify(l),n),l}if(o.begin&&0===w)try{o.begin.call(m,m)}catch(y){setTimeout(function(){throw y},1)}if("scroll"===k){var S=/^x$/i.test(o.axis)?"Left":"Top",V=parseFloat(o.offset)||0,C,A,F;o.container?g.isWrapped(o.container)||g.isNode(o.container)?(o.container=o.container[0]||o.container,C=o.container["scroll"+S],F=C+$(n).position()[S.toLowerCase()]+V):o.container=null:(C=v.State.scrollAnchor[v.State["scrollProperty"+S]],A=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===S?"Top":"Left")]],F=$(n).offset()[S.toLowerCase()]+V),s={scroll:{rootPropertyValue:!1,startValue:C,currentValue:C,endValue:F,unitType:"",easing:o.easing,scrollData:{container:o.container,direction:S,alternateValue:A}},element:n},v.debug&&console.log("tweensContainer (scroll): ",s.scroll,n)}else if("reverse"===k){if(!i(n).tweensContainer)return void $.dequeue(n,o.queue);"none"===i(n).opts.display&&(i(n).opts.display="auto"),"hidden"===i(n).opts.visibility&&(i(n).opts.visibility="visible"),i(n).opts.loop=!1,i(n).opts.begin=null,i(n).opts.complete=null,b.easing||delete o.easing,b.duration||delete o.duration,o=$.extend({},i(n).opts,o);var E=$.extend(!0,{},i(n).tweensContainer);for(var j in E)if("element"!==j){var H=E[j].startValue;E[j].startValue=E[j].currentValue=E[j].endValue,E[j].endValue=H,g.isEmptyObject(b)||(E[j].easing=o.easing),v.debug&&console.log("reverse tweensContainer ("+j+"): "+JSON.stringify(E[j]),n)}s=E}else if("start"===k){var E;i(n).tweensContainer&&i(n).isAnimating===!0&&(E=i(n).tweensContainer),$.each(h,function(e,t){if(RegExp("^"+x.Lists.colors.join("$|^")+"$").test(e)){var r=p(t,!0),n=r[0],o=r[1],i=r[2];if(x.RegEx.isHex.test(n)){for(var s=["Red","Green","Blue"],l=x.Values.hexToRgb(n),u=i?x.Values.hexToRgb(i):a,c=0;cO;O++){var z={delay:F.delay,progress:F.progress};O===R-1&&(z.display=F.display,z.visibility=F.visibility,z.complete=F.complete),S(m,"reverse",z)}return e()}};v=$.extend(S,v),v.animate=S;var P=t.requestAnimationFrame||d;return v.State.isMobile||r.hidden===a||r.addEventListener("visibilitychange",function(){r.hidden?(P=function(e){return setTimeout(function(){e(!0)},16)},c()):P=t.requestAnimationFrame||d}),e.Velocity=v,e!==t&&(e.fn.velocity=S,e.fn.velocity.defaults=v.defaults),$.each(["Down","Up"],function(e,t){v.Redirects["slide"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u=l.begin,c=l.complete,p={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},f={};l.display===a&&(l.display="Down"===t?"inline"===v.CSS.Values.getDisplayType(e)?"inline-block":"block":"none"),l.begin=function(){u&&u.call(i,i);for(var r in p){f[r]=e.style[r];var a=v.CSS.getPropertyValue(e,r);p[r]="Down"===t?[a,0]:[0,a]}f.overflow=e.style.overflow,e.style.overflow="hidden"},l.complete=function(){for(var t in f)e.style[t]=f[t];c&&c.call(i,i),s&&s.resolver(i)},v(e,p,l)}}),$.each(["In","Out"],function(e,t){v.Redirects["fade"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u={opacity:"In"===t?1:0},c=l.complete;l.complete=n!==o-1?l.begin=null:function(){c&&c.call(i,i),s&&s.resolver(i)},l.display===a&&(l.display="In"===t?"auto":"none"),v(this,u,l)}}),v}(window.jQuery||window.Zepto||window,window,document)}); \ No newline at end of file diff --git a/node_modules/.bin/build.js b/node_modules/.bin/build.js index 5122ed4b..06eeebb9 100644 --- a/node_modules/.bin/build.js +++ b/node_modules/.bin/build.js @@ -51,26 +51,26 @@ //of its dependencies includes i18n bundles, they may not be included in the //built file unless the locale: section is set above. { - name: "app/main", + name: 'app/main', exclude: [ // "jquery", // "jsPlumb" ] + },{ + name: 'app/notification' } ], paths: { layout: 'layout', jquery: 'lib/jquery-1.11.1.min', // v1.11.1 jQuery //jquery: "lib/jquery-2.1.1.min", // v2.1.1 jQuery - //jqueryUI: "lib/jquery-ui.min", // v1.11.2 jQuery UI default - //jqueryUI: 'lib/jquery-ui-custom.min', // v1.11.2 custom script (without tooltip -> conflict with bootstrap) bootstrap: 'lib/bootstrap.min', // v3.3.0 Bootstrap js code - http://getbootstrap.com/javascript/ text: 'lib/requirejs/text', // v2.0.12 A RequireJS/AMD loader plugin for loading text resources. + throttleDebounce: 'lib/jquery.ba-throttle-debounce.min', // v1.1 Handle/throttle jquery events - http://benalman.com/projects/jquery-throttle-debounce-plugin/ + velocity: 'lib/velocity.min', // v1.2.1 animation engine - http://julian.com/research/velocity/ templates: '../templates', // template dir slidebars: 'lib/slidebars', // v0.10 Slidebars - side menu plugin http://plugins.adchsm.me/slidebars/ - // jsPlumb: 'lib/jsPlumb-1.6.4-min', // v1.4.6 jsPlumb - main map draw plugin http://www.jsplumb.org/ jsPlumb: 'lib/dom.jsPlumb-1.7.2-min', // v1.7.2 jsPlumb (Vanilla)- main map draw plugin http://www.jsplumb.org/ - customScrollbar: 'lib/jquery.mCustomScrollbar.concat.min', // v3.1.11 Custom scroll bars - http://manos.malihu.gr/ datatables: 'lib/jquery.dataTables.min', // v1.10.3 DataTables - tables datatablesBootstrap: 'lib/dataTables.bootstrap', // DataTables - not used (bootstrap style) @@ -81,6 +81,8 @@ easyPieChart: 'lib/jquery.easypiechart.min', // v2.1.6 Easy Pie Chart - HTML 5 pie charts - http://rendro.github.io/easy-pie-chart/ dragToSelect: 'lib/jquery.dragToSelect', // v1.1 Drag to Select - http://andreaslagerkvist.com/jquery/drag-to-select/ hoverIntent: 'lib/jquery.hoverIntent.minified', // v1.8.0 Hover intention - http://cherne.net/brian/resources/jquery.hoverIntent.html + fullScreen: 'lib/jquery.fullscreen.min', // v0.5.0 Full screen mode - https://github.com/private-face/jquery.fullscreen + pnotify: 'lib/pnotify/pnotify.core', // v2.0.1 PNotify - notification core file @@ -94,11 +96,13 @@ }, shim: { - jqueryUI: { - export: '$', + bootstrap: { deps: ['jquery'] }, - bootstrap: { + velocity: { + deps: ['jquery'] + }, + throttleDebounce: { deps: ['jquery'] }, slidebars: { @@ -136,8 +140,8 @@ hoverIntent: { deps : ['jquery'] }, - fontDetect: { - export : 'FontDetect' + fullScreen: { + deps : ['jquery'] } }, diff --git a/node_modules/.bin/readme.txt b/node_modules/.bin/readme.txt index efc67ee8..a0e1cb75 100644 --- a/node_modules/.bin/readme.txt +++ b/node_modules/.bin/readme.txt @@ -1,3 +1,3 @@ -- requireJS optimizer in diesem ordner starten: +- requireJS optimizer start in this dir: node r.js -o build.js \ No newline at end of file diff --git a/sass/bootstrap/_navbar.scss b/sass/bootstrap/_navbar.scss index ed6e4783..d9a83111 100644 --- a/sass/bootstrap/_navbar.scss +++ b/sass/bootstrap/_navbar.scss @@ -250,7 +250,7 @@ } // Uncollapse the nav - @media (min-width: $grid-float-breakpoint) { + // @media (min-width: $grid-float-breakpoint) { float: left; margin: 0; @@ -266,7 +266,7 @@ &.navbar-right:last-child { margin-right: -$navbar-padding-horizontal; } - } + // } } diff --git a/sass/layout/_dialogs.scss b/sass/layout/_dialogs.scss index dbe5e04d..91d97530 100644 --- a/sass/layout/_dialogs.scss +++ b/sass/layout/_dialogs.scss @@ -1,4 +1,8 @@ +// map add dialog ========================================= + + + // map manual dialog ====================================== #pf-manual-scrollspy{ position: relative; diff --git a/sass/layout/_main.scss b/sass/layout/_main.scss index 80945e66..20c12626 100644 --- a/sass/layout/_main.scss +++ b/sass/layout/_main.scss @@ -1,3 +1,13 @@ +body{ + // prevent marking text + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + a{ color: $teal-dark; @@ -18,6 +28,7 @@ em{ } // full screen view of an element +/* .pf-fullscreen{ &:fullscreen, &:-webkit-full-screen, { @@ -33,6 +44,7 @@ em{ background-color: green; } } +*/ // ajax laoding indicator overlay @@ -331,7 +343,14 @@ em{ &.pf-map-connection-jumpbridge{ background-color: $teal-light; - border-color: $teal-light; + border-color: $gray; + background: repeating-linear-gradient( + to right, + $teal-light, + $teal-light 10px, + $gray 10px, + $gray 20px + ); } &.pf-map-connection-wh-eol{ @@ -411,11 +430,24 @@ em{ #pf-head{ a{ + + &:focus{ + color: $teal-dark; + } + &:hover{ text-decoration: none; + + .badge{ + color: $teal-light; + } } } + i{ + margin-right: 2px; + } + .pf-head-menu{ .pf-head-menu-logo{ width: 18px; @@ -435,6 +467,15 @@ em{ } + .badge{ + background-color: $gray; + color: $gray-lighter; + } + + .pf-head-active-user, .pf-head-current-location{ + display: none; // triggered by js + } + } // footer ======================================================= diff --git a/sass/layout/_map.scss b/sass/layout/_map.scss index ff6deb50..9b9fc9a4 100644 --- a/sass/layout/_map.scss +++ b/sass/layout/_map.scss @@ -1,10 +1,14 @@ +$mapHeight: 520px; +$mapWidth: 2500px; + + // start bounce mixin ============================================== @mixin bounce-up-down{ - -webkit-animation-duration: 1s; - animation-duration: 1s; + @include animation-duration( 1s); + @include animation-delay(1s); -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-timing-function: linear; @@ -18,14 +22,14 @@ @-webkit-keyframes bounce { 0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} - 40% {-webkit-transform: translateY(-10px);} - 60% {-webkit-transform: translateY(-5px);} + 40% {-webkit-transform: translateY(-8px);} + 60% {-webkit-transform: translateY(-4px);} } @keyframes bounce { 0%, 20%, 50%, 80%, 100% {transform: translateY(0);} - 40% {transform: translateY(-10px);} - 60% {transform: translateY(-5px);} + 40% {transform: translateY(-8px);} + 60% {transform: translateY(-4px);} } // end bounce mixin ================================================ @@ -35,7 +39,8 @@ .pf-map-wrapper{ position: relative; width: 100%; - height: 530px; + max-width: $mapWidth + 15px; + height: $mapHeight + 30px; overflow: auto; padding: 5px; background: rgba($gray-darker, 0.93); @@ -63,16 +68,50 @@ // 20x20px grid background .pf-grid-small{ - background: inline-image("#{$base-url}/grid_20x20.png") !important; + background: inline-image("#{$base-url}/grid_40x40.png") !important; } .pf-map{ - width: 2000px; - height: 500px; + width: $mapWidth; + height: $mapHeight; position: relative; font-family: $font-family-bold; + // jsPlumb classes ================================================= + ._jsPlumb_target, ._jsPlumb_source{ + + } + + ._jsPlumb_overlay{ + opacity: 1; + @include transition-property(opacity); + @include transition-duration(0.1s); + @include transition-timing-function(ease-in); + } + + + + // hover effect for connections + ._jsPlumb_hover{ + + &._jsPlumb_overlay{ + opacity: 0; // hide opacity on hover + } + + &:not(._jsPlumb_overlay){ + @include bounce-up-down; // label should not bounce + } + } + + // hover effect for systems + ._jsPlumb_target_hover, ._jsPlumb_source_hover{ + @include bounce-up-down; + @include box-shadow(0 6px 12px rgba(0,0,0,.3)); + } + + // ================================================================= + .pf-system{ position: absolute; min-width: 60px; @@ -81,7 +120,15 @@ font-family: $font-family-bold; z-index: 100; - //@include bounce-up-down; + // change border color with transition + @include transition( border-color 0.5s ease-out, box-shadow 0.2s ease-out ); + @include transform( translate3d(0, 0, 0) ); + + &:hover{ + // makes the systems "flying" :) + @include box-shadow(0 6px 12px rgba(0,0,0, 0.3)); + @include transform( translate3d(0, -2px, 0) ); + } @include border-radius(5px); border: { @@ -118,7 +165,7 @@ // =============================================================== .pf-system-body{ - height: 16px; + height: 0px; width: 100%; overflow: hidden; cursor: -moz-grab; @@ -143,6 +190,7 @@ font-size: 10px; .pf-system-body-right{ + text-overflow: ellipsis; float: right; color: $teal; display: none; // hover effect @@ -200,7 +248,6 @@ // locked system .pf-system-locked{ - color: $gray-light; .pf-system-sec{ cursor: default !important; @@ -211,6 +258,7 @@ } .fa-lock{ + color: $gray-light !important; display: inline-block !important; } } @@ -243,6 +291,11 @@ cursor: pointer; stroke-linecap: round; // line endings + path{ + transition-property: stroke; + transition-duration: 0.3s; + } + path:not(:first-child){ stroke: $gray; // inner line } @@ -278,7 +331,7 @@ svg.pf-map-connection-jumpbridge { path:first-child{ - stroke: $teal; + stroke: rgba(255,255,255,0); // invisible border color } path:not(:first-child){ @@ -287,6 +340,10 @@ &:hover{ path:first-child{ + stroke: rgba(255,255,255,0); // invisible border color + } + + path:not(:first-child){ stroke: $gray-lightest; } } @@ -304,7 +361,7 @@ &:hover{ path:first-child{ - stroke: $pink; + stroke: $gray-lightest; } } } diff --git a/sass/smartadmin/_main-colorpallet.scss b/sass/smartadmin/_main-colorpallet.scss index 247cd15d..293cda6a 100644 --- a/sass/smartadmin/_main-colorpallet.scss +++ b/sass/smartadmin/_main-colorpallet.scss @@ -4,7 +4,7 @@ */ .txt-color { &.txt-color-blue { color: $blue !important; } - &.txt-color-blueLight { color:$blueLight !important; } + &.txt-color-blueLight { color: $blueLight !important; } &.txt-color-blueDark { color: $blueDark !important; } &.txt-color-grayLightest { color: $gray-lightest !important; } &.txt-color-gray { color: $gray !important; } @@ -14,7 +14,7 @@ &.txt-color-greenDark { color: $greenDark !important; } &.txt-color-red { color: $red !important; } &.txt-color-yellow { color: $yellow !important; } - &.txt-color-orange { color: #b19a6b !important; } + &.txt-color-orange { color: $orange !important; } &.txt-color-orangeDark { color: $orangeDark !important; } &.txt-color-pink { color: $pink !important; } &.txt-color-pinkDark { color: $pinkDark !important; } diff --git a/sass/smartadmin/_main.scss b/sass/smartadmin/_main.scss index 15812466..1d0f23ab 100644 --- a/sass/smartadmin/_main.scss +++ b/sass/smartadmin/_main.scss @@ -1047,6 +1047,8 @@ input[type="text"]:focus + .input-group-addon { &:hover{ color: $gray-darkest; border-color: transparent transparent $gray-lighter transparent; + margin-top: 1px; + border-top-width: 0; } } .nav-tabs > li.active > a { diff --git a/templates/modules/header.html b/templates/modules/header.html index 2654170b..15873411 100644 --- a/templates/modules/header.html +++ b/templates/modules/header.html @@ -5,15 +5,26 @@
      Menu
    + + +
    \ No newline at end of file