@eeacms/volto-cca-policy 0.3.39 → 0.3.41
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 +41 -8
- package/package.json +2 -2
- package/src/components/manage/Blocks/CaseStudyExplorer/utils.js +32 -19
- package/src/components/manage/Blocks/CountryProfileDetail/View.js +2 -2
- package/src/components/theme/MissionSignatoryProfile/MissionSignatoryProfileView.jsx +37 -25
- package/src/components/theme/MissionSignatoryProfile/MissionSignatoryProfileView.test.jsx +30 -9
- package/src/components/theme/MissionSignatoryProfile/{StatisticsSection.jsx → StatisticSection.jsx} +3 -5
- package/src/components/theme/MissionSignatoryProfile/TabSections/ActionPagesTab.jsx +14 -14
- package/src/components/theme/MissionSignatoryProfile/TabSections/ActionPagesTab.test.jsx +2 -4
- package/src/components/theme/MissionSignatoryProfile/TabSections/AssessmentTab.jsx +12 -5
- package/src/components/theme/MissionSignatoryProfile/TabSections/GovernanceTab.jsx +30 -1
- package/src/components/theme/MissionSignatoryProfile/TabSections/PlanningTab.jsx +29 -7
- package/src/components/theme/Views/AdaptationOptionView.jsx +8 -5
- package/src/components/theme/Views/BrokenLinks.test.jsx +16 -3
- package/src/helpers/ContentMetadata.jsx +26 -0
- package/theme/globals/mission.less +97 -0
- package/src/components/theme/MissionSignatoryProfile/style.less +0 -86
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,47 @@ 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.3.41](https://github.com/eea/volto-cca-policy/compare/0.3.40...0.3.41) - 14 May 2025
|
|
8
|
+
|
|
9
|
+
#### :rocket: Dependency updates
|
|
10
|
+
|
|
11
|
+
- Release @eeacms/volto-globalsearch@2.1.1 [EEA Jenkins - [`95087df`](https://github.com/eea/volto-cca-policy/commit/95087dfc874dfac0186dbaad184666ab9b8649df)]
|
|
12
|
+
|
|
13
|
+
#### :bug: Bug Fixes
|
|
14
|
+
|
|
15
|
+
- fix(mission): fix signatory profile actions order - refs #286863 [kreafox - [`48de556`](https://github.com/eea/volto-cca-policy/commit/48de556432efa9c88676f6b938e451d18cce9582)]
|
|
16
|
+
- fix: update test [kreafox - [`951460d`](https://github.com/eea/volto-cca-policy/commit/951460d723278de41e9749e432aff1891497d4fa)]
|
|
17
|
+
- fix: update test [kreafox - [`4608fc9`](https://github.com/eea/volto-cca-policy/commit/4608fc90c2f68c8625a4ad00d8dca5c79c78551c)]
|
|
18
|
+
|
|
19
|
+
#### :nail_care: Enhancements
|
|
20
|
+
|
|
21
|
+
- change(mission): move signatory profile CSS to theme folder [kreafox - [`be3744f`](https://github.com/eea/volto-cca-policy/commit/be3744ff175412dbca210a25ac6d1ac686ff4d83)]
|
|
22
|
+
- change(mission): add statitic for Governance section - refs #285296 [kreafox - [`67774d2`](https://github.com/eea/volto-cca-policy/commit/67774d24334b213dc9e870403df9cd15d005219d)]
|
|
23
|
+
- change: adjust tab labels order from backend response - refs #287273 [kreafox - [`6fc277d`](https://github.com/eea/volto-cca-policy/commit/6fc277d8479198d2307de9c092d460a6676a8a51)]
|
|
24
|
+
|
|
25
|
+
### [0.3.40](https://github.com/eea/volto-cca-policy/compare/0.3.39...0.3.40) - 13 May 2025
|
|
26
|
+
|
|
27
|
+
#### :bug: Bug Fixes
|
|
28
|
+
|
|
29
|
+
- fix: tests [kreafox - [`1852df4`](https://github.com/eea/volto-cca-policy/commit/1852df43cde6f0f173fcd28d79a0576407d9b313)]
|
|
30
|
+
- fix: class -> className [kreafox - [`56124bc`](https://github.com/eea/volto-cca-policy/commit/56124bc768fafcd59fc280d5ed9f8a6840969691)]
|
|
31
|
+
- fix: tests [kreafox - [`4f95457`](https://github.com/eea/volto-cca-policy/commit/4f954579aed4ed94e796be0de712ab1fc025d96a)]
|
|
32
|
+
|
|
33
|
+
#### :nail_care: Enhancements
|
|
34
|
+
|
|
35
|
+
- change: update Assessment section to render html tags [kreafox - [`011d752`](https://github.com/eea/volto-cca-policy/commit/011d752a949ca08ece75bed5aed46103216875ba)]
|
|
36
|
+
- change: update mission signatory profile templates - refs #286863, #286151 [kreafox - [`fde31e1`](https://github.com/eea/volto-cca-policy/commit/fde31e1ccb694a6109a49155010edf3fba34e512)]
|
|
37
|
+
- change(view): add footer text - refs #287671 [kreafox - [`864a247`](https://github.com/eea/volto-cca-policy/commit/864a247e754117b56a42608779ea60b0da8b71e2)]
|
|
38
|
+
|
|
39
|
+
#### :house: Internal changes
|
|
40
|
+
|
|
41
|
+
- style: Automated code fix [eea-jenkins - [`b301fff`](https://github.com/eea/volto-cca-policy/commit/b301fff27818a9317be2b6c4a992ddd9d1672663)]
|
|
42
|
+
- style: Automated code fix [eea-jenkins - [`3aa5289`](https://github.com/eea/volto-cca-policy/commit/3aa52897989a36dae14a0f0c00f4addd233eef18)]
|
|
43
|
+
|
|
44
|
+
#### :hammer_and_wrench: Others
|
|
45
|
+
|
|
46
|
+
- Refs #287520 - eslint [Tripon Eugen - [`fe3883e`](https://github.com/eea/volto-cca-policy/commit/fe3883ede70439de7f42cc817f9471996ad98696)]
|
|
47
|
+
- Refs #287520 - test resposition [Tripon Eugen - [`3114d1b`](https://github.com/eea/volto-cca-policy/commit/3114d1b8bb2d1017c590b1405f83cddeda5f5d35)]
|
|
7
48
|
### [0.3.39](https://github.com/eea/volto-cca-policy/compare/0.3.38...0.3.39) - 9 May 2025
|
|
8
49
|
|
|
9
50
|
#### :nail_care: Enhancements
|
|
@@ -2301,13 +2342,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
2301
2342
|
- Refs #260715 rast-block wip [Tripon Eugen - [`f19d54e`](https://github.com/eea/volto-cca-policy/commit/f19d54e0b9a6a86bf344eb85b6a1cda7f3de91bf)]
|
|
2302
2343
|
- Refs #260715 rast-block wip [Tripon Eugen - [`2828537`](https://github.com/eea/volto-cca-policy/commit/2828537b6c084cd1a82162d552fb4ef025b71f9f)]
|
|
2303
2344
|
- Refs #260715 rast-block updates [Tripon Eugen - [`1e803e5`](https://github.com/eea/volto-cca-policy/commit/1e803e5bd3d3fb7558f261c76c68866be7beb8b5)]
|
|
2304
|
-
- test: [JENKINS] Use java17 for sonarqube scanner [valentinab25 - [`0a15e1b`](https://github.com/eea/volto-cca-policy/commit/0a15e1b2ad081233685e80d5b3c60a8663f6b896)]
|
|
2305
|
-
- test: [JENKINS] Run cypress in started frontend container [valentinab25 - [`9554e44`](https://github.com/eea/volto-cca-policy/commit/9554e44c92a621a52b2adb5a4830fb084ee5734b)]
|
|
2306
2345
|
### [0.1.49](https://github.com/eea/volto-cca-policy/compare/0.1.48...0.1.49) - 15 November 2023
|
|
2307
2346
|
|
|
2308
2347
|
#### :house: Internal changes
|
|
2309
2348
|
|
|
2310
|
-
- chore: [JENKINS] Refactor automated testing [valentinab25 - [`7b820a6`](https://github.com/eea/volto-cca-policy/commit/7b820a6369c2ddd5203b1a4abe352cb4bb43db7a)]
|
|
2311
2349
|
- chore: husky, lint-staged use fixed versions [valentinab25 - [`f0a8061`](https://github.com/eea/volto-cca-policy/commit/f0a8061c275c236deb00087c23fac9860a073106)]
|
|
2312
2350
|
|
|
2313
2351
|
#### :hammer_and_wrench: Others
|
|
@@ -2324,9 +2362,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
2324
2362
|
- Refs #259267 - jenkins test [Tripon Eugen - [`cacd31e`](https://github.com/eea/volto-cca-policy/commit/cacd31e7b1afe0983674ed5c7632d2e1d7fa752e)]
|
|
2325
2363
|
- Refs #259267 - jenkins [Tripon Eugen - [`5b3affe`](https://github.com/eea/volto-cca-policy/commit/5b3affee8401239de10097884c1b7f2349d15ec0)]
|
|
2326
2364
|
- Refs #259267 - add When, lead image and title to files [Tripon Eugen - [`2cedb23`](https://github.com/eea/volto-cca-policy/commit/2cedb237f898af9057e13fba94b615ef71077204)]
|
|
2327
|
-
- test: [JENKINS] Add cpu limit on cypress docker [valentinab25 - [`4d607a5`](https://github.com/eea/volto-cca-policy/commit/4d607a576e9d0a5c34e48c41b409e7df616ee3d6)]
|
|
2328
|
-
- test: [JENKINS] Increase shm-size to cypress docker [valentinab25 - [`b7f74d5`](https://github.com/eea/volto-cca-policy/commit/b7f74d53513a6edbfbca5cb6d19687929bb1e5db)]
|
|
2329
|
-
- test: [JENKINS] Improve cypress time [valentinab25 - [`db65617`](https://github.com/eea/volto-cca-policy/commit/db656173391f65157098d95d388c25f6429753d8)]
|
|
2330
2365
|
- Refs #259267 - cca event blocks attachments and check not mandatoty fields [Tripon Eugen - [`3138e5a`](https://github.com/eea/volto-cca-policy/commit/3138e5afb5bfbdbed14e27ed457b16867b7fa414)]
|
|
2331
2366
|
- Refs #256681 - Fix error in CCA Event view menu. ([React Intl] An id must be provided to format a message.) [GhitaB - [`517eeb8`](https://github.com/eea/volto-cca-policy/commit/517eeb817264a47bbfd6b9b7d22aaf22d44ed224)]
|
|
2332
2367
|
- Refs #161485 - Fix ECDE name conflict. [GhitaB - [`8bfd99f`](https://github.com/eea/volto-cca-policy/commit/8bfd99ff68bb82a04d1c0ed625fa514fcf46289e)]
|
|
@@ -2543,7 +2578,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
2543
2578
|
|
|
2544
2579
|
#### :house: Internal changes
|
|
2545
2580
|
|
|
2546
|
-
- chore: [JENKINS] Remove alpha testing version [valentinab25 - [`ad1ced0`](https://github.com/eea/volto-cca-policy/commit/ad1ced0971ba116c13a3b5fcc039172cc915c919)]
|
|
2547
2581
|
|
|
2548
2582
|
#### :hammer_and_wrench: Others
|
|
2549
2583
|
|
|
@@ -3024,7 +3058,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
|
3024
3058
|
#### :hammer_and_wrench: Others
|
|
3025
3059
|
|
|
3026
3060
|
- Refs #158294 - Update supported languages list. [GhitaB - [`0a4f91f`](https://github.com/eea/volto-cca-policy/commit/0a4f91f39b7edc367bd4c127d6a8f273c7788361)]
|
|
3027
|
-
- Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`8f1f9ce`](https://github.com/eea/volto-cca-policy/commit/8f1f9ce6c22805670cc0800d3c779b6d619d0f31)]
|
|
3028
3061
|
### [0.1.1](https://github.com/eea/volto-cca-policy/compare/0.1.0...0.1.1) - 13 December 2022
|
|
3029
3062
|
|
|
3030
3063
|
#### :hammer_and_wrench: Others
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eeacms/volto-cca-policy",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.41",
|
|
4
4
|
"description": "@eeacms/volto-cca-policy: Volto add-on",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"author": "European Environment Agency: IDM2 A-Team",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"@eeacms/volto-eea-design-system": "<=1.36.3",
|
|
33
33
|
"@eeacms/volto-eea-website-theme": "^1.35.0",
|
|
34
34
|
"@eeacms/volto-embed": "^9.1.1",
|
|
35
|
-
"@eeacms/volto-globalsearch": "2.1.
|
|
35
|
+
"@eeacms/volto-globalsearch": "2.1.1",
|
|
36
36
|
"@eeacms/volto-hero-block": "^7.1.0",
|
|
37
37
|
"@eeacms/volto-openlayers-map": "*",
|
|
38
38
|
"@eeacms/volto-searchlib": "2.0.16",
|
|
@@ -47,25 +47,38 @@ export function filterCases(cases, activeFilters) {
|
|
|
47
47
|
impacts: false,
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
activeFilters.sectors.forEach((filter) => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
50
|
+
// activeFilters.sectors.forEach((filter) => {
|
|
51
|
+
// if (_case.properties.sectors.includes(',' + filter + ','))
|
|
52
|
+
// flag.sectors = true;
|
|
53
|
+
// });
|
|
54
|
+
flag.sectors = activeFilters.sectors.every((sub) =>
|
|
55
|
+
_case.properties.sectors.includes(sub),
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
// ADAPTATION APPROACHES
|
|
59
|
+
// activeFilters.elements.forEach((filter) => {
|
|
60
|
+
// if (_case.properties.elements.includes(',' + filter + ','))
|
|
61
|
+
// flag.elements = true;
|
|
62
|
+
// });
|
|
63
|
+
flag.elements = activeFilters.elements.every((sub) =>
|
|
64
|
+
_case.properties.elements.includes(sub),
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
// activeFilters.impacts.forEach((filter) => {
|
|
68
|
+
// if (_case.properties.impacts.includes(',' + filter + ','))
|
|
69
|
+
// flag.impacts = true;
|
|
70
|
+
// });
|
|
71
|
+
flag.impacts = activeFilters.impacts.every((sub) =>
|
|
72
|
+
_case.properties.impacts.includes(sub),
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
// activeFilters.measures.forEach((filter) => {
|
|
76
|
+
// if (_case.properties.ktms.includes(',' + filter + ','))
|
|
77
|
+
// flag.measures = true;
|
|
78
|
+
// });
|
|
79
|
+
flag.measures = activeFilters.measures.every((sub) =>
|
|
80
|
+
_case.properties.ktms.includes(sub),
|
|
81
|
+
);
|
|
69
82
|
|
|
70
83
|
return (activeFilters.sectors.length ? flag.sectors : true) &&
|
|
71
84
|
(activeFilters.elements.length ? flag.elements : true) &&
|
|
@@ -35,7 +35,7 @@ export default function View(props) {
|
|
|
35
35
|
return (
|
|
36
36
|
<>
|
|
37
37
|
{isNonEN && (
|
|
38
|
-
<Message
|
|
38
|
+
<Message className="eea callout">
|
|
39
39
|
<FormattedMessage
|
|
40
40
|
id="officiallyInEnglish"
|
|
41
41
|
defaultMessage="Officially reported governmental information is only available in English"
|
|
@@ -43,7 +43,7 @@ export default function View(props) {
|
|
|
43
43
|
</Message>
|
|
44
44
|
)}
|
|
45
45
|
{dataJson.message_top ? (
|
|
46
|
-
<div
|
|
46
|
+
<div className="eea callout">{dataJson.message_top}</div>
|
|
47
47
|
) : null}
|
|
48
48
|
{dataJson.top_accordeon ? (
|
|
49
49
|
<div className="top-accordion">
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Tab, Container } from 'semantic-ui-react';
|
|
2
|
+
import { Tab, Container, Divider } from 'semantic-ui-react';
|
|
3
3
|
import { BannerTitle } from '@eeacms/volto-cca-policy/helpers';
|
|
4
4
|
import GovernanceTab from './TabSections/GovernanceTab';
|
|
5
5
|
import AssessmentTab from './TabSections/AssessmentTab';
|
|
6
6
|
import PlanningTab from './TabSections/PlanningTab';
|
|
7
7
|
import ActionPagesTab from './TabSections/ActionPagesTab';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
const tabRenderers = {
|
|
10
|
+
Governance_Label: (data) => <GovernanceTab result={data} />,
|
|
11
|
+
Assessment_Label: (data) => <AssessmentTab result={data} />,
|
|
12
|
+
Planning_Label: (data) => <PlanningTab result={data} />,
|
|
13
|
+
Action_Label: (data) => <ActionPagesTab result={data} />,
|
|
14
|
+
};
|
|
10
15
|
|
|
11
16
|
const MissionSignatoryProfileView = (props) => {
|
|
12
17
|
const { content } = props || {};
|
|
@@ -14,16 +19,32 @@ const MissionSignatoryProfileView = (props) => {
|
|
|
14
19
|
props?.content?.['@components']?.missionsignatoryprofile || {};
|
|
15
20
|
|
|
16
21
|
const result = dataJson?.result || {};
|
|
17
|
-
const governance = result?.governance?.[0] ||
|
|
22
|
+
const governance = result?.governance?.[0] || {};
|
|
18
23
|
const planning = result?.planning || {};
|
|
19
24
|
const assessment = result?.assessment || {};
|
|
20
25
|
const action = result?.action || {};
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
tab_labels || {};
|
|
26
|
+
const footer_text = result?.footer_text || {};
|
|
27
|
+
const tab_labels = result?.tab_labels || [];
|
|
24
28
|
|
|
25
29
|
const [activeIndex, setActiveIndex] = React.useState(0);
|
|
26
30
|
|
|
31
|
+
const panes = tab_labels
|
|
32
|
+
.filter(({ key }) => key !== 'Language')
|
|
33
|
+
.map(({ key, value }) => {
|
|
34
|
+
const renderTab = tabRenderers[key];
|
|
35
|
+
const dataMap = {
|
|
36
|
+
Governance_Label: governance,
|
|
37
|
+
Assessment_Label: assessment,
|
|
38
|
+
Planning_Label: planning,
|
|
39
|
+
Action_Label: action,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return {
|
|
43
|
+
menuItem: value,
|
|
44
|
+
render: () => (renderTab ? renderTab(dataMap[key]) : null),
|
|
45
|
+
};
|
|
46
|
+
});
|
|
47
|
+
|
|
27
48
|
return (
|
|
28
49
|
<Container>
|
|
29
50
|
<BannerTitle
|
|
@@ -38,7 +59,7 @@ const MissionSignatoryProfileView = (props) => {
|
|
|
38
59
|
hideShareButton: false,
|
|
39
60
|
}}
|
|
40
61
|
/>
|
|
41
|
-
<div className="
|
|
62
|
+
<div className="signatory-profile">
|
|
42
63
|
<br />
|
|
43
64
|
|
|
44
65
|
<Tab
|
|
@@ -51,25 +72,16 @@ const MissionSignatoryProfileView = (props) => {
|
|
|
51
72
|
grid={{ paneWidth: 9, tabWidth: 3, stackable: true }}
|
|
52
73
|
activeIndex={activeIndex}
|
|
53
74
|
onTabChange={(e, { activeIndex }) => setActiveIndex(activeIndex)}
|
|
54
|
-
panes={
|
|
55
|
-
{
|
|
56
|
-
menuItem: Governance_Label || 'Governance',
|
|
57
|
-
render: () => <GovernanceTab result={governance} />,
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
menuItem: Assessment_Label || 'Assessment',
|
|
61
|
-
render: () => <AssessmentTab result={assessment} />,
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
menuItem: Planning_Label || 'Planning',
|
|
65
|
-
render: () => <PlanningTab result={planning} />,
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
menuItem: Action_Label || 'Action',
|
|
69
|
-
render: () => <ActionPagesTab result={action} />,
|
|
70
|
-
},
|
|
71
|
-
]}
|
|
75
|
+
panes={panes}
|
|
72
76
|
/>
|
|
77
|
+
|
|
78
|
+
{footer_text.Disclaimer && (
|
|
79
|
+
<div className="footer-text">
|
|
80
|
+
<Divider />
|
|
81
|
+
<strong>{footer_text.Disclaimer_Title}</strong>
|
|
82
|
+
<p>{footer_text.Disclaimer}</p>
|
|
83
|
+
</div>
|
|
84
|
+
)}
|
|
73
85
|
</div>
|
|
74
86
|
</Container>
|
|
75
87
|
);
|
|
@@ -17,27 +17,42 @@ jest.mock('@eeacms/volto-cca-policy/helpers', () => ({
|
|
|
17
17
|
}));
|
|
18
18
|
|
|
19
19
|
describe('MissionSignatoryProfileView', () => {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
const content = {
|
|
21
|
+
'@components': {
|
|
22
|
+
missionsignatoryprofile: {
|
|
23
|
+
result: {
|
|
24
|
+
governance: [{}],
|
|
25
|
+
assessment: {},
|
|
26
|
+
planning: {},
|
|
27
|
+
action: {},
|
|
28
|
+
footer_text: {
|
|
29
|
+
Disclaimer_Title: 'Disclaimer Title',
|
|
30
|
+
Disclaimer: 'This is a disclaimer.',
|
|
31
|
+
},
|
|
32
|
+
tab_labels: [
|
|
33
|
+
{ key: 'Governance_Label', value: 'Governance' },
|
|
34
|
+
{ key: 'Assessment_Label', value: 'Assessment' },
|
|
35
|
+
{ key: 'Planning_Label', value: 'Planning & Target' },
|
|
36
|
+
{ key: 'Action_Label', value: 'Action' },
|
|
37
|
+
{ key: 'Language', value: 'en' }, // will be filtered out
|
|
38
|
+
],
|
|
39
|
+
},
|
|
24
40
|
},
|
|
25
|
-
governance: [{}],
|
|
26
41
|
},
|
|
27
42
|
};
|
|
28
43
|
|
|
29
44
|
it('renders tab labels and default content', () => {
|
|
30
|
-
render(<MissionSignatoryProfileView
|
|
45
|
+
render(<MissionSignatoryProfileView content={content} />);
|
|
31
46
|
|
|
32
47
|
// Tab labels
|
|
33
48
|
expect(screen.getByText('Governance')).toBeInTheDocument();
|
|
34
49
|
expect(screen.getByText('Assessment')).toBeInTheDocument();
|
|
35
|
-
expect(screen.getByText('Planning')).toBeInTheDocument();
|
|
50
|
+
expect(screen.getByText('Planning & Target')).toBeInTheDocument();
|
|
36
51
|
expect(screen.getByText('Action')).toBeInTheDocument();
|
|
37
52
|
});
|
|
38
53
|
|
|
39
54
|
it('switches tabs and renders corresponding content', () => {
|
|
40
|
-
render(<MissionSignatoryProfileView
|
|
55
|
+
render(<MissionSignatoryProfileView content={content} />);
|
|
41
56
|
|
|
42
57
|
fireEvent.click(screen.getByText('Governance'));
|
|
43
58
|
expect(screen.getByText('Mocked Governance')).toBeInTheDocument();
|
|
@@ -45,10 +60,16 @@ describe('MissionSignatoryProfileView', () => {
|
|
|
45
60
|
fireEvent.click(screen.getByText('Assessment'));
|
|
46
61
|
expect(screen.getByText('Mocked Assessment')).toBeInTheDocument();
|
|
47
62
|
|
|
48
|
-
fireEvent.click(screen.getByText('Planning'));
|
|
63
|
+
fireEvent.click(screen.getByText('Planning & Target'));
|
|
49
64
|
expect(screen.getByText('Mocked Planning')).toBeInTheDocument();
|
|
50
65
|
|
|
51
66
|
fireEvent.click(screen.getByText('Action'));
|
|
52
67
|
expect(screen.getByText('Mocked Action')).toBeInTheDocument();
|
|
53
68
|
});
|
|
69
|
+
|
|
70
|
+
it('renders footer disclaimer text if present', () => {
|
|
71
|
+
render(<MissionSignatoryProfileView content={content} />);
|
|
72
|
+
expect(screen.getByText('Disclaimer Title')).toBeInTheDocument();
|
|
73
|
+
expect(screen.getByText('This is a disclaimer.')).toBeInTheDocument();
|
|
74
|
+
});
|
|
54
75
|
});
|
package/src/components/theme/MissionSignatoryProfile/{StatisticsSection.jsx → StatisticSection.jsx}
RENAMED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
1
|
import {
|
|
4
2
|
Statistic,
|
|
5
3
|
StatisticValue,
|
|
@@ -7,10 +5,10 @@ import {
|
|
|
7
5
|
StatisticGroup,
|
|
8
6
|
} from 'semantic-ui-react';
|
|
9
7
|
|
|
10
|
-
const
|
|
8
|
+
const StatisticSection = ({ statistic }) => {
|
|
11
9
|
return (
|
|
12
10
|
<StatisticGroup widths="two" size="small">
|
|
13
|
-
{
|
|
11
|
+
{statistic.map((stat, index) => (
|
|
14
12
|
<Statistic key={index}>
|
|
15
13
|
<StatisticValue>{stat.value}</StatisticValue>
|
|
16
14
|
<StatisticLabel>{stat.label}</StatisticLabel>
|
|
@@ -20,4 +18,4 @@ const StatisticsSection = ({ statistics }) => {
|
|
|
20
18
|
);
|
|
21
19
|
};
|
|
22
20
|
|
|
23
|
-
export default
|
|
21
|
+
export default StatisticSection;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { Tab, Grid } from 'semantic-ui-react';
|
|
3
2
|
import { Callout } from '@eeacms/volto-eea-design-system/ui';
|
|
3
|
+
import { HTMLField } from '@eeacms/volto-cca-policy/helpers';
|
|
4
|
+
import { formatTextToHTML } from '@eeacms/volto-cca-policy/utils';
|
|
4
5
|
import AccordionList from '../AccordionList';
|
|
5
6
|
|
|
6
7
|
const ActionsTabContent = ({ action }) => {
|
|
7
8
|
const hasHazards = action?.Climate_Hazards?.length > 0;
|
|
8
|
-
const hasSectors =
|
|
9
|
-
const hasBenefits =
|
|
9
|
+
const hasSectors = action?.Sectors.length > 0;
|
|
10
|
+
const hasBenefits = action?.Co_Benefits.length > 0;
|
|
11
|
+
|
|
10
12
|
return (
|
|
11
13
|
<>
|
|
12
14
|
<Grid columns="12">
|
|
@@ -63,30 +65,28 @@ const ActionPagesTab = ({ result }) => {
|
|
|
63
65
|
const { Title, Abstract, Abstract_Line } = result.action_text?.[0] || [];
|
|
64
66
|
const actions = result.actions || [];
|
|
65
67
|
|
|
66
|
-
const sortedActions = [...actions].sort((a, b) =>
|
|
67
|
-
const aNum = parseInt(a.Action_Id.replace(/\D/g, ''), 10);
|
|
68
|
-
const bNum = parseInt(b.Action_Id.replace(/\D/g, ''), 10);
|
|
69
|
-
return aNum - bNum;
|
|
70
|
-
});
|
|
68
|
+
const sortedActions = [...actions].sort((a, b) => a.Order - b.Order);
|
|
71
69
|
|
|
72
70
|
return (
|
|
73
71
|
<Tab.Pane>
|
|
74
72
|
{Title && <h2>{Title}</h2>}
|
|
75
|
-
{Abstract && <
|
|
76
|
-
{Abstract_Line &&
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
{Abstract && <HTMLField value={{ data: formatTextToHTML(Abstract) }} />}
|
|
74
|
+
{Abstract_Line && (
|
|
75
|
+
<Callout>
|
|
76
|
+
<HTMLField value={{ data: formatTextToHTML(Abstract_Line) }} />
|
|
77
|
+
</Callout>
|
|
78
|
+
)}
|
|
79
79
|
|
|
80
80
|
{sortedActions.map((action, index) => {
|
|
81
81
|
return (
|
|
82
82
|
<div key={index} className="section-wrapper">
|
|
83
83
|
<h5 className="section-title">
|
|
84
84
|
<span className="section-number">{action.Order}. </span>
|
|
85
|
-
<
|
|
85
|
+
<HTMLField value={{ data: formatTextToHTML(action?.Action) }} />
|
|
86
86
|
</h5>
|
|
87
87
|
|
|
88
88
|
<AccordionList
|
|
89
|
-
variation="
|
|
89
|
+
variation="secondary"
|
|
90
90
|
accordions={[
|
|
91
91
|
{
|
|
92
92
|
title: action?.More_Details_Label || 'More details',
|
|
@@ -61,7 +61,7 @@ describe('ActionPagesTab', () => {
|
|
|
61
61
|
};
|
|
62
62
|
|
|
63
63
|
it('renders action tab content correctly', () => {
|
|
64
|
-
const { getByText,
|
|
64
|
+
const { getByText, container } = render(
|
|
65
65
|
<ActionPagesTab result={mockResult} />,
|
|
66
66
|
);
|
|
67
67
|
|
|
@@ -71,9 +71,7 @@ describe('ActionPagesTab', () => {
|
|
|
71
71
|
).toBeInTheDocument();
|
|
72
72
|
expect(getByText('Summary line here.')).toBeInTheDocument();
|
|
73
73
|
|
|
74
|
-
const sections =
|
|
75
|
-
el.closest('.section-wrapper'),
|
|
76
|
-
);
|
|
74
|
+
const sections = container.querySelectorAll('.section-wrapper');
|
|
77
75
|
|
|
78
76
|
// First action
|
|
79
77
|
const firstAction = within(sections[0]);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { Tab, Image, Segment, Item } from 'semantic-ui-react';
|
|
3
2
|
import { Callout } from '@eeacms/volto-eea-design-system/ui';
|
|
3
|
+
import { HTMLField } from '@eeacms/volto-cca-policy/helpers';
|
|
4
|
+
import { formatTextToHTML } from '@eeacms/volto-cca-policy/utils';
|
|
4
5
|
import AccordionList from '../AccordionList';
|
|
5
6
|
|
|
6
7
|
import image from '@eeacms/volto-cca-policy/../theme//assets/images/image-narrow.svg';
|
|
@@ -38,7 +39,7 @@ const AssessmentAccordionContent = ({ result }) => {
|
|
|
38
39
|
|
|
39
40
|
<h5>{result.Further_Details_Label}</h5>
|
|
40
41
|
<Segment className="border">
|
|
41
|
-
<
|
|
42
|
+
<HTMLField value={{ data: formatTextToHTML(result.Please_Explain) }} />
|
|
42
43
|
</Segment>
|
|
43
44
|
</>
|
|
44
45
|
);
|
|
@@ -63,9 +64,13 @@ const AssessmentTab = ({ result }) => {
|
|
|
63
64
|
return (
|
|
64
65
|
<Tab.Pane>
|
|
65
66
|
{Title && <h2>{Title}</h2>}
|
|
66
|
-
{Subheading &&
|
|
67
|
+
{Subheading && (
|
|
68
|
+
<Callout>
|
|
69
|
+
<HTMLField value={{ data: formatTextToHTML(Subheading) }} />
|
|
70
|
+
</Callout>
|
|
71
|
+
)}
|
|
67
72
|
|
|
68
|
-
{Abstract && <
|
|
73
|
+
{Abstract && <HTMLField value={{ data: formatTextToHTML(Abstract) }} />}
|
|
69
74
|
|
|
70
75
|
<div className="tab-section-wrapper assessment">
|
|
71
76
|
{Cra_Title && <h3>{Cra_Title}</h3>}
|
|
@@ -99,7 +104,9 @@ const AssessmentTab = ({ result }) => {
|
|
|
99
104
|
|
|
100
105
|
{Hazards_Title && <h3>{Hazards_Title}</h3>}
|
|
101
106
|
|
|
102
|
-
{Hazards_Abstract &&
|
|
107
|
+
{Hazards_Abstract && (
|
|
108
|
+
<HTMLField value={{ data: formatTextToHTML(Hazards_Abstract) }} />
|
|
109
|
+
)}
|
|
103
110
|
|
|
104
111
|
<br />
|
|
105
112
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { Tab } from 'semantic-ui-react';
|
|
3
2
|
import { Callout } from '@eeacms/volto-eea-design-system/ui';
|
|
4
3
|
import { HTMLField } from '@eeacms/volto-cca-policy/helpers';
|
|
5
4
|
import { formatTextToHTML } from '@eeacms/volto-cca-policy/utils';
|
|
6
5
|
import AccordionList from '../AccordionList';
|
|
6
|
+
import StatisticSection from '../StatisticSection';
|
|
7
7
|
|
|
8
8
|
const GovernanceTab = ({ result }) => {
|
|
9
9
|
const {
|
|
@@ -13,14 +13,43 @@ const GovernanceTab = ({ result }) => {
|
|
|
13
13
|
Describe,
|
|
14
14
|
Provide_Title,
|
|
15
15
|
Provide,
|
|
16
|
+
Statistic_Area,
|
|
17
|
+
Statistic_Area_Label,
|
|
18
|
+
Statistic_Jurisdiction_Range,
|
|
19
|
+
Statistic_Jurisdiction_Range_Label,
|
|
20
|
+
Statistic_Population_Size,
|
|
21
|
+
Statistic_Population_Size_Label,
|
|
22
|
+
Statistic_Population_Year,
|
|
23
|
+
Statistic_Population_Year_Label,
|
|
16
24
|
} = result;
|
|
17
25
|
|
|
26
|
+
const statisticData = [
|
|
27
|
+
{
|
|
28
|
+
value: Statistic_Area,
|
|
29
|
+
label: Statistic_Area_Label,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
value: Statistic_Jurisdiction_Range,
|
|
33
|
+
label: Statistic_Jurisdiction_Range_Label,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
value: Statistic_Population_Size,
|
|
37
|
+
label: Statistic_Population_Size_Label,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
value: Statistic_Population_Year,
|
|
41
|
+
label: Statistic_Population_Year_Label,
|
|
42
|
+
},
|
|
43
|
+
].filter((stat) => stat.value && stat.label);
|
|
44
|
+
|
|
18
45
|
return (
|
|
19
46
|
<Tab.Pane>
|
|
20
47
|
{Title && <h2>{Title}</h2>}
|
|
21
48
|
|
|
22
49
|
{Introduction && <Callout>{Introduction}</Callout>}
|
|
23
50
|
|
|
51
|
+
<StatisticSection statistic={statisticData} />
|
|
52
|
+
|
|
24
53
|
{Describe_Title && <h3>{Describe_Title}</h3>}
|
|
25
54
|
|
|
26
55
|
{Describe && <HTMLField value={{ data: formatTextToHTML(Describe) }} />}
|
|
@@ -88,17 +88,25 @@ const PlanningTab = ({ result }) => {
|
|
|
88
88
|
return (
|
|
89
89
|
<Tab.Pane>
|
|
90
90
|
{titleData?.Title && <h2>{titleData.Title}</h2>}
|
|
91
|
-
{titleData?.Abstract_Line &&
|
|
91
|
+
{titleData?.Abstract_Line && (
|
|
92
|
+
<Callout>
|
|
93
|
+
<HTMLField
|
|
94
|
+
value={{ data: formatTextToHTML(titleData?.Abstract_Line) }}
|
|
95
|
+
/>
|
|
96
|
+
</Callout>
|
|
97
|
+
)}
|
|
92
98
|
|
|
93
99
|
{sortedGoals.map((goal, index) => {
|
|
94
100
|
return (
|
|
95
101
|
<div key={index} className="section-wrapper">
|
|
96
|
-
<
|
|
102
|
+
<h5 className="section-title">
|
|
103
|
+
<span className="section-number">{goal?.Title_Label} </span>
|
|
97
104
|
|
|
98
|
-
|
|
105
|
+
<HTMLField value={{ data: formatTextToHTML(goal?.Title) }} />
|
|
106
|
+
</h5>
|
|
99
107
|
|
|
100
108
|
<AccordionList
|
|
101
|
-
variation="
|
|
109
|
+
variation="secondary"
|
|
102
110
|
accordions={[
|
|
103
111
|
{
|
|
104
112
|
title: goal?.More_Details_Label || 'More details',
|
|
@@ -115,7 +123,11 @@ const PlanningTab = ({ result }) => {
|
|
|
115
123
|
)}
|
|
116
124
|
|
|
117
125
|
{goalData?.Climate_Action_Abstract && (
|
|
118
|
-
<Callout>
|
|
126
|
+
<Callout>
|
|
127
|
+
<HTMLField
|
|
128
|
+
value={{ data: formatTextToHTML(goalData.Climate_Action_Abstract) }}
|
|
129
|
+
/>
|
|
130
|
+
</Callout>
|
|
119
131
|
)}
|
|
120
132
|
|
|
121
133
|
{planning_climate_action.map((action, index) => {
|
|
@@ -124,12 +136,22 @@ const PlanningTab = ({ result }) => {
|
|
|
124
136
|
<br />
|
|
125
137
|
{action?.Sectors_Introduction && (
|
|
126
138
|
<Message>
|
|
127
|
-
<
|
|
139
|
+
<HTMLField
|
|
140
|
+
value={{
|
|
141
|
+
data: formatTextToHTML(action.Sectors_Introduction),
|
|
142
|
+
}}
|
|
143
|
+
/>
|
|
128
144
|
</Message>
|
|
129
145
|
)}
|
|
130
146
|
|
|
131
147
|
<ItemsSection items={action?.Sectors} />
|
|
132
|
-
|
|
148
|
+
|
|
149
|
+
{action?.Description && (
|
|
150
|
+
<HTMLField
|
|
151
|
+
className="description"
|
|
152
|
+
value={{ data: formatTextToHTML(action.Description) }}
|
|
153
|
+
/>
|
|
154
|
+
)}
|
|
133
155
|
|
|
134
156
|
{(action?.Approval_Year || action?.End_Year) && (
|
|
135
157
|
<p>
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
} from '@eeacms/volto-cca-policy/helpers';
|
|
10
10
|
import {
|
|
11
11
|
Container,
|
|
12
|
-
Segment,
|
|
12
|
+
// Segment,
|
|
13
13
|
Divider,
|
|
14
14
|
Grid,
|
|
15
15
|
ListItem,
|
|
16
16
|
List,
|
|
17
17
|
} from 'semantic-ui-react';
|
|
18
|
-
import { UniversalLink } from '@plone/volto/components';
|
|
18
|
+
// import { UniversalLink } from '@plone/volto/components';
|
|
19
19
|
import {
|
|
20
20
|
ShareInfoButton,
|
|
21
21
|
PortalMessage,
|
|
@@ -253,9 +253,12 @@ function AdaptationOptionView(props) {
|
|
|
253
253
|
computer={4}
|
|
254
254
|
className="col-right"
|
|
255
255
|
>
|
|
256
|
-
<ContentMetadata
|
|
256
|
+
<ContentMetadata
|
|
257
|
+
{...props}
|
|
258
|
+
related_case_studies={related_case_studies}
|
|
259
|
+
/>
|
|
257
260
|
|
|
258
|
-
{related_case_studies?.length > 0 && (
|
|
261
|
+
{/* {related_case_studies?.length > 0 && (
|
|
259
262
|
<Segment>
|
|
260
263
|
<h5>
|
|
261
264
|
<FormattedMessage
|
|
@@ -273,7 +276,7 @@ function AdaptationOptionView(props) {
|
|
|
273
276
|
))}
|
|
274
277
|
</ul>
|
|
275
278
|
</Segment>
|
|
276
|
-
)}
|
|
279
|
+
)} */}
|
|
277
280
|
</Grid.Column>
|
|
278
281
|
</div>
|
|
279
282
|
</Grid>
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { MemoryRouter } from 'react-router-dom';
|
|
3
2
|
import configureStore from 'redux-mock-store';
|
|
4
3
|
import '@testing-library/jest-dom/extend-expect';
|
|
5
|
-
import { render } from '@testing-library/react';
|
|
4
|
+
import { render, waitFor } from '@testing-library/react';
|
|
6
5
|
import { Provider } from 'react-intl-redux';
|
|
7
6
|
import { BrokenLinksComponent } from './BrokenLinks';
|
|
8
7
|
|
|
@@ -17,7 +16,18 @@ describe('BrokenLinksComponent', () => {
|
|
|
17
16
|
messages: {},
|
|
18
17
|
},
|
|
19
18
|
});
|
|
19
|
+
|
|
20
|
+
global.fetch = jest.fn(() =>
|
|
21
|
+
Promise.resolve({
|
|
22
|
+
json: () =>
|
|
23
|
+
Promise.resolve({
|
|
24
|
+
broken_links: {},
|
|
25
|
+
}),
|
|
26
|
+
}),
|
|
27
|
+
);
|
|
28
|
+
|
|
20
29
|
const reactTable = await import('@tanstack/react-table');
|
|
30
|
+
|
|
21
31
|
const { container } = render(
|
|
22
32
|
<Provider store={store}>
|
|
23
33
|
<MemoryRouter>
|
|
@@ -25,6 +35,9 @@ describe('BrokenLinksComponent', () => {
|
|
|
25
35
|
</MemoryRouter>
|
|
26
36
|
</Provider>,
|
|
27
37
|
);
|
|
28
|
-
|
|
38
|
+
|
|
39
|
+
await waitFor(() => {
|
|
40
|
+
expect(container).toBeTruthy();
|
|
41
|
+
});
|
|
29
42
|
});
|
|
30
43
|
});
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
PUBLICATION_REPORT,
|
|
14
14
|
} from '@eeacms/volto-cca-policy/helpers/Constants';
|
|
15
15
|
import { MetadataItemList } from '@eeacms/volto-cca-policy/helpers';
|
|
16
|
+
import { UniversalLink } from '@plone/volto/components';
|
|
16
17
|
|
|
17
18
|
const messages = defineMessages({
|
|
18
19
|
default_info_tooltip: {
|
|
@@ -342,6 +343,11 @@ function ContentMetadata(props) {
|
|
|
342
343
|
key_type_measures,
|
|
343
344
|
funding_programme,
|
|
344
345
|
} = content;
|
|
346
|
+
// const related_case_studies = props.hasAttribute('related_case_studies')
|
|
347
|
+
// ? props['related_case_studies']
|
|
348
|
+
// : [];
|
|
349
|
+
const related_case_studies = props['related_case_studies'];
|
|
350
|
+
|
|
345
351
|
const type = content['@type'];
|
|
346
352
|
const hasGeoChars = geochars !== null || spatial_layer.length > 0;
|
|
347
353
|
|
|
@@ -364,6 +370,26 @@ function ContentMetadata(props) {
|
|
|
364
370
|
portaltype={type}
|
|
365
371
|
/>
|
|
366
372
|
|
|
373
|
+
{related_case_studies?.length > 0 && (
|
|
374
|
+
<>
|
|
375
|
+
<h5>
|
|
376
|
+
<FormattedMessage
|
|
377
|
+
id="Case studies related to this option:"
|
|
378
|
+
defaultMessage="Case studies related to this option:"
|
|
379
|
+
/>
|
|
380
|
+
</h5>
|
|
381
|
+
<ul className="related-case-studies">
|
|
382
|
+
{related_case_studies.map((item, index) => (
|
|
383
|
+
<li key={index}>
|
|
384
|
+
<UniversalLink key={index} href={item.url}>
|
|
385
|
+
{item.title}
|
|
386
|
+
</UniversalLink>
|
|
387
|
+
</li>
|
|
388
|
+
))}
|
|
389
|
+
</ul>
|
|
390
|
+
</>
|
|
391
|
+
)}
|
|
392
|
+
|
|
367
393
|
{keywords && keywords?.length > 0 && (
|
|
368
394
|
<>
|
|
369
395
|
<h5>
|
|
@@ -116,6 +116,103 @@ body.subsite-mkh {
|
|
|
116
116
|
#mega-menu .ui.accordion .content {
|
|
117
117
|
background: @subsiteBackgroundGradient;
|
|
118
118
|
}
|
|
119
|
+
|
|
120
|
+
/* Mission signatory profile */
|
|
121
|
+
.signatory-profile {
|
|
122
|
+
.ui.items.items-group {
|
|
123
|
+
margin: 2em 0 !important;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.column > .ui.segment {
|
|
127
|
+
background-color: #fff !important;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.section-wrapper-info {
|
|
131
|
+
display: flex;
|
|
132
|
+
justify-content: space-between;
|
|
133
|
+
font-size: 14px;
|
|
134
|
+
|
|
135
|
+
.date {
|
|
136
|
+
position: relative;
|
|
137
|
+
top: 5px;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.description > p {
|
|
142
|
+
margin-bottom: 1em;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.tab-section-wrapper {
|
|
146
|
+
padding: 1.5em;
|
|
147
|
+
margin: 2em 0;
|
|
148
|
+
background-color: #f9f9f9;
|
|
149
|
+
|
|
150
|
+
&.assessment {
|
|
151
|
+
.ui.accordion {
|
|
152
|
+
margin-top: 1em;
|
|
153
|
+
|
|
154
|
+
.content.active {
|
|
155
|
+
padding: 1rem 1rem !important;
|
|
156
|
+
background-color: @white;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.ui.segment.border {
|
|
160
|
+
border: 1px solid #e6e7e8;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.section-wrapper {
|
|
167
|
+
padding: 1em;
|
|
168
|
+
margin: 1em 0;
|
|
169
|
+
background-color: #f9f9f9;
|
|
170
|
+
|
|
171
|
+
.section-title {
|
|
172
|
+
display: flex;
|
|
173
|
+
align-items: baseline;
|
|
174
|
+
gap: 0.5em;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.ui.accordion {
|
|
178
|
+
margin-top: 1em;
|
|
179
|
+
|
|
180
|
+
.content.active {
|
|
181
|
+
padding-bottom: 1rem !important;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.small-label {
|
|
186
|
+
font-size: 1em;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
.section-number {
|
|
191
|
+
color: @pineGreen;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
strong.date {
|
|
195
|
+
margin-right: 0.5em;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.items-group {
|
|
199
|
+
display: block !important;
|
|
200
|
+
column-count: 2;
|
|
201
|
+
|
|
202
|
+
.item {
|
|
203
|
+
padding: 0.5em 0 !important;
|
|
204
|
+
break-inside: avoid-column;
|
|
205
|
+
|
|
206
|
+
.content {
|
|
207
|
+
padding-left: 0.5rem !important;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.footer-text {
|
|
213
|
+
margin-top: 3em;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
119
216
|
}
|
|
120
217
|
|
|
121
218
|
/* Latest news updates, Latest events */
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
@type: 'extra';
|
|
2
|
-
@element: 'custom';
|
|
3
|
-
|
|
4
|
-
@import (multiple, reference, optional) '../../theme.config';
|
|
5
|
-
|
|
6
|
-
.signatories-profile {
|
|
7
|
-
.ui.items.items-group {
|
|
8
|
-
margin: 2em 0 !important;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.column > .ui.segment {
|
|
12
|
-
background-color: #fff !important;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.section-wrapper-info {
|
|
16
|
-
display: flex;
|
|
17
|
-
justify-content: space-between;
|
|
18
|
-
font-size: 14px;
|
|
19
|
-
|
|
20
|
-
.date {
|
|
21
|
-
position: relative;
|
|
22
|
-
top: 5px;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.tab-section-wrapper {
|
|
27
|
-
padding: 1.5em;
|
|
28
|
-
margin: 2em 0;
|
|
29
|
-
background-color: #f9f9f9;
|
|
30
|
-
|
|
31
|
-
&.assessment {
|
|
32
|
-
.ui.accordion {
|
|
33
|
-
margin-top: 1em;
|
|
34
|
-
|
|
35
|
-
.content.active {
|
|
36
|
-
padding: 1rem 1rem !important;
|
|
37
|
-
background-color: @white;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.ui.segment.border {
|
|
41
|
-
border: 1px solid #e6e7e8;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.section-wrapper {
|
|
48
|
-
margin: 1em 0;
|
|
49
|
-
|
|
50
|
-
.goal-title-label {
|
|
51
|
-
display: inline-block;
|
|
52
|
-
padding: 0.3em 0.5em;
|
|
53
|
-
margin: 1em 0;
|
|
54
|
-
background-color: #dbe7f4;
|
|
55
|
-
font-size: 14px;
|
|
56
|
-
font-weight: bold;
|
|
57
|
-
text-transform: uppercase;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.ui.accordion {
|
|
61
|
-
margin-top: 1em;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.small-label {
|
|
65
|
-
font-size: 1em;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
strong.date {
|
|
70
|
-
margin-right: 0.5em;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.items-group {
|
|
74
|
-
display: block !important;
|
|
75
|
-
column-count: 2;
|
|
76
|
-
|
|
77
|
-
.item {
|
|
78
|
-
padding: 0.5em 0 !important;
|
|
79
|
-
break-inside: avoid-column;
|
|
80
|
-
|
|
81
|
-
.content {
|
|
82
|
-
padding-left: 0.5rem !important;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|