From eebf1c90af4fcf093b2de9be25b9e70d21b729ac Mon Sep 17 00:00:00 2001 From: Klara M Helgemo Date: Fri, 20 Oct 2023 13:22:09 +0200 Subject: [PATCH 1/6] Vis telefonnummer selv om prioritet 1 mangler --- src/component/personinfo/personinfo.tsx | 9 +++++++-- src/util/selectors.ts | 13 ++++++++++++- src/util/utils.ts | 3 +-- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/component/personinfo/personinfo.tsx b/src/component/personinfo/personinfo.tsx index b4f573bc..5f4c82cd 100644 --- a/src/component/personinfo/personinfo.tsx +++ b/src/component/personinfo/personinfo.tsx @@ -5,7 +5,12 @@ import ArbeidslisteKnapp from '../arbeidsliste/arbeidsliste-knapp'; import { KopierKnappTekst } from '../components/kopier-knapp/kopier-knapp'; import { useAppStore } from '../../store/app-store'; import { useDataStore } from '../../store/data-store'; -import { selectKanLeggeIArbeidsListe, selectKanRedigereArbeidsliste, selectSammensattNavn } from '../../util/selectors'; +import { + selectKanLeggeIArbeidsListe, + selectKanRedigereArbeidsliste, + selectSammensattNavn, + selectTelefonnummer +} from '../../util/selectors'; import { useModalStore } from '../../store/modal-store'; import './personinfo.less'; import { logMetrikk } from '../../util/logger'; @@ -29,7 +34,7 @@ function PersonInfo() { logMetrikk('veilarbvisittkortfs.metrikker.visittkort.arbeidsliste-ikon', { kategori: arbeidslisteikon }); showArbeidslisteModal(); }; - const uformattertTelefon: StringOrNothing = personalia?.telefon?.find(entry => entry.prioritet === '1')?.telefonNr; + const uformattertTelefon: StringOrNothing = selectTelefonnummer(personalia); const telefon: string = formaterTelefonnummer(uformattertTelefon); return ( diff --git a/src/util/selectors.ts b/src/util/selectors.ts index c3d561c7..2e572a79 100644 --- a/src/util/selectors.ts +++ b/src/util/selectors.ts @@ -4,7 +4,7 @@ import { Oppfolging, OppfolgingStatus, TilgangTilBrukersKontor } from '../api/ve import { Personalia } from '../api/veilarbperson'; import { Arbeidsliste } from '../api/veilarbportefolje'; import { VeilederData } from '../api/veilarbveileder'; -import { OrNothing } from './type/utility-types'; +import { OrNothing, StringOrNothing } from './type/utility-types'; export function selectSammensattNavn(personalia: Personalia | undefined): string { if (!personalia) return ''; @@ -129,3 +129,14 @@ export function selectKanTildeleVeileder( if (!oppfolging || !tilgangTilBrukersKontor) return false; return oppfolging.underOppfolging && tilgangTilBrukersKontor.tilgangTilBrukersKontor; } + +export function selectTelefonnummer(personalia: Personalia | undefined): StringOrNothing { + if (!personalia?.telefon) return ''; + if (personalia.telefon.find(entry => entry.prioritet === '1')) + return personalia.telefon.find(entry => entry.prioritet === '1')?.telefonNr; + if (personalia.telefon.find(entry => entry.prioritet === '2')) + return personalia.telefon.find(entry => entry.prioritet === '2')?.telefonNr; + if (personalia.telefon.find(entry => entry.prioritet === '3')) + return personalia.telefon.find(entry => entry.prioritet === '3')?.telefonNr; + return; +} diff --git a/src/util/utils.ts b/src/util/utils.ts index 744c6354..6a445d53 100644 --- a/src/util/utils.ts +++ b/src/util/utils.ts @@ -1,5 +1,4 @@ import { AxiosResponse } from 'axios'; -import { PersonaliaTelefon } from '../api/veilarbperson'; import { StringOrNothing } from './type/utility-types'; const emdashCharacterCode = 8212; @@ -68,7 +67,7 @@ export function isDefined(subject: any): boolean { return subject !== undefined && subject !== null; } -export function formaterTelefonnummer(telefon: PersonaliaTelefon | undefined | string) { +export function formaterTelefonnummer(telefon: StringOrNothing) { if (!telefon) { return EMDASH; } From d3b7cb46aa86b14ab412dac595f444ba0428881c Mon Sep 17 00:00:00 2001 From: Klara M Helgemo Date: Mon, 23 Oct 2023 14:50:28 +0200 Subject: [PATCH 2/6] Fjern landkode fra norske telefonnummer --- src/mock/api/veilarbperson.ts | 44 +++++++++++++++++------------------ src/util/utils.ts | 11 ++++++--- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/src/mock/api/veilarbperson.ts b/src/mock/api/veilarbperson.ts index 6642c621..c9d3aa95 100644 --- a/src/mock/api/veilarbperson.ts +++ b/src/mock/api/veilarbperson.ts @@ -7,35 +7,33 @@ import { RegistreringData, SpraakTolk, VergeOgFullmakt -} from "../../api/veilarbperson"; +} from '../../api/veilarbperson'; import { defaultNetworkResponseDelay } from '../config'; const mockHarBruktNivaa4: HarBruktNivaa4Type = { harbruktnivaa4: false }; -const mockTelefon: PersonaliaTelefon[] = - [ - { - prioritet: '1', - telefonNr: '+4746333333', - registrertDato: '10.07.2008', - master: 'FREG' - - }, - { - prioritet: '2', - telefonNr: '80022222', - registrertDato: '10.04.2010', - master: 'KRR' - }, - { - prioritet: '3', - telefonNr: '44222444', - registrertDato: null, - master: 'PDL' - } - ] +const mockTelefon: PersonaliaTelefon[] = [ + { + prioritet: '1', + telefonNr: '0047 463 33 333', + registrertDato: '10.07.2008', + master: 'FREG' + }, + { + prioritet: '2', + telefonNr: '+47 80 02 22 22', + registrertDato: '10.04.2010', + master: 'KRR' + }, + { + prioritet: '3', + telefonNr: '0044 207 860 11 29', + registrertDato: null, + master: 'PDL' + } +]; const mockPersonaliaV2: Personalia = { fornavn: 'GRØNN', diff --git a/src/util/utils.ts b/src/util/utils.ts index 6a445d53..15970f58 100644 --- a/src/util/utils.ts +++ b/src/util/utils.ts @@ -68,18 +68,22 @@ export function isDefined(subject: any): boolean { } export function formaterTelefonnummer(telefon: StringOrNothing) { + let norskTelefonnummer = false; + if (!telefon) { return EMDASH; } - let telefonNr = telefon?.toString(); + let telefonNr = telefon?.toString().replace(/\s/g, ''); let landkode = ''; if (telefonNr?.startsWith('0047')) { landkode = '+47'; telefonNr = telefonNr.slice(4); + norskTelefonnummer = true; } else if (telefonNr?.startsWith('+47')) { landkode = telefonNr.slice(0, 3); telefonNr = telefonNr.slice(3); + norskTelefonnummer = true; } const tall = telefonNr?.split(''); @@ -88,8 +92,9 @@ export function formaterTelefonnummer(telefon: StringOrNothing) { while (tall?.length) { splittTall.push(tall.splice(0, 2).join('')); } - - return `${landkode} ${splittTall.join(' ')}`; + if (norskTelefonnummer) { + return splittTall.join(' '); + } else return `${landkode} ${splittTall.join(' ')}`; } export type DeploymentEnvironment = 'local' | 'development' | 'production'; From af7690125c10e6d25b27095f3c764793bf2b4523 Mon Sep 17 00:00:00 2001 From: Klara M Helgemo Date: Mon, 23 Oct 2023 15:04:14 +0200 Subject: [PATCH 3/6] Endre utvelgelse av telefonnummer etter innspill --- src/mock/api/veilarbperson.ts | 4 ++-- src/util/selectors.ts | 17 +++++++++-------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/mock/api/veilarbperson.ts b/src/mock/api/veilarbperson.ts index c9d3aa95..a05a6c2b 100644 --- a/src/mock/api/veilarbperson.ts +++ b/src/mock/api/veilarbperson.ts @@ -16,13 +16,13 @@ const mockHarBruktNivaa4: HarBruktNivaa4Type = { const mockTelefon: PersonaliaTelefon[] = [ { - prioritet: '1', + prioritet: '2', telefonNr: '0047 463 33 333', registrertDato: '10.07.2008', master: 'FREG' }, { - prioritet: '2', + prioritet: '1', telefonNr: '+47 80 02 22 22', registrertDato: '10.04.2010', master: 'KRR' diff --git a/src/util/selectors.ts b/src/util/selectors.ts index 2e572a79..d0a2bf71 100644 --- a/src/util/selectors.ts +++ b/src/util/selectors.ts @@ -131,12 +131,13 @@ export function selectKanTildeleVeileder( } export function selectTelefonnummer(personalia: Personalia | undefined): StringOrNothing { - if (!personalia?.telefon) return ''; - if (personalia.telefon.find(entry => entry.prioritet === '1')) - return personalia.telefon.find(entry => entry.prioritet === '1')?.telefonNr; - if (personalia.telefon.find(entry => entry.prioritet === '2')) - return personalia.telefon.find(entry => entry.prioritet === '2')?.telefonNr; - if (personalia.telefon.find(entry => entry.prioritet === '3')) - return personalia.telefon.find(entry => entry.prioritet === '3')?.telefonNr; - return; + const telefonEntries = personalia?.telefon ?? []; + const telefonPriorities = ['1', '2', '3']; + for (const priority of telefonPriorities) { + const entry = telefonEntries.find(entry => entry.prioritet === priority); + if (entry) { + return entry.telefonNr; + } + } + return undefined; } From 1cf8526a495152ddee857598943c9ab3c1dd5a20 Mon Sep 17 00:00:00 2001 From: Klara M Helgemo Date: Mon, 23 Oct 2023 15:57:07 +0200 Subject: [PATCH 4/6] Kopier ikke norsk landkode og alle blanke er fjernet --- src/component/personinfo/personinfo.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/component/personinfo/personinfo.tsx b/src/component/personinfo/personinfo.tsx index 5f4c82cd..058e4684 100644 --- a/src/component/personinfo/personinfo.tsx +++ b/src/component/personinfo/personinfo.tsx @@ -50,7 +50,7 @@ function PersonInfo() { {features[VEILARBDETALJERFS_ENABLED] && } {uformattertTelefon && features[VEILARBDETALJERFS_ENABLED] && ( - + )} {!uformattertTelefon && features[VEILARBDETALJERFS_ENABLED] && ( From ef8a6e7e9382ca414782c55bdc4daf6f76563c76 Mon Sep 17 00:00:00 2001 From: Klara M Helgemo Date: Tue, 24 Oct 2023 12:17:33 +0200 Subject: [PATCH 5/6] Bedre funksjon for prioritering av telefonnummer --- src/util/selectors.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/util/selectors.ts b/src/util/selectors.ts index d0a2bf71..86e402c0 100644 --- a/src/util/selectors.ts +++ b/src/util/selectors.ts @@ -132,12 +132,8 @@ export function selectKanTildeleVeileder( export function selectTelefonnummer(personalia: Personalia | undefined): StringOrNothing { const telefonEntries = personalia?.telefon ?? []; - const telefonPriorities = ['1', '2', '3']; - for (const priority of telefonPriorities) { - const entry = telefonEntries.find(entry => entry.prioritet === priority); - if (entry) { - return entry.telefonNr; - } - } - return undefined; + // Filtrer bort tomme telefonnumre og sorter på prioritet, velger det med lavest prioritet + return telefonEntries + .filter(tlfEntry => tlfEntry.telefonNr) + .sort((a, b) => Number(a.prioritet) - Number(b.prioritet))[0]?.telefonNr; } From b9760a01f88cd7dd6504924c784e6f4d6f03927b Mon Sep 17 00:00:00 2001 From: Klara M Helgemo Date: Tue, 24 Oct 2023 12:26:35 +0200 Subject: [PATCH 6/6] Fjern featuretoggle --- src/api/veilarbpersonflatefs.ts | 4 +--- src/component/personinfo/personinfo.tsx | 11 ++++------- src/mock/api/veilarbperson.ts | 6 +++--- src/mock/api/veilarbpersonflatefs.ts | 5 ++--- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/api/veilarbpersonflatefs.ts b/src/api/veilarbpersonflatefs.ts index bc0265a5..69102060 100644 --- a/src/api/veilarbpersonflatefs.ts +++ b/src/api/veilarbpersonflatefs.ts @@ -2,12 +2,10 @@ import { AxiosPromise } from 'axios'; import { axiosInstance } from './utils'; export const PILOT_TOGGLE = 'pto.vedtaksstotte.pilot'; -export const VEILARBDETALJERFS_ENABLED = 'veilarbpersonflatefs.veilarbdetaljerfs-enabled'; -export const ALL_TOGGLES = [PILOT_TOGGLE, VEILARBDETALJERFS_ENABLED]; +export const ALL_TOGGLES = [PILOT_TOGGLE]; export interface FeatureToggles { [PILOT_TOGGLE]: boolean; - [VEILARBDETALJERFS_ENABLED]: boolean; } export function fetchFeaturesToggles(): AxiosPromise { diff --git a/src/component/personinfo/personinfo.tsx b/src/component/personinfo/personinfo.tsx index 058e4684..c42a2c15 100644 --- a/src/component/personinfo/personinfo.tsx +++ b/src/component/personinfo/personinfo.tsx @@ -16,12 +16,11 @@ import './personinfo.less'; import { logMetrikk } from '../../util/logger'; import { formaterTelefonnummer } from '../../util/utils'; import { StringOrNothing } from '../../util/type/utility-types'; -import { VEILARBDETALJERFS_ENABLED } from '../../api/veilarbpersonflatefs'; import { Label } from '@navikt/ds-react'; function PersonInfo() { const { brukerFnr } = useAppStore(); - const { personalia, arbeidsliste, oppfolgingsstatus, innloggetVeileder, features } = useDataStore(); + const { personalia, arbeidsliste, oppfolgingsstatus, innloggetVeileder } = useDataStore(); const { showArbeidslisteModal } = useModalStore(); const arbeidslisteikon = arbeidsliste?.kategori; @@ -48,13 +47,11 @@ function PersonInfo() { kanRedigereArbeidsliste={kanRedigereArbeidsliste} /> - {features[VEILARBDETALJERFS_ENABLED] && } - {uformattertTelefon && features[VEILARBDETALJERFS_ENABLED] && ( + {} + {uformattertTelefon && ( )} - {!uformattertTelefon && features[VEILARBDETALJERFS_ENABLED] && ( - - )} + {!uformattertTelefon && } ); diff --git a/src/mock/api/veilarbperson.ts b/src/mock/api/veilarbperson.ts index a05a6c2b..0082b162 100644 --- a/src/mock/api/veilarbperson.ts +++ b/src/mock/api/veilarbperson.ts @@ -22,14 +22,14 @@ const mockTelefon: PersonaliaTelefon[] = [ master: 'FREG' }, { - prioritet: '1', + prioritet: '3', telefonNr: '+47 80 02 22 22', registrertDato: '10.04.2010', master: 'KRR' }, { - prioritet: '3', - telefonNr: '0044 207 860 11 29', + prioritet: '1', + telefonNr: '+213 207 860 11 29', registrertDato: null, master: 'PDL' } diff --git a/src/mock/api/veilarbpersonflatefs.ts b/src/mock/api/veilarbpersonflatefs.ts index 2584b057..c0dd271c 100644 --- a/src/mock/api/veilarbpersonflatefs.ts +++ b/src/mock/api/veilarbpersonflatefs.ts @@ -1,11 +1,10 @@ import { rest } from 'msw'; import { RequestHandlersList } from 'msw/lib/types/setupWorker/glossary'; -import { FeatureToggles, PILOT_TOGGLE, VEILARBDETALJERFS_ENABLED } from '../../api/veilarbpersonflatefs'; +import { FeatureToggles, PILOT_TOGGLE } from '../../api/veilarbpersonflatefs'; import { defaultNetworkResponseDelay } from '../config'; const mockFeatures: FeatureToggles = { - [PILOT_TOGGLE]: true, - [VEILARBDETALJERFS_ENABLED]: true + [PILOT_TOGGLE]: true }; export const veilarbpersonflatefsHandlers: RequestHandlersList = [