diff options
author | Markus Heiser <markus.heiser@darmarit.de> | 2021-05-16 13:16:44 +0200 |
---|---|---|
committer | Markus Heiser <markus.heiser@darmarit.de> | 2021-05-17 17:41:22 +0200 |
commit | cdfb4b7ff9829cb9048b573f7f1775dc8029f75a (patch) | |
tree | 62b056ab6e7e934de9629f4d04d41ffc79c93c7b | |
parent | 965817f2942c31eddba44ace307b6c872479b922 (diff) | |
download | searxng-cdfb4b7ff9829cb9048b573f7f1775dc8029f75a.tar.gz searxng-cdfb4b7ff9829cb9048b573f7f1775dc8029f75a.zip |
[fix] make /stats more CSP compliant - bar graph
Replace bar graph's *styles* (see below) by CSP compliant implementation in
``searx/static/themes/__common__/less/stats.less`` ::
./simple/stats.html:49: <span style="width: calc(max(2px, 100%*{{ (engine_stat.result_count / engine_stats.max_result_count )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}}
./simple/stats.html:57: <span style="width: calc(max(2px, 100%*{{ (engine_stat.http / engine_stats.max_time )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}}
./simple/stats.html:58: <span style="width: calc(100%*{{ engine_stat.processing / engine_stats.max_time |round(3) }})" class="stacked-bar-chart-serie2"></span>{{- "" -}}
./oscar/stats.html:50: <span style="width: calc(max(2px, 100%*{{ (engine_stat.result_count / engine_stats.max_result_count )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}}
./oscar/stats.html:58: <span style="width: calc(max(2px, 100%*{{ (engine_stat.http / engine_stats.max_time )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}}
./oscar/stats.html:59: <span style="width: calc(100%*{{ engine_stat.processing / engine_stats.max_time |round(3) }})" class="stacked-bar-chart-serie2"></span>{{- "" -}}
Reported-by: https://github.com/searxng/searxng/issues/57
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
-rw-r--r-- | searx/static/themes/__common__/less/stats.less | 38 | ||||
-rw-r--r-- | searx/static/themes/oscar/src/less/logicodev-dark/oscar.less | 1 | ||||
-rw-r--r-- | searx/static/themes/oscar/src/less/logicodev/oscar.less | 1 | ||||
-rw-r--r-- | searx/static/themes/oscar/src/less/logicodev/preferences.less | 14 | ||||
-rw-r--r-- | searx/static/themes/oscar/src/less/pointhi/oscar.less | 1 | ||||
-rw-r--r-- | searx/static/themes/oscar/src/less/pointhi/preferences.less | 15 | ||||
-rw-r--r-- | searx/static/themes/simple/less/style.less | 1 | ||||
-rw-r--r-- | searx/static/themes/simple/less/toolkit.less | 14 | ||||
-rw-r--r-- | searx/templates/oscar/stats.html | 18 | ||||
-rw-r--r-- | searx/templates/simple/stats.html | 20 |
10 files changed, 62 insertions, 61 deletions
diff --git a/searx/static/themes/__common__/less/stats.less b/searx/static/themes/__common__/less/stats.less new file mode 100644 index 000000000..6c2117b39 --- /dev/null +++ b/searx/static/themes/__common__/less/stats.less @@ -0,0 +1,38 @@ +.bar-chart-value { + width: 3em; +} + +.bar-chart-graph { + width: 300px; +} + +.bar-chart-bar { + border: 3px solid #5bc0de; + margin: 1px 0; +} + +.bar-chart-serie1 { + border: 3px solid #5bc0de; + margin: 1px 0; + float: left; +} + +.bar-chart-serie2 { + border: 3px solid #deb15b; + margin: 1px 0; + float: left; +} + +.bar0{ + width: 0; + border: 0; +} + +.generate-bar(100); + +.generate-bar(@n, @i: 1) when (@i =< @n) { + .bar@{i} { + width: (@i * 100% / @n); + } + .generate-bar(@n, (@i + 1)); +} diff --git a/searx/static/themes/oscar/src/less/logicodev-dark/oscar.less b/searx/static/themes/oscar/src/less/logicodev-dark/oscar.less index 44d3154a8..53ee7ae31 100644 --- a/searx/static/themes/oscar/src/less/logicodev-dark/oscar.less +++ b/searx/static/themes/oscar/src/less/logicodev-dark/oscar.less @@ -1,5 +1,6 @@ @import "../logicodev/variables.less"; @import "../../../../__common__/less/new_issue.less"; +@import "../../../../__common__/less/stats.less"; @stacked-bar-chart: rgb(213, 216, 215, 1); diff --git a/searx/static/themes/oscar/src/less/logicodev/oscar.less b/searx/static/themes/oscar/src/less/logicodev/oscar.less index 3415af30b..57c351bd9 100644 --- a/searx/static/themes/oscar/src/less/logicodev/oscar.less +++ b/searx/static/themes/oscar/src/less/logicodev/oscar.less @@ -1,5 +1,6 @@ @import "variables.less"; @import "../../../../__common__/less/new_issue.less"; +@import "../../../../__common__/less/stats.less"; @import "navbar.less"; @import "footer.less"; diff --git a/searx/static/themes/oscar/src/less/logicodev/preferences.less b/searx/static/themes/oscar/src/less/logicodev/preferences.less index 790ed10b7..32e230413 100644 --- a/searx/static/themes/oscar/src/less/logicodev/preferences.less +++ b/searx/static/themes/oscar/src/less/logicodev/preferences.less @@ -89,17 +89,3 @@ td:hover .engine-tooltip, th:hover .engine-tooltip, .engine-tooltip:hover { padding: 0.4rem 0; width: 1px; } - -.stacked-bar-chart-serie1 { - .stacked-bar-chart-base(); - background: #5bc0de; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); - padding: 0.4rem 0; -} - -.stacked-bar-chart-serie2 { - .stacked-bar-chart-base(); - background: #deb15b; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); - padding: 0.4rem 0; -} diff --git a/searx/static/themes/oscar/src/less/pointhi/oscar.less b/searx/static/themes/oscar/src/less/pointhi/oscar.less index 4ac8da564..689fc1471 100644 --- a/searx/static/themes/oscar/src/less/pointhi/oscar.less +++ b/searx/static/themes/oscar/src/less/pointhi/oscar.less @@ -1,5 +1,6 @@ @import "variables.less"; @import "../../../../__common__/less/new_issue.less"; +@import "../../../../__common__/less/stats.less"; @import "footer.less"; @import "checkbox.less"; diff --git a/searx/static/themes/oscar/src/less/pointhi/preferences.less b/searx/static/themes/oscar/src/less/pointhi/preferences.less index 352aed513..25ba100d6 100644 --- a/searx/static/themes/oscar/src/less/pointhi/preferences.less +++ b/searx/static/themes/oscar/src/less/pointhi/preferences.less @@ -77,18 +77,3 @@ th:hover .engine-tooltip, td:hover .engine-tooltip, .engine-tooltip:hover { padding: 0.4rem 0; width: 1px; } - -.stacked-bar-chart-serie1 { - .stacked-bar-chart-base(); - background: #5bc0de; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); - padding: 0.4rem 0; -} - -.stacked-bar-chart-serie2 { - .stacked-bar-chart-base(); - background: #deb15b; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); - padding: 0.4rem 0; -} - diff --git a/searx/static/themes/simple/less/style.less b/searx/static/themes/simple/less/style.less index b82b1cb1f..3b0506b98 100644 --- a/searx/static/themes/simple/less/style.less +++ b/searx/static/themes/simple/less/style.less @@ -7,6 +7,7 @@ @stacked-bar-chart: rgb(0, 0, 0); @import "../../__common__/less/new_issue.less"; +@import "../../__common__/less/stats.less"; @import "normalize.less"; diff --git a/searx/static/themes/simple/less/toolkit.less b/searx/static/themes/simple/less/toolkit.less index 3e9274fc8..c381af802 100644 --- a/searx/static/themes/simple/less/toolkit.less +++ b/searx/static/themes/simple/less/toolkit.less @@ -551,17 +551,3 @@ th:hover .engine-tooltip, td:hover .engine-tooltip, .engine-tooltip:hover { padding: 0.4rem 0; width: 1px; } - -.stacked-bar-chart-serie1 { - .stacked-bar-chart-base(); - background: #5bc0de; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); - padding: 0.4rem 0; -} - -.stacked-bar-chart-serie2 { - .stacked-bar-chart-base(); - background: #deb15b; - box-shadow: inset 0 -1px 0 rgba(0,0,0,.15); - padding: 0.4rem 0; -} diff --git a/searx/templates/oscar/stats.html b/searx/templates/oscar/stats.html index 49c776ea8..8b57e39b6 100644 --- a/searx/templates/oscar/stats.html +++ b/searx/templates/oscar/stats.html @@ -45,19 +45,19 @@ </td> <td> {%- if engine_stat.result_count -%} - <span class="stacked-bar-chart-value">{{- engine_stat.result_count | int -}}</span>{{- "" -}} - <span class="stacked-bar-chart" aria-hidden="true">{{- "" -}} - <span style="width: calc(max(2px, 100%*{{ (engine_stat.result_count / engine_stats.max_result_count )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} - </span> + <div class="bar-chart-value">{{- engine_stat.result_count | int -}}</div>{{- "" -}} + <div class="bar-chart-graph" aria-hidden="true"> + <div class="bar-chart-bar bar{{ (100 * engine_stat.result_count / engine_stats.max_result_count)|round }}"></div>{{- "" -}} + </div> {%- endif -%} </td> <td> {%- if engine_stat.total -%} - <span class="stacked-bar-chart-value">{{- engine_stat.total | round(1) -}}</span>{{- "" -}} - <span class="stacked-bar-chart" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true">{{- "" -}} - <span style="width: calc(max(2px, 100%*{{ (engine_stat.http / engine_stats.max_time )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} - <span style="width: calc(100%*{{ engine_stat.processing / engine_stats.max_time |round(3) }})" class="stacked-bar-chart-serie2"></span>{{- "" -}} - </span>{{- "" -}} + <div class="bar-chart-value">{{- engine_stat.total | round(1) -}}</div>{{- "" -}} + <div class="bar-chart-graph" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true"> + <div class="bar-chart-serie1 bar{{ (100 * engine_stat.http / engine_stats.max_time)|round }}"></div>{{- "" -}} + <div class="bar-chart-serie2 bar{{ (100 * engine_stat.processing / engine_stats.max_time)|round }}"></div>{{- "" -}} + </div> <div class="engine-tooltip text-left" role="tooltip" id="{{engine_stat.name}}_time">{{- "" -}} <table class="table table-striped"> <tr> diff --git a/searx/templates/simple/stats.html b/searx/templates/simple/stats.html index 098a54065..c2396f0e5 100644 --- a/searx/templates/simple/stats.html +++ b/searx/templates/simple/stats.html @@ -44,19 +44,21 @@ </td> <td> {%- if engine_stat.result_count -%} - <span class="stacked-bar-chart-value">{{- engine_stat.result_count | int -}}</span>{{- "" -}} - <span class="stacked-bar-chart" aria-hidden="true">{{- "" -}} - <span style="width: calc(max(2px, 100%*{{ (engine_stat.result_count / engine_stats.max_result_count )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} - </span> + + <div class="bar-chart-value">{{- engine_stat.result_count | int -}}</div>{{- "" -}} + <div class="bar-chart-graph" aria-hidden="true"> + <div class="bar-chart-bar bar{{ (100 * engine_stat.result_count / engine_stats.max_result_count)|round }}"></div>{{- "" -}} + </div> {%- endif -%} </td> <td> {%- if engine_stat.total -%} - <span class="stacked-bar-chart-value">{{- engine_stat.total | round(1) -}}</span>{{- "" -}} - <span class="stacked-bar-chart" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true">{{- "" -}} - <span style="width: calc(max(2px, 100%*{{ (engine_stat.http / engine_stats.max_time )|round(3) }}))" class="stacked-bar-chart-serie1"></span>{{- "" -}} - <span style="width: calc(100%*{{ engine_stat.processing / engine_stats.max_time |round(3) }})" class="stacked-bar-chart-serie2"></span>{{- "" -}} - </span>{{- "" -}} + + <div class="bar-chart-value">{{- engine_stat.total | round(1) -}}</div>{{- "" -}} + <div class="bar-chart-graph" aria-labelledby="{{engine_stat.name}}_time" aria-hidden="true"> + <div class="bar-chart-serie1 bar{{ (100 * engine_stat.http / engine_stats.max_time)|round }}"></div>{{- "" -}} + <div class="bar-chart-serie2 bar{{ (100 * engine_stat.processing / engine_stats.max_time)|round }}"></div>{{- "" -}} + </div> <div class="engine-tooltip" role="tooltip" id="{{engine_stat.name}}_time">{{- "" -}} <table> <tr> |