diff --git a/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/Steg3.tsx b/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/Steg3.tsx
index fa676e7c4cf..13cd545b45b 100644
--- a/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/Steg3.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/Steg3.tsx
@@ -1,4 +1,4 @@
-import React, { Suspense, useContext, useEffect } from 'react'
+import React, { Suspense, useContext, useEffect, useState } from 'react'
import * as Yup from 'yup'
import { harAvhukedeAttributter } from '@/components/bestillingsveileder/utils'
import { MiljoVelger } from '@/components/miljoVelger/MiljoVelger'
@@ -11,6 +11,7 @@ import { MalFormOrganisasjon } from '@/pages/organisasjoner/MalFormOrganisasjon'
import { useFormikContext } from 'formik'
import { useCurrentBruker, useOrganisasjonTilgang } from '@/utils/hooks/useBruker'
import Loading from '@/components/ui/loading/Loading'
+import { Gruppevalg } from '@/components/velgGruppe/VelgGruppeToggle'
const Bestillingskriterier = React.lazy(
() => import('@/components/bestilling/sammendrag/kriterier/Bestillingskriterier'),
@@ -21,6 +22,8 @@ export const Steg3 = () => {
const formikBag = useFormikContext()
const { currentBruker } = useCurrentBruker()
+ const [gruppevalg, setGruppevalg] = useState(Gruppevalg.MINE)
+
const { organisasjonTilgang } = useOrganisasjonTilgang()
const tilgjengeligMiljoe = organisasjonTilgang?.miljoe
@@ -101,7 +104,12 @@ export const Steg3 = () => {
/>
)}
{importTestnorge && !opts.gruppe && (
-
+
)}
{importTestnorge && opts.gruppe && (
diff --git a/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/VelgGruppe.tsx b/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/VelgGruppe.tsx
index 6490f85b75c..78581785d0f 100644
--- a/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/VelgGruppe.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/bestillingsveileder/stegVelger/steg/steg3/VelgGruppe.tsx
@@ -12,7 +12,13 @@ type VelgGruppeProps = {
fraGruppe?: number
}
-export const VelgGruppe = ({ formikBag, title, fraGruppe = null }: VelgGruppeProps) => {
+export const VelgGruppe = ({
+ formikBag,
+ title,
+ fraGruppe = null,
+ gruppevalg,
+ setGruppevalg,
+}: VelgGruppeProps) => {
const [valgtGruppe, setValgtGruppe] = useState(_.get(formikBag.values, `gruppeId`))
useEffect(() => {
@@ -30,6 +36,8 @@ export const VelgGruppe = ({ formikBag, title, fraGruppe = null }: VelgGruppePro
valgtGruppe={valgtGruppe}
setValgtGruppe={setValgtGruppe}
fraGruppe={fraGruppe}
+ gruppevalg={gruppevalg}
+ setGruppevalg={setGruppevalg}
/>
@@ -40,7 +48,7 @@ VelgGruppe.validation = {
gruppeId: ifPresent(
'$gruppeId',
Yup.string().required(
- 'Velg eksisterende gruppe eller opprett ny gruppe for å importere personen(e)'
- )
+ 'Velg eksisterende gruppe eller opprett ny gruppe for å importere personen(e)',
+ ),
),
}
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/bankkonto/form/NorskBankkonto.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/bankkonto/form/NorskBankkonto.tsx
index ac00ac2d134..460b08f2f80 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/bankkonto/form/NorskBankkonto.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/bankkonto/form/NorskBankkonto.tsx
@@ -22,7 +22,7 @@ export const NorskBankkonto = ({ formikBag }: { formikBag: FormikProps<{}> }) =>
{
onChange={(egenskapen) => formikBag.setFieldValue(egenskap, egenskapen.value)}
value={_.get(formikBag.values, egenskap)}
placeholder={
- _.get(formikBag.values, egenskap) ? _.get(formikBag.values, egenskap) : 'Velg...'
+ _.get(formikBag.values, egenskap) ? _.get(formikBag.values, egenskap) : 'Velg ...'
}
isClearable={false}
feil={
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/navn/Navn.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/navn/Navn.tsx
index ac46cc4c4e8..11eb048da1f 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/navn/Navn.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/navn/Navn.tsx
@@ -95,7 +95,7 @@ export const NavnForm = ({ formikBag, path, identtype }: NavnTypes) => {
{
@@ -119,7 +119,7 @@ export const NavnForm = ({ formikBag, path, identtype }: NavnTypes) => {
{
const mellomnavn = change?.map((option: Option) => option.value)
@@ -138,7 +138,7 @@ export const NavnForm = ({ formikBag, path, identtype }: NavnTypes) => {
{
const etternavn = change?.map((option: Option) => option.value)
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlPersonUtenIdentifikator.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlPersonUtenIdentifikator.tsx
index 053cd859dd4..757baaa0bbb 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlPersonUtenIdentifikator.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/pdlPerson/PdlPersonUtenIdentifikator.tsx
@@ -40,21 +40,21 @@ export const PdlPersonUtenIdentifikator = ({
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/sikkerhetstiltak/Sikkerhetstiltak.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/sikkerhetstiltak/Sikkerhetstiltak.tsx
index 9ab1ecbae24..cc28c04cfbb 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/sikkerhetstiltak/Sikkerhetstiltak.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/sikkerhetstiltak/Sikkerhetstiltak.tsx
@@ -60,7 +60,7 @@ export const Sikkerhetstiltak = ({ formikBag }: SikkerhetstiltakProps) => {
handleValueChange(
option.label === 'Opphørt' ? option.label : option.label.substring(indexBeskrSikkerhetTiltak),
'beskrivelse',
- idx
+ idx,
)
}
@@ -106,7 +106,7 @@ export const Sikkerhetstiltak = ({ formikBag }: SikkerhetstiltakProps) => {
opts.personFoerLeggTil
? Options('sikkerhetstiltakType')
: Options('sikkerhetstiltakType').filter(
- (option) => option.label !== 'Opphørt'
+ (option) => option.label !== 'Opphørt',
)
}
size="large"
@@ -123,7 +123,7 @@ export const Sikkerhetstiltak = ({ formikBag }: SikkerhetstiltakProps) => {
options={randomNavUsers}
isClearable={false}
name={`${path}.kontaktperson.personident`}
- placeholder={personident ? personident : 'Velg...'}
+ placeholder={personident ? personident : 'Velg ...'}
label={'Kontaktperson'}
fastfield={false}
/>
@@ -138,8 +138,8 @@ export const Sikkerhetstiltak = ({ formikBag }: SikkerhetstiltakProps) => {
!isToday(
_.get(
formikBag.values,
- `pdldata.person.sikkerhetstiltak[${idx}].gyldigFraOgMed`
- )
+ `pdldata.person.sikkerhetstiltak[${idx}].gyldigFraOgMed`,
+ ),
)
}
warningText="TPS støtter kun sikkerhetstiltak fra gjeldende dato. Endre til dagens dato dersom et
diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/utils.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/utils.tsx
index 495c68ef8c2..ae16f56c36f 100644
--- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/utils.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/pdlf/form/partials/utils.tsx
@@ -6,7 +6,7 @@ export const getPlaceholder = (values, selectedValuePath) => {
const etternavn = _.get(values, `${selectedValuePath}.etternavn`)
mellomnavn = mellomnavn !== '' ? ' ' + mellomnavn : mellomnavn
- return !_.isNil(fornavn) && fornavn !== '' ? fornavn + mellomnavn + ' ' + etternavn : 'Velg...'
+ return !_.isNil(fornavn) && fornavn !== '' ? fornavn + mellomnavn + ' ' + etternavn : 'Velg ...'
}
export const setNavn = (navn, path, setFieldValue) => {
diff --git a/apps/dolly-frontend/src/main/js/src/components/ui/button/FlyttPersonButton/FlyttPersonModal.tsx b/apps/dolly-frontend/src/main/js/src/components/ui/button/FlyttPersonButton/FlyttPersonModal.tsx
index 27300ac1176..8277a041751 100644
--- a/apps/dolly-frontend/src/main/js/src/components/ui/button/FlyttPersonButton/FlyttPersonModal.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/ui/button/FlyttPersonButton/FlyttPersonModal.tsx
@@ -19,6 +19,7 @@ import { Alert } from '@navikt/ds-react'
import { usePdlOptions, useTestnorgeOptions } from '@/utils/hooks/useSelectOptions'
import { useGruppeIdenter } from '@/utils/hooks/useGruppe'
import { CypressSelector } from '../../../../../cypress/mocks/Selectors'
+import { Gruppevalg } from '@/components/velgGruppe/VelgGruppeToggle'
type FlyttPersonButtonTypes = {
gruppeId: number
@@ -134,6 +135,7 @@ const StyledErrorMessageWithFocus = styled(ErrorMessageWithFocus)`
export const FlyttPersonModal = ({ gruppeId, modalIsOpen, closeModal }: FlyttPersonButtonTypes) => {
const [loading, setLoading] = useState(false)
const [error, setError] = useState(null)
+ const [gruppevalg, setGruppevalg] = useState(Gruppevalg.MINE)
const { identer: gruppeIdenter, loading: gruppeLoading } = useGruppeIdenter(gruppeId)
@@ -247,6 +249,8 @@ export const FlyttPersonModal = ({ gruppeId, modalIsOpen, closeModal }: FlyttPer
formikBag={formikBag}
title={'Velg hvilken gruppe du ønsker å flytte personer til'}
fraGruppe={gruppeId}
+ gruppevalg={gruppevalg}
+ setGruppevalg={setGruppevalg}
/>
diff --git a/apps/dolly-frontend/src/main/js/src/components/ui/form/inputs/select/Select.tsx b/apps/dolly-frontend/src/main/js/src/components/ui/form/inputs/select/Select.tsx
index fe03d4e0d28..95fb79e885a 100644
--- a/apps/dolly-frontend/src/main/js/src/components/ui/form/inputs/select/Select.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/ui/form/inputs/select/Select.tsx
@@ -48,7 +48,7 @@ export const Select = ({
isLoading = false,
isSearchable = true,
isClearable = true,
- placeholder = 'Velg...',
+ placeholder = 'Velg ...',
options = [],
isMulti = false,
styles,
diff --git a/apps/dolly-frontend/src/main/js/src/components/velgGruppe/AlleGrupper.tsx b/apps/dolly-frontend/src/main/js/src/components/velgGruppe/AlleGrupper.tsx
new file mode 100644
index 00000000000..f4844444bbd
--- /dev/null
+++ b/apps/dolly-frontend/src/main/js/src/components/velgGruppe/AlleGrupper.tsx
@@ -0,0 +1,71 @@
+import { DollySelect } from '@/components/ui/form/inputs/select/Select'
+import Loading from '@/components/ui/loading/Loading'
+import { useAlleBrukere, useCurrentBruker } from '@/utils/hooks/useBruker'
+import { Gruppe, useEgneGrupper, useGrupper } from '@/utils/hooks/useGruppe'
+import React, { useState } from 'react'
+
+interface AlleGrupper {
+ setValgtGruppe: React.Dispatch>
+ valgtGruppe: string
+ fraGruppe?: number | null
+}
+
+type Options = {
+ value: string
+ label: string
+}
+
+export default ({ setValgtGruppe, valgtGruppe, fraGruppe = null }: AlleGrupper) => {
+ const { currentBruker } = useCurrentBruker()
+ const { brukere, loading: loadingBrukere } = useAlleBrukere()
+ const [valgtBruker, setValgtBruker] = useState(null)
+
+ const filteredBrukerliste = brukere?.filter(
+ (bruker) => bruker.brukerId !== currentBruker.brukerId,
+ )
+
+ const brukerOptions = filteredBrukerliste?.map((bruker) => {
+ return {
+ value: bruker?.brukerId,
+ label: bruker?.brukernavn,
+ }
+ })
+
+ const { grupper, loading: loadingGrupper } = useEgneGrupper(valgtBruker)
+
+ const filteredGruppeliste = grupper?.contents?.filter((gruppe) => gruppe.id !== fraGruppe)
+
+ const gruppeOptions = filteredGruppeliste?.map((gruppe: Gruppe) => {
+ return {
+ value: gruppe.id,
+ label: `${gruppe.id} - ${gruppe.navn}`,
+ }
+ })
+
+ return (
+
+ setValgtBruker(bruker?.value || null)}
+ value={valgtBruker}
+ isLoading={loadingBrukere}
+ placeholder={loadingBrukere ? 'Laster brukere ...' : 'Velg bruker ...'}
+ />
+ setValgtGruppe(gruppe?.value)}
+ value={valgtGruppe}
+ size={fraGruppe ? 'grow' : 'large'}
+ isClearable={false}
+ isDisabled={!valgtBruker}
+ isLoading={loadingGrupper}
+ placeholder={loadingGrupper ? 'Laster grupper ...' : 'Velg gruppe ...'}
+ />
+
+ )
+}
diff --git a/apps/dolly-frontend/src/main/js/src/components/velgGruppe/EksisterendeGruppe.tsx b/apps/dolly-frontend/src/main/js/src/components/velgGruppe/EksisterendeGruppe.tsx
index 0b674a414dd..524bef8a924 100644
--- a/apps/dolly-frontend/src/main/js/src/components/velgGruppe/EksisterendeGruppe.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/velgGruppe/EksisterendeGruppe.tsx
@@ -7,7 +7,7 @@ import React from 'react'
interface EksisterendeGruppe {
setValgtGruppe: React.Dispatch>
valgtGruppe: string
- fraGruppe?: number
+ fraGruppe?: number | null
}
type Options = {
diff --git a/apps/dolly-frontend/src/main/js/src/components/velgGruppe/NyGruppe.tsx b/apps/dolly-frontend/src/main/js/src/components/velgGruppe/NyGruppe.tsx
index 86d30fe71e2..2c93b697d97 100644
--- a/apps/dolly-frontend/src/main/js/src/components/velgGruppe/NyGruppe.tsx
+++ b/apps/dolly-frontend/src/main/js/src/components/velgGruppe/NyGruppe.tsx
@@ -51,8 +51,8 @@ export default ({ setValgtGruppe }: NyGruppe) => {
{() => (
)
}
diff --git a/apps/dolly-frontend/src/main/js/src/utils/hooks/useGruppe.tsx b/apps/dolly-frontend/src/main/js/src/utils/hooks/useGruppe.tsx
index fefe971d8d4..7e6d3abafee 100644
--- a/apps/dolly-frontend/src/main/js/src/utils/hooks/useGruppe.tsx
+++ b/apps/dolly-frontend/src/main/js/src/utils/hooks/useGruppe.tsx
@@ -13,7 +13,7 @@ const getPaginertGruppeUrl = (
pageNo: number,
pageSize: number,
sortKolonne?: string,
- sortRetning?: string
+ sortRetning?: string,
) => {
const sorting =
sortKolonne && sortRetning ? `&sortRetning=${sortRetning}&sortKolonne=${sortKolonne}` : ''
@@ -51,7 +51,7 @@ export const useGruppeById = (
pageSize = 10,
autoRefresh = false,
sortKolonne = null,
- sortRetning = null
+ sortRetning = null,
) => {
if (!gruppeId) {
return {
@@ -65,7 +65,7 @@ export const useGruppeById = (
{
refreshInterval: autoRefresh ? 2000 : null,
dedupingInterval: autoRefresh ? 2000 : null,
- }
+ },
)
return {
@@ -83,7 +83,7 @@ export const useGruppeById = (
export const useGruppeIdenter = (gruppeId) => {
const { data, isLoading, error } = useSWR(
gruppeId ? getHelGruppeUrl(gruppeId) : null,
- fetcher
+ fetcher,
)
return {
@@ -101,7 +101,7 @@ export const useGruppeIdenter = (gruppeId) => {
export const useGrupper = (pageNo, pageSize, brukerId?: string) => {
const { data, isLoading, error } = useSWR(
getGrupperUrl(pageNo, pageSize, brukerId),
- fetcher
+ fetcher,
)
return {
@@ -113,8 +113,8 @@ export const useGrupper = (pageNo, pageSize, brukerId?: string) => {
export const useEgneGrupper = (brukerId: string) => {
const { data, isLoading, error } = useSWR(
- getEgneGrupperUrl(brukerId),
- fetcher
+ brukerId ? getEgneGrupperUrl(brukerId) : null,
+ fetcher,
)
return {