@fmidev/smartmet-alert-client 4.2.7 → 4.4.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.dark.html +1 -1
- package/dist/index.en.html +1 -1
- package/dist/index.fi.html +1 -1
- package/dist/index.js +20 -20
- package/dist/index.mjs +20 -20
- package/dist/index.mjs.map +1 -1
- package/dist/index.relative.html +1 -1
- package/dist/index.start.html +1 -1
- package/dist/index.sv.html +1 -1
- package/package.json +2 -2
- package/public/index.dark.html +1 -1
- package/public/index.en.html +1 -1
- package/public/index.fi.html +1 -1
- package/public/index.relative.html +1 -1
- package/public/index.start.html +1 -1
- package/public/index.sv.html +1 -1
- package/src/App.vue +32 -0
- package/src/assets/img/ui/arrow-down.svg +1 -4
- package/src/assets/img/ui/arrow-up.svg +1 -4
- package/src/assets/img/ui/toggle-selected.svg +13 -0
- package/src/assets/img/ui/toggle-unselected.svg +13 -0
- package/src/assets/img/warning/several.svg +1 -1
- package/src/components/AlertClient.vue +1 -1
- package/src/components/DayLarge.vue +34 -31
- package/src/components/DaySmall.vue +1 -1
- package/src/components/Days.vue +1 -1
- package/src/components/DescriptionWarning.vue +12 -1
- package/src/components/GrayScaleToggle.vue +36 -34
- package/src/components/Legend.vue +21 -13
- package/src/components/MapLarge.vue +17 -11
- package/src/components/MapSmall.vue +6 -3
- package/src/components/Region.vue +146 -52
- package/src/components/RegionWarning.vue +30 -9
- package/src/components/Regions.vue +21 -22
- package/src/components/Warning.vue +43 -47
- package/src/components/Warnings.vue +33 -10
- package/src/locales/en.json +21 -4
- package/src/locales/fi.json +23 -6
- package/src/locales/sv.json +20 -3
- package/src/mixins/config.js +2 -2
- package/src/mixins/utils.js +20 -3
- package/src/scss/backgrounds.scss +2 -0
- package/src/scss/colors.scss +5 -3
- package/src/scss/constants.scss +1 -1
- package/src/scss/themes/dark-gray.scss +3 -3
- package/src/scss/themes/dark.scss +1 -1
- package/src/scss/themes/light-gray.scss +5 -5
- package/src/scss/themes/light.scss +3 -3
- package/src/scss/warningImages.scss +1 -2
- package/src/assets/img/ui/toggle-selected-blue.svg +0 -4
- package/src/assets/img/ui/toggle-selected-dark.svg +0 -4
- package/src/assets/img/ui/toggle-selected-light.svg +0 -4
- package/src/assets/img/ui/toggle-unselected-dark.svg +0 -4
- package/src/assets/img/ui/toggle-unselected-light.svg +0 -4
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
class="border-path"
|
|
141
141
|
:key="path.key"
|
|
142
142
|
:stroke="strokeColor"
|
|
143
|
-
:stroke-width="path.strokeWidth"
|
|
143
|
+
:stroke-width="2*path.strokeWidth"
|
|
144
144
|
:stroke-opacity="strokeOpacity"
|
|
145
145
|
:d="path.d"
|
|
146
146
|
fill-opacity="0"
|
|
@@ -401,7 +401,8 @@ export default {
|
|
|
401
401
|
const keys = []
|
|
402
402
|
const geoms = []
|
|
403
403
|
region.warnings
|
|
404
|
-
.filter((warning) => this.visibleWarnings.includes(warning.type)
|
|
404
|
+
.filter((warning) => this.visibleWarnings.includes(warning.type) &&
|
|
405
|
+
warning.coverage === 100 )
|
|
405
406
|
.forEach((regionWarning, index, regionWarnings) => {
|
|
406
407
|
const identifier = regionWarning.identifiers.find(
|
|
407
408
|
(id) => warnings[id] && warnings[id].covRegions.size === 0
|
|
@@ -930,6 +931,7 @@ export default {
|
|
|
930
931
|
</script>
|
|
931
932
|
|
|
932
933
|
<style lang="scss">
|
|
934
|
+
@import '../scss/backgrounds.scss';
|
|
933
935
|
@import '../scss/constants.scss';
|
|
934
936
|
@import '../scss/warningImages.scss';
|
|
935
937
|
|
|
@@ -1029,17 +1031,21 @@ div.map-large div.day-map-large button {
|
|
|
1029
1031
|
}
|
|
1030
1032
|
}
|
|
1031
1033
|
|
|
1034
|
+
div.map-large div.day-map-large button:disabled {
|
|
1035
|
+
opacity: 1;
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1032
1038
|
div.map-large.light-theme div.day-map-large button {
|
|
1033
1039
|
&#fmi-warnings-zoom-in {
|
|
1034
1040
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MzcuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0icGx1cy1zeW1ib2wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNy4wMDAwMDAsIDcyNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJmaWxsLTMiIGZpbGw9IiMzQTY2RTMiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNCIgaGVpZ2h0PSIzNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LDI0IEwxNywxMCIgaWQ9ImZpbGwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDE3IEwyNCwxNyIgaWQ9ImZpbGwtMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
|
|
1035
1041
|
&:disabled {
|
|
1036
|
-
background-image:
|
|
1042
|
+
background-image: $disabled-zoom-in;
|
|
1037
1043
|
}
|
|
1038
1044
|
}
|
|
1039
1045
|
&#fmi-warnings-zoom-out {
|
|
1040
1046
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iaWNvbnMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTeW1ib2xzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODgxLjAwMDAwMCwgLTcyNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pbnVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODgxLjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMiIgZmlsbD0iIzNBNjZFMyIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
|
|
1041
1047
|
&:disabled {
|
|
1042
|
-
background-image:
|
|
1048
|
+
background-image: $disabled-zoom-out;
|
|
1043
1049
|
}
|
|
1044
1050
|
}
|
|
1045
1051
|
}
|
|
@@ -1048,13 +1054,13 @@ div.map-large.dark-theme div.day-map-large button {
|
|
|
1048
1054
|
&#fmi-warnings-zoom-in {
|
|
1049
1055
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjNDM0NzUyIiBkPSJNMCAwaDM0djM0SDB6Ii8+PHBhdGggZD0iTTE3IDI0VjEwTTEwIDE3aDE0IiBzdHJva2U9IiNGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);
|
|
1050
1056
|
&:disabled {
|
|
1051
|
-
background-image:
|
|
1057
|
+
background-image: $disabled-zoom-in;
|
|
1052
1058
|
}
|
|
1053
1059
|
}
|
|
1054
1060
|
&#fmi-warnings-zoom-out {
|
|
1055
1061
|
background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjNDM0NzUyIiBkPSJNMCAwaDM0djM0SDB6Ii8+PHBhdGggZD0iTTEwIDE3aDE0IiBzdHJva2U9IiNGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);
|
|
1056
1062
|
&:disabled {
|
|
1057
|
-
background-image:
|
|
1063
|
+
background-image: $disabled-zoom-out;
|
|
1058
1064
|
}
|
|
1059
1065
|
}
|
|
1060
1066
|
}
|
|
@@ -1063,13 +1069,13 @@ div.map-large.light-gray-theme div.day-map-large button {
|
|
|
1063
1069
|
&#fmi-warnings-zoom-in {
|
|
1064
1070
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MzcuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0icGx1cy1zeW1ib2wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNy4wMDAwMDAsIDcyNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJmaWxsLTMiIGZpbGw9IiM0MzQ3NTIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNCIgaGVpZ2h0PSIzNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LDI0IEwxNywxMCIgaWQ9ImZpbGwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDE3IEwyNCwxNyIgaWQ9ImZpbGwtMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
|
|
1065
1071
|
&:disabled {
|
|
1066
|
-
background-image:
|
|
1072
|
+
background-image: $disabled-zoom-in;
|
|
1067
1073
|
}
|
|
1068
1074
|
}
|
|
1069
1075
|
&#fmi-warnings-zoom-out {
|
|
1070
1076
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iaWNvbnMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTeW1ib2xzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODgxLjAwMDAwMCwgLTcyNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pbnVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODgxLjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMiIgZmlsbD0iIzQzNDc1MiIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
|
|
1071
1077
|
&:disabled {
|
|
1072
|
-
background-image:
|
|
1078
|
+
background-image: $disabled-zoom-out;
|
|
1073
1079
|
}
|
|
1074
1080
|
}
|
|
1075
1081
|
}
|
|
@@ -1078,13 +1084,13 @@ div.map-large.dark-gray-theme div.day-map-large button {
|
|
|
1078
1084
|
&#fmi-warnings-zoom-in {
|
|
1079
1085
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MzcuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0icGx1cy1zeW1ib2wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNy4wMDAwMDAsIDcyNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJmaWxsLTMiIGZpbGw9IiM0MzQ3NTIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNCIgaGVpZ2h0PSIzNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LDI0IEwxNywxMCIgaWQ9ImZpbGwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDE3IEwyNCwxNyIgaWQ9ImZpbGwtMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
|
|
1080
1086
|
&:disabled {
|
|
1081
|
-
background-image:
|
|
1087
|
+
background-image: $disabled-zoom-in;
|
|
1082
1088
|
}
|
|
1083
1089
|
}
|
|
1084
1090
|
&#fmi-warnings-zoom-out {
|
|
1085
1091
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iaWNvbnMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTeW1ib2xzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODgxLjAwMDAwMCwgLTcyNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pbnVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODgxLjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMiIgZmlsbD0iIzQzNDc1MiIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
|
|
1086
1092
|
&:disabled {
|
|
1087
|
-
background-image:
|
|
1093
|
+
background-image: $disabled-zoom-out;
|
|
1088
1094
|
}
|
|
1089
1095
|
}
|
|
1090
1096
|
}
|
|
@@ -1570,7 +1576,7 @@ svg#finland-large {
|
|
|
1570
1576
|
}
|
|
1571
1577
|
}
|
|
1572
1578
|
|
|
1573
|
-
@media (
|
|
1579
|
+
@media (width < 576px) {
|
|
1574
1580
|
button.fmi-warnings-map-tool {
|
|
1575
1581
|
display: none;
|
|
1576
1582
|
}
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
class="border-path"
|
|
99
99
|
:key="path.key"
|
|
100
100
|
:stroke="strokeColor"
|
|
101
|
-
:stroke-width="path.strokeWidth"
|
|
101
|
+
:stroke-width="1.5*path.strokeWidth"
|
|
102
102
|
:d="path.d"
|
|
103
103
|
fill-opacity="0" />
|
|
104
104
|
<path
|
|
@@ -176,8 +176,11 @@ export default {
|
|
|
176
176
|
size() {
|
|
177
177
|
return 'Small'
|
|
178
178
|
},
|
|
179
|
+
strokeColor() {
|
|
180
|
+
return 'DarkSlateGray'
|
|
181
|
+
},
|
|
179
182
|
strokeWidth() {
|
|
180
|
-
return 0.
|
|
183
|
+
return 0.6
|
|
181
184
|
},
|
|
182
185
|
},
|
|
183
186
|
watch: {
|
|
@@ -305,7 +308,7 @@ div.map-small {
|
|
|
305
308
|
}
|
|
306
309
|
}
|
|
307
310
|
|
|
308
|
-
@media (
|
|
311
|
+
@media (width < 576px) {
|
|
309
312
|
#fmi-day-small-view .map-small,
|
|
310
313
|
#fmi-day-small-view .map-container {
|
|
311
314
|
display: none;
|
|
@@ -1,44 +1,51 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
2
|
+
<h3>
|
|
3
|
+
<button
|
|
4
|
+
type="button"
|
|
5
|
+
:aria-expanded="open"
|
|
6
|
+
:class="['accordion-trigger', 'focus-ring', open ? '' : 'collapsed']"
|
|
7
|
+
:aria-controls="`accordion-section-${code}`"
|
|
8
|
+
:id="`accordion-${code}`"
|
|
9
|
+
:aria-label="ariaButton"
|
|
10
|
+
@click="onRegionToggle">
|
|
4
11
|
<div class="region-header">
|
|
12
|
+
<span class="region-item-text">
|
|
13
|
+
{{ regionName }}
|
|
14
|
+
</span>
|
|
5
15
|
<div>
|
|
6
16
|
<RegionWarning
|
|
7
17
|
v-for="warning in warningsSummary"
|
|
8
18
|
:key="warning.key"
|
|
9
|
-
:input="warning"
|
|
19
|
+
:input="warning"
|
|
20
|
+
:language="language">
|
|
21
|
+
</RegionWarning>
|
|
10
22
|
</div>
|
|
11
|
-
<span class="region-item-text">
|
|
12
|
-
{{ regionName }}
|
|
13
|
-
</span>
|
|
14
23
|
</div>
|
|
15
|
-
<
|
|
24
|
+
<div
|
|
16
25
|
block
|
|
17
|
-
:class="['current-warning-toggle',
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
</b-collapse>
|
|
41
|
-
</b-card>
|
|
26
|
+
:class="['current-warning-toggle', open ? '' : 'collapsed']" />
|
|
27
|
+
</button>
|
|
28
|
+
</h3>
|
|
29
|
+
<div
|
|
30
|
+
:id="`accordion-section-${code}`"
|
|
31
|
+
role="region"
|
|
32
|
+
:aria-labelledby="`accordion-${code}`"
|
|
33
|
+
:aria-expanded="open"
|
|
34
|
+
class="accordion-panel"
|
|
35
|
+
:hidden="open ? null : ''"
|
|
36
|
+
>
|
|
37
|
+
<div class="current-description">
|
|
38
|
+
<div class="current-description-table">
|
|
39
|
+
<DescriptionWarning
|
|
40
|
+
v-for="warning in reducedWarnings"
|
|
41
|
+
:key="warning.identification"
|
|
42
|
+
:input="warning"
|
|
43
|
+
:theme="theme"
|
|
44
|
+
:language="language"
|
|
45
|
+
/>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
42
49
|
</template>
|
|
43
50
|
|
|
44
51
|
<script>
|
|
@@ -55,10 +62,6 @@ export default {
|
|
|
55
62
|
type: {
|
|
56
63
|
type: String,
|
|
57
64
|
},
|
|
58
|
-
shown: {
|
|
59
|
-
type: Boolean,
|
|
60
|
-
default: false,
|
|
61
|
-
},
|
|
62
65
|
code: {
|
|
63
66
|
type: String,
|
|
64
67
|
},
|
|
@@ -83,7 +86,7 @@ export default {
|
|
|
83
86
|
},
|
|
84
87
|
data() {
|
|
85
88
|
return {
|
|
86
|
-
|
|
89
|
+
open: false,
|
|
87
90
|
}
|
|
88
91
|
},
|
|
89
92
|
computed: {
|
|
@@ -131,7 +134,7 @@ export default {
|
|
|
131
134
|
},
|
|
132
135
|
ariaButton() {
|
|
133
136
|
return `${
|
|
134
|
-
this.
|
|
137
|
+
this.open
|
|
135
138
|
? this.t('infoButtonAriaLabelCloseRegion')
|
|
136
139
|
: this.t('infoButtonAriaLabelShowRegion')
|
|
137
140
|
} ${this.regionName} ${this.t('infoButtonAriaLabelValidWarnings')}`
|
|
@@ -145,17 +148,9 @@ export default {
|
|
|
145
148
|
)
|
|
146
149
|
},
|
|
147
150
|
},
|
|
148
|
-
watch: {
|
|
149
|
-
shown(isShown) {
|
|
150
|
-
this.visible = isShown
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
151
|
methods: {
|
|
154
152
|
onRegionToggle() {
|
|
155
|
-
this
|
|
156
|
-
code: this.code,
|
|
157
|
-
shown: !this.visible,
|
|
158
|
-
})
|
|
153
|
+
this.open = !this.open
|
|
159
154
|
},
|
|
160
155
|
},
|
|
161
156
|
}
|
|
@@ -197,18 +192,24 @@ export default {
|
|
|
197
192
|
|
|
198
193
|
button {
|
|
199
194
|
border: none;
|
|
195
|
+
&:focus:not(:focus-visible) {
|
|
196
|
+
box-shadow: none;
|
|
197
|
+
}
|
|
200
198
|
}
|
|
201
199
|
|
|
202
200
|
.region-header {
|
|
203
201
|
position: absolute;
|
|
204
202
|
left: 0;
|
|
205
203
|
right: 38px;
|
|
204
|
+
display: flex;
|
|
205
|
+
align-items: center;
|
|
206
|
+
justify-content: space-between;
|
|
207
|
+
height: $current-warning-height;
|
|
206
208
|
}
|
|
207
209
|
|
|
208
210
|
.region-item-text {
|
|
209
211
|
display: block;
|
|
210
212
|
text-align: left;
|
|
211
|
-
line-height: $current-warning-height;
|
|
212
213
|
white-space: nowrap;
|
|
213
214
|
overflow: hidden;
|
|
214
215
|
text-overflow: ellipsis;
|
|
@@ -303,22 +304,22 @@ button {
|
|
|
303
304
|
}
|
|
304
305
|
|
|
305
306
|
.light-theme .current-description {
|
|
306
|
-
border-top:
|
|
307
|
+
border-top: 0.5px solid $light-description-border-color;
|
|
307
308
|
background-color: $light-description-background-color;
|
|
308
309
|
}
|
|
309
310
|
|
|
310
311
|
.dark-theme .current-description {
|
|
311
|
-
border-top:
|
|
312
|
+
border-top: 0.5px solid $dark-description-border-color;
|
|
312
313
|
background-color: $dark-description-background-color;
|
|
313
314
|
}
|
|
314
315
|
|
|
315
316
|
.light-gray-theme .current-description {
|
|
316
|
-
border-top:
|
|
317
|
+
border-top: 0.5px solid $light-gray-description-border-color;
|
|
317
318
|
background-color: $light-gray-description-background-color;
|
|
318
319
|
}
|
|
319
320
|
|
|
320
321
|
.dark-gray-theme .current-description {
|
|
321
|
-
border-top:
|
|
322
|
+
border-top: 0.5px solid $dark-gray-description-border-color;
|
|
322
323
|
background-color: $dark-gray-description-background-color;
|
|
323
324
|
}
|
|
324
325
|
|
|
@@ -333,4 +334,97 @@ div.accordion-item-region {
|
|
|
333
334
|
padding: 0;
|
|
334
335
|
}
|
|
335
336
|
}
|
|
337
|
+
|
|
338
|
+
h3 {
|
|
339
|
+
margin: 0;
|
|
340
|
+
padding: 0;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.accordion-trigger {
|
|
344
|
+
background: none;
|
|
345
|
+
color: hsl(0deg 0% 13%);
|
|
346
|
+
display: block;
|
|
347
|
+
font-size: $font-size;
|
|
348
|
+
font-weight: normal;
|
|
349
|
+
margin: 0;
|
|
350
|
+
padding: 0;
|
|
351
|
+
position: relative;
|
|
352
|
+
text-align: left;
|
|
353
|
+
width: 100%;
|
|
354
|
+
outline: none;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.accordion > div:first-child .accordion-trigger > .region-header {
|
|
358
|
+
border-radius: 0;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
.accordion > div:last-child .accordion-trigger.collapsed > .region-header {
|
|
362
|
+
border-radius: 0;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
.accordion > div:first-child:last-child .accordion-trigger > .region-header {
|
|
366
|
+
border-radius: 0;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
.accordion > div:first-child:last-child .accordion-trigger.collapsed > .region-header {
|
|
370
|
+
border-radius: 0;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.accordion > div:first-child > h3 > button,
|
|
374
|
+
.accordion > div:first-child > h3 > button:hover {
|
|
375
|
+
border-radius: 0;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
.accordion > div:last-child > h3 > button.collapsed,
|
|
379
|
+
.accordion > div:last-child > h3 > button.collapsed:hover {
|
|
380
|
+
border-radius: 0;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
.accordion > div:first-child:last-child > h3 > button,
|
|
384
|
+
.accordion > div:first-child:last-child > h3 > button:hover {
|
|
385
|
+
border-radius: 0;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
.accordion > div:first-child:last-child > h3 > button.collapsed,
|
|
389
|
+
.accordion > div:first-child:last-child > h3 > button.collapsed:hover {
|
|
390
|
+
border-radius: 0;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.accordion > div:last-child .current-description {
|
|
394
|
+
border-radius: 0;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.accordion > div:first-child > div > h3 > button > div.current-warning-toggle {
|
|
398
|
+
border-radius: 0;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.accordion > div:last-child > div > h3 > button > div.current-warning-toggle.collapsed {
|
|
402
|
+
border-radius: 0;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.accordion > div:first-child:last-child > div > h3 > button > div.current-warning-toggle {
|
|
406
|
+
border-radius: 0;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.accordion > div:first-child:last-child > div > h3 > button > div.current-warning-toggle.collapsed {
|
|
410
|
+
border-radius: 0;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
button {
|
|
414
|
+
border-style: none;
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
.accordion button::-moz-focus-inner {
|
|
418
|
+
border: 0;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
.accordion-panel {
|
|
422
|
+
margin: 0;
|
|
423
|
+
padding: 0;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/* For Edge bug https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4806035/ */
|
|
427
|
+
.accordion-panel[hidden] {
|
|
428
|
+
display: none;
|
|
429
|
+
}
|
|
336
430
|
</style>
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
`symbol-rotate-${rotation}`,
|
|
9
9
|
`level-${input.severity}`,
|
|
10
10
|
`${typeClass}`,
|
|
11
|
-
]"
|
|
11
|
+
]"
|
|
12
|
+
:aria-label="`${warningLevel} ${warningTypeText}${warningDetails}`"
|
|
13
|
+
>
|
|
12
14
|
<span
|
|
13
15
|
aria-hidden="true"
|
|
14
16
|
:class="[
|
|
@@ -23,12 +25,35 @@
|
|
|
23
25
|
|
|
24
26
|
<script>
|
|
25
27
|
import fields from '../mixins/fields'
|
|
28
|
+
import i18n from '../mixins/i18n'
|
|
26
29
|
import utils from '../mixins/utils'
|
|
27
30
|
|
|
28
31
|
export default {
|
|
29
32
|
name: 'RegionWarning',
|
|
30
|
-
mixins: [fields, utils],
|
|
31
|
-
props:
|
|
33
|
+
mixins: [fields, i18n, utils],
|
|
34
|
+
props: {
|
|
35
|
+
input: {
|
|
36
|
+
type: Object,
|
|
37
|
+
default: null,
|
|
38
|
+
},
|
|
39
|
+
language: {
|
|
40
|
+
type: String,
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
computed: {
|
|
44
|
+
warningLevel() {
|
|
45
|
+
return this.t(`warningLevel${this.input.severity}`)
|
|
46
|
+
},
|
|
47
|
+
warningTypeText() {
|
|
48
|
+
return this.t(this.input.type).toLowerCase();
|
|
49
|
+
},
|
|
50
|
+
warningDetails() {
|
|
51
|
+
if (this.input.text == null || this.input.direction == null) {
|
|
52
|
+
return ''
|
|
53
|
+
}
|
|
54
|
+
return ` (${this.input.text} m/s ${this.t("fromDirection")} ${this.input.direction + 180}°)`
|
|
55
|
+
}
|
|
56
|
+
},
|
|
32
57
|
}
|
|
33
58
|
</script>
|
|
34
59
|
|
|
@@ -47,15 +72,11 @@ div.warning-image {
|
|
|
47
72
|
}
|
|
48
73
|
|
|
49
74
|
.current-warning-image {
|
|
50
|
-
background-size:
|
|
75
|
+
background-size: $current-warning-image-height $current-warning-image-height;
|
|
51
76
|
height: $current-warning-image-height;
|
|
52
77
|
width: $current-warning-image-height;
|
|
53
|
-
margin
|
|
54
|
-
($current-warning-height - $current-warning-image-height) / 2
|
|
55
|
-
);
|
|
78
|
+
margin: 0 5px;
|
|
56
79
|
float: right;
|
|
57
|
-
margin-left: 5px;
|
|
58
|
-
margin-right: 5px;
|
|
59
80
|
}
|
|
60
81
|
|
|
61
82
|
span.warning-symbol-text {
|
|
@@ -10,21 +10,21 @@
|
|
|
10
10
|
@click="fromLandToNextContentClicked"
|
|
11
11
|
>{{ fromLandToNextContentText }}</a
|
|
12
12
|
>
|
|
13
|
-
<div id="accordion-land" class="accordion
|
|
13
|
+
<div id="accordion-group-land" class="accordion">
|
|
14
14
|
<div v-for="region in regions.land" :key="region.key">
|
|
15
15
|
<Region
|
|
16
16
|
v-if="region.warnings.length"
|
|
17
17
|
type="land"
|
|
18
|
-
:shown="shownRegion === region.key"
|
|
19
18
|
:code="region.key"
|
|
20
19
|
:name="region.name"
|
|
21
20
|
:input="region.warnings"
|
|
22
21
|
:warnings="warnings"
|
|
23
|
-
:
|
|
24
|
-
|
|
22
|
+
:theme="theme"
|
|
23
|
+
:language="language" />
|
|
25
24
|
</div>
|
|
26
25
|
</div>
|
|
27
26
|
</div>
|
|
27
|
+
|
|
28
28
|
<div v-if="anySeaWarnings" class="region-type-container">
|
|
29
29
|
<h3 id="header-sea" class="header-region">{{ seaText }}</h3>
|
|
30
30
|
<a
|
|
@@ -35,19 +35,17 @@
|
|
|
35
35
|
@click="fromSeaToNextContentClicked"
|
|
36
36
|
>{{ fromSeaToNextContentText }}</a
|
|
37
37
|
>
|
|
38
|
-
<div id="accordion-sea" class="accordion
|
|
38
|
+
<div id="accordion-group-sea" class="accordion">
|
|
39
39
|
<div v-for="region in regions.sea" :key="region.key">
|
|
40
40
|
<Region
|
|
41
41
|
v-if="region.warnings.length"
|
|
42
42
|
type="sea"
|
|
43
|
-
:shown="shownRegion === region.key"
|
|
44
43
|
:code="region.key"
|
|
45
44
|
:name="region.name"
|
|
46
45
|
:input="region.warnings"
|
|
47
46
|
:warnings="warnings"
|
|
48
47
|
:theme="theme"
|
|
49
|
-
:language="language"
|
|
50
|
-
@regionToggled="onRegionToggled" />
|
|
48
|
+
:language="language" />
|
|
51
49
|
</div>
|
|
52
50
|
</div>
|
|
53
51
|
</div>
|
|
@@ -77,11 +75,6 @@ export default {
|
|
|
77
75
|
theme: String,
|
|
78
76
|
language: String,
|
|
79
77
|
},
|
|
80
|
-
data() {
|
|
81
|
-
return {
|
|
82
|
-
shownRegion: null,
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
78
|
computed: {
|
|
86
79
|
landText() {
|
|
87
80
|
return this.t('regionLand')
|
|
@@ -90,14 +83,14 @@ export default {
|
|
|
90
83
|
return this.t('regionSea')
|
|
91
84
|
},
|
|
92
85
|
fromLandToNextContentText() {
|
|
93
|
-
return `${this.t('
|
|
94
|
-
this.regions.land.length
|
|
95
|
-
}
|
|
86
|
+
return `${this.t('warningsInAreasStart')} ${
|
|
87
|
+
this.t(`in${this.regions.land.length}Areas`)
|
|
88
|
+
}. ${this.t('toNextContent')}`
|
|
96
89
|
},
|
|
97
90
|
fromSeaToNextContentText() {
|
|
98
|
-
return `${this.t('
|
|
99
|
-
this.regions.sea.length
|
|
100
|
-
}
|
|
91
|
+
return `${this.t('warningsInAreasStart')} ${
|
|
92
|
+
this.t(`in${this.regions.sea.length}Areas`)
|
|
93
|
+
}. ${this.t('toNextContent')}`
|
|
101
94
|
},
|
|
102
95
|
fromLandToNextContentHref() {
|
|
103
96
|
return this.anySeaWarnings
|
|
@@ -155,9 +148,6 @@ export default {
|
|
|
155
148
|
this.regions[regionType].length > 0
|
|
156
149
|
)
|
|
157
150
|
},
|
|
158
|
-
onRegionToggled({ code, shown }) {
|
|
159
|
-
this.shownRegion = shown ? code : null
|
|
160
|
-
},
|
|
161
151
|
fromLandToNextContentClicked() {
|
|
162
152
|
const nextContent = this.$el.querySelector(this.fromLandToNextContentHref)
|
|
163
153
|
nextContent.scrollIntoView()
|
|
@@ -209,4 +199,13 @@ div.region-type-container {
|
|
|
209
199
|
width: 100%;
|
|
210
200
|
padding: 0;
|
|
211
201
|
}
|
|
202
|
+
|
|
203
|
+
div.accordion {
|
|
204
|
+
margin: 0;
|
|
205
|
+
border: 0.5px solid $variant-gray-darker;
|
|
206
|
+
border-radius: 0;
|
|
207
|
+
> * + * {
|
|
208
|
+
border-top: 0.5px solid $variant-gray-darker;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
212
211
|
</style>
|