@eeacms/volto-cca-policy 0.2.6 → 0.2.8
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/CHANGELOG.md +46 -0
- package/package.json +1 -1
- package/src/components/index.js +8 -8
- package/src/components/manage/Blocks/CaseStudyExplorer/CaseStudyExplorerView.js +1 -1
- package/src/components/manage/Blocks/CaseStudyExplorer/CaseStudyFilters.jsx +26 -16
- package/src/components/manage/Blocks/CaseStudyExplorer/CaseStudyMap.jsx +2 -2
- package/src/components/manage/Blocks/CaseStudyExplorer/FeatureInteraction.jsx +5 -2
- package/src/components/manage/Blocks/CaseStudyExplorer/InfoOverlay.jsx +4 -4
- package/src/components/manage/Blocks/CaseStudyExplorer/styles.less +93 -64
- package/src/components/manage/Blocks/CountryMapProfile/Interactions.jsx +24 -35
- package/src/components/manage/Blocks/RASTBlock/RASTAccordion.jsx +1 -8
- package/src/components/manage/Blocks/TabsBlock/Spotlight.jsx +2 -3
- package/src/components/manage/Blocks/TabsBlock/spotlight.less +24 -3
- package/src/components/theme/Widgets/RASTWidgetView.jsx +18 -0
- package/src/index.js +20 -20
- package/theme/extras/hero.overrides +1 -1
- package/src/components/theme/MissionDisclaimer/MissionDisclaimer.jsx +0 -24
- package/src/components/theme/Views/MissionFundingCCAView.jsx +0 -159
- package/src/components/theme/Views/MissionFundingCCAView.test.jsx +0 -104
- package/src/components/theme/Views/MissionToolView.jsx +0 -226
- package/src/components/theme/Views/MissionToolView.test.jsx +0 -154
- package/src/components/theme/Widgets/TokenWidget.jsx +0 -16
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,52 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
### [0.2.8](https://github.com/eea/volto-cca-policy/compare/0.2.7...0.2.8) - 23 April 2024
|
|
8
|
+
|
|
9
|
+
#### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
- fix(tabs): disable hover on Spotlight view [kreafox - [`4ec2545`](https://github.com/eea/volto-cca-policy/commit/4ec25452bcf4702e779d6af7165b99054b4dd012)]
|
|
12
|
+
- fix(block): change icon type and fix icon size in Case Study Explorer block [kreafox - [`a65e4bc`](https://github.com/eea/volto-cca-policy/commit/a65e4bc6d3dee7dc39a05e008e7ee4fc5db53939)]
|
|
13
|
+
|
|
14
|
+
#### :nail_care: Enhancements
|
|
15
|
+
|
|
16
|
+
- change: improve Spotlight tab variation [kreafox - [`a7d2eb9`](https://github.com/eea/volto-cca-policy/commit/a7d2eb9e6c49eef986f53f2daa08114f27de3313)]
|
|
17
|
+
- change(block): improve accordion icon [kreafox - [`79d4a7e`](https://github.com/eea/volto-cca-policy/commit/79d4a7e2cad1cbf50cc77e550a4c9494670dd9e8)]
|
|
18
|
+
|
|
19
|
+
#### :house: Internal changes
|
|
20
|
+
|
|
21
|
+
- style: Automated code fix [eea-jenkins - [`74ecf1e`](https://github.com/eea/volto-cca-policy/commit/74ecf1eb58c613913f0deb6d218ff4c156477e27)]
|
|
22
|
+
|
|
23
|
+
### [0.2.7](https://github.com/eea/volto-cca-policy/compare/0.2.6...0.2.7) - 19 April 2024
|
|
24
|
+
|
|
25
|
+
#### :rocket: New Features
|
|
26
|
+
|
|
27
|
+
- feat(view): add RASTWidgetView [kreafox - [`2a80745`](https://github.com/eea/volto-cca-policy/commit/2a80745b6f97d03ca33bda8cd3b40e3fd030c521)]
|
|
28
|
+
|
|
29
|
+
#### :nail_care: Enhancements
|
|
30
|
+
|
|
31
|
+
- change: remove MissionFundingView, use dexterity layout - Refs #267791 [kreafox - [`f27de36`](https://github.com/eea/volto-cca-policy/commit/f27de36778d57f5b11b3d9d2abf26bd5bde134f4)]
|
|
32
|
+
- change(view): remove MissionToolView, use dexterity layout - Refs #268126 [kreafox - [`1d11d7d`](https://github.com/eea/volto-cca-policy/commit/1d11d7d6f3429af7a2ea5fd94060893066b68c33)]
|
|
33
|
+
|
|
34
|
+
#### :house: Internal changes
|
|
35
|
+
|
|
36
|
+
- chore: update components export [kreafox - [`5c81f64`](https://github.com/eea/volto-cca-policy/commit/5c81f641275a4ab6087b09c21e333f5a01009c7f)]
|
|
37
|
+
- chore: cleanup code - remove unused widget [kreafox - [`6c6297d`](https://github.com/eea/volto-cca-policy/commit/6c6297df2dbd13010807e409634dfe7a90031407)]
|
|
38
|
+
|
|
39
|
+
#### :hammer_and_wrench: Others
|
|
40
|
+
|
|
41
|
+
- Refs #260715 - remove icons [Tripon Eugen - [`cacff37`](https://github.com/eea/volto-cca-policy/commit/cacff37322171b8faaf6fc1a1e4cd2335376bc41)]
|
|
42
|
+
- Refs #260715 - remove icons [Tripon Eugen - [`7fd9186`](https://github.com/eea/volto-cca-policy/commit/7fd91866c88a9bec53422412c967219242aad5f6)]
|
|
43
|
+
- test: fix SyntaxError [kreafox - [`e942845`](https://github.com/eea/volto-cca-policy/commit/e942845ce658b084715c39eea9f90adbb7bc60fe)]
|
|
44
|
+
- Styleling [Tiberiu Ichim - [`39a22cb`](https://github.com/eea/volto-cca-policy/commit/39a22cbc76a245286d9daa6da84ee5bf539f3dc4)]
|
|
45
|
+
- Remove logging [Tiberiu Ichim - [`ace005c`](https://github.com/eea/volto-cca-policy/commit/ace005c3e7a9d0ab708d48a16cb286253bb44ab9)]
|
|
46
|
+
- Better buffer [Tiberiu Ichim - [`8a7d99f`](https://github.com/eea/volto-cca-policy/commit/8a7d99f901752a2d2eb8db799e415a2aab88a1f6)]
|
|
47
|
+
- Better height [Tiberiu Ichim - [`4928376`](https://github.com/eea/volto-cca-policy/commit/492837652238098e2ce8b5e7bc593db3b8c0ba04)]
|
|
48
|
+
- Hardcode buffer value [Tiberiu Ichim - [`95ed23d`](https://github.com/eea/volto-cca-policy/commit/95ed23dd4dfc53c5ed82108b97023600cc455bcb)]
|
|
49
|
+
- Zoom to point [Tiberiu Ichim - [`2043cb9`](https://github.com/eea/volto-cca-policy/commit/2043cb98ce1db30b6dc80b890e4dee9183ccb092)]
|
|
50
|
+
- Code cleanup [Tiberiu Ichim - [`43fdf78`](https://github.com/eea/volto-cca-policy/commit/43fdf78af12cb6ee2b588ec7641f22052c6bf6fa)]
|
|
51
|
+
- Tweak layer [Tiberiu Ichim - [`f33d894`](https://github.com/eea/volto-cca-policy/commit/f33d894730f9459d7f8638fa680b7ad9572e685f)]
|
|
52
|
+
- Improvements to casestudy explorer map [Tiberiu Ichim - [`b5cf129`](https://github.com/eea/volto-cca-policy/commit/b5cf129ad6106125fb367a25f6bc218a349c1982)]
|
|
7
53
|
### [0.2.6](https://github.com/eea/volto-cca-policy/compare/0.2.5...0.2.6) - 17 April 2024
|
|
8
54
|
|
|
9
55
|
#### :rocket: New Features
|
package/package.json
CHANGED
package/src/components/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export ImageGallery from './theme/ImageGallery/ImageGallery';
|
|
2
|
-
export BannerTitle from './theme/BannerTitle/BannerTitle';
|
|
3
|
-
export PortalMessage from './theme/PortalMessage/PortalMessage';
|
|
4
|
-
export TranslationDisclaimer from './theme/TranslationDisclaimer/TranslationDisclaimer';
|
|
5
|
-
export ShareInfoButton from './theme/ShareInfoButton/ShareInfoButton';
|
|
6
|
-
export ASTNavigation from './theme/ASTNavigation/ASTNavigation';
|
|
1
|
+
export { default as ImageGallery } from './theme/ImageGallery/ImageGallery';
|
|
2
|
+
export { default as BannerTitle } from './theme/BannerTitle/BannerTitle';
|
|
3
|
+
export { default as PortalMessage } from './theme/PortalMessage/PortalMessage';
|
|
4
|
+
export { default as TranslationDisclaimer } from './theme/TranslationDisclaimer/TranslationDisclaimer';
|
|
5
|
+
export { default as ShareInfoButton } from './theme/ShareInfoButton/ShareInfoButton';
|
|
6
|
+
export { default as ASTNavigation } from './theme/ASTNavigation/ASTNavigation';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
export { default as
|
|
8
|
+
// Widgets
|
|
9
|
+
export { default as RASTWidgetView } from './theme/Widgets/RASTWidgetView';
|
|
@@ -62,7 +62,7 @@ export default function CaseStudyExplorerView(props) {
|
|
|
62
62
|
if (__SERVER__) return '';
|
|
63
63
|
|
|
64
64
|
return (
|
|
65
|
-
<div>
|
|
65
|
+
<div className="casestudy-explorer-map">
|
|
66
66
|
<Grid columns="12">
|
|
67
67
|
<Grid.Column mobile={9} tablet={9} computer={9} className="col-left">
|
|
68
68
|
{cases.length ? (
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { useIntl, FormattedMessage } from 'react-intl';
|
|
3
3
|
import { Accordion, Icon, Checkbox } from 'semantic-ui-react';
|
|
4
4
|
|
|
5
|
+
const AccordionIcon = ({ active }) => {
|
|
6
|
+
return (
|
|
7
|
+
<Icon
|
|
8
|
+
size="small"
|
|
9
|
+
className={active ? 'ri-arrow-up-s-line' : 'ri-arrow-down-s-line'}
|
|
10
|
+
/>
|
|
11
|
+
);
|
|
12
|
+
};
|
|
13
|
+
|
|
5
14
|
export default function CaseStudyFilters(props) {
|
|
6
15
|
const { filters, activeFilters, setActiveFilters } = props;
|
|
7
16
|
|
|
@@ -32,7 +41,7 @@ export default function CaseStudyFilters(props) {
|
|
|
32
41
|
setActiveIndex(index);
|
|
33
42
|
}
|
|
34
43
|
|
|
35
|
-
const checkboxChangeHandler = (_event
|
|
44
|
+
const checkboxChangeHandler = (_event, data) => {
|
|
36
45
|
const temp = JSON.parse(JSON.stringify(activeFilters));
|
|
37
46
|
|
|
38
47
|
if (data.checked) {
|
|
@@ -48,14 +57,14 @@ export default function CaseStudyFilters(props) {
|
|
|
48
57
|
|
|
49
58
|
const intl = useIntl();
|
|
50
59
|
return (
|
|
51
|
-
|
|
60
|
+
<div className="casestudy-filters">
|
|
52
61
|
<Accordion exclusive={false} className="secondary">
|
|
53
62
|
<Accordion.Title
|
|
54
63
|
active={activeIndex.includes(0)}
|
|
55
64
|
index={0}
|
|
56
65
|
onClick={handleClick}
|
|
57
66
|
>
|
|
58
|
-
<
|
|
67
|
+
<AccordionIcon active={activeIndex.includes(0)} />
|
|
59
68
|
<FormattedMessage
|
|
60
69
|
id="Adaptation sectors"
|
|
61
70
|
defaultMessage="Adaptation sectors"
|
|
@@ -80,7 +89,7 @@ export default function CaseStudyFilters(props) {
|
|
|
80
89
|
index={1}
|
|
81
90
|
onClick={handleClick}
|
|
82
91
|
>
|
|
83
|
-
<
|
|
92
|
+
<AccordionIcon active={activeIndex.includes(1)} />
|
|
84
93
|
<FormattedMessage
|
|
85
94
|
id="Climate impacts"
|
|
86
95
|
defaultMessage="Climate impacts"
|
|
@@ -89,7 +98,6 @@ export default function CaseStudyFilters(props) {
|
|
|
89
98
|
<Accordion.Content active={activeIndex.includes(1)}>
|
|
90
99
|
{Object.entries(filters?.impacts || {}).map(
|
|
91
100
|
([value, label], index) => (
|
|
92
|
-
// <p key={index}>
|
|
93
101
|
<Checkbox
|
|
94
102
|
label={intl.formatMessage({ id: label })}
|
|
95
103
|
checked={activeFilters.impacts.includes(value)}
|
|
@@ -98,7 +106,6 @@ export default function CaseStudyFilters(props) {
|
|
|
98
106
|
onChange={checkboxChangeHandler}
|
|
99
107
|
key={'impact' + index}
|
|
100
108
|
/>
|
|
101
|
-
// </p>
|
|
102
109
|
),
|
|
103
110
|
)}
|
|
104
111
|
</Accordion.Content>
|
|
@@ -107,7 +114,7 @@ export default function CaseStudyFilters(props) {
|
|
|
107
114
|
index={2}
|
|
108
115
|
onClick={handleClick}
|
|
109
116
|
>
|
|
110
|
-
<
|
|
117
|
+
<AccordionIcon active={activeIndex.includes(2)} />
|
|
111
118
|
<FormattedMessage
|
|
112
119
|
id="Key type measures"
|
|
113
120
|
defaultMessage="Key type measures"
|
|
@@ -120,7 +127,7 @@ export default function CaseStudyFilters(props) {
|
|
|
120
127
|
<p>
|
|
121
128
|
<strong>{intl.formatMessage({ id: key })}</strong>
|
|
122
129
|
</p>
|
|
123
|
-
{Object.entries(values).map(([
|
|
130
|
+
{Object.entries(values).map(([_, valData]) => (
|
|
124
131
|
<Checkbox
|
|
125
132
|
label={intl.formatMessage({ id: valData.value })}
|
|
126
133
|
value={valData.key}
|
|
@@ -145,17 +152,20 @@ export default function CaseStudyFilters(props) {
|
|
|
145
152
|
) : null}
|
|
146
153
|
<div className="case-study-legend">
|
|
147
154
|
<p>
|
|
148
|
-
<
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
<span></span>
|
|
156
|
+
<FormattedMessage
|
|
157
|
+
id="Climate-ADAPT case studies"
|
|
158
|
+
defaultMessage="Climate-ADAPT case studies"
|
|
159
|
+
/>
|
|
152
160
|
</p>
|
|
153
161
|
<p>
|
|
154
162
|
<span className="light-blue"></span>
|
|
155
|
-
|
|
156
|
-
|
|
163
|
+
<FormattedMessage
|
|
164
|
+
id="Case studies collected at national level in Spain, provided by AdapteCCA.es"
|
|
165
|
+
defaultMessage="Case studies collected at national level in Spain, provided by AdapteCCA.es"
|
|
166
|
+
/>
|
|
157
167
|
</p>
|
|
158
168
|
</div>
|
|
159
|
-
|
|
169
|
+
</div>
|
|
160
170
|
);
|
|
161
171
|
}
|
|
@@ -15,11 +15,11 @@ export default function CaseStudyMap(props) {
|
|
|
15
15
|
const features = getFeatures(items);
|
|
16
16
|
|
|
17
17
|
const [tileWMSSources] = React.useState([
|
|
18
|
-
// , setTileWMSSources
|
|
19
18
|
new ol.source.TileWMS({
|
|
19
|
+
// see https://gisco-services.ec.europa.eu/maps/demo/ for more layers
|
|
20
20
|
url: 'https://gisco-services.ec.europa.eu/maps/service',
|
|
21
21
|
params: {
|
|
22
|
-
LAYERS: '
|
|
22
|
+
LAYERS: 'OSMCartoComposite',
|
|
23
23
|
TILED: true,
|
|
24
24
|
},
|
|
25
25
|
serverType: 'geoserver',
|
|
@@ -59,7 +59,12 @@ export default function FeatureInteraction({ onFeatureSelect }) {
|
|
|
59
59
|
const subfeatures = feature.values_.features;
|
|
60
60
|
if (subfeatures.length === 1) {
|
|
61
61
|
const selectedFeature = subfeatures[0].values_;
|
|
62
|
+
const extent = selectedFeature.geometry.extent_;
|
|
63
|
+
|
|
62
64
|
onFeatureSelect(selectedFeature);
|
|
65
|
+
const paddedExtent = ol.extent.buffer(extent, 50000);
|
|
66
|
+
|
|
67
|
+
map.getView().fit(paddedExtent, { ...map.getSize(), duration: 1000 });
|
|
63
68
|
} else {
|
|
64
69
|
// zoom to extent of cluster points
|
|
65
70
|
const extent = getExtentOfFeatures(subfeatures);
|
|
@@ -68,8 +73,6 @@ export default function FeatureInteraction({ onFeatureSelect }) {
|
|
|
68
73
|
(extent[3] - extent[1] + extent[2] - extent[0]) / 4;
|
|
69
74
|
extentBuffer = extentBuffer < 500 ? 500 : extentBuffer;
|
|
70
75
|
const paddedExtent = ol.extent.buffer(extent, extentBuffer);
|
|
71
|
-
|
|
72
|
-
// const paddedExtent = ol.extent.buffer(extent, 50000);
|
|
73
76
|
map.getView().fit(paddedExtent, { ...map.getSize(), duration: 1000 });
|
|
74
77
|
}
|
|
75
78
|
});
|
|
@@ -20,6 +20,9 @@ export default function InfoOverlay({
|
|
|
20
20
|
|
|
21
21
|
const prevLayerId = usePrevious(layerId);
|
|
22
22
|
|
|
23
|
+
const [isClient, setIsClient] = React.useState(false);
|
|
24
|
+
React.useEffect(() => setIsClient(true), []);
|
|
25
|
+
|
|
23
26
|
React.useEffect(() => {
|
|
24
27
|
if (prevLayerId && layerId !== prevLayerId) {
|
|
25
28
|
setShowTooltip(false);
|
|
@@ -32,7 +35,7 @@ export default function InfoOverlay({
|
|
|
32
35
|
const overlay = new ol.Overlay({
|
|
33
36
|
element: document.getElementById('popup-overlay'),
|
|
34
37
|
positioning: 'bottom-center',
|
|
35
|
-
offset: [
|
|
38
|
+
offset: [10, -10],
|
|
36
39
|
stopEvent: false,
|
|
37
40
|
});
|
|
38
41
|
map.addOverlay(overlay);
|
|
@@ -61,9 +64,6 @@ export default function InfoOverlay({
|
|
|
61
64
|
};
|
|
62
65
|
}, [map, tooltip, onFeatureSelect, hasCusters]);
|
|
63
66
|
|
|
64
|
-
const [isClient, setIsClient] = React.useState(false);
|
|
65
|
-
React.useEffect(() => setIsClient(true), []);
|
|
66
|
-
|
|
67
67
|
return isClient ? (
|
|
68
68
|
<div
|
|
69
69
|
id="popup-overlay"
|
|
@@ -5,7 +5,10 @@
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
#csepopup {
|
|
8
|
+
width: 300px;
|
|
9
|
+
padding: 10px 0;
|
|
8
10
|
border-bottom: 6px solid #005c96;
|
|
11
|
+
background-color: white;
|
|
9
12
|
|
|
10
13
|
p {
|
|
11
14
|
padding: 0 10px 0 10px;
|
|
@@ -35,84 +38,110 @@
|
|
|
35
38
|
}
|
|
36
39
|
}
|
|
37
40
|
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
.section-case-study-explorer #popup-overlay {
|
|
42
|
+
width: 340px;
|
|
43
|
+
// max-height: 300px;
|
|
44
|
+
padding: 0;
|
|
45
|
+
background-color: #fff;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@mapHeight: 70vh;
|
|
49
|
+
|
|
50
|
+
.casestudy-explorer-map {
|
|
51
|
+
// height: @mapHeight;
|
|
52
|
+
min-height: @mapHeight;
|
|
53
|
+
|
|
54
|
+
.ol-map {
|
|
55
|
+
// height: @mapHeight;
|
|
56
|
+
min-height: @mapHeight;
|
|
50
57
|
}
|
|
51
58
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
.casestudy-filters {
|
|
60
|
+
display: flex;
|
|
61
|
+
min-height: @mapHeight;
|
|
62
|
+
flex-direction: column;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
#cse-filter {
|
|
66
|
+
h4 {
|
|
67
|
+
position: relative;
|
|
68
|
+
padding: 10px;
|
|
69
|
+
border-bottom: 1px solid #d8d8d8;
|
|
70
|
+
margin-top: 0 !important;
|
|
71
|
+
margin-bottom: 0 !important;
|
|
72
|
+
background-color: #fff;
|
|
73
|
+
clear: both;
|
|
74
|
+
color: #005c96;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
font-size: 14px;
|
|
62
77
|
}
|
|
63
78
|
|
|
64
|
-
|
|
65
|
-
|
|
79
|
+
p {
|
|
80
|
+
// padding: 2px;
|
|
81
|
+
padding-bottom: 10px;
|
|
82
|
+
clear: both;
|
|
83
|
+
line-height: 20px;
|
|
84
|
+
|
|
85
|
+
span {
|
|
86
|
+
float: left;
|
|
87
|
+
font-family: OpenSansM, sans-serif;
|
|
88
|
+
font-size: 12px;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
input {
|
|
92
|
+
float: right;
|
|
93
|
+
}
|
|
66
94
|
}
|
|
67
|
-
}
|
|
68
95
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
96
|
+
div.title {
|
|
97
|
+
width: 100%;
|
|
98
|
+
}
|
|
72
99
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
100
|
+
.ui.accordion {
|
|
101
|
+
& > .title > .icon {
|
|
102
|
+
line-height: 1rem;
|
|
103
|
+
}
|
|
76
104
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
105
|
+
p {
|
|
106
|
+
margin: 0;
|
|
107
|
+
}
|
|
80
108
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
109
|
+
.content {
|
|
110
|
+
overflow: auto;
|
|
111
|
+
max-height: 400px;
|
|
84
112
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
113
|
+
.subcategory {
|
|
114
|
+
margin-bottom: 30px;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
88
118
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
119
|
+
button.reset {
|
|
120
|
+
margin-top: 20px;
|
|
121
|
+
}
|
|
92
122
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
span {
|
|
97
|
-
display: inline-block;
|
|
98
|
-
width: 12px;
|
|
99
|
-
height: 12px;
|
|
100
|
-
margin-top: 3px;
|
|
101
|
-
margin-right: 5px;
|
|
102
|
-
background-color: #005c96 !important;
|
|
103
|
-
background-color: #bbb;
|
|
104
|
-
border-radius: 50%;
|
|
123
|
+
.ui.checkbox {
|
|
124
|
+
width: 100%;
|
|
105
125
|
}
|
|
106
126
|
|
|
107
|
-
|
|
108
|
-
|
|
127
|
+
.case-study-legend {
|
|
128
|
+
padding-top: 20px;
|
|
129
|
+
margin-top: auto;
|
|
130
|
+
|
|
131
|
+
span {
|
|
132
|
+
display: inline-block;
|
|
133
|
+
width: 12px;
|
|
134
|
+
height: 12px;
|
|
135
|
+
margin-top: 3px;
|
|
136
|
+
margin-right: 5px;
|
|
137
|
+
background-color: #005c96 !important;
|
|
138
|
+
background-color: #bbb;
|
|
139
|
+
border-radius: 50%;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
span.light-blue {
|
|
143
|
+
background-color: #00ffff !important;
|
|
144
|
+
}
|
|
109
145
|
}
|
|
110
146
|
}
|
|
111
147
|
}
|
|
112
|
-
|
|
113
|
-
.section-case-study-explorer #popup-overlay {
|
|
114
|
-
width: 340px;
|
|
115
|
-
// max-height: 300px;
|
|
116
|
-
padding: 0;
|
|
117
|
-
background-color: #fff;
|
|
118
|
-
}
|
|
@@ -40,21 +40,19 @@ export const Interactions = ({
|
|
|
40
40
|
) {
|
|
41
41
|
// if (countries_metadata.length>0) {
|
|
42
42
|
let countryName = feature.get('na');
|
|
43
|
-
let noDataReportedMsg =
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
'">here</a>';
|
|
43
|
+
let noDataReportedMsg = `
|
|
44
|
+
No data reported through the reporting mechanism of the Governance Regulation.
|
|
45
|
+
Last information is available
|
|
46
|
+
<a href="${baseUrl}/${countryName.toLowerCase()}">here</a>`;
|
|
47
|
+
|
|
49
48
|
if (countryName === 'Türkiye') {
|
|
50
49
|
countryName = 'Turkiye';
|
|
51
|
-
noDataReportedMsg =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
countryName.toLowerCase() +
|
|
56
|
-
'">here</a>';
|
|
50
|
+
noDataReportedMsg = `
|
|
51
|
+
Data reported in 2021 through the reporting mechanism of the Governance Regulation.
|
|
52
|
+
Information is available
|
|
53
|
+
<a href="${baseUrl}/${countryName.toLowerCase()}">here</a>`;
|
|
57
54
|
}
|
|
55
|
+
|
|
58
56
|
if (!Object.hasOwn(countries_metadata[0], countryName)) {
|
|
59
57
|
return;
|
|
60
58
|
}
|
|
@@ -65,7 +63,7 @@ export const Interactions = ({
|
|
|
65
63
|
let tooltipContent = '';
|
|
66
64
|
if (thematicMapMode === 'National adaption policy') {
|
|
67
65
|
if (metadata[0]?.notreported) {
|
|
68
|
-
tooltipContent =
|
|
66
|
+
tooltipContent = `<span>${noDataReportedMsg}</span>`;
|
|
69
67
|
} else {
|
|
70
68
|
tooltipContent =
|
|
71
69
|
metadata[0]?.mixed || '<span>NAS and NAP not reported</span>';
|
|
@@ -79,28 +77,19 @@ export const Interactions = ({
|
|
|
79
77
|
// overlaySource.addFeature(feature);
|
|
80
78
|
map.getTargetElement().style.cursor = 'pointer';
|
|
81
79
|
const node = tooltipRef.current;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
</div><div class="tooltip-content">` +
|
|
96
|
-
tooltipContent +
|
|
97
|
-
`</div>`;
|
|
98
|
-
setTooltipVisibility(
|
|
99
|
-
node,
|
|
100
|
-
'<div class="country-tooltip">' + tooltipContentDiv + '</div>',
|
|
101
|
-
domEvt,
|
|
102
|
-
true,
|
|
103
|
-
);
|
|
80
|
+
const flag = feature.get('flag').src;
|
|
81
|
+
const cn = countryName.toLowerCase();
|
|
82
|
+
let tooltipContentDiv = `
|
|
83
|
+
<div class="country-tooltip">
|
|
84
|
+
<div id="country-name">
|
|
85
|
+
<a href="/en/countries-regions/countries/${cn}"><h3>${countryName}</h3></a>
|
|
86
|
+
<img class="tooltip-country-flag" src="${flag}" height="33" width="54">
|
|
87
|
+
</div>
|
|
88
|
+
<div class="tooltip-content">${tooltipContent}</div>
|
|
89
|
+
</div>
|
|
90
|
+
`;
|
|
91
|
+
|
|
92
|
+
setTooltipVisibility(node, tooltipContentDiv, domEvt, true);
|
|
104
93
|
}
|
|
105
94
|
|
|
106
95
|
// if (feature) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Accordion
|
|
2
|
+
import { Accordion } from 'semantic-ui-react';
|
|
3
3
|
import RASTAccordionContent from './RASTAccordionContent';
|
|
4
4
|
import { useHistory } from 'react-router-dom';
|
|
5
5
|
|
|
@@ -36,13 +36,6 @@ const RASTAccordion = (props) => {
|
|
|
36
36
|
}}
|
|
37
37
|
>
|
|
38
38
|
<span className="item-title">{item.title}</span>
|
|
39
|
-
{show_subfolders ? (
|
|
40
|
-
active ? (
|
|
41
|
-
<Icon className="ri-arrow-up-s-line" />
|
|
42
|
-
) : (
|
|
43
|
-
<Icon className="ri-arrow-down-s-line" />
|
|
44
|
-
)
|
|
45
|
-
) : null}
|
|
46
39
|
</Accordion.Title>
|
|
47
40
|
{show_subfolders ? (
|
|
48
41
|
<Accordion.Content active={active}>
|
|
@@ -52,8 +52,7 @@ export const AssetTab = ({ props, tabIndex, tabTitle }) => {
|
|
|
52
52
|
src={
|
|
53
53
|
isInternalURL(imageObject['@id'])
|
|
54
54
|
? `${flattenToAppURL(imageObject['@id'])}/${
|
|
55
|
-
imageObject?.image_scales?.image?.[0].
|
|
56
|
-
?.download || imageObject?.image_scales?.image?.[0].download
|
|
55
|
+
imageObject?.image_scales?.image?.[0].download
|
|
57
56
|
}`
|
|
58
57
|
: imageObject['@id']
|
|
59
58
|
}
|
|
@@ -123,7 +122,7 @@ const MenuItem = (props) => {
|
|
|
123
122
|
aria-selected={tab === activeTab}
|
|
124
123
|
tabIndex={0}
|
|
125
124
|
role={'tab'}
|
|
126
|
-
onMouseOver={focusTab}
|
|
125
|
+
// onMouseOver={focusTab}
|
|
127
126
|
onFocus={focusTab}
|
|
128
127
|
onClick={focusTab}
|
|
129
128
|
onKeyDown={(e) => {
|
|
@@ -6,14 +6,35 @@
|
|
|
6
6
|
// this is the menu
|
|
7
7
|
flex-wrap: wrap;
|
|
8
8
|
border: none;
|
|
9
|
+
margin: 1em 0 !important;
|
|
9
10
|
box-shadow: none;
|
|
10
|
-
|
|
11
|
+
|
|
12
|
+
.ui.image.thumb {
|
|
13
|
+
width: 190px;
|
|
14
|
+
height: auto;
|
|
15
|
+
}
|
|
11
16
|
|
|
12
17
|
.item {
|
|
13
|
-
|
|
18
|
+
padding: 0.5em;
|
|
19
|
+
border: 1px solid transparent !important;
|
|
20
|
+
margin: 10px 0;
|
|
21
|
+
|
|
22
|
+
&:not(:last-child) {
|
|
23
|
+
margin-right: 15px !important;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&:hover {
|
|
27
|
+
border: 1px solid #ddd !important;
|
|
28
|
+
border-radius: 4px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.active,
|
|
32
|
+
&.active:hover {
|
|
33
|
+
border: 1px solid #ddd !important;
|
|
34
|
+
border-radius: 5px;
|
|
35
|
+
}
|
|
14
36
|
|
|
15
37
|
&:before {
|
|
16
|
-
// border: 0px !important;
|
|
17
38
|
background: none;
|
|
18
39
|
}
|
|
19
40
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { List } from 'semantic-ui-react';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
|
|
5
|
+
const RASTWidgetView = ({ value, className }) => {
|
|
6
|
+
return value && value.length > 0 ? (
|
|
7
|
+
<span className={cx(className, 'widget')}>
|
|
8
|
+
<List>
|
|
9
|
+
{value.map((step, index) => (
|
|
10
|
+
<List.Item key={index}>{step.title}</List.Item>
|
|
11
|
+
))}
|
|
12
|
+
</List>
|
|
13
|
+
</span>
|
|
14
|
+
) : (
|
|
15
|
+
''
|
|
16
|
+
);
|
|
17
|
+
};
|
|
18
|
+
export default RASTWidgetView;
|