@lysaab/lysa-pep 0.10.0 → 0.12.0
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/.vscode/settings.json +2 -1
- package/lib/components/CountrySelect.js +9 -14
- package/lib/model/Countries.d.ts +4 -0
- package/lib/model/Countries.js +1002 -0
- package/lib/model/PepTexts.js +27 -28
- package/package.json +1 -1
- package/src/components/CountrySelect.tsx +15 -26
- package/src/components/PepAnswers.scss +7 -0
- package/src/components/PepAnswers.tsx +122 -0
- package/src/model/Countries.ts +1002 -0
- package/src/model/PepTexts.ts +29 -28
package/lib/model/PepTexts.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { PepType, EntityType, BusinessRelation, Relation } from "../pages/PepContext";
|
|
2
2
|
export const LABELS = (name) => {
|
|
3
3
|
let possessiveName = name;
|
|
4
|
-
if (possessiveName &&
|
|
4
|
+
if (possessiveName &&
|
|
5
|
+
possessiveName[possessiveName.length - 1] !== "s" &&
|
|
6
|
+
possessiveName[possessiveName.length - 1] !== "z" &&
|
|
7
|
+
possessiveName[possessiveName.length - 1] !== "x") {
|
|
5
8
|
possessiveName += "s";
|
|
6
9
|
}
|
|
7
10
|
return {
|
|
@@ -22,7 +25,7 @@ export const LABELS = (name) => {
|
|
|
22
25
|
GOVERNMENT_COMPANY_ROLE_LABEL: `Ange din roll på företaget`,
|
|
23
26
|
HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: `Ange namnet på organisationen`,
|
|
24
27
|
HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: `Ange din roll i organisationen`,
|
|
25
|
-
MILITARY_OFFICER_LABEL: `Ange din
|
|
28
|
+
MILITARY_OFFICER_LABEL: `Ange din grad`
|
|
26
29
|
},
|
|
27
30
|
[PepType.RELATIVE]: {
|
|
28
31
|
RELATION: {
|
|
@@ -115,9 +118,9 @@ export const LABELS = (name) => {
|
|
|
115
118
|
},
|
|
116
119
|
BUSINESS_RELATION_LABEL: `Vilken relation har du till personen i politisk utsatt ställning?`,
|
|
117
120
|
NAME_LABEL: {
|
|
118
|
-
[BusinessRelation.CO_OWNERSHIP]: `Vad heter personen i politisk ställning som du har en relation till`,
|
|
119
|
-
[BusinessRelation.CLOSE_CONNECTION]: `Vad heter personen i politisk ställning som du har en relation till`,
|
|
120
|
-
[BusinessRelation.COMPANY_FOR_PEP]: `Vad heter personen i politisk ställning som
|
|
121
|
+
[BusinessRelation.CO_OWNERSHIP]: `Vad heter personen i politisk utsatt ställning som du har en relation till`,
|
|
122
|
+
[BusinessRelation.CLOSE_CONNECTION]: `Vad heter personen i politisk utsatt ställning som du har en relation till`,
|
|
123
|
+
[BusinessRelation.COMPANY_FOR_PEP]: `Vad heter personen i politisk utsatt ställning som den juridiska personen eller konstruktionen har upprättats till förmån till?`
|
|
121
124
|
},
|
|
122
125
|
BIRTH_LABEL: {
|
|
123
126
|
[BusinessRelation.CO_OWNERSHIP]: `När är personen som har bestämmande rätt över företaget född?`,
|
|
@@ -125,9 +128,9 @@ export const LABELS = (name) => {
|
|
|
125
128
|
[BusinessRelation.COMPANY_FOR_PEP]: `När är personen född?`
|
|
126
129
|
},
|
|
127
130
|
ROLE_LABEL: {
|
|
128
|
-
[BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll personen i politisk ställning som du har en relation till`,
|
|
129
|
-
[BusinessRelation.CLOSE_CONNECTION]: `AngeAnge tjänst/roll personen i politisk ställning som du har en relation till`,
|
|
130
|
-
[BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll personen i politisk ställning som du har en relation till`
|
|
131
|
+
[BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll för personen i politisk utsatt ställning som du har en relation till`,
|
|
132
|
+
[BusinessRelation.CLOSE_CONNECTION]: `AngeAnge tjänst/roll för personen i politisk utsatt ställning som du har en relation till`,
|
|
133
|
+
[BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll för personen i politisk utsatt ställning som du har en relation till`
|
|
131
134
|
},
|
|
132
135
|
AMBASSADOR_LABEL: {
|
|
133
136
|
[BusinessRelation.CO_OWNERSHIP]: `Ange land`,
|
|
@@ -165,15 +168,13 @@ export const LABELS = (name) => {
|
|
|
165
168
|
GENERIC: {
|
|
166
169
|
IS_PEP: {
|
|
167
170
|
[PepType.NOT_PEP]: `Nej`,
|
|
168
|
-
[PepType.ME]: `På grund av sin funktion är ${name ||
|
|
169
|
-
"Jag"} PEP`,
|
|
171
|
+
[PepType.ME]: `På grund av sin funktion är ${name || "Jag"} PEP`,
|
|
170
172
|
[PepType.RELATIVE]: `${name ||
|
|
171
173
|
"Jag"} har en relation med en person som är PEP`,
|
|
172
174
|
[PepType.COLLEAGUE]: `${name ||
|
|
173
175
|
"Jag"} är medarbetare till, eller har en affärsrelation med, en person som är PEP`
|
|
174
176
|
},
|
|
175
|
-
IS_PEP_HEADER: `Är ${name ||
|
|
176
|
-
"du"} eller en närstående till ${name ||
|
|
177
|
+
IS_PEP_HEADER: `Är ${name || "du"} eller en närstående till ${name ||
|
|
177
178
|
"dig"} en person i politisk utsatt ställning? (PEP)`
|
|
178
179
|
},
|
|
179
180
|
[PepType.ME]: {
|
|
@@ -185,7 +186,7 @@ export const LABELS = (name) => {
|
|
|
185
186
|
HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_NAME_LABEL: `Ange namnet på organisationen`,
|
|
186
187
|
HIGH_RANKING_POSITION_INTERNALTIONAL_CORP_ROLE_LABEL: `Ange ${possessiveName ||
|
|
187
188
|
"din"} roll i organisationen`,
|
|
188
|
-
MILITARY_OFFICER_LABEL: `Ange ${possessiveName || "din"}
|
|
189
|
+
MILITARY_OFFICER_LABEL: `Ange ${possessiveName || "din"} grad`
|
|
189
190
|
},
|
|
190
191
|
[PepType.RELATIVE]: {
|
|
191
192
|
RELATION: {
|
|
@@ -201,10 +202,10 @@ export const LABELS = (name) => {
|
|
|
201
202
|
NAME_LABEL: {
|
|
202
203
|
[Relation.MARRIED_PARTNER]: `Vad heter ${possessiveName ||
|
|
203
204
|
"din"} make/maka?`,
|
|
204
|
-
[Relation.COLIVING_PARTNER]: `Vad heter ${possessiveName ||
|
|
205
|
+
[Relation.COLIVING_PARTNER]: `Vad heter ${possessiveName ||
|
|
206
|
+
"din"} sambo?`,
|
|
205
207
|
[Relation.CHILD]: `Vad heter ${possessiveName || "din"} förälder?`,
|
|
206
|
-
[Relation.PARENT]: `Vad heter ${possessiveName ||
|
|
207
|
-
"ditt"} barn?`,
|
|
208
|
+
[Relation.PARENT]: `Vad heter ${possessiveName || "ditt"} barn?`,
|
|
208
209
|
[Relation.CHILD_MARRIED_PARTNER]: `Vad heter föräldern till ${possessiveName ||
|
|
209
210
|
"din"} make/maka?`,
|
|
210
211
|
[Relation.CHILD_COLIVING_PARTNER]: `Vad heter föräldern till ${possessiveName ||
|
|
@@ -216,8 +217,7 @@ export const LABELS = (name) => {
|
|
|
216
217
|
[Relation.COLIVING_PARTNER]: `När är ${possessiveName ||
|
|
217
218
|
"din"} sambo född?`,
|
|
218
219
|
[Relation.CHILD]: `När är ${possessiveName || "din"} förälder född?`,
|
|
219
|
-
[Relation.PARENT]: `När är ${possessiveName ||
|
|
220
|
-
"ditt"} barn fött?`,
|
|
220
|
+
[Relation.PARENT]: `När är ${possessiveName || "ditt"} barn fött?`,
|
|
221
221
|
[Relation.CHILD_MARRIED_PARTNER]: `När är föräldern till ${possessiveName ||
|
|
222
222
|
"din"} make/maka född?`,
|
|
223
223
|
[Relation.CHILD_COLIVING_PARTNER]: `När är föräldern till ${possessiveName ||
|
|
@@ -280,10 +280,10 @@ export const LABELS = (name) => {
|
|
|
280
280
|
MILITARY_OFFICER_LABEL: {
|
|
281
281
|
[Relation.MARRIED_PARTNER]: `Ange ${possessiveName ||
|
|
282
282
|
"din"} make/maka/registrerade partners grad`,
|
|
283
|
-
[Relation.COLIVING_PARTNER]: `Ange ${possessiveName ||
|
|
283
|
+
[Relation.COLIVING_PARTNER]: `Ange ${possessiveName ||
|
|
284
|
+
"din"} sambos grad`,
|
|
284
285
|
[Relation.CHILD]: `Ange ${possessiveName || "din"} förälders grad`,
|
|
285
|
-
[Relation.PARENT]: `Ange ${possessiveName ||
|
|
286
|
-
"ditt"} barns grad`,
|
|
286
|
+
[Relation.PARENT]: `Ange ${possessiveName || "ditt"} barns grad`,
|
|
287
287
|
[Relation.CHILD_MARRIED_PARTNER]: `Ange ${possessiveName ||
|
|
288
288
|
"din"} make/makas förälders grad`,
|
|
289
289
|
[Relation.CHILD_COLIVING_PARTNER]: `Ange ${possessiveName ||
|
|
@@ -302,12 +302,11 @@ export const LABELS = (name) => {
|
|
|
302
302
|
BUSINESS_RELATION_LABEL: `Vilken relation har ${name ||
|
|
303
303
|
"du"} till personen i politisk utsatt ställning?`,
|
|
304
304
|
NAME_LABEL: {
|
|
305
|
-
[BusinessRelation.CO_OWNERSHIP]: `Vad heter personen i politisk ställning som ${name ||
|
|
305
|
+
[BusinessRelation.CO_OWNERSHIP]: `Vad heter personen i politisk utsatt ställning som ${name ||
|
|
306
306
|
"du"} har en relation till`,
|
|
307
|
-
[BusinessRelation.CLOSE_CONNECTION]: `Vad heter personen i politisk ställning som ${name ||
|
|
307
|
+
[BusinessRelation.CLOSE_CONNECTION]: `Vad heter personen i politisk utsatt ställning som ${name ||
|
|
308
308
|
"du"} har en relation till`,
|
|
309
|
-
[BusinessRelation.COMPANY_FOR_PEP]: `Vad heter personen i politisk ställning som
|
|
310
|
-
"du"} har en relation till`
|
|
309
|
+
[BusinessRelation.COMPANY_FOR_PEP]: `Vad heter personen i politisk utsatt ställning som den juridiska personen eller konstruktionen har upprättats till förmån till?`
|
|
311
310
|
},
|
|
312
311
|
BIRTH_LABEL: {
|
|
313
312
|
[BusinessRelation.CO_OWNERSHIP]: `När är personen som har bestämmande rätt över företaget född?`,
|
|
@@ -316,11 +315,11 @@ export const LABELS = (name) => {
|
|
|
316
315
|
[BusinessRelation.COMPANY_FOR_PEP]: `När är personen född?`
|
|
317
316
|
},
|
|
318
317
|
ROLE_LABEL: {
|
|
319
|
-
[BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll personen i politisk ställning som ${name ||
|
|
318
|
+
[BusinessRelation.CO_OWNERSHIP]: `Ange tjänst/roll för personen i politisk utsatt ställning som ${name ||
|
|
320
319
|
"du"} har en relation till`,
|
|
321
|
-
[BusinessRelation.CLOSE_CONNECTION]: `AngeAnge tjänst/roll personen i politisk ställning som ${name ||
|
|
320
|
+
[BusinessRelation.CLOSE_CONNECTION]: `AngeAnge tjänst/roll för personen i politisk utsatt ställning som ${name ||
|
|
322
321
|
"du"} har en relation till`,
|
|
323
|
-
[BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll personen i politisk ställning som ${name ||
|
|
322
|
+
[BusinessRelation.COMPANY_FOR_PEP]: `Ange tjänst/roll för personen i politisk utsatt ställning som ${name ||
|
|
324
323
|
"du"} har en relation till`
|
|
325
324
|
},
|
|
326
325
|
AMBASSADOR_LABEL: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import React, { useState,
|
|
2
|
-
import { Alternative,
|
|
1
|
+
import React, { useState, FunctionComponent } from "react";
|
|
2
|
+
import { Alternative, Select } from "@lysaab/ui-2";
|
|
3
3
|
import { ValidationProps } from "@lysaab/ui-2/hooks/useValidation";
|
|
4
|
+
import { countries } from "../model/Countries";
|
|
4
5
|
|
|
5
6
|
declare global {
|
|
6
7
|
interface Window {
|
|
@@ -13,14 +14,6 @@ export interface Country {
|
|
|
13
14
|
value: string;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
function getCountries() {
|
|
17
|
-
return API.get<Country[]>(
|
|
18
|
-
`${window.lysa.contentPath}/content/files/countries.json`,
|
|
19
|
-
undefined,
|
|
20
|
-
{ credentials: "omit", headers: {} }
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
17
|
interface Props extends ValidationProps {
|
|
25
18
|
value?: string;
|
|
26
19
|
onChange?(value: Alternative): void;
|
|
@@ -30,28 +23,24 @@ interface Props extends ValidationProps {
|
|
|
30
23
|
|
|
31
24
|
export const CountrySelect: FunctionComponent<Props> = ({
|
|
32
25
|
value,
|
|
33
|
-
removeSweden = false,
|
|
26
|
+
removeSweden = false,
|
|
34
27
|
...props
|
|
35
28
|
}) => {
|
|
36
|
-
const [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
)
|
|
46
|
-
);
|
|
47
|
-
});
|
|
48
|
-
}, [setCountries, removeSweden]);
|
|
29
|
+
const [countryAlternatives] = useState(
|
|
30
|
+
countries
|
|
31
|
+
.filter(country => !(removeSweden && country.value === "SE"))
|
|
32
|
+
.map(
|
|
33
|
+
(country): Alternative => {
|
|
34
|
+
return { text: country.label, value: country.value };
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
);
|
|
49
38
|
|
|
50
39
|
return (
|
|
51
40
|
<Select
|
|
52
|
-
alternatives={
|
|
41
|
+
alternatives={countryAlternatives}
|
|
53
42
|
placeholder={"Välj ett land"}
|
|
54
|
-
value={
|
|
43
|
+
value={countryAlternatives.find(country => country.value === value)}
|
|
55
44
|
{...props}
|
|
56
45
|
/>
|
|
57
46
|
);
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import React, { FunctionComponent } from "react";
|
|
2
|
+
import "./PepAnswers.scss";
|
|
3
|
+
import { PepRequest } from "../model/PepModel";
|
|
4
|
+
import { countries } from "../model/Countries";
|
|
5
|
+
import { LABELS } from "../model/PepTexts";
|
|
6
|
+
import { roleAlternatives, militaryAlternatives } from "../pages/PepRolePage";
|
|
7
|
+
import { EntityType, PepType } from "../pages/PepContext";
|
|
8
|
+
|
|
9
|
+
interface Props {
|
|
10
|
+
answer: PepRequest;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const PepAnswers: FunctionComponent<Props> = ({ answer }) => {
|
|
14
|
+
if (!answer.type || answer.type === PepType.NOT_PEP) {
|
|
15
|
+
return <div>Inte PEP</div>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const labels = LABELS("");
|
|
19
|
+
const country = countries.find(country => country.value === answer.country);
|
|
20
|
+
const role = roleAlternatives.find(alt => alt.value === answer.role);
|
|
21
|
+
const militaryRank = militaryAlternatives.find(
|
|
22
|
+
alt => alt.value === answer.militaryRank
|
|
23
|
+
);
|
|
24
|
+
return (
|
|
25
|
+
<div>
|
|
26
|
+
{answer.type && (
|
|
27
|
+
<StaticInput
|
|
28
|
+
label="Vem är pep"
|
|
29
|
+
value={labels[EntityType.PERSON].GENERIC.IS_PEP[answer.type]}
|
|
30
|
+
/>
|
|
31
|
+
)}
|
|
32
|
+
{answer.relationToPEP && (
|
|
33
|
+
<StaticInput
|
|
34
|
+
label="Relation"
|
|
35
|
+
value={
|
|
36
|
+
labels[EntityType.PERSON][PepType.RELATIVE].RELATION[
|
|
37
|
+
answer.relationToPEP
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
/>
|
|
41
|
+
)}
|
|
42
|
+
{answer.businessRelation && (
|
|
43
|
+
<StaticInput
|
|
44
|
+
label="Relation"
|
|
45
|
+
value={
|
|
46
|
+
labels[EntityType.PERSON][PepType.COLLEAGUE].BUSINESS_RELATION[
|
|
47
|
+
answer.businessRelation
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
/>
|
|
51
|
+
)}
|
|
52
|
+
{answer.nameOfPEP && (
|
|
53
|
+
<StaticInput label="Namn på personen" value={answer.nameOfPEP} />
|
|
54
|
+
)}
|
|
55
|
+
{answer.birthdayOfPEP && (
|
|
56
|
+
<StaticInput
|
|
57
|
+
label="Födelsedag för personen"
|
|
58
|
+
value={answer.birthdayOfPEP}
|
|
59
|
+
/>
|
|
60
|
+
)}
|
|
61
|
+
{answer.ended ? (
|
|
62
|
+
<React.Fragment>
|
|
63
|
+
<StaticInput label="Status" value="Avslutad" />
|
|
64
|
+
<StaticInput label="Avslutades" value={answer.ended} />
|
|
65
|
+
</React.Fragment>
|
|
66
|
+
) : (
|
|
67
|
+
<StaticInput label="Status" value="Pågående" />
|
|
68
|
+
)}
|
|
69
|
+
{answer.birthdayOfPEP && (
|
|
70
|
+
<StaticInput label="Roll" value={answer.birthdayOfPEP} />
|
|
71
|
+
)}
|
|
72
|
+
{answer.country && (
|
|
73
|
+
<StaticInput
|
|
74
|
+
label="Land"
|
|
75
|
+
value={country ? country.label : answer.country}
|
|
76
|
+
/>
|
|
77
|
+
)}
|
|
78
|
+
{role && <StaticInput label="Roll" value={role.text} />}
|
|
79
|
+
{answer.ambassadorCountry && (
|
|
80
|
+
<StaticInput label="Ambassadörsland" value={answer.ambassadorCountry} />
|
|
81
|
+
)}
|
|
82
|
+
{answer.governmentCompany && (
|
|
83
|
+
<StaticInput label="Företagets namn" value={answer.governmentCompany} />
|
|
84
|
+
)}
|
|
85
|
+
{answer.governmentCompanyRole && (
|
|
86
|
+
<StaticInput
|
|
87
|
+
label="Roll på företaget"
|
|
88
|
+
value={answer.governmentCompanyRole}
|
|
89
|
+
/>
|
|
90
|
+
)}
|
|
91
|
+
{answer.internationalOrganisation && (
|
|
92
|
+
<StaticInput
|
|
93
|
+
label="Organisationens namn"
|
|
94
|
+
value={answer.internationalOrganisation}
|
|
95
|
+
/>
|
|
96
|
+
)}
|
|
97
|
+
{answer.internationalOrganisationRole && (
|
|
98
|
+
<StaticInput
|
|
99
|
+
label="Roll i organisationen"
|
|
100
|
+
value={answer.internationalOrganisationRole}
|
|
101
|
+
/>
|
|
102
|
+
)}
|
|
103
|
+
{militaryRank && (
|
|
104
|
+
<StaticInput label="Militär grad" value={militaryRank.value} />
|
|
105
|
+
)}
|
|
106
|
+
</div>
|
|
107
|
+
);
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
interface StaticInputProps {
|
|
111
|
+
label: string;
|
|
112
|
+
value: string | React.ReactNode;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const StaticInput: FunctionComponent<StaticInputProps> = ({ label, value }) => {
|
|
116
|
+
return (
|
|
117
|
+
<div className="static-input">
|
|
118
|
+
<div className="label">{label}</div>
|
|
119
|
+
<div className="value">{value}</div>
|
|
120
|
+
</div>
|
|
121
|
+
);
|
|
122
|
+
};
|