From d92c88be6fa08a1a936da54367bd2c418414f934 Mon Sep 17 00:00:00 2001 From: Sepp Jeremiah Morris Date: Sat, 10 Feb 2024 00:46:33 +0100 Subject: [PATCH] finishing touches & getting ready for the big MAIN :) --- app/application.js | 2 +- app/assets/img/jcat.png | Bin 0 -> 135322 bytes app/assets/img/jcprev.png | Bin 0 -> 23702 bytes app/assets/img/jcsettings.png | Bin 0 -> 6612 bytes app/bag.plist | 4 +- app/js/jcathostinfo.js | 302 +++++++++++++++++++++++++++++++++ app/js/jcm.js | 159 +++++++++++++++++ app/xml/{ => dvt}/devtools.xml | 8 +- app/xml/dvt/storagetest.xml | 2 +- app/xml/help.xml | 9 + app/xml/home.xml | 36 ++++ app/xml/settings.xml | 63 +++++++ assets/certificates/readme.txt | 1 + main.go | 2 +- 14 files changed, 580 insertions(+), 8 deletions(-) create mode 100644 app/assets/img/jcat.png create mode 100644 app/assets/img/jcprev.png create mode 100644 app/assets/img/jcsettings.png create mode 100644 app/js/jcathostinfo.js rename app/xml/{ => dvt}/devtools.xml (85%) create mode 100644 app/xml/help.xml create mode 100644 app/xml/home.xml create mode 100644 app/xml/settings.xml create mode 100644 assets/certificates/readme.txt diff --git a/app/application.js b/app/application.js index 75278aa..d401538 100644 --- a/app/application.js +++ b/app/application.js @@ -24,7 +24,7 @@ atv.onAppExit = function() { // Help I'm even worse at JS function jcatMain(){ - atvutils.loadURL("https://" + atv.jcathost.SigHost + "/xml/devtools.xml"); + atvutils.loadURL("https://" + atv.jcathost.SigHost + "/xml/home.xml"); } // *************************************************** diff --git a/app/assets/img/jcat.png b/app/assets/img/jcat.png new file mode 100644 index 0000000000000000000000000000000000000000..30b0afd5278076c7a0ed8532828e045c1993b065 GIT binary patch literal 135322 zcmeFa3p`Zq`ZvCWCdVO)oJOUn9CIqkR4VmIlu8kj3W-USDZ_|zjHx_P#E^7&N|IxR zF^-kw97fEkh)mWbW7W(o@7=Ta@7;Sp&-2^+*}wMx{ro@g+xRedYt~w`?)$#(>-t{b z>$>h{`exYBqD{nrBM{`|1TBXkXbvPHF&B~qEeY`R>uZJwt#a`vgb_mh3CDHKjZL9d z8@4)0N&V&1U)xK5Z7X$aU+AYmkEBMUWv-4R8=_`7vkbP{+k3n0bl$vm+a_>p2%4qt zbNu+RZx;szhn?8zut9h4K6hQr@ZY}A$2au&dKZ^%-|qQe@4w#vfBzA@{>!s<8GXCg zxHvy`)p>{dpwepRGYoZ;|9#pYH)IbT4)p~eiNLR^@9`61psR+U?Ghe#{9Bs@+NvkO zLxJ|iZ*9N7v~PZEAN)(Z^4D{A?X(Byyaa7sUw@xNpgj)Sh6n%dxZmHkgN~j2_PyU; z-$qvcaPV$d@U9AewV;hq02B%xhmJu$&}m2)a)HeMoAWJxJ>MQ8fU{3SC%|=nkUta# zu2~O`e7nP8(B29KL%xtPWC+?TAye?X^4mCrYr#v<^Vjh+{M)fuCIqde&CJX^{oAph zXb@Cv4MDPx|8~q^6$B~ELC~|u$9+!t{Cc}@(lYA^kfBevAxL2#1gW%xYdk`an6Lcx za|!tk5F|Y`Gc&mqf-q?iB)&K^BfK#)BhH5)$u|&G8$44BDbJBKlc|!FP=;nHOGqk9 z%rrnaFjCSIzrKFG5%?o9OHxXDHfD~DtQW<-n?OoLg3lo-W$C#K z&DPIW+2Mm(6r#HF?4`Upi#HV0=k4r(^~?{Rh>?+ zxM{P)maRXz?%KV_4RqJ{(BUI~{sBir!%m(GC!RhNd+vN(d_rQ<<+Pu#q-R{cmU$!p zX2Gr7ckcf3sHC*4yrS~)le+qb#-`?H&tG(Qb@#mP?dxZ-Io!AJhDY9yj`2TDex4Fc zBVWFL>z4#1`Il~izkli3Z~6rWL1LDal%y2qTfZb`g@5a~vXt~fv)Oak@4)zks4QA} zc8=J^OPVi}@e*?0Ts<=gNlC1lVLHHxlKjh?3$Vt}^Ir$+ce?m^Wf5^!XIr$TE((^-3e#pt6kdxOx z}Q)9D8_UKqCfVAoyY^es7#x1E!s)esa! z#n&vFfqdS7ay(q<)wj_oj5fZ4rgz$9YV!HlgVFefc-Al((aRW*oPngOse%LE{T^HR zuP@V7IsALbJyZohpQ3tAG42>zFEByUM`xfzGtmCfl>X-JFC|2|E)wgcLB7L}w|_kZ zuinpzD?Skw0FqbzO099Fq-=K0+;&0X8P4I zl=Np{#6NuFY?42sdC&blc>$^_+JNl7Kh!A5TDyXSId_sNJC+%{S zZ-3v>Oi$j;xD{C*Ld~mrm8Ch$94@!F&boMFj=E;F+5gNqtmW3>AI(6#h1?lv))-zz zgoPJ#CX#Ek1LO=dsi`Ducm`_JXg+ValW7<5q<1{*`R8Y(B9qI0uFW+)5IlPD@&cV@ z`NRT;{zbMCdRx_Wn|!&~xetaSLo=b6zneHoaoh~VVo<->JCDcCKnJH2Xj4nN??`^> zpMheTclmLdv%D=Ns zm=E3}Wj|D=;~tsrgb$vG!_Nxl5ioUyvIN8#T@|2re?_eLA+i9V^(55a5Qt%Hsw51LA2}!(Z1GBvBR*+n%ySnpBY(B zy&1sROg&b9kzwx_C}k?~c9U@84JWkaQ1NmJbh|ek=0G<&i<<@3$$j#?F#K6}uUK|6 zR+Z>Xx3l5X&Q+NQ1^MOsN7?X~rYHy=1>HBAQ_{7)c$r2)V@h>()%;#Hg=C-fHxi=J z_V2R666j4Te6&|IH@2SoD1JQaW>i0Qo=DrDSsKqXyG;&4_Dt_BN%C}M_tGQMW+2sJ zYJQ@RzEgJ!pt`;;6Z`IbTsZ@6&moK_`vm0yG;^dYY{1E`Tk=aD z&`dR8GOl=O@tf(@`lzfA>_-=rLl}CV@_w4K3{HE((5H^ znbR@0Tf=?Xt!}$R?DEKLvQhvou+no)-JY>%+{ohp2|S8=2wQ9GFHCW4bSvpY+#BlZI1+c>jO}Tdf&9$x zV1z3~mWVG47dr&O6?M$G8r2Tc0v2wzf4Y|z+xh&c;m7_+<0f&!&Wf(~FujDHx1{{t8qGxMKf^|2FFR33o4 zm@{(K9$bt_HN2Uj|FP7&oTP-vEP3}NR$NRDQ0Q&Ms*R$AD~6j}?5ny&%MOP^5fS&u zO2pJR!z0^sv7aTnO~yZG$?jwQIb!dKI|-8qgaPi z4^#=vS!H|JIpKV9TYn=I9#a>I@!mA!U%2F!1YC~KzqZjqL!CM zRLX~c^{z8AY*mXcoq7{%`e9KZW!}^qeEIzThe4lmah-VHTK)`FI|Dr`8vnwN5F{YU z;nI{?RGFx`pPzI8$i;QWZ##J<ksQZ3p%T+GOn=-Lp^YjpsURErnbhM^m^rsw2l* zTuAn3ULcne8XUh&h<5V>o1=93CqHc8ZpfQjG5YRd*TRI;$cx&_N%h+v7AN5c?fv`$q=9LYh2rLHxM1MA4o8m{=>VfHEhp4TgUP5&Gk}*K zvpfSzXP^|SPF`^(?h~f#HAF0!6Ti*#&9K-d5vYwaiz=pB6Hpc1JSVi zYoaf{3yaEs0KySRuH%V+7DWnY6NUS&y_NBY*G%)n>l&-6FRNeM%_2_jO5gYSgSTa7 z;8~c z#CW*G-Avnv(J-^?gT*LDIql0FVMMud#9TwHi3U|B*7B)FSwtCeUFmgDc~Pr#mPf}u;|X%nTs9qL$Rb8h(hi2MJq{8Gf+q7VTdg8?+@9(J;wjH zT!8xz<6f``mCvx9D)VMMu=9 zUS9eJ6UF}h62ff9eO+1C+c829BEIg7TC`{xyG@$t?OfhTTFqXovJL)t{uX1?yy~)? zEBTB~zCJ;!F3qZDbMnr~+s~1DKzzoK5UnTE-!fsBHpD(kLuB~P?vn7mQfEdQ0t#!E zlL9?t_(m1yN*^yRhY9B&ywp{vl}%)hxYZO_wo!c)lTX;Bt;3D%`yN{XxnRDA0oa*K zhMnzUj9>%bk9U__t<*2tD*oj`>J^q>RcuRDXN?@<>SEStxLUbY)y|CXd40Nf{v>5e zN4?9qutd5CBD>)=QB&dy0U5#b&AEOJp6&x1VCy=X6hdjX)9(p><3Ko^j}RQGyPjN0 z4WTTZHQPLHe5JpnXd^AynenuVR)OIi=64AS_~R9l`;e#HRyVJ%&%#98CSW_xA6)DN z6XF)VyYUIQS&nPxh zR>_7Aq9b?d75_sQfeDco1-$boD;;yX>65}6PP^r#mLytxXf`&<);!Ow?V?pQxr`b= zHK^I>u9M6mC>}j!(;F|cF9`TLlz2a&!fbGqaf|W`V-xunvu}Uh(C)@;-p%&?9&IxI ze&;KEFRjDXS&MWCK&B?qZg_;=hAhL@4`NSF#Ot)M9C%WK`7_W53&;N82~>sH=JJW& zEI4(OF%e_wxif0-QLkBDE2YaSbFq^He?YtaQ|3qVvjZyQDO3VIgk2^Eidg#N^nw9T z>v&r?&eOyC*5(?oJW6?7=b_z7lf2Il(epJ9IJ=*xbMg z4AF5tj6El^W>I8D%gy#HCe!l5{>uIV-7wTZF8!nipLXBj+P zBY#K(LKo9mpD2jIUf8*=?K~cKHh}_b_EhsXdytd8HTS$YzN7-)ObN9tI$LEF`EKs1 z4~%YW#?;igVHH8-;`)lcR@19N*Yp0N>puvk->R(tl!e0lhbkW=g}Z?bx52Y=yy0?M z04@PvQ9=3aTuRgzggqqB7A=c-CQ;gBXM)r;?JctO@G&5oU}CD46K);jJ?<*Y4y-?O zPI|B8I^5_Qy-Re>mc_qp(wGP*58haGVym#Pxu+%;Z;JT>*b+K0L9okdJb{8Nvu?Nr zmp?p-jiHsqdXX^54psAO76Z?1&F^fZDv>+_HKN{A=ORrj23DCAwyeK{M681cU!Bgy z)}HxoWJyxIjLdpPMf5KrTZOBLGmv1Ck0!n)4hRyeW}tHpY@e#=$a~w6t!&4~oga3U zucX*@BeaINF;=Pmvu=x^H5)56A6h}=gWf9WVxj|UqMoWH+QT2dt(eTB#oNv8wLQ#< z{K;1};BX!izKyzzcEz@SP5>#{RaI&J%jwy3B;@;CuzUlc_>c>>5xmrIsQC~Dz*o0yPoA_zCLDX&cZJdX-{RTm7TGJcnpGF=L!Sp= zsir$d_6Jw$mH?_Dm4MiKqp|=6%4P|UBN0L=qU3%n)Jl9Kn9HX&9(qI#dX)i3)Vc8; zeF_E>ME8=N5hv2_c|R+OCW7v~XILkO3D4_Zti=si|IG-Jf4MEv08m3(VFrpT14B#N zB(z4D9zt@HNnhsVHsnZ$=c_}s*LIi>%0r$a&DW{UU#VEezCfycgVH869!DN1wJLeS;>Rozemo0qWBT}ISVYz)xR#x zU+{k33CxOVO6g)u3e7*c-&PL3?D))TD1eNy#gPr&%kLgNtkmXj8^Sd(me0o$$oWL? z`ZHHb)Q#64z>X(#yc?Y7h!!E?TuM?DzK7Fpi-oy$z>}pVpG-uOx53kKVFM|?yPx7$ zel*?3*xpeqn-$jp9Xbz$dnuR!3fiw@EUuvi;VAer{p5lyys{|hjw3s0xnpby4j{<_ zM}^#GcrAy&6hmoB014AfW6F%fS)xg0`I zky+Di$QN-O{zH5NQ@r4o3kII|H;MR-BlSHC=Fjr=-^I=TpMF4z|4eqysAwU3ZFqCk za+nz-GP^x^bZ8OZtD=AyVc%uQy384y-u2pKQSqblxFOxHEuC#EW8X>kE(NiK2~@^O zsQBI+cE2xyeas|j5kxaKnS0HWm?wzA#4LehNeL6nIQK32G&H$0tbV}_m znUf{|_9N^Zm)9e5)j1e(>Ty?L*ksv*!bXUknzm-k%khD0sl!LKMnv2%XWFI0{&6-W zrYgqGg$78QfGIAtla6YMnjJS@>)47JZ5ip@d#IpNoBmK^4D(J^~&jMtrGinQ$J0^$_A3ycw6@jzz7Cd&OEZ zd<_n)>#c2(@7T=o&*S?gvSMDWI6u&I_N2s~7B7HBIrp-c&0;mN_ZZF;5{ z!88{;@4c5KOict~qU;U5TVdw8&rZ$_HbVswhNlFXQ5pFR$H?$di_X#=4yvZ>n)NPR zTx%dH+JR^NG6Pl2ul}as#ZPN&(JuEZgWWkAe3QhFwrgS9_R5vx?dUw>&aGiZQUQFA zpUnLP1L~B7qVb1y+P?d`<1Hk^p2k21m@gm;j{c4cpfR$(#zgeZ?k6D_`%k3R{8UC8 zYX)jwR%pa0`0>r_&g=mAL#`owa$}VvaDydAD>T&B$HF4>BO^P2pep=ZIt|kUJa5eS zT`qZmEGRZHhgBzPDd!j)37L?2DyjN2{0Y{H4J8&ZALGu4zVwO;{0 zUN8N#De&k;3dm{}rGJt&U2k%B22v zbvg9%8|8Jl7X*>^6qqb|V2w#)3Q1o$AHjNBQRkA6wlsBD9ZPr9@kA-GYn}VKovm7Q z+q>-KrlI9ALv^n>7+pF$1ed2E-2 zXdI031eHH2lqdIM6KP+~x8-74%l|GA@ed~DpSo55Po63HpUJ^PAA(iY*@oz6h%EJa z{h>l=VUR{()bJ(ZR#cLc**xJy#( z1o(k`GHYxCG4K{yfoQ}cAMiuj2cVx;@lQi1R%#uKe zFL|vAy(97#lc#YKK+~zb;3fv#j`=kCw^jew)kDtB5G}|C?)qn|C(a;pX~1kyz)mwd zsu3et$MM;0?#;b}_SOw#)jqS?OOqz|l{|t=RiZc?2DkoejoS@T2VMw@o0`=X)A6^S^5mLgZ3otrd9c#i)|sRbvbjkhf=Oeiaf}y zN4SdMBCs|T#Wd806cuqV9bUzs*A|1S2Dm;KRxf5ZpIZ{7Szp{dNBlBe?R9y+OO5{q z@vX6UAGe>F6&>aNU9qJ|HK9KGDr&VD=yQJn70D%(`fR%(`$n3Y?P;LyFnxyW5_pSx zOmdUHqGLV_=ASwfl#v~>wt<}+|NObnMFUB373~Nfq;}A8k1EE$z!8ElB*bqXB^Gde zD)p#rN2mJviUCc>vZjK2t@07)+%iAj>SZ*3)WjX7Rq9?p=7JsWLKQ(GUku0^sW*97?~~yw7Z|Q(rs#QSTna>g9b2 zbYJN|Xa#bSzDU#Qui$?Y-1?YkZI{UB0r@EDxcF*KGpxzUdt5nb>A430ghM#^0Vya< zPy8A9mOmqlg)23AJ4unWMh)x4bwJ;r*em(@DJr{Os7`c7WhI33NF?zUlC$=8SJGD4 zbBwrRZViVerkU3^cnO1Ycm~;F0D!7fmbqdXWbM#EeQq9|MBv3u7vPgnM zJMU%3zg=&l{eC(J2O2Yw%7+|9{+{GJn-5fVR;_2ZZs0ohgbDAYlI|7~jFz5jyu8`e z?Cd(NP5*|?Cgo5>G6$$%FbwB_(|m^}cXFot zvKv+1yf7LjV7mQkuwgI>&uQ7Psd{Lyq>%BtEM-M~rrlkR!U?o@Yx`#ftLeS3EgeUF z%O7@GR2wrqo(hF`Z#KBN_xIOZHa5I;xFV%@{S#QT`^l^lT*WOQSJHsIjX5g{6X$N~ z;Sy)BJ>x7P!gW5_+mz{0H!*t)!#d79U~*Hy>3ejEUQ2@hw6%Lv!O76Hr>YWPeoJfO z#;pPF0Mhb8gM0`lRIA!F1Kl+)SciMnCerx=qA&P|&En$-aC-7BUO?!qJO58A@BdM! z@iSmpzjs$1lTm?nX2DcWmXB0M_}7%y>hsy9_AB@A-`_H?taL}%o6Z+4N+UQcMW8mW z&{*fl54DR#KugGUz=7;j_X-LqjRagkyT}V^TT}mN8dafc^tpRB=Xs8pZzQeAGrp3S zwa7~|Xam#L3Q^nGjwvA1eQCjB94Z4c#-(N;geTlk-IIxM@QN)g>bWz!YcWD!PW*+1 zL7H_Tky&eQmv$BTp}jp9bTuOvJ3oDl=Z}X&1bwL zS>e%&&IJ>eP9A%nWD0lCo?dG@{G_@n=k&95>Wd`ScFu305#QH z7VkF^mu_+g;c})^tJbodu^Wo3is_*byz7IE@1D8@ZO+Q?7w7NpIkMoBh1hQFE%kCV zexOaTN_?$KL8uk=(pwsTgc^S;Fn~=y=OxijT0&U*4DGtZ+`G5VGAPg`eaQ^8rMoP} zv5i(kHT0{ze%%GbY8Gkl{)V#f#nU2{F(Hc_Q$_&MPlpWZuP% z8{y0@5tgr9XK8Sx7=AO$UxVpV-fej=sJ0daNq+v$q&(b^iDX|ld6=?ZN06h~xV?AM33^GNkcvN-;Ka2Aq z3JT#X1*3E2Vp%wMyE&JmO3eUP= zoBokl!RHeYD-%?9-V7uUG>-IQ*e{mk4RqNNk*c`Rw-dz>#la73t4$pF!Fl9i(h`0c z*R(;ui{x>NWHhpW9*B;UwF2GTv^-LBaUY@{+|Rohw?|k&rjkCl5t^d$FY%}%0<_|3 zVDr|Z{ay>iB~{XSSJ;t4gPT2LwR1^nTO7+eXq zK4LFVv;q#VwZWV#d?2q(54nHT>eMAN0ZDUFK44eOaXRWD4&6=FZ|gSs=z$4;A%ScK zuwo|w3>zrpA>U-A$4-uDvfn1W2|qA<#0Bxp7bhLhjJpKayii|)o|l$T!nWsI@*4IVy6Jm{nQNgwUy>-V{TeRi?g zq2g%>nm-I?e*Xc8MW#-oXIwB}Qh_uvK?s$Jc$3R$v9yEaS%K65BvfeRPCkb4jf_bx z+OAxOf+%@)?h>$Io6^iFm_aj?aJtAlky8O;sH-<7-o{<|c})+4owE=DrdPraUGn z2cBw;F9)uA{<)G(QYTt%6ID&~TMdhJH*VqVfAMj9hgL}RiO^J;Rb#a{ZW&k?bH1$$ zJ)jw4L1S~xa$-q+W<67+iLAGvVxklpwa$*~!OiE5KQ8Jftv?!n3eR5A+lrR&nt|>J zU1G1ON+1Ehb8!B<`TPTVQeu=m$4-s-luK^J$J6GJFa`TR*qI}jID=Svjb_)e?zWJV zzXVpmeIDm79H6dfog6@~)*jz3lZzDq;vyyreU_svK2P?YfzEn^T=UpM-eqiDluYM1 z$v!fuO)zp{Vv#UBx$JJi;;`XK&&-kWE+^p(G>#YrJr~ykya${=jMcXxn1R@FAcl*Y z!M9^A+s4~2fLepM8F-9HLaulFIXir@FREB8zC z;dS_DUw`B48@mtg?|U;awC{~m;K=|BH>+OLpAKdYab{00N?+!?@J9Nwb^d!vwcJZd zK(>yUAPe0@s)_@stR>J;?~xV!p@`v&9~}+RL(5k6Q+5 zpp%Z>8LSMtk9^G$Y6zQ*@%GwuAGy($eU4b)xN{6$bT(nKF-2ThvdSakcrNaI*l(2@ zMyLQJr40Wmj@pkw8z+>>V~%%SFq0)fhHA*oZR2J@N!WqN!~52i(fH_JerqWHwoF@)GD18XN>NdDvth zGNO-*v1HDB|NOS-i1-#t2l!2;HCV-^q{C7ZveO}Yojx8qKa2hNRpC2wizZdc)8paN zH!heltVq>WP!GqCs|go~!o_z;-WDq`^<=3rYcI{NLl@WUC)ftwX|kYUh$ng~8;6UF z2K)Ng&0*!l$^yu^)ovMSE1%rtoTy`qlyJp6Jqbn~%W zinms!G+e<_upA&7Tm#*k%i#2u!%lv2DO`f#Z#1DhId8A;Z4?cetWejKRaxUVC4 z4X~TDT5T&-w%T^umTa3ae6%IJ>hjh!!*kbXZ5=7<5?`G2U9>2^1c#V^_=|R_5ZvZx z@Mv6~(i;RLI9lqY$sW%DIhOA;sf}%O2h@2F3NPf(rOLhsBor-%=qMMok&!~DypTYz zn&=&G>fEw(71#6Q#JP>BE1mUoKQ%x4`qu9q(9?_X$Z8OIP}b-50R5uLf0e=x@+rf{ zdY7!DA!hJ9pR|_`t9mS+79o{(dU1BXDq~){(E%IlwkZ&DJ@yZ;v0Nf^2)Y$MBU3QxB_l?9|F!?5Aj;0`CACG$&pFj7dx!0PpHmYB#jku-bSLiursu zzyKYJebHG;PKX&^RbxO5HZhqteR1*{i@&7$XQjgG@=F{e8%U<29wM7||5gkBfe{Dk zTpld4G?K+}xBwzdLc05=k%X$l+#;3tUJ7tdtPd_Lq7X@Ic#?f9IWNHK(%U24o!v!7 z9&<%4XmN)1fB}{;@gN*soFrU zu+v2@B{sCqFW>~Wa1R1)O9@&SHi*A!w95rk=M9H|)MFidpBySv!nc{O*LV^@TL30` zOHq_GNiTKTsiS*NAo<&JOtgqkIxra)_H{#8>$;(@5Wb{p{XOIaceoWIQyLyUw|(Ta zqAKmDSD)61zvygxn^PS+wiX(WUif>=)<-}Ufb03Q1^NsxFd-(-Ks!BuipFPCk+qYk z9odKSmCXk(-R6LwB}CHS#hv~exav>M+8<8k|8EYGzrVf!%kV~YsUnrHAAU{ukXA$1 z!`!`{!_~+RcnrlRlNT71N(5V~)Yx**jBj+_${04aPCRMmo7b;GWxnBFlr+Ey7xgpT z0|e=>=Ua8`>+2g>@8{=7&j4Ijx18A7x$mGpjL#Gq`6#AxVxMF=2Ay{a2rwUX%N`pL--{ z&wX!DYbYUF@%zexUO$nB{x|0pUrOQK<6s%W<})| z_I2CIp)X7aMT_Ax{cXbmXNr=8f(uVwKqgYwK{y=Ob`6Y{`vOTlgKdcp#kcSpZV zUEAQ~i3E3kMq(IN208U2$kCf`RdUPU#_0SLwe-ndJ%okD#bv3h>gRSj+dAfKc`HJs z*WnqlsEmwI-X8=r@qIX!-}q#puLA9Y5ot96ge#N66V)A4oH@=(?06Tx=HM}x@X?zC z@2O2zqfgH+SQu@qkIDhgL0SqpJ~3xNt96>F)d-t-0_mW$l4?n4@%5==iN<1{_SD6za zf4N03UP15C3rCgbueOe6LbreC8ik=sd_saqnnROExOEz3AJ21Wvp;;rgG|r|dw)7m z-62|^>rMZ~|7*cb=BF2&Cc&#Aj^bng&Aa61gKrL`Axj*1bT$C^gz+UXR*=;(TuSlc zd!H+`C`#0@ycvyEByESAMO#Fn`RcUS^-}Jch!AaoZCr@`rPNA7H!3d79aN-sJL`8AMtj0yjlvN`Zd3sJ5`AvvET1n z^8cM@Bl-Px1K6pb0P5NP4fT-W7vzVrXa~BgLm{J)#^@YlHqId&=)da^wDIRy%ZhVh zkCupew*@abBl{o6+BvmW2#lURw~!Fejp|{RdY=X8h}PfC#q!knDlW-Ra7LZ8#D^hM z+U1~YIZn�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 literal 0 HcmV?d00001 diff --git a/app/assets/img/jcprev.png b/app/assets/img/jcprev.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe64b649104cff883f57ebb5cbadc06abb0757a GIT binary patch literal 23702 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 literal 0 HcmV?d00001 diff --git a/app/assets/img/jcsettings.png b/app/assets/img/jcsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..2541b1e3672dd723610cef3b44c62806e19f44a5 GIT binary patch literal 6612 zcmcIo2UJs8w+_WFMNvdR!AKd9BoGKC3P_bINLQL61p*|26iTQgqN0E(2vSAV0Mdpo zO>lHX2m%U72bB&|L; z!eeNlYXO09)q!i=c2019{;D|}eC_ZuI7@>-b_r~LI3P(WLJ-JSYoe7M-Okhmjir#_ z7#zg~5BDQ^0ci;2gr=Vt2J3;Ri@V@miDY%?Y*j5(oQPA0+M-P5O}%vRZbSnn6>rHr zZG~leVAXI?O%3rAerNzd!qYM0ek4ya4eh56{f3JM*PDMMpyJ;|=pO1&txbjEcBbay zIut5iTn#P{!^+Dmh^wf%Aj&s5k=J zLRbI0GVn_s>PDw~p%DmQUthSdBAh~XMJTALscm8)kuV?uqxqBR7(W=9cJvPfT|5m- zC3?|`6tegxBF2TnpsPax)!)}Z^7;WwrhT^)uo%J*fl($L)V%h{OI+=*6IV zelrgai@A&;%tltUL;@1XER3!vac5N-#AP9tT6YpcKKklBx><`HdHN zUYCMpY+7RT`QPIfN5KM&AJ#-GVDa**ida<`5~rvL!zw7DU>E{`B&fN_t14hzu&N69 zKhVsmM6h)*o_|H%WQ7BWCj4K}DMRwhcW`GV>VL+q-*ZF_nAC`FU?^m8g z@ozzg#$Y#NT^)+ubTS?X{r)%c-&pUT@%$au*9{Lq|Hk>hi_s_qx-W)`*K!4x{vU%2 z@t?@kFg|}z{hvAh|B?E4vtr#aWLG@MoCxUVVi21t=69zc{=2{a^tTn>k8XnT$5UzF z*RPFn{nHYE%6*eLjUj=!u*B2pM6xUGuVM4;_9oU}ZvPdG4b-f3|{ZD_L=r${tbH7sybE6W_nfeW$QFKlX_bx4_M#dn7Ixg?$O#)38H7 zSlg4t|C_AVxifWh=a+*RSW90Y*E{*0HC0Pfd|aK~-Q5*WS3l5wMvK_rO4$G6RHx5m zuH06@G8ZQGY&UV5i;9Zij+IKZQIpEesw$}L*)`Xy!#BaM{`g#^ypL)uDy-<Pxh4Nw68tcCT6#Fyx6s6fYIp~ zcmjZ&_n9AVxO8c2P~zz5D5Z8?nKw#CPA<;eLzvh3k=Na7zu)%TK3jBX(fnF%b=>Ri zNlqp3P+yWf=EB7n4YAT5jZH}?S*5S<#{$@#9?x3{(Zezh-fd(F!i|aOv&0F z4q@=jo5#ze$+a6R#?GTniHaW&2G4ZlBwXwnVJGBho~!c7Tg$S{JY9&k)zb^Nx*Z#< z6S@@w3AOKZphaDLaq6(Yt|ejZ%g1P)_QE1kuQL0c>y5-j8O@tQhjM5r6_w78j_&n1 z2oKP+%Q`mvruC&kvCE6OXN&clJ2K70syIRUw>bYQL+?q;!s={oXJ@C!PX2Tb zV7fA5n^ZkVe^1Z3`XiHeHw0?FZmg~#SC?k_2GZWYcgY?u>m?gMfvD3)n+znNDtwt{ zcOHLsp1)cRr)cTvZTX4@bekgIjoCT}SzEFwgO4o;6R#h5yO~*A-wOWH9g~nC{oClv zj83%~;aD8Uxr|SewHdFn`bsV? z=GS>N`qH*0!@N9(Lm7g| zSu(7LwXYA=7J{I%)LTxut`lHn zY&_zCt&e7eyoi&r9Of6B@afEVq@HIonX=sDNlC(0XAfFiTl@R_0~_VB*~j(@j%4~A zL`zs^1eG+l9pQEZK2s+3C`D`mM-tNP#K((q6WztGqCH0=raw=#IbE*=e8%pC%uK|9 z&H6$w&!OV=2uWXi+xX3!d)Z^0rgyt<#zp8tC*Q4vf8E{+frt|qrhCh?vJ9LFb8nv< z)sMVl79i0$Haf~wm(|o9^w@QrJ}&Rx{!>DWt`sxWMw((}Ya8%T>%zUHyTDkn8k=US zyMB?k^*Jq`Rp=_VAmp*@5{W-)Gcx&KT-kFpEoiaZD8M)Y9<=tczQ!i`)-6dxk2kqz zBf6yB=NN0LVTTwJRsFW5M>mnUk&MaqOP4N*0ZVTanQv>+SZ(qsO-xLzk3JOJC{So- zqIf%Ow@A6%x?tK_(M@xN$^)ZL^^|((>+3_62TC^dV<05Ybs-!a^=;Gc5KI>l5eaL5 z({;7IX*<~Zb%Ro7X%2RFSqMe%_s@>#Txzv_mpRk#Xkqc%DN06G_U5AQy)zAiEIY9X zT?gf+^-BmC*RTd};R*BN$kb7VmmfZOV$V#!v4w>w3%>IyzMcM9b82eJ6lKh1l1f|= zdUW=>nXuF?1MA7;j``p%M3A8xuy5;roRh#)&ePEN-nCjNfpQ1r)$ z{plSdLhNbJYK>@OkJ+nyMSGW$Ob9Hhu-Ctys`b$)Bz_+x)MxS4DY1qG7XpFBYI=3= z)B}^4;-)*AU*G?B%_0Kl9fG3I4mk2^GA6C+rczbCGun&&KM@8|xsFvf?y6pILuWf+ zJxNIpBex!v+PuC+IHglHoJn-b;C8F=!qVKDfkUv94a-sdjIcdH<%F=DN~bNs)wN`h>+G zD)P|rH!oW2uZ!`G^|~jNOLUek(4!4wrTll^AZt5mbGsExbgzF9Ucx@j>m5R#Ts3Yv z;-3MQxcKpnJ*D9QhRLjCMc&T`B|zNuMxUJPj>lCP6HfZ|!|M0b#?k`d=heX`j%BVa z&5AYq+I*b~#v;j0A$tmD-npQ$%bL&|R~$dd(VU!)xkE_nZSe;yHF$RjrFR@dvZO>l z6qODgP4f}Z9;VM9y{8GAQmJw2ER5%gRWTm8Hy=VADDX*f;)9%A9q%f{vJrvPpQk#_ z8VxvksTtNeHinX6TX}YNz2(zf^ZM=TevV@xo8{!>Bp>%B*D=%lM-NtH`& zInErt`Wue4lP%<0?sd7}gm2v{w#+H~sdK1Jrb-rHZv*43Qvm@Zz(7|KHcFJNKSkR+ zT_HAjtv}n%UNUxi7jhpG+FnF>DO}&(@|>SB)|?ua;?`Y+w`lkU^Ymu+Qar*LeqjIT zEklWqsv16ogRJ$J@iuL@+eaU{g;m;K(})c}agr@LRlm@&ER-~5%~cpYTKKsv^KOvk zI{D2{R=q7;;Xnb@Ik?Ja`t`mTPZ<79zN5&T?sLz}5~~>~PI_(dy7s_nm228|r(rQC zKWG>l8x9(WWGR-R1h{?`O?QM>Ml}iP{s~7PL)1ksOqrg6{PO5y8;?J~KDB z$=hjuWnn6ePm@nrX?$(@lZDyl-p}T8ZApV2D0T06IH!U-e%!t&q1JWP0se@^s~M0a z;L;eFq}46I%`G9vJ*!+PUPYFr;T@vmq9))-N}l+rwX`5IWzPINK_8b~*isU)6YWLyS zm*IBJ@ye`PMFlQM=vN`l;Oaorf#B8YBqVLDIqDrYB*(UZSM~NG?dPwdcOAF&i22t` zZg;;~GP3;vnxnGsxaIBQWbVB^km+E1EfrJb!ll)Bq$**#WY-E4r(7F62Shx3ZSE-_ z=$mpLH$@0Y3kwUoFrFW9@;kB|U#JL|ZJ614&ftErXj(~NdsDrQKUuKdI2STaoDajs zUYK2WWm=9e~?3huO|eKq;Ysc~T0DccIbd9LiqXAcfjo=F71Xo6}_Vb*aBwhkVfa`$x4P^LD*x;Nrtdn=oP0j@BLOoc&M)qGgKt&Z+YlHw1E6D6G|GvOPN@7$&0Z z8MBM%<`yFoW{zrl`5v!f0PQ?w-*%!$na4W&V0tf^x1`@OHcn;cnW$pP^)k@cl~bwI z{F=p{$jC_D+8C!ACXblLiHkgzzJqgx%rNXe+V0kwrIMp3%V%Xp$-^TfYVd>2fuNYi z)S1ZCuP^#(ah9y)9^pWrkG)X9MOu+~Htf5HdYMq+zAg4H2jnCtt@v`WZS*mvdfem{ z1&V#M1}S1P-fAJKsq}M)c)w+2|Nx*pKO;I&71*A^4A4x z`_DSP;Ub0)w1S`JUmBX9r`GF^GoD#Z($%sOp+GgKP3P$|d8V zjuha20;m!NSy`?7UNkf;FOS`seKZu^m8JrNo5}| z8{4j5B8OPpcxuRU8D-t%^%&5wx!-vdA~3>Zv1(ZpBi<%&LQw(jLJT#MN9*%0BhTKl zJXl#?JY>D!cd&FKuKRZK3I8IcN4dFjB`~W~v?y=40^=S-Udy)P{x;9alcg!IMr`IL z>04exd?vZw7J}#%1K}e|c#zP6^ILWl&|q*l;Df^QhKQ0|46Df)Q6qt`1g(WWNtO9|JW$Im=(|8*14(m{x`h}<}arWYruRuvP|AJ1&o!zi8Yt6$=gAmC5ltGX+K$VYnUYvcr zO71PieCR5qUY%&mls2zLp-}5!wgPL@&{=&;h|XQvj-7gCYB)XeHRg)vfdx_5m2-!? zz9888Otgd*#|koM83sEf+28g0PV{W)NVwfr`aN1?sd?j9d^vB)Y6KWOBqG3mdtv)F zN@XBR=F|AS>qd!dYir7+h6>u)V=%{XPgWA!Scc_&^fuEYEv{7Ji~39ICK z;v*l+eMpW?q44F5UvgNMIu`kmChb20o|-Rc7%Z2#9Y zh-ZV+&+4(@1++xNF&=qgvbf<8s$VxSd5{^nnNK(G`hTLpY_Fl0}w`ISq z8eE`qq^sHT9chTT-od9WpiXqe9aJHw#8rH1K0eeYfi0{)blgY6Tm|m%$h;>dIhifJ z^KJ$i_ks?J)`gxb--4k<$y3pyM0fYAt~pMDAN7dVcQk_bW=TJI(pyFv5(qaxlhB!N z27zpsICjkVvAJ!o-CY^193yb4-?v`#I=R0R^)s5*#xi|9%6kYsSE1eX6;>iAJr=xw zUzq6LoSHrk(B_wUc0&iVCnhG6kYENQCY;GB9}GTTsL!rsOiA$sPnULnaX2!{QCSKm zqow+!!z%5wreFjS9UdDKVLx+k?DKlcW5FsaLT%dI_+<{WF1!o)5{%K50zq=$BX2O|?Pz}hs#9rc zsmfrW;vM+2n99ZCa3f`om1{2!p+DBNPk(Pd@ymw@*Si z%E$)(HKCA7i&;Me^6yO{@b2Yq$Xd(5yQh~Iwp_$Yk|(qC@*Hb})hRpQH`TMo@4G@E z7M&m@eBDTckJoFK1{62aWw0w@wajNlc($JP8K@|X-M)1=|xpDICZ zTG~1R{y8}xW9MLPy+2AHj8CRho>vScEG#TCoX>A^{XaeK$9(1bgi^mnTngKKuLLpF MJFT0qeg49K0bH7OY5)KL literal 0 HcmV?d00001 diff --git a/app/bag.plist b/app/bag.plist index a0f6e6f..09efb1c 100644 --- a/app/bag.plist +++ b/app/bag.plist @@ -34,8 +34,6 @@ javascript-url - ./js/application.js - - + ./application.js \ No newline at end of file diff --git a/app/js/jcathostinfo.js b/app/js/jcathostinfo.js new file mode 100644 index 0000000..773b1d3 --- /dev/null +++ b/app/js/jcathostinfo.js @@ -0,0 +1,302 @@ +// /\_/| +// { ' ' } JellyCAT +// \____\ + +//----------------------------DOMView-------------------------------------------- + +var JCATHOSTInfoXML = '\n' + + '\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' JCATHOST Information\n' + + ' \n' + + ' \n' + + ' \n' + + ' About\n' + + ' \n' + + ' \n' + + ' Close\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ''; + +JCATHOSTInfoXML = JCATHOSTInfoXML + .replace(/\$atvcsettings\.hello/g, atv.jcathost.HelloMessage) + .replace(/\$atvcsettings\.system/g, atv.jcathost.System) + .replace(/\$atvcsettings\.version/g, atv.jcathost.Version) + .replace(/\$atvcsettings\.sighost/g, atv.jcathost.SigHost) + .replace(/\$atvcsettings\.hostip/g, atv.jcathost.HostIP); + + +function generateJCATHOSTInfoXML() { + var doc = atv.parseXML( JCATHOSTInfoXML ); + + console.log( "Creating the view --> " ); + DomViewManager.createView( "JcathostInfoView" ); + + console.log( "Loading the view --> " ); + DomViewManager.loadView( "JcathostInfoView", doc ); + + console.log( "View is loaded" ); +} + +// *************************************************** +// DOMView | Wrapper +// https://github.com/wahlmanj/sample-aTV/blob/dba73806c21183fb35d6edca94b960691d8e5d66/js/views/DOMView/DOMView.js + +/** + * This wrapper makes it easier to handle the DOM View JS calls. + * The actual calls for DOMView are: + * view = new atv.DOMView() + * view.onUnload - similar to onPageUnload + * view.load ( XMLDOC, function(sucess) { ... } ) - pushes the view onto the stack the callback function is called back and gives you a success or fail call. + * view.unload - removes the view from the stack. + */ +var DomViewManager = ( function() { + var views = {}, + ViewNames = [], + config = {}, + callbackEvents = {}, + optionDialogXML = {}; + + + function _saveView( name, view ) { + if( name && view ) { + views[ name ] = view; + _addViewToList( name ); + + } else { + console.error( "When saving a view, both name and view are required" ); + }; + }; + + function _deleteView( name ) { + if( views[ name ] ) { + delete views[ name ]; + _removeViewFromList( name ); + }; + }; + + function _retrieveView( name ) { + if( name ) { + return views[ name ] || null; + } else { + console.error( "When attempting to retrieve a view name is required."); + }; + return null; + }; + + function _addViewToList( name ) { + var index = ViewNames.indexOf( name ); + if( index == -1 ) { + ViewNames.push( name ); + }; + }; + + function _removeViewFromList( name ) { + var index = ViewNames.indexOf( name ); + if( index > -1 ) { + ViewNames.splice( index, 1 ); + }; + }; + + function _createDialogXML( dialogOptions ) { + var doc = atv.parseXML( optionDialogXML ), + title = dialogOptions.title, + description = dialogOptions.description, + initialSelection = dialogOptions.initialSelection || 0, + options = dialogOptions.options || []; + + + // fill in the title, accessibility label + doc.rootElement.getElementByTagName( 'title' ).textContent = title; + doc.rootElement.getElementByTagName( 'simpleHeader' ).setAttribute( 'accessibilityLabel', title +". "+ description ); + + // fill in the description + doc.rootElement.getElementByTagName( 'description' ).textContent = description; + + // fill in the initial selection + doc.rootElement.getElementByTagName( 'row' ).textContent = initialSelection; + + // fill in the options + var items = doc.rootElement.getElementByTagName( 'items' ); + options.forEach( function ( option, index ) { + // save option callbacks + RegisterCallbackEvent( "DialogOption_"+index, option.callback ); + + // create the option + var newOptionButton = ATVUtils.createNode({ + "name": "oneLineMenuItem", + "attrs": [{ + "name": "id", + "value": "DialogOption_"+ index + }, { + "name": "accessibilityLabel", + "value": option.label + }, { + "name": "onSelect", + "value": "DomViewManager.fireCallback( 'DialogOption_"+ index +"' );" + }], + "children": [{ + "name": "label", + "text": option.label + }] + }, + doc ); + + // append it to the items. + items.appendChild( newOptionButton ); + }); + + return doc; + + } + + function ListSavedViews() { + return ViewNames; + }; + + function setConfig(property, value) { + console.log( " ===> Setting: "+ property +" = "+ value +" <=== " ); + config[ property ] = value; + }; + + function getConfig(property) { + var value = config[property]; + return (value) ? value: null; + }; + + // Create a new DomView + function CreateView( name, dialogOptions ) { + if( name ) { + var view = new atv.DOMView(); + + _saveView( name, view ); + + if( typeof( dialogOptions ) === "object" ) { + var doc = _createDialogXML( dialogOptions ); + }; + + setConfig( name+"_doc", doc ) + + view.onUnload = function() { + console.log(" == DOMView onUnload called == " ); + FireCallbackEvent("ONUNLOADVIEW", { + "name": name, + "view": this + }); + }; + + } else { + console.error("When attempting to create a DOM view, name is required."); + }; + }; + + function RemoveView( name ) { + // unload the view, remove the view from the view list, remove the view name + UnloadView( name ); + _deleteView( name ); + }; + + function LoadView( name, doc ) { + try { + var view = _retrieveView( name ), + doc = doc || getConfig( name+"_doc" ); + + if( !view ) + { + CreateView( name ); + view = _retrieveView( name ); + } + + console.log( "We load the view: "+ name +" : "+ view ); + view.load(doc, function(success) { + console.log("DOMView succeeded " + success); + if( success ) + { + console.log("=== Saving Document: "+ name +"_doc ==="); + view.doc = doc.serializeToString(); + FireCallbackEvent( "ONLOADSUCCESS", { "view": name } ) + } + else + { + var msg = "Unable to load view." + FireCallbackEvent( "ONLOADERROR", { "id": "LOADERROR", "view":name, "msg": msg } ); + } + }); + } catch ( error ) { + console.error( "LOAD ERROR: "+ error ); + }; + }; + + function UnloadView( name ) { + var view = _retrieveView( name ); + view.unload(); + }; + + function RegisterCallbackEvent( name, callback ) { + console.log(" ---- Registering Callback: " + name + " with callback type: " + typeof(callback)); + if (typeof callback === "function") { + callbackEvents[name] = callback; + } else { + console.error("When attempting to register a callback event, a callback function is required."); + }; + }; + + function FireCallbackEvent( name, parameters, scope ) { + var scope = scope || this, + parameters = parameters || {}; + + if (callbackEvents[name] && typeof callbackEvents[name] === "function") { + callbackEvents[name].call(scope, parameters) + }; + }; + + return { + "createView": CreateView, + "removeView": RemoveView, + "loadView": LoadView, + "unloadView": UnloadView, + "listViews": ListSavedViews, + "registerCallback": RegisterCallbackEvent, + "fireCallback": FireCallbackEvent + }; + +})(); + + +// ------ End DOM View Manager -------- + diff --git a/app/js/jcm.js b/app/js/jcm.js index 43abfac..1e30a41 100644 --- a/app/js/jcm.js +++ b/app/js/jcm.js @@ -558,5 +558,164 @@ String.prototype.xmlEncode = function() return string; }; +/** + * This is an XHR handler. It handles most of tediousness of the XHR request + * and keeps track of onRefresh XHR calls so that we don't end up with multiple + * page refresh calls. + * + * You can see how I call it on the handleRefresh function below. + * + * + * @params object (hash) $options + * @params string $options.url - url to be loaded + * @params string $options.method - "GET", "POST", "PUT", "DELTE" + * @params bool $options.type - false = "Sync" or true = "Async" (You should always use true) + * @params func $options.success - Gets called on readyState 4 & status 200 + * @params func $options.failure - Gets called on readyState 4 & status != 200 + * @params func $options.callback - Gets called after the success and failure on readyState 4 + * @params string $options.data - data to be sent to the server + * @params bool $options.refresh - Is this a call from the onRefresh event. + */ +ATVUtils.Ajax = function($options) { + var me = this; + $options = $options || {} + + /* Setup properties */ + this.url = $options.url || false; + this.method = $options.method || "GET"; + this.type = ($options.type === false) ? false : true; + this.success = $options.success || null; + this.failure = $options.failure || null; + this.data = $options.data || null; + this.complete = $options.complete || null; + this.refresh = $options.refresh || false; + + if(!this.url) { + console.error('\nAjax Object requires a url to be passed in: e.g. { "url": "some string" }\n') + return undefined; + }; + + this.id = Date.now(); + + this.createRequest(); + + this.req.onreadystatechange = this.stateChange; + + this.req.object = this; + + this.open(); + + this.send(); + +}; + +ATVUtils.Ajax.currentlyRefreshing = false; +ATVUtils.Ajax.activeRequests = {}; + +ATVUtils.Ajax.prototype = { + stateChange: function() { + var me = this.object; + switch(this.readyState) { + case 1: + if(typeof(me.connection) === "function") me.connection(this, me); + break; + case 2: + if(typeof(me.received) === "function") me.received(this, me); + break; + case 3: + if(typeof(me.processing) === "function") me.processing(this, me); + break; + case 4: + if(this.status == "200") { + if(typeof(me.success) === "function") me.success(this, me); + } else { + if(typeof(me.failure) === "function") me.failure(this.status, this, me); + } + if(typeof(me.complete) === "function") me.complete(this, me); + if(me.refresh) Ajax.currentlyRefreshing = false; + break; + default: + console.log("I don't think I should be here."); + break; + } + }, + cancelRequest: function() { + this.req.abort(); + delete ATVUtils.Ajax.activeRequests[ this.id ]; + }, + cancelAllActiveRequests: function() { + for ( var p in ATVUtils.Ajax.activeRequests ) { + if( ATVUtils.Ajax.activeRequests.hasOwnProperty( p ) ) { + var obj = ATVUtils.Ajax.activeRequests[ p ]; + if( ATVUtils.Ajax.prototype.isPrototypeOf( obj ) ) { + obj.req.abort(); + }; + }; + }; + ATVUtils.Ajax.activeRequests = {}; + }, + createRequest: function() { + try { + this.req = new XMLHttpRequest(); + ATVUtils.Ajax.activeRequests[ this.id ] = this; + if(this.refresh) ATVUtils.Ajax.currentlyRefreshing = true; + } catch (error) { + alert("The request could not be created:
" + error); + console.error("failed to create request: " +error); + } + }, + open: function() { + try { + this.req.open(this.method, this.url, this.type); + } catch(error) { + console.log("failed to open request: " + error); + } + }, + send: function() { + var data = this.data || null; + try { + this.req.send(data); + } catch(error) { + console.log("failed to send request: " + error); + } + } +}; + +function handleNavbarNavigate( event ) { + console.log( "Handling the navigation event."+ JSON.stringify( event ) ); + + // The navigation item ID is passed in through the event parameter. + var navId = event.navigationItemId, + + // Use the event.navigationItemId to retrieve the appropriate URL information this can + // retrieved from the document navigation item. + docUrl = document.getElementById( navId ).getElementByTagName( 'url' ).textContent, + + // Request the XML document via URL and send any headers you need to here. + ajax = new ATVUtils.Ajax({ + "url": docUrl, + "success": function( xhr ){ + console.log( "successfully loaded the XHR" ); + + // After successfully retrieving the document you can manipulate the document + // before sending it to the navigation bar. + var doc = xhr.responseXML + + // Once the document is ready to load pass it to the event.success function + event.success( doc ); + }, + "failure": function( status, xhr ){ + // If the document fails to load pass an error message to the event.failure button + event.failure( "Navigation failed to load." ); + } + }); + + event.onCancel = function() { + console.log("nav bar nagivation was cancelled"); + // declare an onCancel handler to handle cleanup if the user presses the menu button before the page loads. + } + +} + console.log('Reached EOF!'); diff --git a/app/xml/devtools.xml b/app/xml/dvt/devtools.xml similarity index 85% rename from app/xml/devtools.xml rename to app/xml/dvt/devtools.xml index f3d1e6b..8600583 100644 --- a/app/xml/devtools.xml +++ b/app/xml/dvt/devtools.xml @@ -2,6 +2,7 @@