From 039567d0c89e149a04e3de35945863c63232cb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20P?= Date: Wed, 22 Feb 2023 18:25:28 +0100 Subject: [PATCH] First report draft --- css/ds.css | 17 ++++++++++++++++- img/map.png | Bin 0 -> 28891 bytes index.html | 25 ++++++++++++++++++------- js/ds.js | 44 +++++++++++++++++++++++++++++++++----------- js/index.js | 8 -------- js/views/index.js | 19 +++++++++++++++++++ js/views/report.js | 36 ++++++++++++++++++++++++++++++++++++ report/index.html | 32 ++++++++++++++++++++++++++++++++ 8 files changed, 154 insertions(+), 27 deletions(-) create mode 100644 img/map.png delete mode 100644 js/index.js create mode 100644 js/views/index.js create mode 100644 js/views/report.js create mode 100644 report/index.html diff --git a/css/ds.css b/css/ds.css index 680535d..a0983f5 100644 --- a/css/ds.css +++ b/css/ds.css @@ -4,4 +4,19 @@ header { background-repeat: no-repeat; background-size: contain; min-height: 200px; -} \ No newline at end of file +} +main { + width: 75%; + margin: 0 auto; +} +ul { + list-style: none; +} +ul li { + padding: 5px; +} + +.mt-2 { + margin-top: 2rem !important; +} + diff --git a/img/map.png b/img/map.png new file mode 100644 index 0000000000000000000000000000000000000000..b6139f545b21a06a4b440b72d9f2a95b5ca68cbd GIT binary patch literal 28891 zcmeFac|6qX|35r(nN3d57|bglKt4XVJQ2W zY+1)LDErLB7{<(fjiuA)^ZS19`}es2K0O|(M{~We>vg@B=WBgW!GCFM96WIR00aU# zc7N@a zn|-)IPa}awM+Nqmk9e^xd;k8u_~$V!_@Br7%>1$%`5zk%PW@kgREr_vt0<8QeW|2a^Lcm=n@eZRQ8gQ;$LgRb{DL!!w99i7+mf zmuVG)WP%sLqo>{A=3lmCz4JqO{SzBZyzr4-=5R7Yk2-CHK6$Cj70fNBWrVQ{q5Q=c zO^owei(iyhxFe9X?r={WXDbk2UU2q~T>eP|#rxkrC#g;pQ)}sUn0D2d^ii?Q9#0It z&isjuA~Tan5-WYSSU@f+(B@!hgq|+I&b%p?GBFGPY(ss_h;&E&<+dLf7$MA~-$<1* zHy$IRDjC-2mS{b!^Af+6YFM~-hmz>o0&SVm=kC9sQ#(X>#~;rsKyRhe0UidS3NT^y?|T!iH&|@= z?b1Ahh4~9AjT#zaDc8H;{)|YSU0Pf_LYZ?n5&YfQhG*Sa#*Nk?RWpJ3_2RQhR0(0!j1+9^GvT!3L29gR z>D{^rws_pWvBZ`g_(PT{dFBtj=;a~gQ1v2Qrt76c{Ra+MxUr`+F~O}Rp`XKPb~=Xd z6wxI63dEySnO!U!Lb-b!WuDb5VWuk z9Tx87R820tin>*Ho9Fskkj`8}2-WenP|aED=C!RDy2SwOQRlOR5@sJ3k49=Q9hQqo z6P67}3eH46V3iRn`-+|K#l%X8aNe40DRIB}d5S@41v^W>jdmKd>d*VAsUoQvPvQ~L zo{cI6Z?1`FBcqR&yjZhdZM*rTtFN$y8miZDDQ~TS>#uK02! zn47p|_z0giCu;_jc5=t`BOArSgih1*F6*74o|?gw=xebnHg&KwvMPH%TYN_@!kOjH zpJR%ucw?cK9Ta!$akFY}wL*FQI*Vx|6MX#LE)vfo4Ub7%shKw-vf~j2BcfUO8l?Zx0=*YQVO*LWPw)v5gFcgc@AkM7w0 zz1f!8O{U34OVMeWQMQ?M8KxJlLr%z)w7<=J!`clQ$S8-SS|-Zym2XZDPawvhrEII5 zSrEMYL7QQRG<9CT8QpBpbfq*HcH=vX?DYFe2gs=|UNf z(X4sLM4kl+bG{S_6DDRwQQME?PBv6ZF5X`hUVd7jX3r&UTtB&b9myM|^E(?SH)i4- zrIu+22~dY|ouc_$?gCay3uWZ#(>^Q%j~+nnR6Uo4I77qJtwfEUUad)=Scqv{o>Tet zsq32IPR&K?s?&VXTpeW%str=z^HFR`8VWYx_MX@2hbAS1>M&Uwb&9nnbAFv3irvAJ zKkGx)Y-BA}#qe0EbX zc_S-xvZT0(a<*kiXN+=h_6|AVq7)DdIb@w)2+{l zo}X?y<6aKFIWv4Z;AsXUe|Npp>28s@dt6=PHk~_{dzLUx%>j=YjtPt{c%aj0 zB>L%AT@5>vOT0nJ2=%X=Wzy8x5*YxGLAT=+lys`$VNFNe9g3dlo%+|btaZ*OBxE(5AZbh-0KO;XvxG$EDq@7OphTqatGf1Fn|QvPh<6N`>^y<8qy8}D8wT4#cf9JT zC!QT0eH(8H#X^T=riKQaS8hz3N;^gf<5k_n#!F&ihMc~gL)I~I?X2&BN5fs>4e_wE zg<3w{wet-sX^ClDmW%ua){{yFmhIx*7Hjvc`flC3bv_hl#ce#+JB+p8P&j?3;mh3j z$-)BH`kHG@^-LwElRd>M^JB2kvabum`jqM^!8>KQ5^&4_P_`pIn?~*n#Y>SL^y|)m zGD}iTfm$%?jFQnS@|PED)9-7CZ**%EnI7^uS$9ux^$ozaujjl<*S}*A;i9i>bu=m> z7miG|a(~CG4ythRWRt310sfqt+%}qwQ~77Da`1mrF5jSQmA;ocO+}Hm`hgqC%1vD1 z9i{Ioran*T5A92TADZ$0(E|}g_Ex*NL1%c+ruUp^?fdPWcFZs16fNLlBGhgbaGo2v z;205)Pe_>Y(0Q45C#*Spn5Xpq%YIw2JM|r`Gr^H5Chz_#r($!NBR4i%DlB8se7*4f zP=OtcIX}IM++wx7tvC2)RCz_G9W#3Wy2qmmkFM&fXv79OHvi(7LY}hIsaIZ9Ut7vR z|MkbR8$e6u0|0(Jd%6w9$mgghH>bQa)e%AG#Lo>&>s=^`p$5n>NkieRugE>azZ0q! z6Xg-L_ghX9G5NNNdIbVRxp?w=%DqNd7BAQ)Xm1-3l}O;+^Dl7F#qh-?$g-SN_^8*^1jD$&l*pY!Y< z9nlXaMY2#>>;(lJ^eU-MlM?G%JrNO1&J{{)K@^mVoh7xc8EqBzdL8PeTrqDm6<|dz6vmNoN=i^pt;!tNVQ{YE_M0Q+!Z>X^Cg?-WJKI|eJbi??t!#cHm zni0OSvW*qbq5-|8SK|hL^IUWKO&CFX^E!pNnb?Z4ZNP2x#xh@OhLv`4$A{o7!?Cne z8%FT-O3FJq*T-ft(X5S6AOn!sHv_oJa)T17vvgIWDmyf1YqBMdov+kWur^Xmsw~V& zm{@ia=>yZ2pN`=h|6aF^f}93s0(azMMDvflJ2-jy^f8huY(UWb-9!Sy>qyl1l2*Sq zm>)&%N+j33mkXjp%CJ>XwYDc$jhzS7D9Zv>I{6d%ufef#i3|hT zZll+yok}#D+WCocM>Xw#J@d+#f+cH>-Z4$`bCm+vDYr1-2=-Tr_M zY23G!_}Y*^6vU`%5GNy_o-i4b`lasr=(+$6#APBGqO%LlXYnDECHl8KC609;Z+4v% z%eFofjd0K_yInIQ>b$s04AJ2Ay@dLKzlZA|<_r21sCq;r!iRs%muP{T)YPb-(y0;8 zLz6Cb7rA5~GaQ)6Cg+wuxSxEJWQ-!69%^pTzLeu0v_zsqs_ewB_ppi9R8HM46TVEN z4<;1v9E~qNG4oIFXO!QccbH5-UpO=7y^La z%KW1VCWLj+@z8j88@-I|ffUr1mdPt`KmQDt9UVLYkA8_eu1@K*T%DZS;C+WzHUIH; z>G9?%YRkdUhOsT3)gx8hq>M6)CKb6vRS>=o+mYI2d+qc4+(cs0_Ad8cg?v$(m%v6g zg;vheRBSuQV@mSSMlDhQf==a~khz>mwlq$$3x*}Q1@UW-XMVN&jdrv0x}HCR3rCf0YQC5+O!$=1+1IC^K^}VtOfExe`?@Fy z{F#&mqdLXKb4X{S<4>X<1$JJXy`?o1*+LyD++Q$N>Fv@wWJfa2xg4m%k>FS@vnueI z6QAJVGuRS$Ouu1@mEeK1pND>pY`S6!DAd}akfA=bKCEoC^-3wSnCqKg+m+I-SPr-l z^%T37dDo~813&fA7{xnH+m|y7*fyr&l_+nan^onBsgu0X<+$QJAo1rr2)l2RJ>fXw za$GoDq3B?95jD(d-Srgpp1xj#FAIhLA<39}Mfet~DD^Y&Q6f$MYB*JqQCISGBd zAgyrdWy?xIcmQb`B#nmk<`y;Sh3FY#c{o2e=?qeo#CP32v<~NGcuOF_usty&xh8N6ayV|$n5l+rl96XNGh%D2qC%Vjlj%Of3o(ob9b&DO%1(Lo# z;2q!%uRoeL6Y3;jMJ^+45>7`a<$JDeJsMFMPfbL*J{O`Ceh@G+J1ial(wgYqUgtN` zUnjX)N4_-Q?;k=*!c42TCeGyH7F#8yVTv`QIO06!xj|_V3=O|(OfuHW<2^Hb=C4g} z(pQD+Sg2~5+k$u#CLi;%D&YdMx-(Kbjx+NEDg9$i{aL;76IR2f$Fz7)ad>z%8>)Ka zx1NjvA~I1~%Nz~1j2h-{i$FZ#GvkP!wYrW(6R2)CW^Qgy^{W22r_vp;UU$)|cKh2< z@+lLmng?wXLv4uKT*#jY;W#<5Xf&Bz9XnH%KyC4>nR22$N%$^&^gFqlR%HN+AVg4` z3HkUECnn8{PUlFY&)Z)g?uPu4Kcp)DYNm6|WI*#bP?QN48?AW~SlO1XmO zd(6Rz{;g2VR@_!PEi+5QCYLNn+hf%}y@4x#zkA+g(!{y>g%l&HO$c`W*3Ho?D(mkt z`&S62bkLSy|9Y~#qN9&t+tj5XIKCzAYOwB!VBvw6o8-EW_GM?3Um&s|XLV%xaT|P5 zn{77M0Zjo!Sa%EJc(CAgCcW6n81D|-)u#yo7@Kp6Efp=xTh@*lPh%GPEGvW|ULwhg z!dCKCkB&vQm5tV2p>XI(9#uPm08W0k3TW)-+x#K9&e#j8wp7i)sY|!vv-KKO=S$*7 zY{7!FiHlaQs(e4D;FigpS~<8ZG&VKe8x(T_g`vL5^!O&LWUCO0ZBg~x`zwkQ4Pmg2 zYAROmj~5i}+*Xyg5xYV0IHr!nlczWbJ%LZT-2!}KL&Bk8SIzlrQ~94pJhH})-qu@s zD3wk(1(kZTi4#0yCN8^R$IvaJ8m2ZsHyx|~-aai{EtcL1#~?_J#rbmJ8FfUKQwr-b z8k4IQdPVrD#?v!{s~L67e!?iM6L}2rtpBvXhRQGdrpiOsi^k)2;4=5inBqcwODjJ6!$dOtwX(! zXeTV`FS-;zjACaYydp49Z*JMQ@?)lk?p~)$qE^;9_Bazd9u-Ik3lhYdQUo$4xkFq&^``nF*U{3aNzgO(|-1BJBs5sp0 zP#dmQGV*w2?Gr|%6AGHjtx2}Hq@79@HQI~3%div@5%^JAc8#kz44J}cKYnOy6+U^(O<#eh@EFoJC zyEHg{SvQ`!+hWz~aKeb~CjJxK^DiY^ zr56k=N(i`1LFCnuprnA;J@y_isfZf`b;kv|;>ktDM83hzVOEwAcWga{o0wMaJv(9{ zx41q}!JP>c9DD17HngRw>mWy@z3b{$PR$}}!mJ;kusAfoEEtXk>7{Q1+TKaHGLz&S z>)0e#r9`@5F<)+lY#!ka7K)hj0S2WJ9tf?Y@8TO9v^MlBI%7tN{djxvR?*QK(W9D5 zu$MLMZ)XBzt|E;|*5bdncb)KEiRg+L^Cq+fu9+e}ahJhl8pI)o07sI8B?TknB^Idr zF9zbG^0%hNfkIVHNqt$j<6g>vJoL8AAm;iz5>8vSv*6*D3Bs5au3#>zqaVhq$U*uU zhFIP>4rJIxfd8g^tX6T$wexc$S~m9e5Zl%ry|XOrS6KO6d2=q|Q7;hh&ELGuO8l{P zNVqCa>5fpBnFy|Yb1bbW9&Jw?ql(**r|%TEh>?sPKv5|Ion{a6_%eofjjEYSW(pH6 zGKA@NA3d@MyXYMixiBT2sq7-=Po1G^Nj3V%w5}Y`46CrZ>vWEFYVj4L;Y+w*D~#ex zYR-JSOmsIdSjKypK<)>9O7%{=D}fkXs-SX#`(>qMsZk26Z8)BPx;~dWt07)sIxq$6 z{<~h4v(;lH@Eh$~MeB0{pFR_4)#}*V7i6}gn;4#8ZXFhQY|8!sP0q23caM;1_yjbc zN|L+P)^*c_7>zcL!BqMvL5{Lf(lHPOmu_}4mqB>KX1Qb?>EH^l2{V*P#~G5}OaZp! z_2qfW?WQRht&MOGalT73z00{nuq$@``SrZx_~*qV|_t|a<&Rr{RJ07+8X@Lm0u zY@V?*Gre7G32x#?SsYA6#zqUG$y?+XX#3Mm7s|_!6PsIE?$Lmbc*Cxf4TjpUrhrJ@ zO*~j^lsvGW2WlfT6x_p-Pj`k7ulq?&C8*m6=fzd8|b4>S+2fuc1gaiXjfD2 zU>OOg6qZajmvA@WOq1)q2TVT?f53FIS|Mtz+#PGTmy0sP z_GgPCO|H0;zh;`_irov+GmMoyyG3zJYvGeCCEQ-dLZo3yh>MS^DuAnd?WcXw!onU= z*t>?ZicQnEO*^mnB)?B<0@QZAL?h25rK`*8oIuXw!8&SAeakTUrn`t&L{y5oBCk5- z8ecuGi*8xdif)A?1JFBmm*648dZ(fAJE7jK&8xmAA?HZbIi61&a-J#aG?LxovmH^B z=2MCc1skWL%L_g;e{rxOlCj5SuyaNk7`3uc37aC2Nv&}|sY*Hrh;#qmKYW#>E6@~E&|3tLnlwh=kI8H5p{S}C)ZZPAM4T&S zZPaER?HOt)Q68Pl?8xr0h^?B68=c}SL1WilUdY55-n_XPezjNLyLR)HOf(Sh1JCLQ znRcw)GvbFm^33?n2ID>d429vl?m*UXzBIc`U3ad7?d+= zh50%9m_8pkrPv&q)XJfZP1_*0x$+)!Q&8a>tif%T<(tKPUR*bndULHkD@{<+=&Q(* zDf%WV)jc%E3svY%PG3vlfsI;fO{co`N22eXFJ5C*?^bgVNGd;bREu(cYV*})emha8 zzdha02p5Yx*l{X)bA)DK)s)lrqgi=N&@>GjHO@cji*8}>0NKT`5J|wl4R`MCn`=B5 zen@GO_~2Mi7r&ewhShKAq4g(>JA~9Yy`8025i>MCChX$PbeXJs`199`PRy}`r<z#ovB@wO(d4v|(!IT6=WrTBHoHqFxHJ8((I|58^Ci z?HaX@@JqrKbB)}044}u~7YCOVaR!ZM$A@s{AG^&ke}<~U;NP}23slj2^RY5^y(aG4 znkfbE$~Qm^Qd2L=#t9E}&z_+Q`)%Bu z^6nU~cCM|CHhDN!cD&ef7FO`NKYK;WdF0jrDH`a)&A~HwSbG}YuQ8Z+CB4hEUJ6j5 z1$>c2>lfru&2Y3xi13xfLKt_jFrVlG^=RJcIP4;Ge z_BR#ymcG_2#Zi-0PG9!vVDDZ=-j~kP3H)tt74Rta)uLZl-Sr*@#d8b*m zZ!Td8Pgo~+mg-}a3hge})!Frzpo@G*!vj6+;XR>Kb*{$!L0Lz_^CA%q?^gMxGWBy( z6ksFeC=Dgw@3zhln!FYx4Bb6@ruPX82csvfXZfl z4YO;O0S`1g4|8^?lG?YDw}gtn$*-SahtzM)f@a$6T)6v9AG!C+f4rJJN1$9Is19Muuz2o%p{N4BVv^_v;MjW^`lHJm4e zjcO}h3Aeqb>>%L8r{q=VS*^qU-H(<@Yy`}~G^k&pB&xSQX@DPBiIDDEm~Zbivn{pW zkKz$lD}0X+(PY+@bI!UgRc&g5&M{W(wZvcz*+VeiOko@;JLPK^E83G*yb>k~_MkUAb8SEa1NH&pT+8UaIG zN=!61eZMdb=)T0m!aMT!pW>#;NY*$YYEU#L&Mkt%9H9dR(9S+U7nU2;Oo>!7y2=_mM^&1C-+tFde_z72cR|W!Pa;*e@?(~6ut%H$IX?l4l(zi^xP(E5Lxcb>4{R3 zd3QOZt$mV!Y^(Qfs<|sn^%x^vZGTzTSwz-~)clN>qi(egMs(>o&XIIxQ)YPwq|h%L0|7nkrTlqBPA3>ZrJ?+K|r|ye%=`x^uj+B98xZpTSZA(qU?F4^|(pKi|JL!`-0Q}MpZVZO6Zz6B12!RPm~wd3$41s z8@O!Lvsyh+nj6lGvNG+e8kSp7DYp2eYf9i$3S{ut;?u>ZxgGL1CUM3Iv`N=cWPdAM zdt!JB#@~Hb)BgMI7hb{jb&G34bKlS14#4V8O_Y%(%ry1l6BfVnKxL-G@3aWHvA^mQ zzk%=#dPc_h5S~6ruIle0`xaZhHo&bvY{;Sy%r~Wuygo6HXc9!!x&8%_Upb;q;qqNF zpghB2`3X#0lHx#hu~VW~w6bq2yCTay)g$2(_yuUw#Lk(o|D@oFoM~l`l_+MJ^IxvW zaxAAWX*S#=wBNBNQOSvh4FVR?8BGD8dut0?x)m0NNKaS)kFDt&SD8o}=8bHf;7Y>Q zf49bEl)AZv&~r}@Zf(@kg7@C_tSGcS%fiSdUc_)yXWtds?-Ic)@~EW_~y?XVSlHi)DTTR9obX)LqX$1c0Z055!J@XUK*>-WeC z4BGt}d}{9CokMwNaUXE{pdcENgpezK6MdfY-axD8PuWB`-y*O9^6{g1c#Zu+O08vV+yLrNANaEL^=YW#Dby^*x<2XPKuBwWw68L63b#&( zb%yvCZ3>^3snDV2@kI2vr3fU*@APKMMhfCyFFZ1v92hqcIwO*6zLml-nb+6GgPt`b z*0Brmx}iSApzWc{!>L}J^p;92P&>A?8Shg!qMY8*ZdN&cuM3M<_&Pg@6NYhkEP3Bt zKuxF=tj;MmFeHo!aID#LlxU56)lz@_iJsLG>Tgc7j1=s$W1Ge4nUHL8Yj90NJKG+ ziNtbtHhFsJOA)tKu%;qM@MeGRVJDMk8rJfJ4^!&z$d*;MTMby;NRs8bSCXLVH#=%v zzX|1a7pHmYkYg%-5%}20_Blf#R=C%LPA8_R-C@%?1Wr`D(i~ifK zy%LY7G*pTNsn%)Udi5Hmwx_9}<2L#53+b(@r4B5|=+gy6U0Zv4g!LRx%_TNam18(X zEx;#kX1X@?(IOSj7UGB#bHiN-)H}WP(mQf)|Io;#c*EJ|??Y`M73lsLT33-(#`bjTzuwgy zekzK=KUIDI2W#1s07m2mUj0LtKxUzlhf&vdAH-Tb*3n-2e8-G5#5iMpvy9FshC2T8 z)P*a>A+Q@pZ`Bbe2ubmw#Qb)|T9*h=c{0}=&Yz!}!r(v3{`?F+A>0+rH8!QUp1KN3 zNJ%Egf}$1-xMAJmDqld4R(1$<+TM14u6}{=ycTd<&h|OHBu}%7a$&+3r9{m_jNpO2 zhI=W!YF3@+fe5!T-NZt<_n7t>q!Af%n2UazulhRql=U<{6(&aI{qoK%VGw}@5)uxF zL$4GEdkc4PqBEDfE764~bk>5lSZ6~++t*VKl`q>LSJoV{qL5xXyC^^D8jcTTg)@-2 zKBXg>|H7s@?|a=-@=OHCWfmyQdd^GsV!&4^>pwu-tHqd(rC0pE7$Uo6_28UXl0#Ej zR#f8T@*JK(-zB%wyYfMp z{&B0SHQn7JX&_E|GACwz zfX5ZO`M>QKrRFgB2W(S02WKN0yF$S8_8Pon!dXqFF`#iT*4Sxv>XURdt-WQ4GnKON z`>-Q9!LxsXQYVDR{rQd>G{a;~fw`=ic)k+`P^2iw`^1CcX%rEQeU|yPJa{>(a6fLS zboF%$2>j&c;w~0;iQxJEf|P$_22yXbZV*oeEsdEDlN<5qzQz}_LFp}y4wmruxI>8r zA0*q9Cb}G}JUw+D&<}=ebp?Ks0N}m zyna=eRspq9(b1(Zl}Hddk-;ek$`2I}DNjCQq3}e{UWJPQECPTPrKOL38sA2(Gx#!N z$ZsVkE3X5IA)!-A51d z+g6@`hGWGgwgj0du+Q2Nhsn_A3+7WohG1mNlM4F!UP9Eu*8Mn;({9TIxZYRZex0HdN7($n}RSCFu=;KzzMY{1f zG&Q6F&GX7OSSjla+9tWQnH4k%2NDprc>XoO4v$)|qSqRDr<5#ogpwATL7tgXmklAmYr2L{Q0=Yj+JSD%=4%u@ zA&__I^wD4iB(1L>mezI!$kdS=vy@2=zm_}MtUasn5hMm6uxN%+kUx<-AZ^FIkbk(w zpc}mIb>#x@TO^FvF_k<|UHUE(TAYx*q*TEYSYEN5Hhqyd|G{CXy_+8S~N)bS4FkFm}prO$myjS`jP1A`czTsy;G4_Tl+~)F}x=dxOzQu=9DZLqUjV`KVR$#kc`)JqX&GyfpL42?~5N<)z?!7qbPRP(9h>~H*usJe^7BZ!;VRh<;pHzl>>)FZ~>TdW1}*8!Lms zD#w(l&5p+@mWwh@o9h+GRlS8HW050pbi%*q+y z4eyX=?y(dHd}3%opoz!|uI0qzHoyxDnG@y@M<(8)d2sR|>tJzG(wW~@kr;Hv0f^vE z9gzkWZkcVHnb}Y?nj1S=*XC z%Y`Ti*^gU@m$ApwIBH9Y!D8|u4_6INg^-KbAtq0@ozO=CU@9KNvbt=zC#%ukNA_LYM)<2?D`TgFM0w;FO6& z%gOR-;Xthx(~4`^N&~p4vW=Md2=#>>8gSaFpX7r05hR6wkPA`80FeWnTncNT8QkR# zjI#7QJ#QoLj!n`Fb@LCgG8Bg}G-$cl&xUI6l9JIm!L1gJ9y#_4uBYzvPbW)^(I7ck zrUnAy&PlD+j-28+i^4!UEj%=Mbw=C=CtQ;QWKdA`~)h-Dr~!p}gkSyhkjRREa# zOGV!gw+3EgPFMP}Afl;jV|WBH+f_jHf{kvQ;oN$9=fvq2)m1jgCCYaONYl0jfslXS zMPZ}OI>mdGDkBF|WDCX?j1(RM1@5W`?c!Zvw(MTKJV(qn2^T29b@B?gz$kxVoq*cy zI32UfR@#*Oxw|flJY86)l0}Qz!UU?@)Ua{_VzJ%;7ZGmhSAnH5v=^rlP3xF+^3!ie zJ>~niJq7AfdH4VrbQ;c-%;FLcHcn#^)a&6gNYen||0< zK5&<2TKwhl?3Arw#|}TI-&FxFD7$~smMVTzN3-X@jeZ+Zwoy?eVN`8i%a_#;OH*Hi z!9HB50Rxh69Ea6y;!~#>%|hgj%%YNR?7C1hp8JcO%bmG~L3IYaN2i@+D(;MT33>b- zO|^*S3_j&n#uwKMOjSKz8*HDhP9YtDV5ZZGAb$_;!P-o#R=?j0 zmg-RoC73)v-N8TJp|-?-@^=#2$}i)Hr7YOuGv--`D_&)(NqNUfs2b9}Qll6#K^Rjf zc08|j-Uy8o>*<>f#WRPx?msBeeg6Q{dh@s6PEiB2`-vW(VHL}VV9DMofv0x&Fs6HT zgTloG3EbU-mae1&p`7r!8~O6ANZX(CPXoHwLuPtI-S#CQ-UzSqpU$6#Nqd&UXX}*j zfEi*X&lf&zw;=Ls3hFxv>n<&fu6c!Pp~NpWqvq@147#uwv1>)Y%O@@T0e}h;{VZqz zpU*32igNEdk?EUZ;pg8JtI;9%GgxJ0*@gSFv*LDWc-I)1BskGc6O4gzH-AL3y1y-{ z&5%<^lxRkoKAjOVyHsA`f&Tt-TSo}t0#rW+|Ln2@x-7gqIs+2oVF_Jqjr`RIQ~O}`z!pi9;7_y zKFx=^DQ!E#dr>8PN~BprrGclU;o#eH7E6(R3(eHONrT7JI?0AmGY32Bu3WKcvW&GQ zUDs&Ehw+<~!X3M1BUy_=KJo)C!7nFxq|9cLb7iwoy5vH@(8XpdsZvs^F>u<~(zx)U zdZ%x4%`P=(@T&Td@_6(Qxoecn49M?z9VkS88{9(3o1BnKZE;M?Pf42*3YtoB=)UK1 zy`grEC83cw>Skl9PGRpRLke6QqK+=ZzKa=mk=ZkAhDL!4qM1W4?nX5Fhdc;m1Hmji zWc)ZSC_Yno4GMV#-mXFVc>cB7?x-`JHkJi~pZB`b4d4~9`l^7%cJG^MsAC;X7edZe*n@M~3$1ZXIvjM;##KrQ zh(^sMsmp9t_bQ^OWFzIt>ZTNc{zf|rbO9-X?=pgXHN6*-jX|l5OGhQPLLtxbX@mVXOROHCSTL}oDG}Bo zWNGb_k19*g$|&sS7d(#=!23mYjLS!JC74L9=n_pHna#_CKN-jK;h&h5R>-NnlxG6h zU>T9HDwCKIMocE6d-nOe?!<+WATIm`Kt&lPU8Xj$a~zvSsLJd;4&^`D2bw*|LuVgm7%CQ z4pFo3r1*9mB%|7_lF|HYsG)y|2fXPe%plfP=oX7G+&pL4MVg(@-!(neW?BiE7DNgu z?!>}z^oF#Tq7Y^G21!HB2sff_lNfn$@#h1e%w`BF_hQBxIPJ{>WFM9p+~cNvTO6y? z?6ZWB*Omt#x2WFf6L73}l%2oTwbs@N6>>+icm`Ng*91 zc!!|neihuWE4PMdxC=0RKeKIvja~gXbdUB{*aQgd?4V!8TQy48C8>o+Bqo!>IcHJW zWlMzHu6awj9m1RpAx}4cNFeQ5_#ztwydxV-T-)*pmavlzZk@A1wjt`j88|moGBvyo zToc*5Zi)PRTCf9ieBqTCxmzkxh0)dOgBRdjjv$B2%tU57z8$&TMnH|pY4`*hoDX?c zln_*vHxf_4siLd_a~vPYjG*1Jo%w7BZP}3D!P{`S2qlz`QaRyH0SR@`9E7{( zU$BE2p-+n8heYx@Wn!&^D;z=_X7su1AJ4mooQ}K?Yl7+T-tEl)5)6L6^n5(kaap+( zhH_p$F}dpP$fJu^NNLw#9i--XRAR{9vyj7*7CTwxHefwUI0fIp?*QX}K~WI# z><;(ldW1|Y>5+cBdxelKLCWg|QdH9ApP_P^?1U)y%8#i%h=d|^_Tsf(?_;~p&xSRx zkWNPxxub~c6m2H|8!Eyr7+t!kcc=fiH3$6dX=~i+qV{5()&Jhdoe84R#-M0w{L+gh zU`J#s4j=Vp$Gg7|>=jYT1)x8^$#TTx8{tYO#*J zS&42KPmk=~_V64>j$}^pqsvQQkHNPCn`nd=-T20J6?IBA17zad&stayfD-(^$VTtA zwd96x&eC|^PoS62p<{{?y|oQ7AjhP;SQ!pPngu!ePx;H^CgiEQ*?2b`x>Tig>y}QD z?{wzd!b?i7Epwl@qju12x$-}zdKYhF8F<5msVP^B6>An>q@35{87nx&wtE=f^=EkT z&tYYHJBN9CmzqxB21%-G-cj-fZlb~sEIFI7PM)WAoP&rF*k02X{i)a7Okl{k}ex)sVgXO_I zEY#T9=JJ{C1S5ppGXp7KQ@BQ{c7^<&AobIRDqCsG9YJyL>_23iw81u#1*pBC07%N< zgz#+VMe39-CP?ain#qNb0dn!|Zv2nkMWgj04-e96L!cSR38`$MZOulS6@!%TF&?9b zO)G=^UDOOwr}Xnc^0r$fv`FCdwzh&S$dIm9WVg;^Ll@NoibaZ|kith#|EUjeTm5!; zG_p%VDjQ_bM>__+xbGxr|LulPde7d!rx`Y{+ee#Yy91(2W}U{W|9fczwZ#+ z_I}$EG*TZPf4-BOA`}_?^YLBAkgwa7Wtu4fHGP##GnikNQGFQvm$zevh207cjR)V( z&_t#yobr4xk@)Xq1Qcm!{)c7%gN7@)JA(S{{Hb0W0kUwLJhiJIR-}{JWhR z2$|=X8p!Crlgv9SVWmIG{C_hkV5b~A;UI3i7af@7@3%FMi%u1RAzOOm`Rd9Pq#UUx;Nb2Kp8>>^*}AAo49`y8`oTTz#=T z>}L@s6Y^P|2C(4bj&!efSOng%-d9^feuut>*HLD;7zI?OR%(Z%7&PSbwcYjFbhW#R z0sC3y1@!|4$iPks;~!0n1_717<~IAmD>};R6i+6IVkqc8Id#zO#?JV%1CSHDCgI8s zN!c?A4oD)+B+~bt)YRBB3Co^s_XDg9h+1OT%KnFvY_qEV1KVxS`HK>RYwnd@v1#)z zT!A~pqV0De1nAto=AGIQ0LArR8dv`T2fr-)A3d9Y#DCi?xYTuQS_$Og=RJuc><;~( z%Rt$%75i&3lpitpD2^u053JgsqPArzoD$=!9ZmJ$SF8RLCiZxuEr0Oxo}Q~DW;E0K z2!$~_`8vq^(F1#|tA>p4Xa?BrzpIv@XR)nhox3I>3Mrr6E)@Nd@iSBY8J%F4-$KSE zcdbleHyWRNs<$@~pu2o;&zBBMKt7(_S!v1ilgu3_Rw4CEy;6~3+lc|AK-=$#1Kd9I zfA>Nl1o+IIaRBp3~jRgGVzmDf$$Mdh_`PcFMNA&csnVJpYV;{G0J?C!qgkJhV}dwtq`)d-IV0mfGN; z?DB7^ZFivZ-%=Z`B4^C-f7a0cv((lF8!JfVZg5S=WtYpp{U>Nv$l2H2B2TU**Z;x! zWL$t&j{@bYJX$4rOsYt^$}+s%*^}iOW$*yR65n+jBEP^~2EG@VZ@I)_Hk45|=Wv4L z!eQy~#5d+}R#H2fx*n=88`}7sWDa_}&Ta3E8#FiF1FzGXBS2kEXoXCaVOcJx_kcJj zXUFp4qB-l}!mKO!L@;apPp2wuY5V&$x>GrWGUW0(hP^B6-^>h}lfQE4zEF8?!s|0C z(6iE=YwkX5PU~$>E@kI)EGv}<=AvrT!L+hY6RqICJbHq=;jz|ia5jfWa2|LC=c#j# zlB$^{c+F_9u{Fq*3ck|>fif)3Wvw!lV9&Pd;5?`|q~>g+?78Bddcy#GVINfJMv};d zSxNTce%MLgp^D2qUJqE9JRfV!>Ncev0(_#PE-T8u)i!s$QzNig-v8rUr_rxlBick|Z`-4(7 ztGuC}?1|Q&FSXub&!^@Fl<|FKE#KkBGupgw#fcF=ynvOlVaDy=bH-s=j$iO_^}U9f zt+hP!{uOP)eRiK=&kU&NK@r!#7y_?S28X`kdKxA@+ZtrJp&XGWWqRQ5P&+PUFqq5e zRzTEof6a+KHh%vjw2{_rK(LK!+lJlCJHOyHLnEPYd1Qb8iiKVWkObY zg#kneqAC?b#oYLRKYi!I}n6Y_u`&LssQ(uR@u-)OclT?#c5$eMX$=n{QB_Hwfy;)CiSs z*Z49HA5Y@U-Bf?I_Xfu# z2NGk3@}KSOI}*WoZ=%|_!wa|aoPDyjQ@gwSoJJV8blf7Y_7D_&(IJ?(puL`uI&rRC zo?s@IJ-%gU7{oLyakM8^THQuJUi9Vv)7N>&HI-#?+)7-kpj0VJ6;T69Czy2wQE4MA zHB1l|MT&$XkkB$?6a|E+l+YwDs7RAx5K#yO1cC$zQWZx6CXfs;8WL(K$=<*?JNxEC zIHALotwDaAhAoMiYS3|Dd92F`l+Kj6Bn5W zo-*zClC-SMQuLt6;Xsq7Q+h^+sJ0oxMd>U<^88ULT3jqnzl=K$mj1ISM-qo53rQG*8 zTJ1ZcmE%m*d+Ko2q|=a?;M$dDlPNsbw|-k%ZT=Ya+e^x5cDPFA5zKTg&&r#XYE**o zlyaY2_-t#SVrxIRqsDLAJEBt_(P6NLl1Z=J0F!9_4Dd6YTiv}zuj0x+Tqhoe?!*#O5uh;lzw3qBQ74s`Yi=>SR4DDK~t z8_FVDX>ljN04(0QcjL~n^gCc7qu*7pSzMRsXp3wuzPveTmYu-h)N~+lw&A#b3$7VFuCgRXD3^&F{owSF&)b}WWPEj*{LT)rH%GFSIN1$W) z?eNFa0uigT5PmQg%Z#2XyFc3_sA*u&t~rh>w(SORK*_9FJ>L<{s9J z7DkBB375ZjbY^l@jr(A9l8@5KmwDunber_rlKz}(myM9+6?WSClnnTpRo7pm69cE5 ztu{U)uHf9{s{ywMF6VqoyKhJ$S*M$(Y`U~oE++JvsvFNqIlS*gb}o0a;?oi_7)dJk zdSM#7(7bKBYKv!0la2cOYP_ha9M)^{PYco!x` zhzv$qrM0;L^K--uZ6tAy9Xw6o1*)8MuFmd5{d9z(LpHnx?IS^as4~~*O0i!Ts&L2i zT5errS|=_Mi(vf2j5nk9aVRy_#GA_{cZN1fXGJl+?QD=#-w{*Jq`ZA^r|&!1yeHRB z+kH74zzjY2n^ZFMA274^U{p$(6{572m`0eds|SD`e`LA%@uNm8>d7x6y@-Yw9K6q2 zBovUEJhBmW(b&jVccsh5If-JdegVz9*bb`L+j$w;j2!#=r|Py2igmQjHSh!065w8V zm9d|y3#{RF8E@a6fYj@ms9}?Mnnq_%r7rvU8An9>y@*LB*?M`a2y>2i8g#;DM9FyY zyW@Qtd)wcxeMF=~DlQb|?QbIRrj!@3wtB)cHqPw;eGZ-~X}?6byyszZJ?%CCvjB+1 zGnC>ifbzsYC%KR!@EdNDZocOqEqMTM201b)AN}KB5*zhKWNZ3YeW>^>=XI^5&I;A7 zh!8$GdND4rmba)@nTn2dPa1{*$ZJm1sh#lP>jh%N2rc9^M0 zGlwS1azff>qs~jJFND~6w%f6vlU=AoSLT{3tA_Z z?M%V^^*&xR|BI_5vtoB&L-Zx<)RkI9*j_!SuJ5N*cLZZ`_k{BVBC!F5T}{1gZK2+P zS5)ClCTL@JS3hevbXoplWkv3pUSR-eMMUr%z*YdB*Dn}*F&Z_{#B-QC5IEI+^5da1 zDguXsR%&7F(rEVh(bV_rHgv13<-M-Ua!d-x9Ir^m)KFPN689?YWQpWig>m-Y@78AP z*L}xcHZRMPhSDO+d6iE~BNF6!PDSmLdHBaX^rPLI5kWZ0?ijSRyDdr5Eu3u6_m&#j z%S%m5=R8)oHI{L>75OIMlX)cv-H-Dy2`oWh*F z!M$y%sUt7-@i%xn1|snf%JVm_71OqwCccB#Sc^FyRH3EPi7p}7I+q@gzc%eT8S37g z1lDNIq&J_}9C?xS{Ni!UTAOUP@9^dDAKBKN!j)g)PVxIA2pGczGZ=GJqlgr380B61 zD!hYVW+z))<$rD?DKCK7oL@xpw}|_@MB_$jp`POBROK~Z)zeNRY&7G(sgs)I?P_bx zsDX(A*^5R+S!}!#FKsQ)iCuMR*8kBpWGcks6=>I;txfftX$eYb4}d`^-3vRkXO?Rf zq`)ow-Z8YhIbVH#gDnrO%SV3HLdPIikR`%me_tqL;Pb(XIEYuAq|E{ zQ4R>3&cQB*j#(P^?ZO-O`p&HyIr-K&JjZ7#4dc3J1U_UgL_OP%{z@9>rUM=H=AQ;6 z#JTItE<4#LhLs4&6UD$w2UqMHJy5bkBpDS%v9I#K%1ZCi$g^`X z2J;MvhV7B!ECk23JqT2kcS}SNxI5If_}v=GI5-6Ar+e1FUO%Z5bvLpRNcwObm{Mw% z)A2!gO{8Lq?w4x+x2r3~MPR3+H{dbYW~n)W0Ua_W^Aml;V$DXu1HLt&f^5QwJ?hoEh@OFD82Xw78iI?R(t7 zc#b3^53_#Tw!fhj>@IG+@nk5RtRH6qz!oRKxA#=1oP@Z4-I-*mkkz(F%;JE(DIKKE*3j?AftcBSD za&Q@#!=3ASyM9BKlQ|t#YaJ#?D$y6Duqkpv^S6`(B|aQgkP=>g6X3Snh$&Q{%+B@{ zU#cBVI*!^tV<4PV33h!DG9wG|# z?~WWh>3m{I;cO;{e^7{H8GTWxjkaN&HQtbg4R7q0A%$*pHVsqQK7L{<@ib?R5~ZD< zC#jJyKerR8Ii&N)`$Z2-_W3|S@&l8XA*qs}U5HdxP0$U@`o~Kb*81s+2S@K=we!t` zUs_*5Tu~o9B1TZcKEYsHcXG7byVJYve(Txg8KT=!TdG@|dp;|H>X2*S`}o5C>>*)A zLVG7+OOy-KUh(|7V5jS(P=x-PWX9+b(HD|rQ&cz#XZJ1VUvmUJ({+F$6sjc)Zp5;9 z|4XUtKjpi2ZwY~HiHji(|E%ow|1WJxa*1XPi~n6aYEw8aYD5SIOj2D|8+WQ^&{7Kc&ox4muk# zuK(CPV2+W>j6`RcTv`iFY4ZRbtDUxK-)Y}uOk;9^A*YEz!EBl}Ef1KBtkEQjJ#%ZI z3N(GoJcRVSc{TSBqXLz-Ee|Zm^v@z!_~j>NCdncXu%dbP)*0uBt-v(m=6O24>044^ z^r7FAGD8JRZUrv*HlE)5hj+=}?rwRHwfp(^{D!{eM~@FG-0~a$|1$k%{-^2umn=9t a>s+h%wY(;b0JXwx=WU&Ap8xIAjeh~o=D%P7 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 92d737f..6972d53 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - +
@@ -12,12 +12,23 @@

DataSpace Light

-

It's good for your health!

-

- Sample resources -

- +

It's good for your health!

+
+
+

+ Arches reports (sample) +

+ +
+
+

+ Custom reports (sample) +

+ +
+
\ No newline at end of file diff --git a/js/ds.js b/js/ds.js index bbd206e..3ce8ee6 100644 --- a/js/ds.js +++ b/js/ds.js @@ -1,6 +1,6 @@ 'use strict'; -const BASE_URL = 'http://150.145.56.132'; +export const BASE_URL = 'http://150.145.56.132'; const RES_ENDPOINT = '/resources/'; /** @@ -13,33 +13,55 @@ const RES_ENDPOINT = '/resources/'; export async function fetchResourceList(max = 20) { // TODO Errors!! - let req = new Request(`${BASE_URL}${RES_ENDPOINT}`); - const res = await fetch(req).catch(); - const list = await res.json(); + const list = await fetch(`${BASE_URL}${RES_ENDPOINT}`) + .then(res => res.json()) + .catch(); - return list['ldp:contains'].slice(100, max + 100) - .map(e => e.replace( - 'http://localhost:8000/resources', - `${BASE_URL}/report`)); + // Arbitrary slice... + return list['ldp:contains'].slice(100, max + 100); } /** * Create links list * @param {string[]} links The fetched resource links * @param {string} id The ID of the UL element + * @param {string} replace The string that should replace loalhost... * */ -export function createLinks(links, id) +export function createLinks(links, id, replace) { + /* + links = links.map(e => e.replace( + 'http://localhost:8000/resources/', + replace + )); + */ for (const link of links) { const item = document.createElement('li'); - item.innerHTML = `${link}`; + item.innerHTML = + ` + ${link.substring(link.lastIndexOf('/')+1)} + `; document.querySelector(`#${id}`).appendChild(item); } } /** - * Process JSON report... + * Fetch JSON report... + * @param {string} uuid The resource's UUID in Arches + * + * @return {object} */ +export async function fetchReport(uuid) +{ + // TODO Errors!! + const jsonRep = + await fetch(`${BASE_URL}${RES_ENDPOINT}${uuid}?format=json&indent=2`) + .then(res => res.json()) + .catch(); + + // Arbitrary slice... + return jsonRep; +} /** * Query report links to determine * resource instance type... diff --git a/js/index.js b/js/index.js deleted file mode 100644 index aae5c86..0000000 --- a/js/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import { - fetchResourceList, - createLinks -} from "./ds.js"; - -document.addEventListener('readystatechange', async () => { - createLinks(await fetchResourceList(), 'links'); -}) \ No newline at end of file diff --git a/js/views/index.js b/js/views/index.js new file mode 100644 index 0000000..93e638f --- /dev/null +++ b/js/views/index.js @@ -0,0 +1,19 @@ +import { + fetchResourceList, + createLinks, + BASE_URL +} from "../ds.js"; + +document.addEventListener('readystatechange', async () => { + const resList = await fetchResourceList(); + createLinks( + resList, + 'links', + `${BASE_URL}/report/` + ); + createLinks( + resList, + 'rep-links', + `/report?id=` + ); +}) \ No newline at end of file diff --git a/js/views/report.js b/js/views/report.js new file mode 100644 index 0000000..b382811 --- /dev/null +++ b/js/views/report.js @@ -0,0 +1,36 @@ +'use strict'; + +import { + fetchReport, +} from "../ds.js"; + +document.addEventListener('readystatechange', async () => { + const report = await fetchReport(location.search.replace("?id=", '')); + + const resKeys = Object.keys(report.resource); + // Default value... + let resType = 'Object'; + + if (resKeys.length) { + resType = resKeys[0].split(' ')[0]; + document.querySelector('#rep-tit') + .innerText = `${resType} ${report.displayname}`; + + const repTable = document.querySelector('#resource tbody'); + + // TODO manage files and nested objects + // e.g. if (typeof report.resource[key] == 'object') ... + for (const key of resKeys) { + const row = document.createElement('tr'); + + if (!key.includes('Coordinates')) { + row.innerHTML = ` + ${key.replace(resType, '')} + ${report.resource[key]} + `; + } + + repTable.appendChild(row); + } + } +}) \ No newline at end of file diff --git a/report/index.html b/report/index.html new file mode 100644 index 0000000..814cf0b --- /dev/null +++ b/report/index.html @@ -0,0 +1,32 @@ + + + + + + + + +
+
+
+

+ Report Light +

+
+
+

+

+ + + +
+
+
+

Map

+ +
+
+
+ + + \ No newline at end of file