From 9f3d5d009cd8b8ba6c68db4eb3f529e81057e9fb Mon Sep 17 00:00:00 2001 From: coulisse Date: Sat, 11 Feb 2023 17:30:09 +0100 Subject: [PATCH] setting offline --- CITATION.cff | 28 ++++ README.md | 2 +- cfg/webapp_log_config.ini | 2 +- docs/CHANGELOG.md | 4 +- lib/static_build.py | 17 +- scripts/build.sh | 41 ++++- static/css/dev/style.css | 2 +- static/css/rel/style.min.css | 2 +- static/html/dev/_base.html | 1 - static/html/dev/offline.html | 1 - static/html/offline.html | 190 ++++++++++------------ static/html/rel/offline.html | 121 -------------- static/html/templates/_base.html | 1 - static/html/templates/offline.html | 1 - static/images/icons/github-mark-white.png | Bin 0 -> 4837 bytes static/images/icons/github-mark-white.svg | 1 + static/images/icons/github-mark.png | Bin 0 -> 6393 bytes static/images/icons/github-mark.svg | 1 + static/js/rel/plot.min.js | 1 + static/js/rel/table.min.js | 1 + static/pwa/manifest.webmanifest | 2 +- static/pwa/service-worker.js | 10 +- templates/_base.html | 18 +- templates/callsign.html | 2 +- templates/index.html | 6 +- templates/offline.html | 21 +-- templates/plots.html | 2 +- webapp.py | 2 +- 28 files changed, 204 insertions(+), 276 deletions(-) create mode 100644 CITATION.cff delete mode 120000 static/html/dev/_base.html delete mode 120000 static/html/dev/offline.html delete mode 100644 static/html/rel/offline.html delete mode 120000 static/html/templates/_base.html delete mode 120000 static/html/templates/offline.html create mode 100644 static/images/icons/github-mark-white.png create mode 100644 static/images/icons/github-mark-white.svg create mode 100644 static/images/icons/github-mark.png create mode 100644 static/images/icons/github-mark.svg create mode 100644 static/js/rel/table.min.js diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..0108580 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,28 @@ +cff-version: 1.2.0 +title: Spiderweb +message: 'If you use this software, please cite it as below.' +type: software +authors: + - given-names: Corrado + family-names: Gerbaldo + email: corrado.gerbaldo@gmail.com +repository-code: 'https://github.com/coulisse/spiderweb/' +url: 'https://www.iu1bow.it' +abstract: Ham radio cluster web viewer for DxSpider +keywords: + - iu1bow + - mysql + - python + - radio + - bootstrap + - flask + - plots + - eCharts + - dx + - ham-radio + - dx-cluster + - dxcluster + - spiderweb +license: GPL-3.0 +version: v2.4.2 +date-released: 2023-02-11 diff --git a/README.md b/README.md index 0070056..11dd827 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ [![CodeFactor](https://www.codefactor.io/repository/github/coulisse/spiderweb/badge)](https://www.codefactor.io/repository/github/coulisse/spiderweb) -- **Release:** v2.4.1.2 +- **Release:** v2.4.2 - **Author:** Corrado Gerbaldo - [IU1BOW](https://www.qrz.com/db/IU1BOW) - **Mail:** - **Licensing:** Gpl V3.0 see [LICENSE](LICENSE) file. diff --git a/cfg/webapp_log_config.ini b/cfg/webapp_log_config.ini index 843a930..9584aad 100644 --- a/cfg/webapp_log_config.ini +++ b/cfg/webapp_log_config.ini @@ -12,7 +12,7 @@ level=INFO handlers=stream_handler,file_handler [logger_webapp] -level=DEBUG +level=INFO handlers=stream_handler,file_handler qualname=webapp propagate=0 diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index f303c43..ecc4eba 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,6 +1,6 @@ ### Change log -Date: 05/02/2023 -Release: v2.4.1.2 +Date: 11/02/2023 +Release: v2.4.2 - changed cache-control header - fixed Layout scrolling (SEO) - first time spot load: not show cyan background diff --git a/lib/static_build.py b/lib/static_build.py index 6693d32..31c13f6 100644 --- a/lib/static_build.py +++ b/lib/static_build.py @@ -2,19 +2,22 @@ # little script used to build static pages # __author__ = "IU1BOW - Corrado" +import sys from staticjinja import Site - -def cookies_check(): - return False - +def csrf_token(): + return "none" if __name__ == "__main__": + print (sys.argv) site = Site.make_site( - searchpath="../static/html/dev/", - outpath="../static/html/rel/", + searchpath=sys.argv[1], + outpath=sys.argv[2], env_globals={ - "cookies_check": cookies_check, + "cookies_check": False, + "csrf_token": csrf_token, + "telnet": "none", + "mail": "none" }, ) site.render(use_reloader=False) diff --git a/scripts/build.sh b/scripts/build.sh index fcb448b..7d7012d 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -14,6 +14,7 @@ app_ini=${path_cfg}'/webapp_log_config.ini' path_docs='../docs' readme='../README.md' changelog=${path_docs}'/'CHANGELOG.md +citation='../CITATION.cff' sw=${path_static_pwa}'/service-worker.js' html_change_references(){ @@ -189,13 +190,30 @@ then fi echo 'writing date in '${changelog} '...' - if ! sed -i '1,4s/Date: [0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]/Date: '$(date '+%d\/%m\/%Y')'/g' ${changelog} then echo 'ERROR writing date in '${changelog} exit 35 fi + +echo 'writing version in '${citation} '...' +if ! sed -i '2,99s/version: v.*/version: '$ver'/g' ${citation} +then + echo 'ERROR writing version in '${citation} + exit 35 +fi + +echo 'writing date in '${citation} '...' +if ! sed -i '2,99s/date-released: [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]/date-released: '$(date '+%Y-%m-%d')'/g' ${citation} +then + echo 'ERROR writing date in '${citation} + exit 35 +fi + + + + echo 'writing version in '${base_template} '...' if ! sed -i 's/v.*<\/span>/'$ver'<\/span>/g' ${path_templates}/${base_template} then @@ -242,13 +260,32 @@ elif [ "${1}" == "-d" ]; then fi +static_build_path_i=$(mktemp -d /tmp/spiderweb_static_build_i-XXXXXXXXX) +static_build_path_o=$(mktemp -d /tmp/spiderweb_static_build_o-XXXXXXXXX) + +cp ${path_templates}/_base.html ${static_build_path_i} +cp ${path_templates}/offline.html ${static_build_path_i} echo 'generating static pages...' -if ! python ../lib/static_build.py +if ! python ../lib/static_build.py ${static_build_path_i} ${static_build_path_o} then echo 'ERROR generating static pages' + rm -rf ${static_build_path_i} + rm -rf ${static_build_path_o} exit 50 fi +if ! cp ${static_build_path_o}/offline.html ${path_static_html} +then + echo 'ERROR copying static pages' + rm -rf ${static_build_path_i} + rm -rf ${static_build_path_o} + exit 51 +fi + +rm -rf ${static_build_path_i} +rm -rf ${static_build_path_o} + + echo echo Build ok diff --git a/static/css/dev/style.css b/static/css/dev/style.css index 12b0116..c5fc215 100644 --- a/static/css/dev/style.css +++ b/static/css/dev/style.css @@ -1,4 +1,4 @@ -@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.1/font/bootstrap-icons.css"); +@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css"); @font-face { font-display: swap; diff --git a/static/css/rel/style.min.css b/static/css/rel/style.min.css index bb79161..9c40933 100644 --- a/static/css/rel/style.min.css +++ b/static/css/rel/style.min.css @@ -1 +1 @@ -@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.1/font/bootstrap-icons.css");@font-face{font-display:swap;font-family:bootstrap-icons}.badge-responsive{width:70px}@media screen and (max-width:768px){.text-responsive{font-size:12px}.badge-responsive{width:40px}#collapseFilters.collapsing{position:absolute!important;z-index:20}#collapseFilters.collapse.show{display:block;position:absolute;z-index:20}.navbar-collapse{max-height:none!important}}.img-flag{background-color:#fff;background-size:cover!important;border:1px solid #ddd;border-radius:2px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);-moz-box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);-o-box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);height:19px!important;max-height:auto;max-width:auto;padding:3px;width:32px!important}.ipcs{background-image:url(/static/images/background.webp);background-repeat:no-repeat;background-size:cover}.copyleft{display:inline-block;transform:rotate(180deg)}span.search-callsign{background:url(/static/images/search-callsign.svg) no-repeat 0 0;background-size:contain;cursor:pointer;display:inline-block;height:16px;width:20px}#input-group-callsign{margin-bottom:.5rem;margin-right:1rem}#collapseFilters{background-color:#dde2e6;margin-top:10px}#spotsTable{margin-top:10px}#band{margin-top:5px}#dashboard{gap:10px;padding:10px}#telnet-thead{position:sticky;top:0}#chart-band_activity{height:400px;width:100%}.spider_chart{height:480px;width:600px}#silo-propagation-img{height:auto;width:95%} \ No newline at end of file +@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css");@font-face{font-display:swap;font-family:bootstrap-icons}.badge-responsive{width:70px}@media screen and (max-width:768px){.text-responsive{font-size:12px}.badge-responsive{width:40px}#collapseFilters.collapsing{position:absolute!important;z-index:20}#collapseFilters.collapse.show{display:block;position:absolute;z-index:20}.navbar-collapse{max-height:none!important}}.img-flag{background-color:#fff;background-size:cover!important;border:1px solid #ddd;border-radius:2px;-webkit-box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);-moz-box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);-o-box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);box-shadow:0 2px 10px rgba(0,0,0,.5),0 2px 3px rgba(0,0,0,.5);height:19px!important;max-height:auto;max-width:auto;padding:3px;width:32px!important}.ipcs{background-image:url(/static/images/background.webp);background-repeat:no-repeat;background-size:cover}.copyleft{display:inline-block;transform:rotate(180deg)}span.search-callsign{background:url(/static/images/search-callsign.svg) no-repeat 0 0;background-size:contain;cursor:pointer;display:inline-block;height:16px;width:20px}#input-group-callsign{margin-bottom:.5rem;margin-right:1rem}#collapseFilters{background-color:#dde2e6;margin-top:10px}#spotsTable{margin-top:10px}#band{margin-top:5px}#dashboard{gap:10px;padding:10px}#telnet-thead{position:sticky;top:0}#chart-band_activity{height:400px;width:100%}.spider_chart{height:480px;width:600px}#silo-propagation-img{height:auto;width:95%} \ No newline at end of file diff --git a/static/html/dev/_base.html b/static/html/dev/_base.html deleted file mode 120000 index c83d2f5..0000000 --- a/static/html/dev/_base.html +++ /dev/null @@ -1 +0,0 @@ -../../../templates/_base.html \ No newline at end of file diff --git a/static/html/dev/offline.html b/static/html/dev/offline.html deleted file mode 120000 index efae0ad..0000000 --- a/static/html/dev/offline.html +++ /dev/null @@ -1 +0,0 @@ -../../../templates/offline.html \ No newline at end of file diff --git a/static/html/offline.html b/static/html/offline.html index c5f1d4d..03ba372 100644 --- a/static/html/offline.html +++ b/static/html/offline.html @@ -1,136 +1,124 @@ - - - - - DX Cluster from IU1BOW: OFFLINE - + + + + - + Spiderweb: OFFLINE - - - - + + + + + + - - + + - - + + + + + - - - - - - - - - + + +
- - - + + - - - - +
-
-
- -

WEB DX Cluster

-

Spots list

- -

Telnet access:

-

For connect your cluster, write to

-
+
+
+

WEB DX Cluster

+

Missing connection  

+ +

Telnet access: none

+

For connect your cluster, write to none

+
+ - - - - - - - + - - + + - + - + + - - - - - - - + \ No newline at end of file diff --git a/static/html/rel/offline.html b/static/html/rel/offline.html deleted file mode 100644 index 567a7fd..0000000 --- a/static/html/rel/offline.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - - DX Cluster from IU1BOW: OFFLINE - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - -
-
-
- -

WEB DX Cluster

-

Spots list

- -

Telnet access:

-

For connect your cluster, write to

-
- - - - - - -
- - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/static/html/templates/_base.html b/static/html/templates/_base.html deleted file mode 120000 index c83d2f5..0000000 --- a/static/html/templates/_base.html +++ /dev/null @@ -1 +0,0 @@ -../../../templates/_base.html \ No newline at end of file diff --git a/static/html/templates/offline.html b/static/html/templates/offline.html deleted file mode 120000 index efae0ad..0000000 --- a/static/html/templates/offline.html +++ /dev/null @@ -1 +0,0 @@ -../../../templates/offline.html \ No newline at end of file diff --git a/static/images/icons/github-mark-white.png b/static/images/icons/github-mark-white.png new file mode 100644 index 0000000000000000000000000000000000000000..50b81752278d084ba9d449fff25f4051df162b0f GIT binary patch literal 4837 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 literal 0 HcmV?d00001 diff --git a/static/images/icons/github-mark-white.svg b/static/images/icons/github-mark-white.svg new file mode 100644 index 0000000..d5e6491 --- /dev/null +++ b/static/images/icons/github-mark-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/icons/github-mark.png b/static/images/icons/github-mark.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb3b705d018006a2bd4200ea94c9d5fb98b6f76 GIT binary patch literal 6393 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 Hu0mjfZ$b4` literal 0 HcmV?d00001 diff --git a/static/images/icons/github-mark.svg b/static/images/icons/github-mark.svg new file mode 100644 index 0000000..37fa923 --- /dev/null +++ b/static/images/icons/github-mark.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/js/rel/plot.min.js b/static/js/rel/plot.min.js index e69de29..4836d1e 100644 --- a/static/js/rel/plot.min.js +++ b/static/js/rel/plot.min.js @@ -0,0 +1 @@ +class plot_base{refresh(){}constructor(t,e){var o=document.getElementById(t);this.end_point=e,this.myChart=echarts.init(o);let s=echarts.init(document.querySelector("#"+t),null);window.addEventListener("resize",function(){s.resize()})}}class band_activity extends plot_base{refresh(t){super.refresh(),console.log("refresh band_activity"),void 0!==t&&(this.selectedContinent=t),fetch(this.end_point+"?continent="+this.selectedContinent).then(t=>t.json()).then(t=>{var e=get_last_refresh(t),t=Array.from(t["band activity"]).map(function(t){return[t[1],t[0],t[2]||"-"]});this.myChart.setOption({tooltip:{position:"top",formatter:function(t){return t.seriesName+" on "+t.name+" band: "+t.data[2]+""}},title:{text:"Band activity",subtext:e,top:"top",left:"left"},toolbox:{show:!0,showTitle:!1,orient:"vertical",right:"right",top:"bottom",feature:{mark:{show:!0},dataView:{show:!0,readOnly:!0},restore:{show:!0},saveAsImage:{show:!0}}},grid:{height:"80%",left:25,top:50,right:60,bottom:0,show:!0,backgroundColor:"rgb(255, 255, 255)"},xAxis:{type:"category",data:this.bands,axisTick:{show:!0},axisLine:{show:!1},splitArea:{show:!0}},yAxis:{type:"category",data:this.continents,axisTick:{show:!0},axisLine:{show:!1},splitArea:{show:!0}},visualMap:{calculable:!0,orient:"vertical",right:"right",top:"center",min:0,max:30,inRange:{color:["#ffffe6","yellow","red"]}},series:[{name:"Spots",type:"heatmap",data:t,label:{show:!1},emphasis:{itemStyle:{shadowBlur:10,shadowColor:"rgba(100, 0, 0, 0.5)"}}}]})})}constructor(t,e,o,s){super(t,e);o.forEach(function(t,e){e,t.id});s.forEach(function(t,e){e,t.id});var r=getCookie("user_region"),a=getCookie("user_region_desc");r||(r="EU",a="Europe",setCookie("user_region",r,60),setCookie("user_region_desc",a,60)),selectElement("continentInput",r),addEventHandler(document.getElementById("continentInput"),"change",function(){r=this.value,a=this.options[this.selectedIndex].text,setCookie("user_region",r,60),setCookie("user_region_desc",a,60),plot_ba.refresh(r),setText("txt_continent","  Based on DX SPOTS from stations in "+a+" during the last 15 minutes, displayed by Continent and Band")}),setText("txt_continent","  Based on DX SPOTS from stations in "+a+" during the last 15 minutes, displayed by Continent and Band"),this.refresh(r)}}class world_dx_spots_live extends plot_base{refresh(){super.refresh(),console.log("refresh world_dx_spots_live"),fetch(this.end_point).then(t=>t.json()).then(s=>{fetch("world.json").then(t=>t.text()).then(t=>{var e=get_last_refresh(s),o=[];s.world_dx_spots_live.forEach(function(t,e){o.push({value:[t.lat,t.lon,t.count]})}),this.myChart.hideLoading(),echarts.registerMap("WR",t),this.myChart.setOption({visualMap:{show:!1,min:0,max:30,inRange:{symbolSize:[5,20]}},geo:{type:"map",map:"WR",roam:!0,zoom:1.2,aspectScale:1,layoutCenter:["50%","54%"],layoutSize:"100%",itemStyle:{normal:{areaColor:"#91cc75",borderColor:"#111"},emphasis:{areaColor:"#3ba272"}},label:{emphasis:{show:!1}}},tooltip:{trigger:"item",formatter:function(t){return"Spots: "+t.value[2]+""}},toolbox:{show:!0,showTitle:!1,orient:"vertical",left:"right",top:"center",feature:{mark:{show:!0},dataView:{show:!0,readOnly:!1},restore:{show:!0},saveAsImage:{show:!0}}},legend:{show:!1},title:{text:"World DX SPOTS in last hour",subtext:e,top:"top",right:"right"},series:[{type:"scatter",coordinateSystem:"geo",data:o,label:{emphasis:{position:"right",show:!1}},itemStyle:{normal:{color:"#fc8452",borderColor:"#fa0a0a"}}}]})})})}constructor(t,e){super(t,e),this.refresh()}}class hour_band extends plot_base{refresh(){super.refresh(),console.log("refresh hour_band"),fetch(this.end_point).then(t=>t.json()).then(r=>{var t=get_last_refresh(r),e=[];for(let t=23;-1{var o=[];for(let t=23;-1"Band: "+t.name},emphasis:{lineStyle:{width:4}}}]})})}constructor(t,e,o){super(t,e);let s=[];o.forEach(function(t,e){s[e]=t.id}),this.bands=s,this.refresh()}}class dx_spots_per_month extends plot_base{refresh(){console.log("refresh dx_spots_per_month"),fetch(this.end_point).then(t=>t.json()).then(e=>{var t=get_last_refresh(e),o=(new Date).getFullYear(),s=(+o).toString(),r=(o-1).toString(),o=(o-2).toString(),a=get_months_names(),n=[],i=[],h=[];for(let t=1;t<13;t++)n.push(e.spots_per_month[t].year_0),i.push(e.spots_per_month[t].year_1),h.push(e.spots_per_month[t].year_2);this.myChart.setOption({tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},title:{text:"DX SPOTS per month",subtext:t,top:"top",left:"left"},legend:{data:[o,r,s],bottom:"bottom"},toolbox:{show:!0,showTitle:!1,orient:"vertical",left:"right",top:"center",feature:{mark:{show:!0},dataView:{show:!0,readOnly:!1},magicType:{show:!0,type:["line","bar","stack"]},restore:{show:!0},saveAsImage:{show:!0}}},xAxis:[{type:"category",axisTick:{show:!1},data:a}],yAxis:[{type:"value",axisLabel:{formatter:function(t){return format_u_k_m(t)}}}],series:[{name:o,type:"bar",barGap:0,emphasis:{focus:"series"},data:h},{name:r,type:"bar",emphasis:{focus:"series"},data:i},{name:s,type:"bar",emphasis:{focus:"series"},data:n}]})})}constructor(t,e){super(t,e),this.refresh()}}class dx_spots_trend extends plot_base{refresh(){console.log("refresh dx_spots_trend"),fetch(this.end_point).then(t=>t.json()).then(t=>{var e,o,s=get_last_refresh(t),r=[];for([e,o]of Object.entries(t.spots_trend)){var a=[];a.push(e),a.push(o),r.push(a)}this.myChart.setOption({tooltip:{trigger:"axis",position:function(t){return[t[0],"10%"]}},title:{text:"DX SPOTS trend",subtext:s,top:"top",left:"left"},toolbox:{show:!0,showTitle:!1,orient:"vertical",left:"right",top:"center",feature:{dataView:{show:!0,readOnly:!1},dataZoom:{yAxisIndex:"none"},restore:{},magicType:{show:!0,type:["line","bar"]},saveAsImage:{}}},xAxis:{type:"time",boundaryGap:!1},yAxis:{type:"value",boundaryGap:[0,"10%"],axisLabel:{formatter:function(t){return format_u_k_m(t)}}},dataZoom:[{type:"inside",start:65,end:100},{start:0,end:20}],series:[{name:"Spots",type:"line",smooth:!0,symbol:"none",itemStyle:{color:"#078513"},areaStyle:{color:new echarts.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#57fa75"},{offset:1,color:"#118226"}])},data:r}]})})}constructor(t,e){super(t,e),this.refresh()}}var plot_ba=new band_activity("chart-band_activity","/plot_get_heatmap_data",continents_cq,band_frequencies),plot_wdsl=(setInterval(function(){plot_ba.refresh()},3e5),new world_dx_spots_live("chart-world_dx_spots_live","/plot_get_world_dx_spots_live")),plot_hb=(setInterval(function(){plot_wdsl.refresh()},3e5),new hour_band("chart-hour_band","/plot_get_hour_band",band_frequencies)),plot_dspm=(setInterval(function(){plot_hb.refresh()},36e5),new dx_spots_per_month("chart-dx_spots_x_month","/plot_get_dx_spots_per_month")),plot_dst=(setInterval(function(){plot_dspm.refresh()},432e5),new dx_spots_trend("chart-dx_spots_trend","/plot_get_dx_spots_trend"));setInterval(function(){plot_dst.refresh()},432e5); diff --git a/static/js/rel/table.min.js b/static/js/rel/table.min.js new file mode 100644 index 0000000..e1a1e69 --- /dev/null +++ b/static/js/rel/table.min.js @@ -0,0 +1 @@ +class table_builder{constructor(e){this.selector=e,this.current_data=[],this.first_time=!0}getLastRowId(){let e;return e=null==this.current_data||this.current_data.length<1?0:this.current_data[0].rowid}resetData(){this.current_data=[]}#buildRow(e,t,n,a=""){var r=document.createElement("tr"),t=(0NG3K Website",l=document.createElement("i"),d=(l.className="bi-search",l.role="button",l.ariaLabel=e.dx,document.createElement("a")),c=(d.href=qrz_url+e.dx,d.target="_blank",d.rel="noopener",document.createElement("span")),s=document.createElement("mark"),s=(s.textContent=e.dx,e.dx==a?c.appendChild(s):c.textContent=" "+e.dx,null!=o&&((a=document.createElement("i")).tabIndex=0,a.className="bi-megaphone-fill",a.style="color: cornflowerblue;",a.role="button",a.ariaLabel="dx_operations",a.setAttribute("data-bs-container","body"),a.setAttribute("data-bs-toggle","popover"),a.setAttribute("data-bs-trigger","focus"),a.setAttribute("data-bs-sanitizer","true"),a.setAttribute("data-bs-placement","auto"),a.setAttribute("data-bs-html","true"),a.setAttribute("data-bs-title","Announced DX Op.: "+o.summary),a.setAttribute("data-bs-content",o.description+"data from "+t),c.appendChild(a)),document.createElement("td"));d.appendChild(l),s.appendChild(d),s.append(c),r.appendChild(s);try{var i=document.createElement("span"),u=(i.className="img-flag fi fi-"+e.iso,i.setAttribute("data-bs-container","body"),i.setAttribute("data-bs-toggle","popover"),i.setAttribute("data-bs-trigger","hover"),i.setAttribute("data-bs-placement","left"),i.setAttribute("data-bs-content",e.country),document.createElement("td"));u.appendChild(i),r.appendChild(u)}catch(e){console.log(e),console.log("error creating flag");o=document.createElement("td");r.appendChild(o)}t=document.createElement("td"),t.className="d-none d-lg-table-cell d-xl-table-cell",t.textContent=e.country,r.appendChild(t),a=document.createElement("td");a.className="d-none d-lg-table-cell d-xl-table-cell";try{a.textContent=e.comm.substring(0,100)}catch(e){a.textContent=""}r.appendChild(a);let m=new Date(1e3*e.time),h="00"+m.getUTCHours(),p=(h=h.substring(h.length-2,h.length),"00"+m.getMinutes()),b=(p=p.substring(p.length-2,p.length),"00"+m.getUTCDate()),g=(b=b.substring(b.length-2,b.length),"00"+(Number(m.getUTCMonth())+1));g=g.substring(g.length-2,g.length);l=m.getUTCFullYear(),d=h+":"+p,m=b+"/"+g+"/"+l,c=document.createElement("div"),c.className="d-flex flex-column",s=document.createElement("div");return s.textContent=d,c.appendChild(s),m!=n&&((i=document.createElement("div")).textContent=m,c.appendChild(i)),r.appendChild(c),r}build(n,a){if(null!=n){var r=new Date;let e="00"+r.getUTCDate(),t=(e=e.substring(e.length-2,e.length),"00"+(Number(r.getUTCMonth())+1));t=t.substring(t.length-2,t.length);var r=r.getUTCFullYear(),l=e+"/"+t+"/"+r,d=(document.getElementById(this.selector).replaceChildren(),[]);for(let e=0;ee.value);(l.lengthe.json()).then(t=>{try{tb.build(t)}catch(e){console.log(e),console.log(e.stack),console.log(t)}})} diff --git a/static/pwa/manifest.webmanifest b/static/pwa/manifest.webmanifest index 1f9c63e..763ba3f 100644 --- a/static/pwa/manifest.webmanifest +++ b/static/pwa/manifest.webmanifest @@ -1,5 +1,5 @@ { - "name": "IU1BOW Spiderweb v2.4.1.2", + "name": "IU1BOW Spiderweb v2.4.2", "description": "DXCluser for ham radio by IU1BOW", "short_name": "Spiderweb", "theme_color": "#f3b221", diff --git a/static/pwa/service-worker.js b/static/pwa/service-worker.js index cd86d00..9837700 100644 --- a/static/pwa/service-worker.js +++ b/static/pwa/service-worker.js @@ -1,10 +1,10 @@ // Dichiarazione della costante per il nome della cache -const CACHE_NAME = 'pwa-spiderweb_v2.4.1.2' +const CACHE_NAME = 'pwa-spiderweb_v2.4.2' // Dichiarazione della costante per gli URL da mettere in cache const URLS_TO_CACHE = [ '/static/images/background.webp', - '/static/css/dev/style.css', + '/static/css/rel/style.min.css', '/static/images/icons/favicon.ico', '/static/images/icons/icon-144x144.png', '/static/images/icons/icon-152x152.png', @@ -18,9 +18,9 @@ const URLS_TO_CACHE = [ '/static/images/icons/icon-96x96.png', '/static/images/icons/icon-apple.png', '/static/images/icons/spider_ico_master.svg', - '/static/js/dev/callsign_inline.js', - '/static/js/dev/callsign_search.js', - '/static/js/dev/common.js', + '/static/js/rel/callsign_inline.min.js', + '/static/js/rel/callsign_search.min.js', + '/static/js/rel/common.min.js', '/privacy.html', '/cookies.html', '/offline.html', diff --git a/templates/_base.html b/templates/_base.html index 5584b23..417a6cf 100644 --- a/templates/_base.html +++ b/templates/_base.html @@ -14,7 +14,7 @@ - + @@ -91,23 +91,25 @@ - - + - + {% block app_scripts %} - + {% endblock app_scripts %} {% block inline_scripts %} {% endblock inline_scripts %} @@ -138,7 +140,7 @@
- + {% endif %} {% endblock cookie %} diff --git a/templates/callsign.html b/templates/callsign.html index b9a800b..f0741eb 100644 --- a/templates/callsign.html +++ b/templates/callsign.html @@ -16,5 +16,5 @@ var callsign = '{{callsign}}'; {% endblock app_data %} {% block inline_scripts %} - + {% endblock %} \ No newline at end of file diff --git a/templates/index.html b/templates/index.html index 74cd42e..a3016fe 100644 --- a/templates/index.html +++ b/templates/index.html @@ -298,15 +298,15 @@ {{ super() }} var timer_interval_json = {{timer_interval}}; -var my_adxo_events_json='{{ adxo_events|tojson|safe }}'; +var my_adxo_events_json='{{ adxo_events|tojson|safe }}'; var continents_cq={{continents["continents"]|tojson|safe}}; var band_frequencies={{bands["bands"]|tojson|safe}}; {% endblock app_data %} {% block app_scripts %} {{ super() }} - + {% endblock %} {% block inline_scripts %} - + {% endblock %} \ No newline at end of file diff --git a/templates/offline.html b/templates/offline.html index fd8b598..260e3fc 100644 --- a/templates/offline.html +++ b/templates/offline.html @@ -1,39 +1,30 @@ {% extends "_base.html" %} + {% block title %} - DX Cluster from IU1BOW: OFFLINE - + Spiderweb: OFFLINE {% endblock %} {% block head %} {{ super() }} {% endblock %} -{% block menu %} -{{ super() }} -{% block callsign %} -{% endblock callsign %} -{% endblock menu %} + + {% block titles %}

WEB DX Cluster

-

Spots list

+

Missing connection  

{% endblock %} {% block filters %} {% endblock %} {% block contents %} - -