Adds national parties to results page

This commit is contained in:
Moritz Kröger 2019-05-03 17:55:07 +02:00
parent 4529469ad9
commit 69c8439410
23 changed files with 663 additions and 548 deletions

View file

@ -65,6 +65,7 @@ const configTree = {
stringField('headline', 'Headline for results'),
stringField('entry', 'Description under headline'),
stringField('hint', 'A short hint for users to know they can click the parties'),
stringField('nationalParty', 'Text before national party logo'),
stringField('thanks', 'Final words'),
stringField('startoverBtn', '[Label] Button to start over'),
stringField('indexBtn', '[Label] Button to go back to index')

View file

@ -36,13 +36,16 @@ function createPartyPositionMap (sheetName) {
function createNationalPartyMap (token, nationalParties) {
const parties = nationalParties.filter(np => normalisePartyToken(np['European Party']) === token)
const partyMap = data => ({ token: normalisePartyToken(data.Token), name: data.Name })
const partyMap = data => ({
token: normalisePartyToken(data.Token),
name: data.Name,
program: data.Program
})
return parties.reduce((acc, cur) => {
const countryCode = cur['Country Code'].toLowerCase()
if (!acc.hasOwnProperty(countryCode)) {
acc[countryCode] = [partyMap(cur)]
} else {
acc[countryCode].push(partyMap(cur))
acc[countryCode] = partyMap(cur)
}
return acc
}, {})

View file

@ -153,6 +153,9 @@ collections:
- label: A short hint for users to know they can click the parties
name: hint
widget: string
- label: Text before national party logo
name: nationalParty
widget: string
- label: Final words
name: thanks
widget: string

Binary file not shown.

View file

@ -35,6 +35,30 @@
:max="totalScoredPoints"
/>
</router-link>
<div v-if="party.nationalParty" class="party-results-national">
<feather-corner-down-right />
<span>
{{ $t('results.nationalParty') }}:
<a
class="party-results-national-logo"
:href="party.nationalParty.program"
target="_blank"
rel="noopener"
>
<div v-if="hasPartyLogo(party.nationalParty.token)">
<img
:src="getPartyLogo(party.nationalParty.token)"
:alt="party.nationalParty.name"
:title="party.nationalParty.name"
width="40"
height="40"
>
</div>
<span v-else>{{ party.nationalParty.token }}</span>
</a>
</span>
</div>
</li>
</ul>
@ -59,7 +83,7 @@
</template>
<script>
import { getTranslatedUrl } from '@/i18n/helper'
import { getCurrentLocale, getTranslatedUrl } from '@/i18n/helper'
import {
MAX_POINTS,
BASE_POINTS,
@ -78,7 +102,9 @@
'feather-zoom-in': () =>
import('vue-feather-icons/icons/ZoomInIcon' /* webpackChunkName: "icons" */),
'feather-rotate-cw': () =>
import('vue-feather-icons/icons/RotateCwIcon' /* webpackChunkName: "icons" */)
import('vue-feather-icons/icons/RotateCwIcon' /* webpackChunkName: "icons" */),
'feather-corner-down-right': () =>
import('vue-feather-icons/icons/CornerDownRightIcon' /* webpackChunkName: "icons" */)
},
data () {
@ -119,6 +145,7 @@
this.scoringGrid = getScoringGrid(this.answers, this.emphasized)
this.scores = this.getScorePoints(this.scoringGrid)
console.log(this.parties)
this.parties = this.parties
.map(this.getScorePerParty)
.sort((a, b) => a.score - b.score)
@ -197,7 +224,11 @@
const user = row.positions[row.positions.length - 1]
const scores = partiesFromRow.map(party => this.evalPoints(party, user, row.emphasis))
const highestScore = this.getHighestScore(scores)
return { thesis: row.thesis, highestScore, scores }
return {
thesis: row.thesis,
highestScore,
scores
}
})
},
getScorePerParty (party) {
@ -205,7 +236,8 @@
token: party.token,
score: this.scores
.map(t => t.scores.find(s => s.party === party.id).score)
.reduce(addUp, 0)
.reduce(addUp, 0),
nationalParty: party['national_parties'][getCurrentLocale()]
}
}
}
@ -217,6 +249,8 @@
@import "~@/styles/colors";
@import "~@/styles/layout";
$result-bar-length: 92%;
section {
width: 95%;
margin: 0 auto;
@ -275,9 +309,9 @@
}
}
a {
a:not(.party-results-national-logo) {
height: 80px;
width: 92%;
width: $result-bar-length;
position: relative;
display: flex;
justify-content: space-between;
@ -322,6 +356,50 @@
}
}
.party-results-national {
width: $result-bar-length;
display: flex;
justify-content: flex-start;
align-items: center;
padding-top: calc(#{$small-gap} / 2);
padding-left: $small-gap;
svg {
margin-right: calc(#{$small-gap} / 2);
}
> span {
display: inline-flex;
align-items: center;
}
.party-results-national-logo {
display: inline-block;
font-weight: 700;
margin-left: calc(#{$small-gap} / 2);
> div {
width: 50px;
height: 50px;
overflow: hidden;
border-radius: 50%;
background: $background-secondary;
display: flex;
justify-content: center;
align-items: center;
}
img {
object-fit: contain;
width: 80%;
}
}
@media (max-width: 650px) {
width: 100%;
}
}
.result-party-info {
display: flex;
height: calc(100% - 4px);

View file

@ -1,4 +1,5 @@
{
"nationalParty": "Your countries member party",
"startoverBtn": "Start over",
"hint": "Oh, by the way: Clicking on each party will get you to an overview of all individual statements. Take a look at what the parties answered and how your choice compares.",
"thanks": "Thanks for using the EUROMAT. We hope you enjoyed it and don't forget: 23-26th of May are election days!",

View file

@ -1,4 +1,5 @@
{
"nationalParty": "Your countries member party",
"startoverBtn": "EUROMAT wiederholen",
"hint": "Übrigens: Mit Klick auf die Partei gelangst Du zur Übersicht der einzelnen Thesen. Vergleiche Deine Auswahl mit den direkten Antworten der jeweiligen Partei.",
"thanks": "Danke, dass Du den EUROMAT genutzt hast. Wir hoffen es hat Dir Freude bereitet und vergiss nicht: am 26. Mai ist Europawahl!",
@ -8,4 +9,4 @@
"headline": "Dein Ergebnis",
"title": "Ergebnis",
"language": "de"
}
}

View file

@ -1,4 +1,5 @@
{
"nationalParty": "Your countries member party",
"startoverBtn": "Start igen",
"hint": "Forresten: Hvis du klikker på de enkelte partier, får du vist en oversigt over de enkelte udsagn. Tag et kig på hvad partierne svarede, og hvordan de ser ud sammenlignet med dine.",
"thanks": "Tak fordi du prøvede EUROMAT. Vi håber, du fik noget ud af det og ønsker et godt valg d. 26. maj!",
@ -8,4 +9,4 @@
"headline": "Resultat",
"title": "Resultat",
"language": "dk"
}
}

View file

@ -1,4 +1,5 @@
{
"nationalParty": "Your countries member party",
"startoverBtn": "Start over",
"hint": "Oh, by the way: Clicking on each party will get you to an overview of all individual statements. Take a look at what the parties answered and how your choice compares.",
"thanks": "Thanks for using the EUROMAT. We hope you enjoyed it and don't forget: 23-26th of May are election days!",
@ -8,4 +9,4 @@
"headline": "Your results",
"title": "Results",
"language": "en"
}
}

View file

@ -1,4 +1,5 @@
{
"nationalParty": "Your countries member party",
"startoverBtn": "Start over",
"hint": "Oh, by the way: Clicking on each party will get you to an overview of all individual statements. Take a look at what the parties answered and how your choice compares.",
"thanks": "Thanks for using the EUROMAT. We hope you enjoyed it and don't forget: 23-26th of May are election days!",

View file

@ -1,4 +1,5 @@
{
"nationalParty": "Your countries member party",
"startoverBtn": "Začeti znova",
"hint": "Še tole: s klikom na posamezno stranko lahko dostopate do povzetka njihovih stališč do vseh trditev. Preverite, kako so odgovarjale stranke in njihove odgovore primerjajte s svojimi.",
"thanks": "Hvala, da ste uporabili EUROMAT. Upamo, da ste se imeli dobro. In ne pozabite: 26. maja so volitve v Evropski parlament!",
@ -8,4 +9,4 @@
"headline": "Vaš rezultat",
"title": "Rezultat",
"language": "si"
}
}

View file

@ -0,0 +1,10 @@
/* eslint-disable */
var icon = require('vue-svgicon')
icon.register({
'cdu-logo': {
width: 750,
height: 230,
viewBox: '0 0 750 230',
data: '<path pid="0" d="M218 64l8-49C-59-55-69 278 201 211l7-49C8 206 59 9 218 64zM259 10l-32 207h144c114 0 155-207 12-207zm62 45h44c61 0 42 117-14 117h-47z" _fill="#ba261d"/><path pid="1" d="M511 10h73l-18 117c-9 52 73 69 86-1l17-116h71l-19 124c-25 127-250 109-226-10z" _fill="#ba261d"/>'
}
})

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,6 @@
/* eslint-disable */
require('./alde-logo')
require('./cdu-logo')
require('./diem25-logo')
require('./edp-logo')
require('./egp-logo')
@ -8,6 +9,7 @@ require('./euromat-logo')
require('./european-left-logo')
require('./european-spring-logo')
require('./european-stars')
require('./fdp-logo')
require('./flag-cz')
require('./flag-de')
require('./flag-dk')
@ -15,11 +17,14 @@ require('./flag-en')
require('./flag-fr')
require('./flag-pl')
require('./flag-si')
require('./grune-logo')
require('./linke-logo')
require('./pes-logo')
require('./pirates-logo')
require('./poe-colored-logo')
require('./poe-logo')
require('./polis-colored-logo')
require('./polis-logo')
require('./spd-logo')
require('./star')
require('./volt-logo')

View file

@ -0,0 +1,10 @@
/* eslint-disable */
var icon = require('vue-svgicon')
icon.register({
'linke-logo': {
width: 566.929,
height: 127.057,
viewBox: '0 0 566.929 127.057',
data: '<g fill-rule="evenodd"><path pid="0" d="M547.424 127.057c9.143 0 17.836-7.231 19.285-16.341 1.54-9.687-5.171-16.773-14.602-16.773-8.563 0-17.158 7.52-18.56 16.34-1.472 9.255 4.587 16.774 13.877 16.774zm-80.358-1.592h52.248l3.888-25.737h-24.127l2.512-16.629h21.644l3.888-25.737h-21.646l2.292-15.184h24.127l3.887-25.737h-52.25l-16.463 109.024zm-5.44 0l-16.574-56.392 30.42-52.632h-29.639l-22.45 46.415 6.871-46.415h-28.122l-16.465 109.024h28.125l7.553-50.028 10.092 50.028h30.189zm-160.443 0h27.02l4.826-31.954c1.55-10.269 1.839-20.39 2.7-30.655l11.776 62.61h27.019L390.989 16.44h-27.02l-4.193 27.762c-1.9 12.579-1.71 25.013-2.508 37.594L344.393 16.44h-26.745l-16.465 109.024zm-49.619 0l3.885-25.737h-21.093l12.578-83.287h-28.122l-16.465 109.024h49.217zm-132.04 0h52.248l3.887-25.737h-24.125l2.512-16.629h21.644l3.887-25.737H157.93l2.294-15.184h24.125l3.888-25.737h-52.249l-16.465 109.024zm-11.197 0L124.79 16.441H96.667L80.202 125.465h28.125zm-67.843-81.84c12.82 0 12.537 16.484 10.747 28.341-1.55 10.266-6.29 27.039-19.132 27.182l8.385-55.522zM0 125.466h24.54c17.095 0 47.985-4.626 55.584-54.946 4.977-32.968-9.067-54.078-41.05-54.078H16.466L0 125.465zm289.809 0l13.87-89.067h-28.122l-13.873 89.067h28.125z"/><path pid="1" _fill="#dc0000" d="M309.336 0l-54.314 16.418 49.508 14.55z"/></g>'
}
})

View file

@ -0,0 +1,10 @@
/* eslint-disable */
var icon = require('vue-svgicon')
icon.register({
'spd-logo': {
width: 500,
height: 500,
viewBox: '0 0 340 340',
data: '<path pid="0" _fill="#E2001A" d="M0 0h340v340H0z"/><path pid="1" d="M87 239l13-20c-72-40-106 47-41 58 32 5 4 32-26 6l-13 22c74 49 122-49 46-56-16-1-17-26 21-10z" _fill="#fff"/><path pid="2" d="M110 210v105h30v-35h23c37 0 38-71 0-70h-53zm30 23h12c13 0 13 25 0 25h-12v-25z" _fill="#fff" fill-rule="evenodd"/><path pid="3" d="M198 210v105h46c59 1 59-105 1-105h-47zm29 25h5c37 0 37 56 0 56h-5v-56z" _fill="#fff" fill-rule="evenodd"/>'
}
})

View file

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="750px" height="230px">
<rect x="0" y="0" width="750px" height="230px" style="fill:white; stroke:none; opacity:0;"/>
<!-- C -->
<path d="M 218,64 l 8,-49 c -285,-70 -295,263 -25,196 l 7,-49 c -200,44 -149,-153 10,-98 z" style="fill:#ba261d; stroke:none;"/>
<!-- D -->
<path d="M 259,10 l -32,207 h 144 c 114,0 155,-207 12,-207 z M 321,55 h 44 c 61,0 42,117 -14,117 h -47 z" style="fill:#ba261d; stroke:none;"/>
<!-- U -->
<path d="M 511,10 h 73 l -18,117 c -9,52 73,69 86,-1 l 17,-116 h 71 l -19,124 c -25,127 -250,109 -226,-10 z" style="fill:#ba261d; stroke:none;"/>
</svg>

After

Width:  |  Height:  |  Size: 642 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,76 @@
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
width="566.92944"
height="127.05661"
id="svg1983"
inkscape:version="0.47 r22583"
sodipodi:docname="Z2Z.svg">
<metadata
id="metadata11">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1280"
inkscape:window-height="1004"
id="namedview9"
showgrid="false"
inkscape:zoom="0.89647062"
inkscape:cx="283.46472"
inkscape:cy="57.499599"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg1983" />
<defs
id="defs1985">
<inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 81.248032 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="602.36218 : 81.248032 : 1"
inkscape:persp3d-origin="301.18109 : 54.165354 : 1"
id="perspective13" />
</defs>
<g
id="layer1"
transform="translate(-17.716373,-11.69102)">
<g
transform="matrix(3.543307e-5,0,0,3.543307e-5,5.462343e-4,-6.025515)"
style="fill-rule:evenodd"
id="Layer_x0020_1">
<g
id="_89729424">
<path
d="m 15949500,4085820 c 258030,0 503370,-204070 544270,-461180 43470,-273390 -145940,-473350 -412100,-473350 -241680,0 -484250,212200 -523830,461150 -41530,261180 129490,473380 391660,473380 z m -2267880,-44910 1474550,0 109730,-726370 -680900,0 70890,-469300 610840,0 109730,-726350 -610910,0 64700,-428540 680900,0 109700,-726340 -1474580,0 -464650,3076900 z m -153530,0 -467740,-1591510 858520,-1485390 -836490,0 -633570,1309940 193900,-1309940 -793680,0 -464680,3076900 793750,0 213180,-1411920 284800,1411920 852010,0 z m -4528050,0 762580,0 136180,-901820 c 43760,-289810 51890,-575430 76180,-865140 l 332350,1766960 762550,0 464680,-3076900 -762580,0 -118310,783490 c -53610,355010 -48280,705940 -70790,1060990 l -363360,-1844480 -754800,0 -464680,3076900 z m -1400360,0 109640,-726370 -595290,0 354980,-2350530 -793680,0 -464680,3076900 1389030,0 z m -3726490,0 1474580,0 109700,-726370 -680860,0 70880,-469300 610840,0 109700,-726350 -610910,0 64730,-428540 680870,0 109730,-726340 -1474580,0 -464680,3076900 z m -315970,0 464610,-3076900 -793680,0 -464680,3076900 793750,0 z M 1642530,1731210 c 361800,0 353830,465190 303310,799840 -43750,289710 -177520,763090 -539960,767140 l 236650,-1566980 0,0 z m -1142550,2309700 692590,0 c 482430,0 1354240,-130570 1568700,-1550720 C 2901720,1559780 2505370,964010 1602750,964010 l -638090,0 -464680,3076900 0,0 z m 8179050,0 391470,-2513670 -793680,0 -391540,2513670 793750,0 z"
style="fill:#000000;fill-opacity:1"
id="_47141144" />
<polygon
points="9230140,500000 9230140,500000 7697260,963340 9094490,1374000 "
style="fill:#dc0000;fill-opacity:1"
id="_48064328" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500" height="500" viewBox="0 0 340 340">
<rect width="340" height="340" fill="#E2001A"/>
<path id="S" d="M 87,239 L 100,219 C 28,179 -6,266 59,277 C 91,282 63,309 33,283 L 20,305 C 94,354 142,256 66,249 C 50,248 49,223 87,239 z" style="fill:#ffffff;stroke:none"/>
<path id="P" d="M 110,210 V 315 H 140 V 280 H 163 C 200,280 201,209 163,210 H 110 z M 140,233 H 152 C 165,233 165,258 152,258 H 140 V 233 z" style="fill:#ffffff;fill-rule:evenodd;stroke:none"/>
<path id="D" d="M 198,210 V 315 H 244 C 303,316 303,210 245,210 H 198 z M 227,235 H 232 C 269,235 269,291 232,291 H 227 V 235 z" style="fill:#ffffff;fill-rule:evenodd;stroke:none"/>
</svg>

After

Width:  |  Height:  |  Size: 717 B

View file

@ -13,90 +13,66 @@
}
},
"national_parties": {
"at": [
{
"token": "NEOS",
"name": "Neos"
}
],
"be": [
{
"token": "MOR",
"name": "Mouvement Réformateur"
},
{
"token": "OVLD",
"name": "Open Vlaamse Liberalen en Democraten"
}
],
"cz": [
{
"token": "ANO-2011",
"name": "Ano 2011"
}
],
"dk": [
{
"token": "RV",
"name": "Radikale Venstre"
}
],
"de": [
{
"token": "FDP",
"name": "Freie Demokratische Partei"
}
],
"es": [
{
"token": "CIU",
"name": "Ciudadanos"
}
],
"fr": [
{
"token": "MR",
"name": "Mouvement radical"
},
{
"token": "UDI",
"name": "Union des démocrates et indépendants"
}
],
"ie": [
{
"token": "FF",
"name": "Fianna Fáil"
}
],
"mt": [
{
"token": "PD",
"name": "Partit Demokratiku"
}
],
"pl": [
{
"token": "NO",
"name": "Nowoczesna"
}
],
"si": [
{
"token": "SAB",
"name": "Stranka Alenke Bratušek"
}
],
"uk": [
{
"token": "APNI",
"name": "The Alliance Party of Northern Ireland"
},
{
"token": "LD",
"name": "Liberal Democrats"
}
]
"at": {
"token": "NEOS",
"name": "Neos",
"program": "https://www.google.com"
},
"be": {
"token": "MOR",
"name": "Mouvement Réformateur",
"program": "https://www.google.com"
},
"cz": {
"token": "ANO-2011",
"name": "Ano 2011",
"program": "https://www.google.com"
},
"dk": {
"token": "RV",
"name": "Radikale Venstre",
"program": "https://www.google.com"
},
"de": {
"token": "FDP",
"name": "Freie Demokratische Partei",
"program": "https://www.google.com"
},
"es": {
"token": "CIU",
"name": "Ciudadanos",
"program": "https://www.google.com"
},
"fr": {
"token": "MR",
"name": "Mouvement radical",
"program": "https://www.google.com"
},
"ie": {
"token": "FF",
"name": "Fianna Fáil",
"program": "https://www.google.com"
},
"mt": {
"token": "PD",
"name": "Partit Demokratiku",
"program": "https://www.google.com"
},
"pl": {
"token": "NO",
"name": "Nowoczesna",
"program": "https://www.google.com"
},
"si": {
"token": "SAB",
"name": "Stranka Alenke Bratušek",
"program": "https://www.google.com"
},
"uk": {
"token": "APNI",
"name": "The Alliance Party of Northern Ireland",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://www.aldeparty.eu/sites/alde/files/40-Resolutions/2019_freedom_opportunity_prosperity_the_liberal_vision_for_the_future_of_europe.pdf",
@ -427,42 +403,36 @@
}
},
"national_parties": {
"at": [
{
"token": "WANDEL",
"name": "Der Wandel"
}
],
"de": [
{
"token": "DIEM25",
"name": "Demokratie in Europa"
}
],
"dk": [
{
"token": "ALTERNATIVET",
"name": "Alternativet"
}
],
"fr": [
{
"token": "GENERATION",
"name": "Generation s"
}
],
"es": [
{
"token": "ACTÚA",
"name": "Actúa"
}
],
"pl": [
{
"token": "RAZEM",
"name": "Partiarazem"
}
]
"at": {
"token": "WANDEL",
"name": "Der Wandel",
"program": "https://www.google.com"
},
"de": {
"token": "DIEM25",
"name": "Demokratie in Europa",
"program": "https://www.google.com"
},
"dk": {
"token": "ALTERNATIVET",
"name": "Alternativet",
"program": "https://www.google.com"
},
"fr": {
"token": "GENERATION",
"name": "Generation s",
"program": "https://www.google.com"
},
"es": {
"token": "ACTÚA",
"name": "Actúa",
"program": "https://www.google.com"
},
"pl": {
"token": "RAZEM",
"name": "Partiarazem",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://europeanspring.net/wp-content/uploads/2019/02/EuropeanSpring-Manifesto-2019.DE.pdf",
@ -743,42 +713,36 @@
}
},
"national_parties": {
"de": [
{
"token": "BÜNDNIS-C",
"name": "Bündnis C - Christen für Deutschland"
}
],
"fr": [
{
"token": "PCD",
"name": "Le Parti Chrétien-Démocrate"
}
],
"ie": [
{
"token": "CDD",
"name": "Comhaontas Dhínit an Duine"
}
],
"mt": [
{
"token": "AB",
"name": "Alleanza Bidla"
}
],
"pl": [
{
"token": "PR",
"name": "Prawica Rzeczypospolitej"
}
],
"uk": [
{
"token": "CPA",
"name": "Christian Peoples Alliance"
}
]
"de": {
"token": "BÜNDNIS-C",
"name": "Bündnis C - Christen für Deutschland",
"program": "https://www.google.com"
},
"fr": {
"token": "PCD",
"name": "Le Parti Chrétien-Démocrate",
"program": "https://www.google.com"
},
"ie": {
"token": "CDD",
"name": "Comhaontas Dhínit an Duine",
"program": "https://www.google.com"
},
"mt": {
"token": "AB",
"name": "Alleanza Bidla",
"program": "https://www.google.com"
},
"pl": {
"token": "PR",
"name": "Prawica Rzeczypospolitej",
"program": "https://www.google.com"
},
"uk": {
"token": "CPA",
"name": "Christian Peoples Alliance",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://ecpm.info/ECPM%20Summary%20Election%20Manifesto%202019.pdf",
@ -1281,42 +1245,36 @@
}
},
"national_parties": {
"cz": [
{
"token": "SEN21",
"name": "Senator 21"
}
],
"de": [
{
"token": "FW",
"name": "Freie Wähler"
}
],
"es": [
{
"token": "CEU",
"name": "Coalición por Europa "
}
],
"fr": [
{
"token": "MODEM",
"name": "Mouvement Démocrate"
}
],
"pl": [
{
"token": "SD",
"name": "Stronnictwo Demokratyczne"
}
],
"si": [
{
"token": "DESUS",
"name": "Demokratična stranka upokojencev Slovenije"
}
]
"cz": {
"token": "SEN21",
"name": "Senator 21",
"program": "https://www.google.com"
},
"de": {
"token": "FW",
"name": "Freie Wähler",
"program": "https://www.google.com"
},
"es": {
"token": "CEU",
"name": "Coalición por Europa ",
"program": "https://www.google.com"
},
"fr": {
"token": "MODEM",
"name": "Mouvement Démocrate",
"program": "https://www.google.com"
},
"pl": {
"token": "SD",
"name": "Stronnictwo Demokratyczne",
"program": "https://www.google.com"
},
"si": {
"token": "DESUS",
"name": "Demokratična stranka upokojencev Slovenije",
"program": "https://www.google.com"
}
},
"program": {
"de": "http://www.democrats.eu/en/theme/a-democratic-europe",
@ -1570,18 +1528,16 @@
}
},
"national_parties": {
"de": [
{
"token": "BAYERN",
"name": "Bayernpartei"
}
],
"es": [
{
"token": "AR",
"name": "Ahora Repúblicas "
}
]
"de": {
"token": "BAYERN",
"name": "Bayernpartei",
"program": "https://www.google.com"
},
"es": {
"token": "AR",
"name": "Ahora Repúblicas ",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://www.youdecidenow.eu/2019-manifesto-european-elections/",
@ -1868,84 +1824,61 @@
}
},
"national_parties": {
"at": [
{
"token": "DGA",
"name": "Die Grünen Die Grüne Alternative"
}
],
"be": [
{
"token": "GROEN",
"name": "Groen"
},
{
"token": "ECOLO",
"name": "Ecolo"
}
],
"cz": [
{
"token": "SZ",
"name": "Strana Zelených"
}
],
"de": [
{
"token": "DIE-GRÜNEN",
"name": "Bündnis 90/Die Grünen"
}
],
"dk": [
{
"token": "SF",
"name": "Socialistisk Folkeparti"
}
],
"es": [
{
"token": "EQUO",
"name": "EQUO"
},
{
"token": "ICV",
"name": "Iniciativa per Catalunya Verds"
}
],
"fr": [
{
"token": "EELV",
"name": "Europe Écologie-Les Verts"
}
],
"ie": [
{
"token": "GB",
"name": "Green Party"
}
],
"mt": [
{
"token": "AD",
"name": "Alternattiva Demokratika"
}
],
"si": [
{
"token": "SMS-ZELENI",
"name": "Stranka mladih Zeleni Evrope"
}
],
"uk": [
{
"token": "GPEW",
"name": "Green Party of England and Wales"
},
{
"token": "SGP",
"name": "Scottish Green Party"
}
]
"at": {
"token": "DGA",
"name": "Die Grünen Die Grüne Alternative",
"program": "https://www.google.com"
},
"be": {
"token": "GROEN",
"name": "Groen",
"program": "https://www.google.com"
},
"cz": {
"token": "SZ",
"name": "Strana Zelených",
"program": "https://www.google.com"
},
"de": {
"token": "DIE-GRÜNEN",
"name": "Bündnis 90/Die Grünen",
"program": "https://www.google.com"
},
"dk": {
"token": "SF",
"name": "Socialistisk Folkeparti",
"program": "https://www.google.com"
},
"es": {
"token": "EQUO",
"name": "EQUO",
"program": "https://www.google.com"
},
"fr": {
"token": "EELV",
"name": "Europe Écologie-Les Verts",
"program": "https://www.google.com"
},
"ie": {
"token": "GB",
"name": "Green Party",
"program": "https://www.google.com"
},
"mt": {
"token": "AD",
"name": "Alternattiva Demokratika",
"program": "https://www.google.com"
},
"si": {
"token": "SMS-ZELENI",
"name": "Stranka mladih Zeleni Evrope",
"program": "https://www.google.com"
},
"uk": {
"token": "GPEW",
"name": "Green Party of England and Wales",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://vote.europeangreens.eu/manifesto",
@ -2231,70 +2164,46 @@
}
},
"national_parties": {
"at": [
{
"token": "KPÖ",
"name": "Kommunistische Partei Österreichs"
}
],
"be": [
{
"token": "DEMAIN",
"name": "Mouvement Demain "
},
{
"token": "LPC",
"name": "Le Parti Communiste"
}
],
"cz": [
{
"token": "SDS",
"name": "Strana demokratického socialismu"
}
],
"de": [
{
"token": "LINKE",
"name": "Die Linke"
}
],
"dk": [
{
"token": "ENHEDSLISTEN",
"name": "Enhedslisten"
}
],
"es": [
{
"token": "PCE",
"name": "Partido Comunista de España "
},
{
"token": "EUA",
"name": "Esquerra Unida i Alternativa"
},
{
"token": "IU",
"name": "Izquierda Unida"
}
],
"si": [
{
"token": "LEVICA",
"name": "Levica"
}
],
"uk": [
{
"token": "LU",
"name": "Left Unity"
},
{
"token": "DLS",
"name": "Democratic Left Scotland"
}
]
"at": {
"token": "KPÖ",
"name": "Kommunistische Partei Österreichs",
"program": "https://www.google.com"
},
"be": {
"token": "DEMAIN",
"name": "Mouvement Demain ",
"program": "https://www.google.com"
},
"cz": {
"token": "SDS",
"name": "Strana demokratického socialismu",
"program": "https://www.google.com"
},
"de": {
"token": "LINKE",
"name": "Die Linke",
"program": "https://www.google.com"
},
"dk": {
"token": "ENHEDSLISTEN",
"name": "Enhedslisten",
"program": "https://www.google.com"
},
"es": {
"token": "PCE",
"name": "Partido Comunista de España ",
"program": "https://www.google.com"
},
"si": {
"token": "LEVICA",
"name": "Levica",
"program": "https://www.google.com"
},
"uk": {
"token": "LU",
"name": "Left Unity",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://www.european-left.org/wp-content/uploads/2018/11/Manifesto-European-Left_ENG.pdf",
@ -2491,100 +2400,61 @@
}
},
"national_parties": {
"de": [
{
"token": "CDU",
"name": "Christlich Demokratische Union"
},
{
"token": "CSU",
"name": "Christlich-Soziale Union in Bayern"
}
],
"pl": [
{
"token": "PO",
"name": "Platforma Obywatelska"
},
{
"token": "PSL",
"name": "Polskie Stronnictwo Ludowe"
}
],
"at": [
{
"token": "ÖVP",
"name": "Österreichische Volkspartei "
}
],
"be": [
{
"token": "CD&V",
"name": "Christen-Democratisch en Vlaams"
},
{
"token": "CDH",
"name": "Centre Démocrate Humaniste "
}
],
"cz": [
{
"token": "TOP",
"name": "TOP 09"
},
{
"token": "KDU-CSL",
"name": "The Christian and Democratic Union-Czech People's Party "
}
],
"dk": [
{
"token": "C",
"name": "Det Konservative Folkeparti "
},
{
"token": "KD",
"name": "KristenDemokraterne "
}
],
"fr": [
{
"token": "LR",
"name": "Les Républicains"
}
],
"ie": [
{
"token": "FG",
"name": "Fine Gael"
}
],
"mt": [
{
"token": "PN",
"name": "Partit Nazzjonalista "
}
],
"sl": [
{
"token": "SDS",
"name": "Slovenska demokratska stranka "
},
{
"token": "NSI",
"name": "Nova Slovenija krščanski demokrati "
},
{
"token": "SLS",
"name": "Slovenska Ljudska Stranka "
}
],
"es": [
{
"token": "PP",
"name": "Partido Popular "
}
]
"de": {
"token": "CDU",
"name": "Christlich Demokratische Union",
"program": "https://www.cdu.de/"
},
"pl": {
"token": "PO",
"name": "Platforma Obywatelska",
"program": "https://www.google.com"
},
"at": {
"token": "ÖVP",
"name": "Österreichische Volkspartei ",
"program": "https://www.google.com"
},
"be": {
"token": "CD&V",
"name": "Christen-Democratisch en Vlaams",
"program": "https://www.google.com"
},
"cz": {
"token": "TOP",
"name": "TOP 09",
"program": "https://www.google.com"
},
"dk": {
"token": "C",
"name": "Det Konservative Folkeparti ",
"program": "https://www.google.com"
},
"fr": {
"token": "LR",
"name": "Les Républicains",
"program": "https://www.google.com"
},
"ie": {
"token": "FG",
"name": "Fine Gael",
"program": "https://www.google.com"
},
"mt": {
"token": "PN",
"name": "Partit Nazzjonalista ",
"program": "https://www.google.com"
},
"sl": {
"token": "SDS",
"name": "Slovenska demokratska stranka ",
"program": "https://www.google.com"
},
"es": {
"token": "PP",
"name": "Partido Popular ",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://www.eppgroup.eu/what-we-stand-for/campaigns/eu-elections-2019/commitments",
@ -2868,18 +2738,16 @@
}
},
"national_parties": {
"be": [
{
"token": "PP-BE",
"name": "Parti Pirate/Piratenpartij"
}
],
"de": [
{
"token": "PP-DE",
"name": "Piratenparty Deutschland"
}
]
"be": {
"token": "PP-BE",
"name": "Parti Pirate/Piratenpartij",
"program": "https://www.google.com"
},
"de": {
"token": "PP-DE",
"name": "Piratenparty Deutschland",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://wiki.ppeu.net/doku.php?id=programme:ceep2019",
@ -3103,76 +2971,61 @@
}
},
"national_parties": {
"at": [
{
"token": "SDPA",
"name": " Social Democratic Party of Austria"
}
],
"be": [
{
"token": "PSB",
"name": "Parti Socialiste"
},
{
"token": "SPA",
"name": "Socialistische Partij Anders - Flemish "
}
],
"cz": [
{
"token": "CSSD",
"name": "Česká strana sociálne demokratická"
}
],
"dk": [
{
"token": "SD",
"name": "Socialdemokratiet"
}
],
"fr": [
{
"token": "PS",
"name": "Parti Socialiste"
}
],
"de": [
{
"token": "SPD",
"name": "Sozialdemokratische Partei Deutschlands"
}
],
"ie": [
{
"token": "LPI",
"name": "Labour Party Ireland"
}
],
"mt": [
{
"token": "PL",
"name": "Partit Laburista"
}
],
"es": [
{
"token": "PSOE",
"name": "Partido Socialista Obrero Español"
}
],
"sl": [
{
"token": "SD",
"name": "Socialni Demokrati "
}
],
"uk": [
{
"token": "SDLP",
"name": "Social Democratic and Labour Party"
}
]
"at": {
"token": "SDPA",
"name": " Social Democratic Party of Austria",
"program": "https://www.google.com"
},
"be": {
"token": "PSB",
"name": "Parti Socialiste",
"program": "https://www.google.com"
},
"cz": {
"token": "CSSD",
"name": "Česká strana sociálne demokratická",
"program": "https://www.google.com"
},
"dk": {
"token": "SD",
"name": "Socialdemokratiet",
"program": "https://www.google.com"
},
"fr": {
"token": "PS",
"name": "Parti Socialiste",
"program": "https://www.google.com"
},
"de": {
"token": "SPD",
"name": "Sozialdemokratische Partei Deutschlands",
"program": "https://www.google.com"
},
"ie": {
"token": "LPI",
"name": "Labour Party Ireland",
"program": "https://www.google.com"
},
"mt": {
"token": "PL",
"name": "Partit Laburista",
"program": "https://www.google.com"
},
"es": {
"token": "PSOE",
"name": "Partido Socialista Obrero Español",
"program": "https://www.google.com"
},
"sl": {
"token": "SD",
"name": "Socialni Demokrati ",
"program": "https://www.google.com"
},
"uk": {
"token": "SDLP",
"name": "Social Democratic and Labour Party",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://www.pes.eu/export/sites/default/.galleries/Documents-gallery/PES-Manifesto-2019_EN.pdf_2063069299.pdf",
@ -3456,18 +3309,16 @@
}
},
"national_parties": {
"de": [
{
"token": "VOLT-D",
"name": "VOLT Deutschland"
}
],
"fr": [
{
"token": "VOLT-FR",
"name": "VOLT France"
}
]
"de": {
"token": "VOLT-D",
"name": "VOLT Deutschland",
"program": "https://www.google.com"
},
"fr": {
"token": "VOLT-FR",
"name": "VOLT France",
"program": "https://www.google.com"
}
},
"program": {
"de": "https://assets.nationbuilder.com/volt/pages/6564/attachments/original/1540629281/Amsterdam_Declaration.pdf?1540629281",