@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.
@@ -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 && possessiveName[possessiveName.length - 1] !== "s" && possessiveName[possessiveName.length - 1] !== "z" && possessiveName[possessiveName.length - 1] !== "x") {
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 rang`
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 du har en relation till`
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"} rang`
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 || "din"} sambo?`,
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 || "din"} sambos grad`,
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 ${name ||
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,7 +1,7 @@
1
1
  {
2
2
  "name": "@lysaab/lysa-pep",
3
3
  "author": "Lysa AB",
4
- "version": "0.10.0",
4
+ "version": "0.12.0",
5
5
  "main": "./lib/Exports.js",
6
6
  "dependencies": {
7
7
  "@lysaab/ui-2": "^8.7.0",
@@ -1,6 +1,7 @@
1
- import React, { useState, useEffect, FunctionComponent } from "react";
2
- import { Alternative, API, Select } from "@lysaab/ui-2";
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 [countries, setCountries] = useState<Alternative[]>([]);
37
-
38
- useEffect(() => {
39
- getCountries().then(response => {
40
- setCountries(
41
- response.filter(country => !(removeSweden && country.value === 'SE')).map(
42
- (country): Alternative => {
43
- return { text: country.label, value: country.value };
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={countries}
41
+ alternatives={countryAlternatives}
53
42
  placeholder={"Välj ett land"}
54
- value={countries.find(country => country.value === value)}
43
+ value={countryAlternatives.find(country => country.value === value)}
55
44
  {...props}
56
45
  />
57
46
  );
@@ -0,0 +1,7 @@
1
+ .static-input {
2
+ margin-bottom: 8px;
3
+
4
+ .label {
5
+ font-weight: bold;
6
+ }
7
+ }
@@ -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
+ };