diff --git a/.npmrc b/.npmrc
new file mode 100644
index 0000000..acbecee
--- /dev/null
+++ b/.npmrc
@@ -0,0 +1 @@
+//registry.npmjs.org/:_authToken=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
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 9ea4c89..865a26f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,10 +8,15 @@
"name": "salw_client",
"version": "0.1.0",
"dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.5.2",
+ "@fortawesome/free-solid-svg-icons": "^6.5.2",
+ "@fortawesome/react-fontawesome": "^0.2.1",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"bootstrap": "^5.3.2",
+ "dompurify": "^3.1.4",
+ "html-react-parser": "^5.1.10",
"leaflet": "^1.9.4",
"node-sass": "^7.0.3",
"react": "^18.2.0",
@@ -2521,6 +2526,51 @@
"resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz",
"integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q=="
},
+ "node_modules/@fortawesome/fontawesome-common-types": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.2.tgz",
+ "integrity": "sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==",
+ "hasInstallScript": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/fontawesome-svg-core": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.2.tgz",
+ "integrity": "sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.5.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/free-solid-svg-icons": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.2.tgz",
+ "integrity": "sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@fortawesome/fontawesome-common-types": "6.5.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@fortawesome/react-fontawesome": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.1.tgz",
+ "integrity": "sha512-ldr5QO2MneAX5W5WBCYB2pZp/PiHDD1hy9YEBLcXUyJb0qnO86oP8RU+CgmYVSH/R4Dbe2ernhcWOrcgaKD9NQ==",
+ "dependencies": {
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "@fortawesome/fontawesome-svg-core": "~1 || ~6",
+ "react": ">=16.3"
+ }
+ },
"node_modules/@gar/promisify": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
@@ -7578,6 +7628,11 @@
"url": "https://github.com/fb55/domhandler?sponsor=1"
}
},
+ "node_modules/dompurify": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.4.tgz",
+ "integrity": "sha512-2gnshi6OshmuKil8rMZuQCGiUF3cUxHY3NGDzUAdUx/NPEe5DVnO8BDoAQouvgwnx0R/+a6jUn36Z0FSdq8vww=="
+ },
"node_modules/domutils": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
@@ -9790,6 +9845,84 @@
"safe-buffer": "~5.1.0"
}
},
+ "node_modules/html-dom-parser": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.8.tgz",
+ "integrity": "sha512-vuWiX9EXgu8CJ5m9EP5c7bvBmNSuQVnrY8tl0z0ZX96Uth1IPlYH/8W8VZ/hBajFf18EN+j2pukbCNd01HEd1w==",
+ "dependencies": {
+ "domhandler": "5.0.3",
+ "htmlparser2": "9.1.0"
+ }
+ },
+ "node_modules/html-dom-parser/node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/html-dom-parser/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/html-dom-parser/node_modules/domutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/html-dom-parser/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/html-dom-parser/node_modules/htmlparser2": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz",
+ "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.1.0",
+ "entities": "^4.5.0"
+ }
+ },
"node_modules/html-encoding-sniffer": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
@@ -9841,6 +9974,40 @@
"node": ">=12"
}
},
+ "node_modules/html-react-parser": {
+ "version": "5.1.10",
+ "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.1.10.tgz",
+ "integrity": "sha512-gV22PvLij4wdEdtrZbGVC7Zy2OVWnQ0bYhX63S196ZRSx4+K0TuutCreHSXr+saUia8KeKB+2TYziVfijpH4Tw==",
+ "dependencies": {
+ "domhandler": "5.0.3",
+ "html-dom-parser": "5.0.8",
+ "react-property": "2.0.2",
+ "style-to-js": "1.1.12"
+ },
+ "peerDependencies": {
+ "@types/react": "17 || 18",
+ "react": "0.14 || 15 || 16 || 17 || 18"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/html-react-parser/node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
"node_modules/html-webpack-plugin": {
"version": "5.5.3",
"resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz",
@@ -10143,6 +10310,11 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
+ "node_modules/inline-style-parser": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.3.tgz",
+ "integrity": "sha512-qlD8YNDqyTKTyuITrDOffsl6Tdhv+UC4hcdAVuQsK4IMQ99nSgd1MIA/Q+jQYoh9r3hVUXhYh7urSRmXPkW04g=="
+ },
"node_modules/internal-slot": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
@@ -16156,6 +16328,11 @@
"resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
+ "node_modules/react-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz",
+ "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug=="
+ },
"node_modules/react-refresh": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
@@ -17971,6 +18148,22 @@
"webpack": "^5.0.0"
}
},
+ "node_modules/style-to-js": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.12.tgz",
+ "integrity": "sha512-tv+/FkgNYHI2fvCoBMsqPHh5xovwiw+C3X0Gfnss/Syau0Nr3IqGOJ9XiOYXoPnToHVbllKFf5qCNFJGwFg5mg==",
+ "dependencies": {
+ "style-to-object": "1.0.6"
+ }
+ },
+ "node_modules/style-to-object": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.6.tgz",
+ "integrity": "sha512-khxq+Qm3xEyZfKd/y9L3oIWQimxuc4STrQKtQn8aSDRHb8mFgpukgX1hdzfrMEW6JCjyJ8p89x+IUMVnCBI1PA==",
+ "dependencies": {
+ "inline-style-parser": "0.2.3"
+ }
+ },
"node_modules/stylehacks": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",
diff --git a/package.json b/package.json
index 5dfbd8e..2a946d6 100644
--- a/package.json
+++ b/package.json
@@ -3,10 +3,15 @@
"version": "0.1.0",
"private": true,
"dependencies": {
+ "@fortawesome/fontawesome-svg-core": "^6.5.2",
+ "@fortawesome/free-solid-svg-icons": "^6.5.2",
+ "@fortawesome/react-fontawesome": "^0.2.1",
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"bootstrap": "^5.3.2",
+ "dompurify": "^3.1.4",
+ "html-react-parser": "^5.1.10",
"leaflet": "^1.9.4",
"node-sass": "^7.0.3",
"react": "^18.2.0",
diff --git a/src/Components/Helpers/TruncateContent/TruncateContent.css b/src/Components/Helpers/TruncateContent/TruncateContent.css
new file mode 100644
index 0000000..a031fba
--- /dev/null
+++ b/src/Components/Helpers/TruncateContent/TruncateContent.css
@@ -0,0 +1,25 @@
+.content-wrapper {
+ position: relative;
+ max-height: 150px; /* Adjust this value to the desired truncated height */
+ overflow: hidden;
+ transition: max-height 0.3s ease;
+ }
+
+ .content-wrapper.expanded {
+ max-height: none;
+ }
+
+ .read-more {
+ display: block;
+ margin-top: 10px;
+ color: blue;
+ background: none;
+ border: none;
+ cursor: pointer;
+ text-decoration: underline;
+ font-size: 1rem;
+ }
+
+ .read-more:focus {
+ outline: none;
+ }
\ No newline at end of file
diff --git a/src/Components/Helpers/TruncateContent/TruncateContent.jsx b/src/Components/Helpers/TruncateContent/TruncateContent.jsx
new file mode 100644
index 0000000..f68d187
--- /dev/null
+++ b/src/Components/Helpers/TruncateContent/TruncateContent.jsx
@@ -0,0 +1,25 @@
+import React, { useState } from "react";
+import "./TruncateContent.css";
+
+const TruncateContent = ({ children }) => {
+ const [isExpanded, setIsExpanded] = useState(false);
+
+ const toggleReadMore = () => {
+ setIsExpanded(!isExpanded);
+ };
+
+ return (
+ <>
+
+ {children}
+
+
+ {isExpanded ? "Read Less" : "Read More"}
+
+ >
+ );
+};
+
+export default TruncateContent;
diff --git a/src/Components/Layout/PSSM/Blurb.js b/src/Components/Layout/PSSM/Blurb.js
index dff9f12..873050e 100644
--- a/src/Components/Layout/PSSM/Blurb.js
+++ b/src/Components/Layout/PSSM/Blurb.js
@@ -1,35 +1,161 @@
-import React from "react";
+import React, { useState } from "react";
+import Card_ from "../../UI/Card_/Card_";
+import DOMPurify from "dompurify";
+import parse from "html-react-parser";
+import TruncateContent from "../../Helpers/TruncateContent/TruncateContent";
const Blurb = () => {
+ DOMPurify.addHook("afterSanitizeAttributes", function (node) {
+ // set all elements owning target to target=_blank
+ if ("target" in node) {
+ node.setAttribute("target", "_blank");
+ node.setAttribute("rel", "noopener");
+ }
+ });
+
+ const [footnotes, setFootnotes] = useState([
+ {
+ id: 1,
+ text: "Weapons are illegally given out for a short period of time in return for some money. These weapons are often used in criminal activities and then returned. This practice has been used to supplement a low salary/income.",
+ },
+ {
+ id: 2,
+ text: "UNODA Training Manual on Gender-Mainstreaming Small Arms Control, p.132, UNODA-Gender-SALW-Training-Manual®.pdf (un-arm.org)",
+ },
+ {
+ id: 3,
+ text: "Organization for Security and Co-operation in Europe (OSCE), Best Practice Guide on National Procedures for Stockpile Management and Security of Small Arms and Light Weapons, 511204.pdf (osce.org ), p.2",
+ },
+ ]);
+
return (
- <>
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
- eiusmod tempor incididunt ut labore et dolore magna aliqua. Lobortis
- scelerisque fermentum dui faucibus in ornare quam viverra orci. Purus
- faucibus ornare suspendisse sed nisi lacus. Molestie ac feugiat sed
- lectus vestibulum mattis ullamcorper. Id aliquet risus feugiat in ante
- metus. Fermentum posuere urna nec tincidunt praesent semper feugiat
- nibh. Tortor dignissim convallis aenean et tortor at risus. Sagittis
- nisl rhoncus mattis rhoncus urna neque viverra justo. Vestibulum sed
- arcu non odio euismod lacinia at quis.
-
-
-
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
- eiusmod tempor incididunt ut labore et dolore magna aliqua. Lobortis
- scelerisque fermentum dui faucibus in ornare quam viverra orci. Purus
- faucibus ornare suspendisse sed nisi lacus. Molestie ac feugiat sed
- lectus vestibulum mattis ullamcorper. Id aliquet risus feugiat in ante
- metus. Fermentum posuere urna nec tincidunt praesent semper feugiat
- nibh. Tortor dignissim convallis aenean et tortor at risus. Sagittis
- nisl rhoncus mattis rhoncus urna neque viverra justo. Vestibulum sed
- arcu non odio euismod lacinia at quis.
-
-
- >
+
+
+
+
+
+
+ );
+};
+
+const MainText = ({ footnotes }) => {
+ return (
+
+
Physical Security and Stockpile Management (PSSM)
+
+ Diverted or ‘lost’ from poorly managed storage facilities, ‘recycled’
+ from one conflict to another or ‘rented out’
+
+ 1
+
+ , small arms and light weapons (SALW) and their ammunition remain a
+ primary obstacle to the de-escalation of violent conflicts, national and
+ regional stability and peace-building efforts. Coupled with inadequate
+ storage practices, they further pose a serious threat to the safety and
+ security of nearby communities and civilian infrastructure, such as
+ schools and hospitals, and their easy accessibility increases the risk
+ that they are misused to commit armed violence (often against young men)
+ or acts of gender-based violence (GBV), often against women
+
+ 2
+
+ .
+
+
+ Physical Security and Stockpile Management (PSSM) consists of the
+ “procedures and activities that are necessary for the safe and secure
+ accounting, storage, transportation and handling of SALW”
+
+ 3
+
+ . It can therefore be viewed as a key element of practical weapons and
+ ammunition management, and it significantly decreases the risk of
+ illicit proliferation, trafficking and diversion of firearms,
+ ammunition, and explosives as well as reduces the risk of Unintentional
+ Munitions Explosions.
+
+
+ Responsible management of stockpiles can therefore positively impact on
+ efforts to reduce armed violence and contribute towards enhancing the
+ security of the surrounding communities as well as the security at the
+ local, national and regional level.
+
+
+
Regional PSSM Training of Trainers (ToT) processes
+
+ Since 2016, the bicc advisory team on Weapons and Ammunition Management
+ (WAM) has been supporting two multi-stakeholder regional PSSM Training
+ of Trainers (ToT) processes; one in East Africa (with the Regional
+ Centre on Small Arms in the Great Lakes Region, the Horn of Africa and
+ Bordering States, RECSA) and one in West Africa (with the Economic
+ Community of West African States, ECOWAS).
+
+
+ The aim of both processes was to support and enhance regional ownership,
+ strengthen PSSM capacities, establish sustainable structures by creating
+ a regional trainer pool whose trainers can independently train more
+ trainers that equally possess the necessary regional and local
+ knowledge, thereby decreasing a dependency on foreign experts. The focus
+ on regional ownership and sustainability represents a crucial piece of
+ the peace and security puzzle, in alignment with SDG 16.
+
+
+ Based on the UN Programme of Action, and acknowledging PSSM as a key
+ element of WAM, the Multinational Small Arms and Ammunition Group (MSAG)
+ initiated a training programme on the security and stockpile management
+ of weapons, ammunition, and explosives for East African states in Kenya
+ in 2012. Participants of the ToT processes derived from among the
+ military, police and wildlife service sectors. Up until March 2024, 469
+ participants have been trained, out of which 42 were certified as PSSM
+ Instructors and 13 as Senior Instructors. The map below shows their
+ geographical distribution.
+
+
+ In the meantime, the need for another regional PSSM ToT process was
+ identified in the ECOWAS region (West Africa), which was established in
+ 2018 and completed in 2023. Based on the identified need for a regional
+ trainer pool and more accountable PSSM practices, this process also took
+ into account lessons learned from the East Africa ToT process. Between
+ 2018 and 2023, a total of 000 participants have been trained, out of
+ which 000 were certified as PSSM Instructors and 000 as Senior
+ Instructors. The map below shows their geographical distribution.
+
+
Stakeholders implementing the regional PSSM ToT trainings were:
+
+
+ RECSA, MSAG nations (namely the Bundeswehr Verification Centre, the
+ Austrian Verification Centre, Denmark, among others), IPSTC
+ (International Peace Support Training Centre) in Nairobi/Kenya and
+ bicc.
+
+ ECOWAS, MSAG (the Bundeswehr Verification Centre) and bicc.
+
+
+ Each of these partners brings a unique skillset that complements that of
+ the other stakeholders.
+
+
+ );
+};
+
+const Footnotes = ({ footnotes }) => {
+ return (
+
+
+
+
+ {footnotes.map((footnote) => (
+
+ ))}
+
);
};
diff --git a/src/Components/Layout/PSSM/PSSM.jsx b/src/Components/Layout/PSSM/PSSM.jsx
index ea2db1b..8d854f4 100644
--- a/src/Components/Layout/PSSM/PSSM.jsx
+++ b/src/Components/Layout/PSSM/PSSM.jsx
@@ -1,13 +1,17 @@
import React from "react";
+import ReactDOM from 'react-dom';
+
import { MapContainer, GeoJSON, Marker, Tooltip } from "react-leaflet";
import L, { control } from "leaflet";
import Africa from "../../../Data/PSSM.geojson";
import "../../../Styles/main.scss";
-import {
- CountryStyle,
- CountrySelectedStyle,
- CountryHighlightStyle,
-} from "./countryStyles";
+import Card_ from "../../UI/Card_/Card_";
+import { CountrySelectedStyle, NotPSSMCountryStyle } from "./countryStyles";
+
+import Person from "../../../Icons/person.svg";
+import Person2 from "../../../Icons/person2.svg";
+import Person3 from "../../../Icons/person3.svg";
+
class PSSM extends React.Component {
constructor(props) {
super(props);
@@ -15,8 +19,10 @@ class PSSM extends React.Component {
this.state = {
africaCountries: null,
countriesNames: [],
+ pssmCountries: [],
loading: true,
error: null,
+ selectedCountry: "",
center: [3, 15],
zoom: 4,
@@ -38,6 +44,10 @@ class PSSM extends React.Component {
countriesNames: data.features
.map((feature) => feature.properties.name)
.sort(),
+ pssmCountries: data.features.filter(
+ (feature) =>
+ feature.properties.RECSA === 1 || feature.properties.ECOWAS === 1
+ ),
loading: false,
},
() => {}
@@ -48,10 +58,39 @@ class PSSM extends React.Component {
loading: false,
});
}
+
+ console.log(this.state.pssmCountries);
+ };
+
+ onEachFeature = (feature, layer) => {
+ // Bind event to layer
+ layer.on({
+ click: this.onMouseClick,
+ });
+ };
+
+ onMouseClick = (e) => {
+ this.setState({
+ selectedCountriesFilter: [],
+ selectedCountryColor: "yellow",
+ });
+ const countryName = e.target.feature.properties.name;
+ if (countryName === this.state.selectedCountry) {
+ this.setState({ selectedCountry: "" });
+ return;
+ }
+ this.setState({ selectedCountry: countryName });
};
render() {
- const { africaCountries, countriesNames, loading, error } = this.state;
+ const {
+ africaCountries,
+ countriesNames,
+ pssmCountries,
+ loading,
+ error,
+ selectedCountry,
+ } = this.state;
if (loading) {
return Loading...
;
}
@@ -60,7 +99,7 @@ class PSSM extends React.Component {
}
return (
-
+
>
)}
+ {selectedCountry &&
+ pssmCountries.map((feature) => {
+ if (feature.properties.name === selectedCountry) {
+ return (
+
+
+ {feature.properties.name}
+
+
+
+ Number of participants trained:{" "}
+ {feature.properties["Trained-Participants"] || "-"}
+
+
+ Number of PSSM instractors:{" "}
+ {feature.properties["PSSM-Instructors"] || "-"}
+
+
+ Number of senior PSSM instractors:{" "}
+ {feature.properties["PSSM-Senior-Instructors"] || "-"}
+
+
+
+
+
+ );
+ }
+ })}
-
+
);
}
}
diff --git a/src/Components/Layout/PSSM/countryStyles.js b/src/Components/Layout/PSSM/countryStyles.js
index e26c8e1..18b1c32 100644
--- a/src/Components/Layout/PSSM/countryStyles.js
+++ b/src/Components/Layout/PSSM/countryStyles.js
@@ -1,26 +1,36 @@
export const CountryStyle = () => {
- return {
- color: "black",
- weight: 1,
- opacity: 1,
- fillColor: "#FDEDE2",
- fillOpacity: 0.3,
- };
+ return {
+ color: "black",
+ weight: 1,
+ opacity: 1,
+ fillColor: "#FDEDE2",
+ fillOpacity: 0.3,
};
+};
- export const CountrySelectedStyle = (color) => {
- return {
- fillColor: color,
- color: "black",
- weight: 3,
- opacity: 1,
- };
- }
+export const CountrySelectedStyle = (color) => {
+ return {
+ fillColor: color,
+ color: "black",
+ weight: 2,
+ opacity: 1,
+ };
+};
- export const CountryHighlightStyle = () => {
- return {
- fillColor: "yellow",
- color: "black",
- weight: 3,
- };
- }
\ No newline at end of file
+export const CountryHighlightStyle = () => {
+ return {
+ fillColor: "yellow",
+ color: "black",
+ weight: 3,
+ };
+};
+
+export const NotPSSMCountryStyle = () => {
+ return {
+ fillColor: "#cccccc",
+ color: "#e3e3e3",
+ weight: 1,
+ opacity: 1,
+ fillOpacity: 0.3,
+ };
+};
diff --git a/src/Data/PSSM.geojson b/src/Data/PSSM.geojson
index 6c2b002..c1c883e 100644
--- a/src/Data/PSSM.geojson
+++ b/src/Data/PSSM.geojson
@@ -1,5 +1,9 @@
{
"type": "FeatureCollection",
+ "crs": {
+ "type": "name",
+ "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" }
+ },
"features": [
{
"type": "Feature",
@@ -15,7 +19,6 @@
"x": 14.7,
"y": -9.5,
"count": 15,
- "name_y": "Angola",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -39,7 +42,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -407,7 +418,6 @@
"x": 29.2,
"y": -3.3,
"count": 28,
- "name_y": "Burundi",
"AU": 1,
"EAC": 1.0,
"IGAD": 0.0,
@@ -431,7 +441,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 31,
+ "PSSM-Instructors": 2,
+ "PSSM-Senior-Instructors": 3
},
"geometry": {
"type": "MultiPolygon",
@@ -535,7 +553,6 @@
"x": 1.8,
"y": 9.6,
"count": 20,
- "name_y": "Benin",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -559,7 +576,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -732,7 +757,6 @@
"x": -3.0,
"y": 12.3,
"count": 63,
- "name_y": "Burkina Faso",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -756,7 +780,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -1035,7 +1067,6 @@
"x": 22.9,
"y": -22.1,
"count": 8,
- "name_y": "Botswana",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -1045,7 +1076,7 @@
"CEN-SAD": 0.0,
"SADC": 1.0,
"ECCAS": 0.0,
- "ICGLR": 1.0,
+ "ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
"BamakoDeclaration": "Signed",
@@ -1059,7 +1090,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 1,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -1306,7 +1345,6 @@
"x": 19.0,
"y": 6.6,
"count": 36,
- "name_y": "Central African Republic",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -1330,7 +1368,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 5,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -1680,7 +1726,6 @@
"x": -6.4,
"y": 6.8,
"count": 37,
- "name_y": "Ivory Coast",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -1704,7 +1749,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -2028,7 +2081,6 @@
"x": 12.0,
"y": 5.7,
"count": 43,
- "name_y": "Cameroon",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -2050,9 +2102,17 @@
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Eligible",
"WassenaarAgreement": "Eligible",
- "UNProgrammeofAction": 1.0,
+ "UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -2428,7 +2488,6 @@
"x": 20.6,
"y": -2.9,
"count": 28,
- "name_y": "Democratic Republic of the Congo",
"AU": 1,
"EAC": 1.0,
"IGAD": 0.0,
@@ -2442,7 +2501,7 @@
"RECSA": 1.0,
"SARCOM": 1.0,
"BamakoDeclaration": "Signed",
- "KinshasaConvention": "Eligible",
+ "KinshasaConvention": "Signed",
"ECOWASConvention": "0",
"KhartoumDeclaration": "Signed",
"NairobiProtocol": "Signed",
@@ -2452,7 +2511,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 2,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -3116,7 +3183,6 @@
"x": 14.8,
"y": -0.8,
"count": 16,
- "name_y": "Republic of the Congo",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -3140,7 +3206,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -3489,7 +3563,6 @@
"x": 43.7,
"y": -12.1,
"count": 7,
- "name_y": "Comoros",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -3513,7 +3586,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 5,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -3582,7 +3663,6 @@
"x": -25.9,
"y": 16.9,
"count": 7,
- "name_y": "Cabo Verde",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -3606,7 +3686,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -3747,7 +3835,6 @@
"x": 42.0,
"y": 11.7,
"count": 8,
- "name_y": "Djibouti",
"AU": 1,
"EAC": 0.0,
"IGAD": 1.0,
@@ -3771,7 +3858,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -3853,7 +3948,6 @@
"x": 1.6,
"y": 28.4,
"count": 25,
- "name_y": "Algeria",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -3877,7 +3971,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -4288,7 +4390,6 @@
"x": 29.3,
"y": 26.6,
"count": 21,
- "name_y": "Egypt",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -4312,7 +4413,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -4591,7 +4700,6 @@
"x": 38.2,
"y": 15.4,
"count": 3,
- "name_y": "Eritrea",
"AU": 1,
"EAC": 0.0,
"IGAD": 1.0,
@@ -4615,7 +4723,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 8,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -4841,7 +4957,6 @@
"x": 38.9,
"y": 8.6,
"count": 20,
- "name_y": "Ethiopia",
"AU": 1,
"EAC": 0.0,
"IGAD": 1.0,
@@ -4851,7 +4966,7 @@
"CEN-SAD": 0.0,
"SADC": 0.0,
"ECCAS": 0.0,
- "ICGLR": 1.0,
+ "ICGLR": 0.0,
"RECSA": 1.0,
"SARCOM": 0.0,
"BamakoDeclaration": "Signed",
@@ -4865,7 +4980,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 15,
+ "PSSM-Instructors": 2,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -5193,7 +5316,6 @@
"x": 11.3,
"y": -0.6,
"count": 13,
- "name_y": "Gabon",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -5215,9 +5337,17 @@
"ArmsTradeTreaty": "Signed",
"FirearmsProtocol": "Ratified",
"WassenaarAgreement": "Eligible",
- "UNProgrammeofAction": 1.0,
+ "UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -5514,7 +5644,6 @@
"x": -1.6,
"y": 8.0,
"count": 33,
- "name_y": "Ghana",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -5538,7 +5667,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -5777,7 +5914,6 @@
"x": -11.3,
"y": 10.5,
"count": 21,
- "name_y": "Guinea",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -5801,7 +5937,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -6175,7 +6319,6 @@
"x": -15.310139,
"y": 13.443182,
"count": 12,
- "name_y": "Gambia",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -6199,7 +6342,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -6298,7 +6449,6 @@
"x": -15.5,
"y": 12.0,
"count": 14,
- "name_y": "Guinea-Bissau",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -6320,9 +6470,17 @@
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Ratified",
"WassenaarAgreement": "Eligible",
- "UNProgrammeofAction": 0.0,
+ "UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -6527,7 +6685,6 @@
"x": 8.5,
"y": 1.8,
"count": 7,
- "name_y": "Equatorial Guinea",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -6551,7 +6708,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 0.0
+ "StG-PoA": 0.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -6648,7 +6813,6 @@
"x": 40.5,
"y": -2.0,
"count": 43,
- "name_y": "Kenya",
"AU": 1,
"EAC": 1.0,
"IGAD": 1.0,
@@ -6672,7 +6836,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 138,
+ "PSSM-Instructors": 15,
+ "PSSM-Senior-Instructors": 4
},
"geometry": {
"type": "MultiPolygon",
@@ -6964,7 +7136,6 @@
"x": -9.7,
"y": 6.4,
"count": 18,
- "name_y": "Liberia",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -6976,7 +7147,7 @@
"ECCAS": 0.0,
"ICGLR": 0.0,
"RECSA": 0.0,
- "SARCOM": 1.0,
+ "SARCOM": 0.0,
"BamakoDeclaration": "Signed",
"KinshasaConvention": "0",
"ECOWASConvention": "Signed",
@@ -6988,7 +7159,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -7153,7 +7332,6 @@
"x": 17.4,
"y": 27.2,
"count": 20,
- "name_y": "Libya",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -7177,7 +7355,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -7460,7 +7646,6 @@
"x": 27.6,
"y": -29.5,
"count": 4,
- "name_y": "Lesotho",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -7482,9 +7667,17 @@
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Ratified",
"WassenaarAgreement": "Eligible",
- "UNProgrammeofAction": 1.0,
+ "UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -7587,7 +7780,6 @@
"x": -7.0,
"y": 32.0,
"count": 18,
- "name_y": "Morocco",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -7611,7 +7803,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -7897,7 +8097,6 @@
"x": 45.7,
"y": -19.4,
"count": 11,
- "name_y": "Madagascar",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -7921,7 +8120,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -8221,7 +8428,6 @@
"x": -3.8,
"y": 17.4,
"count": 76,
- "name_y": "Mali",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -8245,7 +8451,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -8745,7 +8959,6 @@
"x": 34.3,
"y": -17.3,
"count": 11,
- "name_y": "Mozambique",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -8755,7 +8968,7 @@
"CEN-SAD": 0.0,
"SADC": 1.0,
"ECCAS": 0.0,
- "ICGLR": 1.0,
+ "ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
"BamakoDeclaration": "Signed",
@@ -8769,7 +8982,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -9250,7 +9471,6 @@
"x": -12.3,
"y": 21.1,
"count": 42,
- "name_y": "Mauritania",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -9274,7 +9494,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -9677,7 +9905,6 @@
"x": 56.9,
"y": -20.3,
"count": 12,
- "name_y": "Mauritius",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -9701,7 +9928,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -9746,7 +9981,6 @@
"x": 34.1,
"y": -12.0,
"count": 13,
- "name_y": "Malawi",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -9756,7 +9990,7 @@
"CEN-SAD": 0.0,
"SADC": 1.0,
"ECCAS": 0.0,
- "ICGLR": 1.0,
+ "ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
"BamakoDeclaration": "Signed",
@@ -9770,7 +10004,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 5,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -10111,7 +10353,6 @@
"x": 16.5,
"y": -22.1,
"count": 9,
- "name_y": "Namibia",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -10121,7 +10362,7 @@
"CEN-SAD": 0.0,
"SADC": 1.0,
"ECCAS": 0.0,
- "ICGLR": 1.0,
+ "ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
"BamakoDeclaration": "Signed",
@@ -10135,7 +10376,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -10396,7 +10645,6 @@
"x": 8.9,
"y": 17.3,
"count": 56,
- "name_y": "Niger",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -10420,7 +10668,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -10701,7 +10957,6 @@
"x": 6.7,
"y": 4.5,
"count": 65,
- "name_y": "Nigeria",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -10725,7 +10980,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 1,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -11119,7 +11382,6 @@
"x": 29.4,
"y": -1.9,
"count": 24,
- "name_y": "Rwanda",
"AU": 1,
"EAC": 1.0,
"IGAD": 0.0,
@@ -11129,7 +11391,7 @@
"CEN-SAD": 0.0,
"SADC": 0.0,
"ECCAS": 1.0,
- "ICGLR": 0.0,
+ "ICGLR": 1.0,
"RECSA": 1.0,
"SARCOM": 0.0,
"BamakoDeclaration": "Signed",
@@ -11143,7 +11405,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 2,
+ "PSSM-Senior-Instructors": 2
},
"geometry": {
"type": "MultiPolygon",
@@ -11257,7 +11527,6 @@
"x": 29.4,
"y": 16.1,
"count": 29,
- "name_y": "Sudan",
"AU": 1,
"EAC": 0.0,
"IGAD": 1.0,
@@ -11281,7 +11550,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 29,
+ "PSSM-Instructors": 2,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -11754,7 +12031,6 @@
"x": -15.0,
"y": 15.0,
"count": 35,
- "name_y": "Senegal",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -11778,7 +12054,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -12047,7 +12331,6 @@
"x": -12.5,
"y": 8.5,
"count": 14,
- "name_y": "Sierra Leone",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -12071,7 +12354,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -12227,7 +12518,6 @@
"x": 45.5,
"y": 6.0,
"count": 22,
- "name_y": "Somalia",
"AU": 1,
"EAC": 1.0,
"IGAD": 1.0,
@@ -12251,7 +12541,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 10,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -12472,7 +12770,6 @@
"x": 29.1,
"y": 7.2,
"count": 32,
- "name_y": "South Sudan",
"AU": 1,
"EAC": 1.0,
"IGAD": 1.0,
@@ -12496,7 +12793,15 @@
"WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 53,
+ "PSSM-Instructors": 4,
+ "PSSM-Senior-Instructors": 1
},
"geometry": {
"type": "MultiPolygon",
@@ -12848,7 +13153,6 @@
"x": 5.7,
"y": 1.5,
"count": 13,
- "name_y": "São Tomé und Príncipe",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -12870,9 +13174,17 @@
"ArmsTradeTreaty": "Signed",
"FirearmsProtocol": "Ratified",
"WassenaarAgreement": "Eligible",
- "UNProgrammeofAction": 1.0,
+ "UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": 1.0
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -12924,7 +13236,6 @@
"x": 31.4,
"y": -26.5,
"count": 5,
- "name_y": "Eswatini",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -12937,18 +13248,26 @@
"ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": "Ratified",
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "Signed",
"ArmsTradeTreaty": "Signed",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
+ "WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": null
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -13012,7 +13331,6 @@
"x": 54.6,
"y": -4.5,
"count": 10,
- "name_y": "Seychelles",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -13024,19 +13342,27 @@
"ECCAS": 0.0,
"ICGLR": 0.0,
"RECSA": 1.0,
- "SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
+ "SARCOM": 1.0,
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
"NairobiProtocol": "Signed",
- "SADCFirearmsProtocol": null,
+ "SADCFirearmsProtocol": "Signed",
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Signed",
- "WassenaarAgreement": null,
- "UNProgrammeofAction": null,
- "InternationalTracingInstrument": null,
- "StG-PoA": null
+ "WassenaarAgreement": "Eligible",
+ "UNProgrammeofAction": 0.0,
+ "InternationalTracingInstrument": 0.0,
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 12,
+ "PSSM-Instructors": 4,
+ "PSSM-Senior-Instructors": 1
},
"geometry": {
"type": "MultiPolygon",
@@ -13070,7 +13396,6 @@
"x": 18.2,
"y": 15.3,
"count": 45,
- "name_y": "Chad",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -13082,19 +13407,27 @@
"ECCAS": 1.0,
"ICGLR": 0.0,
"RECSA": 0.0,
- "SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": null,
+ "SARCOM": 1.0,
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "Ratified",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "Signed",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "0",
"ArmsTradeTreaty": "Ratified",
- "FirearmsProtocol": "0",
- "WassenaarAgreement": null,
- "UNProgrammeofAction": 1.0,
- "InternationalTracingInstrument": null,
- "StG-PoA": null
+ "FirearmsProtocol": "Eligible",
+ "WassenaarAgreement": "Eligible",
+ "UNProgrammeofAction": 0.0,
+ "InternationalTracingInstrument": 0.0,
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -13411,7 +13744,6 @@
"x": 0.6,
"y": 8.6,
"count": 32,
- "name_y": "Togo",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -13424,18 +13756,26 @@
"ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": null,
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "Signed",
+ "KhartoumDeclaration": "0",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "0",
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
+ "WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
- "InternationalTracingInstrument": null,
- "StG-PoA": null
+ "InternationalTracingInstrument": 1.0,
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -13591,7 +13931,6 @@
"x": 9.1,
"y": 34.2,
"count": 21,
- "name_y": "Tunisia",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -13604,18 +13943,26 @@
"ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": null,
- "ArmsTradeTreaty": "0",
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "0",
+ "ArmsTradeTreaty": "Eligible",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
- "UNProgrammeofAction": 1.0,
- "InternationalTracingInstrument": null,
- "StG-PoA": null
+ "WassenaarAgreement": "Eligible",
+ "UNProgrammeofAction": 0.0,
+ "InternationalTracingInstrument": 0.0,
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -13835,7 +14182,6 @@
"x": 38.0,
"y": -6.0,
"count": 32,
- "name_y": "Tanzania",
"AU": 1,
"EAC": 1.0,
"IGAD": 0.0,
@@ -13848,18 +14194,26 @@
"ICGLR": 1.0,
"RECSA": 1.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
"NairobiProtocol": "Signed",
"SADCFirearmsProtocol": "Ratified",
"ArmsTradeTreaty": "Signed",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
- "UNProgrammeofAction": 1.0,
+ "WassenaarAgreement": "Eligible",
+ "UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": null
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 24,
+ "PSSM-Instructors": 5,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -14431,7 +14785,6 @@
"x": 31.6,
"y": 1.5,
"count": 28,
- "name_y": "Uganda",
"AU": 1,
"EAC": 1.0,
"IGAD": 1.0,
@@ -14444,18 +14797,26 @@
"ICGLR": 1.0,
"RECSA": 1.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
"NairobiProtocol": "Signed",
- "SADCFirearmsProtocol": null,
- "ArmsTradeTreaty": "0",
+ "SADCFirearmsProtocol": "0",
+ "ArmsTradeTreaty": "Eligible",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
+ "WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": null
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 63,
+ "PSSM-Instructors": 6,
+ "PSSM-Senior-Instructors": 2
},
"geometry": {
"type": "MultiPolygon",
@@ -14789,7 +15150,6 @@
"x": 23.0,
"y": -29.1,
"count": 12,
- "name_y": "South Africa",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -14802,18 +15162,26 @@
"ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": null,
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "Ratified",
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
+ "WassenaarAgreement": "Ratified",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": null
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 1,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -15287,7 +15655,6 @@
"x": 27.2,
"y": -13.5,
"count": 16,
- "name_y": "Zambia",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -15300,18 +15667,26 @@
"ICGLR": 1.0,
"RECSA": 0.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": "Ratified",
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "Signed",
"ArmsTradeTreaty": "Ratified",
"FirearmsProtocol": "Ratified",
- "WassenaarAgreement": null,
+ "WassenaarAgreement": "Eligible",
"UNProgrammeofAction": 1.0,
"InternationalTracingInstrument": 1.0,
- "StG-PoA": null
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -15784,7 +16159,6 @@
"x": 29.861941522355345,
"y": -19.017733021479611,
"count": 8,
- "name_y": "Zimbabwe",
"AU": 1,
"EAC": 0.0,
"IGAD": 0.0,
@@ -15794,21 +16168,29 @@
"CEN-SAD": 0.0,
"SADC": 1.0,
"ECCAS": 0.0,
- "ICGLR": 1.0,
+ "ICGLR": 0.0,
"RECSA": 0.0,
"SARCOM": 0.0,
- "BamakoDeclaration": null,
- "KinshasaConvention": null,
- "ECOWASConvention": null,
- "KhartoumDeclaration": null,
- "NairobiProtocol": null,
- "SADCFirearmsProtocol": "Ratified",
+ "BamakoDeclaration": "Signed",
+ "KinshasaConvention": "0",
+ "ECOWASConvention": "0",
+ "KhartoumDeclaration": "0",
+ "NairobiProtocol": "0",
+ "SADCFirearmsProtocol": "Signed",
"ArmsTradeTreaty": "Signed",
- "FirearmsProtocol": "0",
- "WassenaarAgreement": null,
- "UNProgrammeofAction": 1.0,
+ "FirearmsProtocol": "Eligible",
+ "WassenaarAgreement": "Eligible",
+ "UNProgrammeofAction": 0.0,
"InternationalTracingInstrument": 0.0,
- "StG-PoA": null
+ "StG-PoA": 1.0,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 1,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
@@ -16075,7 +16457,6 @@
"x": -14.6,
"y": 24.8,
"count": 0,
- "name_y": "Western Sahara",
"AU": 1,
"EAC": null,
"IGAD": null,
@@ -16099,7 +16480,15 @@
"WassenaarAgreement": null,
"UNProgrammeofAction": null,
"InternationalTracingInstrument": null,
- "StG-PoA": null
+ "StG-PoA": null,
+ "Northern-Africa": null,
+ "Eastern-Africa": null,
+ "Southern-Africa": null,
+ "Western-Africa": null,
+ "Central-Africa": null,
+ "Trained-Participants": 0,
+ "PSSM-Instructors": 0,
+ "PSSM-Senior-Instructors": 0
},
"geometry": {
"type": "MultiPolygon",
diff --git a/src/Icons/person.svg b/src/Icons/person.svg
new file mode 100644
index 0000000..f0507a1
--- /dev/null
+++ b/src/Icons/person.svg
@@ -0,0 +1,23 @@
+
+
+
+Created with Fabric.js 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Icons/person2.svg b/src/Icons/person2.svg
new file mode 100644
index 0000000..eedf63a
--- /dev/null
+++ b/src/Icons/person2.svg
@@ -0,0 +1,33 @@
+
+
+
+Created with Fabric.js 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Icons/person3.svg b/src/Icons/person3.svg
new file mode 100644
index 0000000..983424c
--- /dev/null
+++ b/src/Icons/person3.svg
@@ -0,0 +1,42 @@
+
+
+
+Created with Fabric.js 5.2.4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Styles/Layout/_map_pssm.scss b/src/Styles/Layout/_map_pssm.scss
index e69de29..2346d10 100644
--- a/src/Styles/Layout/_map_pssm.scss
+++ b/src/Styles/Layout/_map_pssm.scss
@@ -0,0 +1,12 @@
+
+.tooltip-text {
+ font-size: 1rem;
+}
+
+.tooltip-text-number{
+ color: rgb(0, 132, 255);
+}
+
+.person-icon{
+ height: 1.3rem;
+}
\ No newline at end of file
diff --git a/src/Styles/main.scss b/src/Styles/main.scss
index 84cf0dc..b855f93 100644
--- a/src/Styles/main.scss
+++ b/src/Styles/main.scss
@@ -12,6 +12,7 @@
@import 'Layout/filters';
@import 'Layout/map';
@import 'Layout/tooltips';
+@import 'Layout/map_pssm';
// Import other layout partials...
// Components