@lysaab/lysa-pep 7.0.0 → 7.0.1

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.
Files changed (84) hide show
  1. package/package.json +8 -8
  2. package/lib/README.md +0 -51
  3. package/lib/package.json +0 -73
  4. package/public/favicon.ico +0 -0
  5. package/public/index.html +0 -43
  6. package/public/logo192.png +0 -0
  7. package/public/logo512.png +0 -0
  8. package/public/manifest.json +0 -25
  9. package/public/robots.txt +0 -2
  10. package/src/App.scss +0 -5
  11. package/src/App.test.tsx +0 -9
  12. package/src/App.tsx +0 -17
  13. package/src/Exports.ts +0 -12
  14. package/src/components/PepAnswers.scss +0 -7
  15. package/src/components/PepAnswers.tsx +0 -218
  16. package/src/demo/Done.tsx +0 -21
  17. package/src/demo/Localization.tsx +0 -66
  18. package/src/demo/LocalizationContext.tsx +0 -61
  19. package/src/demo/Pep.tsx +0 -172
  20. package/src/index.css +0 -13
  21. package/src/index.tsx +0 -13
  22. package/src/locales/da.json +0 -98
  23. package/src/locales/de.json +0 -98
  24. package/src/locales/defaultMessages.json +0 -335
  25. package/src/locales/en.json +0 -98
  26. package/src/locales/fi.json +0 -98
  27. package/src/locales/sv.json +0 -98
  28. package/src/locales/whitelist_da.json +0 -2
  29. package/src/locales/whitelist_en.json +0 -2
  30. package/src/locales/whitelist_fi.json +0 -2
  31. package/src/locales/whitelist_sv.json +0 -2
  32. package/src/logo.svg +0 -1
  33. package/src/model/PepModel.ts +0 -54
  34. package/src/pages/IsPep/IsPepMessages.ts +0 -11
  35. package/src/pages/IsPep/IsPepPage.tsx +0 -119
  36. package/src/pages/PepContext.tsx +0 -150
  37. package/src/pages/RelationPage/RelationMessages.ts +0 -74
  38. package/src/pages/RelationPage/RelationPage.tsx +0 -306
  39. package/src/pages/RolePage/RoleMessages.ts +0 -128
  40. package/src/pages/RolePage/RolePage.tsx +0 -359
  41. package/src/pages/StatusPage/StatusMessages.ts +0 -59
  42. package/src/pages/StatusPage/StatusPage.tsx +0 -237
  43. package/src/react-app-env.d.ts +0 -1
  44. package/src/serviceWorker.ts +0 -143
  45. package/src/utils/Possession.ts +0 -41
  46. package/translationRunner.js +0 -7
  47. package/tsconfig.json +0 -26
  48. package/tsconfig_build.json +0 -19
  49. /package/{lib/Exports.d.ts → Exports.d.ts} +0 -0
  50. /package/{lib/Exports.js → Exports.js} +0 -0
  51. /package/{lib/components → components}/PepAnswers.d.ts +0 -0
  52. /package/{lib/components → components}/PepAnswers.js +0 -0
  53. /package/{lib/components → components}/PepAnswers.scss +0 -0
  54. /package/{lib/messages → messages}/src/components/PepAnswers.json +0 -0
  55. /package/{lib/messages → messages}/src/pages/IsPep/IsPepMessages.json +0 -0
  56. /package/{lib/messages → messages}/src/pages/IsPep/IsPepPage.json +0 -0
  57. /package/{lib/messages → messages}/src/pages/RelationPage/RelationMessages.json +0 -0
  58. /package/{lib/messages → messages}/src/pages/RelationPage/RelationPage.json +0 -0
  59. /package/{lib/messages → messages}/src/pages/RolePage/RoleMessages.json +0 -0
  60. /package/{lib/messages → messages}/src/pages/RolePage/RolePage.json +0 -0
  61. /package/{lib/messages → messages}/src/pages/StatusPage/StatusMessages.json +0 -0
  62. /package/{lib/messages → messages}/src/pages/StatusPage/StatusPage.json +0 -0
  63. /package/{lib/model → model}/PepModel.d.ts +0 -0
  64. /package/{lib/model → model}/PepModel.js +0 -0
  65. /package/{lib/pages → pages}/IsPep/IsPepMessages.d.ts +0 -0
  66. /package/{lib/pages → pages}/IsPep/IsPepMessages.js +0 -0
  67. /package/{lib/pages → pages}/IsPep/IsPepPage.d.ts +0 -0
  68. /package/{lib/pages → pages}/IsPep/IsPepPage.js +0 -0
  69. /package/{lib/pages → pages}/PepContext.d.ts +0 -0
  70. /package/{lib/pages → pages}/PepContext.js +0 -0
  71. /package/{lib/pages → pages}/RelationPage/RelationMessages.d.ts +0 -0
  72. /package/{lib/pages → pages}/RelationPage/RelationMessages.js +0 -0
  73. /package/{lib/pages → pages}/RelationPage/RelationPage.d.ts +0 -0
  74. /package/{lib/pages → pages}/RelationPage/RelationPage.js +0 -0
  75. /package/{lib/pages → pages}/RolePage/RoleMessages.d.ts +0 -0
  76. /package/{lib/pages → pages}/RolePage/RoleMessages.js +0 -0
  77. /package/{lib/pages → pages}/RolePage/RolePage.d.ts +0 -0
  78. /package/{lib/pages → pages}/RolePage/RolePage.js +0 -0
  79. /package/{lib/pages → pages}/StatusPage/StatusMessages.d.ts +0 -0
  80. /package/{lib/pages → pages}/StatusPage/StatusMessages.js +0 -0
  81. /package/{lib/pages → pages}/StatusPage/StatusPage.d.ts +0 -0
  82. /package/{lib/pages → pages}/StatusPage/StatusPage.js +0 -0
  83. /package/{lib/utils → utils}/Possession.d.ts +0 -0
  84. /package/{lib/utils → utils}/Possession.js +0 -0
@@ -1,359 +0,0 @@
1
- import React, {
2
- FunctionComponent,
3
- useRef,
4
- useCallback,
5
- useContext,
6
- } from "react";
7
- import { Alternative } from "@lysaab/ui-2/components/input/InputAPI";
8
- import {
9
- LysaFormRef,
10
- Form,
11
- RequiredValidator,
12
- TextInput,
13
- Select,
14
- Card,
15
- CountrySelect,
16
- Language,
17
- Button,
18
- } from "@lysaab/ui-2";
19
- import {
20
- PepContext,
21
- Role,
22
- MilitaryRank,
23
- PepType,
24
- EntityType,
25
- } from "../PepContext";
26
- import { useIntl, IntlShape, FormattedMessage } from "react-intl";
27
- import {
28
- roleMessages,
29
- ambassadorMessages,
30
- governmentCompanyMessages,
31
- intCompanyMessages,
32
- militaryMessages,
33
- } from "./RoleMessages";
34
- import { formatPossessive } from "../../utils/Possession";
35
-
36
- interface Props {
37
- language: Language;
38
- next: () => void;
39
- }
40
-
41
- export const RolePage: FunctionComponent<Props> = ({ language, next }) => {
42
- const pepContext = useContext(PepContext);
43
- const formRef = useRef<LysaFormRef>();
44
- const intl = useIntl();
45
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
46
- const type = pepContext.state.type;
47
-
48
- const roleAlternatives: Alternative<Role>[] = getRoleAlts(intl);
49
- const militaryAlternatives: Alternative<MilitaryRank>[] =
50
- getMilitaryAlts(intl);
51
-
52
- const nextPage = useCallback(() => {
53
- if (formRef.current && formRef.current.isValid) {
54
- next();
55
- }
56
- }, [formRef, next]);
57
-
58
- const resetRoleFields = useCallback(() => {
59
- pepContext.setState({
60
- ambassadorCountry: undefined,
61
- governmentCompany: undefined,
62
- governmentCompanyRole: undefined,
63
- internationalOrganisation: undefined,
64
- internationalOrganisationRole: undefined,
65
- militaryRank: undefined,
66
- });
67
- }, [pepContext]);
68
-
69
- if (!type || type === PepType.NOT_PEP) {
70
- return null;
71
- }
72
-
73
- return (
74
- <Form onSubmit={() => nextPage()} lysaFormRef={formRef}>
75
- <Card>
76
- <Select
77
- label={intl.formatMessage(roleMessages.header, {
78
- entityType,
79
- pepType: type,
80
- relation:
81
- pepContext.state.type === PepType.COLLEAGUE
82
- ? pepContext.state.businessRelation
83
- : pepContext.state.relationToPEP,
84
- name: pepContext.state.ownerName,
85
- possessiveName: formatPossessive(
86
- pepContext.state.ownerName,
87
- intl.locale
88
- ),
89
- })}
90
- placeholder={intl.formatMessage(roleMessages.placeholder)}
91
- alternatives={roleAlternatives}
92
- value={roleAlternatives.find(
93
- (alt) => alt.value === pepContext.state.role
94
- )}
95
- onChange={(event) => {
96
- pepContext.setState({ role: event.value as Role });
97
- resetRoleFields();
98
- }}
99
- validators={[
100
- new RequiredValidator(intl.formatMessage(roleMessages.required)),
101
- ]}
102
- />
103
-
104
- {pepContext.state.role && pepContext.state.role === Role.AMBASSADOR ? (
105
- <CountrySelect
106
- label={intl.formatMessage(ambassadorMessages.header, {
107
- entityType,
108
- pepType: type,
109
- relation:
110
- pepContext.state.type === PepType.COLLEAGUE
111
- ? pepContext.state.businessRelation
112
- : pepContext.state.relationToPEP,
113
- name: pepContext.state.ownerName,
114
- })}
115
- onChange={(event) =>
116
- pepContext.setState({
117
- ambassadorCountry: event.value ? event.value : undefined,
118
- })
119
- }
120
- value={pepContext.state.ambassadorCountry}
121
- validators={[
122
- new RequiredValidator(
123
- intl.formatMessage(ambassadorMessages.required)
124
- ),
125
- ]}
126
- language={language}
127
- placeholder={intl.formatMessage(ambassadorMessages.placeholder)}
128
- />
129
- ) : null}
130
-
131
- {pepContext.state.role &&
132
- pepContext.state.role === Role.GOVERNMENT_COMPANY ? (
133
- <React.Fragment>
134
- <TextInput
135
- label={intl.formatMessage(governmentCompanyMessages.nameHeader, {
136
- entityType,
137
- pepType: type,
138
- relation:
139
- pepContext.state.type === PepType.COLLEAGUE
140
- ? pepContext.state.businessRelation
141
- : pepContext.state.relationToPEP,
142
- name: pepContext.state.ownerName,
143
- })}
144
- value={pepContext.state.governmentCompany || ""}
145
- onChange={(value) => {
146
- pepContext.setState({ governmentCompany: value });
147
- }}
148
- validators={[
149
- new RequiredValidator(
150
- intl.formatMessage(governmentCompanyMessages.nameRequired)
151
- ),
152
- ]}
153
- />
154
- <TextInput
155
- label={intl.formatMessage(governmentCompanyMessages.roleHeader, {
156
- entityType,
157
- pepType: type,
158
- relation:
159
- pepContext.state.type === PepType.COLLEAGUE
160
- ? pepContext.state.businessRelation
161
- : pepContext.state.relationToPEP,
162
- name: pepContext.state.ownerName,
163
- })}
164
- value={pepContext.state.governmentCompanyRole || ""}
165
- onChange={(value) => {
166
- pepContext.setState({
167
- governmentCompanyRole: value,
168
- });
169
- }}
170
- validators={[
171
- new RequiredValidator(
172
- intl.formatMessage(governmentCompanyMessages.roleRequired)
173
- ),
174
- ]}
175
- />
176
- </React.Fragment>
177
- ) : null}
178
-
179
- {pepContext.state.role &&
180
- pepContext.state.role ===
181
- Role.HIGH_RANKING_POSITION_INTERNALTIONAL_CORP ? (
182
- <React.Fragment>
183
- <TextInput
184
- label={intl.formatMessage(intCompanyMessages.nameHeader, {
185
- entityType,
186
- pepType: type,
187
- relation:
188
- pepContext.state.type === PepType.COLLEAGUE
189
- ? pepContext.state.businessRelation
190
- : pepContext.state.relationToPEP,
191
- name: pepContext.state.ownerName,
192
- })}
193
- value={pepContext.state.internationalOrganisation || ""}
194
- onChange={(value) => {
195
- pepContext.setState({ internationalOrganisation: value });
196
- }}
197
- validators={[
198
- new RequiredValidator(
199
- intl.formatMessage(intCompanyMessages.nameRequired)
200
- ),
201
- ]}
202
- />
203
- <TextInput
204
- label={intl.formatMessage(intCompanyMessages.roleHeader, {
205
- entityType,
206
- pepType: type,
207
- relation:
208
- pepContext.state.type === PepType.COLLEAGUE
209
- ? pepContext.state.businessRelation
210
- : pepContext.state.relationToPEP,
211
- name: pepContext.state.ownerName,
212
- })}
213
- value={pepContext.state.internationalOrganisationRole || ""}
214
- onChange={(value) => {
215
- pepContext.setState({
216
- internationalOrganisationRole: value,
217
- });
218
- }}
219
- validators={[
220
- new RequiredValidator(
221
- intl.formatMessage(intCompanyMessages.roleRequired)
222
- ),
223
- ]}
224
- />
225
- </React.Fragment>
226
- ) : null}
227
-
228
- {pepContext.state.role &&
229
- pepContext.state.role === Role.MILITARY_OFFICER ? (
230
- <Select
231
- label={intl.formatMessage(militaryMessages.header, {
232
- entityType,
233
- pepType: type,
234
- relation:
235
- pepContext.state.type === PepType.COLLEAGUE
236
- ? pepContext.state.businessRelation
237
- : pepContext.state.relationToPEP,
238
- name: pepContext.state.ownerName,
239
- possessiveName: formatPossessive(
240
- pepContext.state.ownerName,
241
- intl.locale
242
- ),
243
- })}
244
- placeholder={intl.formatMessage(militaryMessages.placeholder)}
245
- alternatives={militaryAlternatives}
246
- value={militaryAlternatives.find(
247
- (alt) => alt.value === pepContext.state.militaryRank
248
- )}
249
- onChange={(event) => {
250
- pepContext.setState({
251
- militaryRank: event.value as MilitaryRank,
252
- });
253
- }}
254
- validators={[
255
- new RequiredValidator(
256
- intl.formatMessage(militaryMessages.required)
257
- ),
258
- ]}
259
- />
260
- ) : null}
261
- </Card>
262
- <Button
263
- block
264
- type="submit"
265
- label={<FormattedMessage id="pep.role.next" />}
266
- />
267
- </Form>
268
- );
269
- };
270
-
271
- export function getRoleAlts(intl: IntlShape): Alternative<Role>[] {
272
- return [
273
- {
274
- text: intl.formatMessage(roleMessages[Role.HEAD_OF_GOVERNMENT]),
275
- value: Role.HEAD_OF_GOVERNMENT,
276
- },
277
- {
278
- text: intl.formatMessage(roleMessages[Role.MINISTER]),
279
- value: Role.MINISTER,
280
- },
281
- {
282
- text: intl.formatMessage(roleMessages[Role.PARLIMENT_MEMBER]),
283
- value: Role.PARLIMENT_MEMBER,
284
- },
285
- {
286
- text: intl.formatMessage(roleMessages[Role.CENTRAL_BANK_MEMBER]),
287
- value: Role.CENTRAL_BANK_MEMBER,
288
- },
289
- {
290
- text: intl.formatMessage(roleMessages[Role.BOARD_MEMBER_POLITICAL_PARTY]),
291
- value: Role.BOARD_MEMBER_POLITICAL_PARTY,
292
- },
293
- {
294
- text: intl.formatMessage(roleMessages[Role.JUDGE_SUPREME_COURT]),
295
- value: Role.JUDGE_SUPREME_COURT,
296
- },
297
- {
298
- text: intl.formatMessage(roleMessages[Role.JUDGE_OTHER_HIGH_COURT]),
299
- value: Role.JUDGE_OTHER_HIGH_COURT,
300
- },
301
- {
302
- text: intl.formatMessage(roleMessages[Role.REVISION_INSTITUTE]),
303
- value: Role.REVISION_INSTITUTE,
304
- },
305
- {
306
- text: intl.formatMessage(roleMessages[Role.AMBASSADOR]),
307
- value: Role.AMBASSADOR,
308
- },
309
- {
310
- text: intl.formatMessage(roleMessages[Role.MILITARY_OFFICER]),
311
- value: Role.MILITARY_OFFICER,
312
- },
313
- {
314
- text: intl.formatMessage(roleMessages[Role.GOVERNMENT_COMPANY]),
315
- value: Role.GOVERNMENT_COMPANY,
316
- },
317
- {
318
- text: intl.formatMessage(roleMessages[Role.EU_HIGH_RANKING_POSITION]),
319
- value: Role.EU_HIGH_RANKING_POSITION,
320
- },
321
- {
322
- text: intl.formatMessage(
323
- roleMessages[Role.HIGH_RANKING_POSITION_INTERNALTIONAL_CORP]
324
- ),
325
- value: Role.HIGH_RANKING_POSITION_INTERNALTIONAL_CORP,
326
- },
327
- ];
328
- }
329
-
330
- export function getMilitaryAlts(intl: IntlShape): Alternative<MilitaryRank>[] {
331
- return [
332
- {
333
- text: intl.formatMessage(militaryMessages[MilitaryRank.GENERAL]),
334
- value: MilitaryRank.GENERAL,
335
- },
336
- {
337
- text: intl.formatMessage(
338
- militaryMessages[MilitaryRank.LIEUTENANT_GENERAL]
339
- ),
340
- value: MilitaryRank.LIEUTENANT_GENERAL,
341
- },
342
- {
343
- text: intl.formatMessage(militaryMessages[MilitaryRank.MAJOR_GENERAL]),
344
- value: MilitaryRank.MAJOR_GENERAL,
345
- },
346
- {
347
- text: intl.formatMessage(militaryMessages[MilitaryRank.ADMIRAL]),
348
- value: MilitaryRank.ADMIRAL,
349
- },
350
- {
351
- text: intl.formatMessage(militaryMessages[MilitaryRank.VICE_ADMIRAL]),
352
- value: MilitaryRank.VICE_ADMIRAL,
353
- },
354
- {
355
- text: intl.formatMessage(militaryMessages[MilitaryRank.REAR_ADMIRAL]),
356
- value: MilitaryRank.REAR_ADMIRAL,
357
- },
358
- ];
359
- }
@@ -1,59 +0,0 @@
1
- import { defineMessages } from "react-intl";
2
- import { PepStatus } from "../PepContext";
3
-
4
- export const isOngoingMessages = defineMessages({
5
- header: {
6
- id: "pep.status.isongoing.header",
7
- },
8
- required: {
9
- id: "pep.status.isongoing.required",
10
- },
11
- });
12
-
13
- export const endedMessages = defineMessages({
14
- header: {
15
- id: "pep.status.ended.header",
16
- },
17
- required: {
18
- id: "pep.status.ended.required",
19
- },
20
- });
21
-
22
- export const isLocalCountryMessages = defineMessages({
23
- header: {
24
- id: "pep.status.localcountry.header",
25
- },
26
- required: {
27
- id: "pep.status.localcountry.required",
28
- },
29
- });
30
-
31
- export const countrySelectionMessages = defineMessages({
32
- header: {
33
- id: "pep.status.countryselecton.header",
34
- },
35
- required: {
36
- id: "pep.status.countryselecton.required",
37
- },
38
- placeholder: {
39
- id: "pep.status.countryselection.placeholder"
40
- }
41
- });
42
-
43
- export const localCountryAltMessages = defineMessages({
44
- localCountry: {
45
- id: "pep.status.localcountryalt.local",
46
- },
47
- otherCountry: {
48
- id: "pep.status.othercountryalt.other",
49
- },
50
- });
51
-
52
- export const stateAltMessages = defineMessages({
53
- [PepStatus.ONGOING]: {
54
- id: "pep.status.state.ONGOING",
55
- },
56
- [PepStatus.ENDED]: {
57
- id: "pep.status.state.ENDED",
58
- },
59
- });
@@ -1,237 +0,0 @@
1
- import React, {
2
- FunctionComponent,
3
- useRef,
4
- useCallback,
5
- useContext,
6
- } from "react";
7
- import {
8
- Form,
9
- RadioGroup,
10
- RequiredValidator,
11
- LysaFormRef,
12
- Datepicker,
13
- Card,
14
- CountrySelect,
15
- Language,
16
- WorldCountry,
17
- Button,
18
- } from "@lysaab/ui-2";
19
- import { Alternative } from "@lysaab/ui-2/components/input/InputAPI";
20
- import { PepContext, PepStatus, EntityType, PepType } from "../PepContext";
21
- import { useIntl, FormattedMessage, IntlShape } from "react-intl";
22
- import {
23
- isOngoingMessages,
24
- endedMessages,
25
- isLocalCountryMessages,
26
- countrySelectionMessages,
27
- localCountryAltMessages,
28
- stateAltMessages,
29
- } from "./StatusMessages";
30
- import { formatPossessive } from "../../utils/Possession";
31
-
32
- interface Props {
33
- countryName: string;
34
- countryCode: WorldCountry;
35
- language: Language;
36
- next: () => void;
37
- }
38
-
39
- export const StatusPage: FunctionComponent<Props> = ({
40
- countryName,
41
- countryCode,
42
- language,
43
- next,
44
- }) => {
45
- const pepContext = useContext(PepContext);
46
- const formRef = useRef<LysaFormRef>();
47
- const intl = useIntl();
48
- const stateAlternatives = getStateAlternatives(intl);
49
- const isLocalCountryAlternatives = getIsLocalCountryAlternatives(
50
- intl,
51
- countryName
52
- );
53
- const entityType = pepContext.state.legalEntityType || EntityType.PERSON;
54
-
55
- const nextPage = useCallback(() => {
56
- if (formRef.current && formRef.current.isValid) {
57
- next();
58
- }
59
- }, [formRef, next]);
60
-
61
- const updateIsLocalCountry = useCallback(
62
- (alternative: Alternative<string>) => {
63
- pepContext.setState({ isLocalCountry: alternative.value });
64
-
65
- if (alternative.value === "other") {
66
- pepContext.setState({ country: undefined });
67
- } else {
68
- pepContext.setState({ country: countryCode });
69
- }
70
- },
71
- [pepContext, countryCode]
72
- );
73
-
74
- const updateIsOngoing = useCallback(
75
- (alternative: Alternative<PepStatus>) => {
76
- pepContext.setState({ isOngoing: alternative.value });
77
-
78
- if (alternative.value === PepStatus.ONGOING) {
79
- pepContext.setState({ ended: undefined });
80
- }
81
- },
82
- [pepContext]
83
- );
84
-
85
- return (
86
- <div>
87
- <Form
88
- lysaFormRef={formRef}
89
- onSubmit={() => {
90
- nextPage();
91
- }}
92
- >
93
- <Card>
94
- <RadioGroup
95
- alternatives={stateAlternatives}
96
- header={intl.formatMessage(isOngoingMessages.header, {
97
- entityType,
98
- name: pepContext.state.ownerName,
99
- possessiveName: formatPossessive(
100
- pepContext.state.ownerName,
101
- intl.locale
102
- ),
103
- relation:
104
- pepContext.state.type === PepType.COLLEAGUE
105
- ? pepContext.state.businessRelation
106
- : pepContext.state.relationToPEP,
107
- pepType: pepContext.state.type,
108
- })}
109
- onChange={updateIsOngoing}
110
- value={stateAlternatives.find(
111
- (alt) => alt.value === pepContext.state.isOngoing
112
- )}
113
- validators={[
114
- new RequiredValidator(
115
- intl.formatMessage(isOngoingMessages.required)
116
- ),
117
- ]}
118
- />
119
-
120
- {pepContext.state.isOngoing &&
121
- pepContext.state.isOngoing === PepStatus.ENDED ? (
122
- <Datepicker
123
- label={intl.formatMessage(endedMessages.header)}
124
- selected={pepContext.state.ended}
125
- onChange={(event) => {
126
- // event has a type that says it can be [startDate, endDate]
127
- // but we know that will never be the case here
128
- pepContext.setState({ ended: (event as Date) || undefined });
129
- }}
130
- validators={[
131
- new RequiredValidator(
132
- intl.formatMessage(endedMessages.required)
133
- ),
134
- ]}
135
- showMonthYearPicker
136
- dateFormat="yyyy-MM"
137
- maxDate={new Date()}
138
- />
139
- ) : null}
140
- </Card>
141
-
142
- <Card>
143
- <RadioGroup
144
- alternatives={isLocalCountryAlternatives}
145
- header={intl.formatMessage(isLocalCountryMessages.header, {
146
- possessiveName: formatPossessive(
147
- pepContext.state.ownerName,
148
- intl.locale
149
- ),
150
- })}
151
- onChange={updateIsLocalCountry}
152
- value={isLocalCountryAlternatives.find(
153
- (alt) => alt.value === pepContext.state.isLocalCountry
154
- )}
155
- validators={[
156
- new RequiredValidator(
157
- intl.formatMessage(isLocalCountryMessages.required)
158
- ),
159
- ]}
160
- />
161
-
162
- {pepContext.state.isLocalCountry &&
163
- pepContext.state.isLocalCountry === "other" ? (
164
- <CountrySelect
165
- label={intl.formatMessage(countrySelectionMessages.header, {
166
- entityType,
167
- name: pepContext.state.ownerName,
168
- possessiveName: formatPossessive(
169
- pepContext.state.ownerName,
170
- intl.locale
171
- ),
172
- relation:
173
- pepContext.state.type === PepType.COLLEAGUE
174
- ? pepContext.state.businessRelation
175
- : pepContext.state.relationToPEP,
176
- pepType: pepContext.state.type,
177
- })}
178
- onChange={(event) =>
179
- pepContext.setState({
180
- country: event.value ? event.value : undefined,
181
- })
182
- }
183
- validators={[
184
- new RequiredValidator(
185
- intl.formatMessage(countrySelectionMessages.required)
186
- ),
187
- ]}
188
- value={pepContext.state.country}
189
- omitList={[countryCode]}
190
- language={language}
191
- placeholder={intl.formatMessage(
192
- countrySelectionMessages.placeholder
193
- )}
194
- />
195
- ) : null}
196
- </Card>
197
-
198
- <Button
199
- label={<FormattedMessage id="pep.status.next" />}
200
- block
201
- type="submit"
202
- />
203
- </Form>
204
- </div>
205
- );
206
- };
207
-
208
- function getIsLocalCountryAlternatives(
209
- intl: IntlShape,
210
- countryName: string
211
- ): Alternative<string>[] {
212
- return [
213
- {
214
- text: intl.formatMessage(localCountryAltMessages.localCountry, {
215
- countryName,
216
- }),
217
- value: "local",
218
- },
219
- {
220
- text: intl.formatMessage(localCountryAltMessages.otherCountry),
221
- value: "other",
222
- },
223
- ];
224
- }
225
-
226
- function getStateAlternatives(intl: IntlShape): Alternative<PepStatus>[] {
227
- return [
228
- {
229
- text: intl.formatMessage(stateAltMessages[PepStatus.ONGOING]),
230
- value: PepStatus.ONGOING,
231
- },
232
- {
233
- text: intl.formatMessage(stateAltMessages[PepStatus.ENDED]),
234
- value: PepStatus.ENDED,
235
- },
236
- ];
237
- }
@@ -1 +0,0 @@
1
- /// <reference types="react-scripts" />