Skip to content

Commit

Permalink
endret maten man redirecter
Browse files Browse the repository at this point in the history
  • Loading branch information
hildeheggstad committed Aug 4, 2020
1 parent 511111a commit f2d7771
Show file tree
Hide file tree
Showing 7 changed files with 53 additions and 41 deletions.
2 changes: 1 addition & 1 deletion src/App/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { Arbeidstaker } from './Objekter/Arbeidstaker';

import LoginBoundary from './LoggInnBoundary';

import { EnkeltArbeidsforhold } from './MineAnsatte/EnkeltArbeidsforhold/EnkeltArbeidsforhold';
import EnkeltArbeidsforhold from './MineAnsatte/EnkeltArbeidsforhold/EnkeltArbeidsforhold';
import HovedBanner from './MineAnsatte/HovedBanner/HovedBanner';
import {
hentOrganisasjonerFraAltinn,
Expand Down
40 changes: 23 additions & 17 deletions src/App/MineAnsatte/EnkeltArbeidsforhold/EnkeltArbeidsforhold.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React from 'react';
import React, {FunctionComponent} from 'react';
import { DetaljertArbeidsforhold } from '@navikt/arbeidsforhold/dist';
import { Normaltekst, Undertittel } from 'nav-frontend-typografi';
import Lenke from 'nav-frontend-lenker';
Expand All @@ -8,13 +8,15 @@ import { Arbeidstaker } from '../../Objekter/Arbeidstaker';
import { Organisasjon } from '../../Objekter/OrganisasjonFraAltinn';
import { linkTilMinSideArbeidsgiver } from '../../lenker';
import './EnkeltArbeidsforhold.less';
import {RouteComponentProps, withRouter} from "react-router";

export declare type EnkeltArbeidsforholdProps = {
interface Props extends RouteComponentProps{
valgtArbeidstaker: Arbeidstaker | null;
valgtOrganisasjon: Organisasjon;
queryParametereHovedSiden?: string;
};


const miljo = () => {
if (environment.MILJO === 'prod-sbs') {
return 'PROD';
Expand All @@ -32,41 +34,43 @@ const apiURL = () => {
return 'https://arbeidsgiver-q.nav.no/arbeidsforhold/person/arbeidsforhold-api/arbeidsforholdinnslag/arbeidsgiver/{id}';
};

export const EnkeltArbeidsforhold = (props: EnkeltArbeidsforholdProps) => {
const EnkeltArbeidsforhold: FunctionComponent<Props> = ({history, valgtArbeidstaker, queryParametereHovedSiden, valgtOrganisasjon}) => {
const locale = 'nb' as 'nb' | 'en';
const arbeidsforholdIdFraUrl = new URL(window.location.href).searchParams.get('arbeidsforhold');

if (!arbeidsforholdIdFraUrl || !props.valgtArbeidstaker) {
window.location.href = basename + '/' +props.queryParametereHovedSiden;
if (!arbeidsforholdIdFraUrl || !valgtArbeidstaker) {
window.location.href = basename + '/' +queryParametereHovedSiden;
}

const url = new URL(window.location.href);
url.searchParams.delete('arbeidsforhold');
const urlString = url.toString();
const indeksqueryStart = urlString.indexOf("?");
const sistedelAvUrl = urlString.substr(indeksqueryStart,urlString.length);
const redirectTilbake = () => {
const currentUrl = new URL(window.location.href);
currentUrl.searchParams.delete(('arbeidsforhold'));
const { search } = currentUrl;
history.replace({ search: search , pathname: '/'})

}

return (
<>
{arbeidsforholdIdFraUrl && props.valgtArbeidstaker && (
{arbeidsforholdIdFraUrl && valgtArbeidstaker && (
<div className="enkelt-arbeidsforhold-container">
<div className="enkelt-arbeidsforhold-innhold">
<Normaltekst className="brodsmule">
<Lenke href={linkTilMinSideArbeidsgiver(props.valgtOrganisasjon.OrganizationNumber)}>
<Lenke href={linkTilMinSideArbeidsgiver(valgtOrganisasjon.OrganizationNumber)}>
Min side – arbeidsgiver
</Lenke>
{' / '}
<Lenke href={basename + '/'+ sistedelAvUrl}>
<div onClick={redirectTilbake} >
arbeidsforhold
</Lenke>
</div>
{' / enkeltarbeidsforhold'}
</Normaltekst>
<div className="enkelt-arbeidsforhold">
<div className="af-detaljert__header">
<span className="af-detaljert__kolonne">
<div className={'af-detaljert__arbeidsgiver'}>
<Undertittel>{props.valgtArbeidstaker.navn}</Undertittel>
<Normaltekst>Fødselsnummer: {props.valgtArbeidstaker.fnr}</Normaltekst>
<Undertittel>{}</Undertittel>
<Normaltekst>Fødselsnummer: {valgtArbeidstaker.fnr}</Normaltekst>
</div>
</span>
</div>
Expand All @@ -75,7 +79,7 @@ export const EnkeltArbeidsforhold = (props: EnkeltArbeidsforholdProps) => {
miljo={miljo()}
navArbeidsforholdId={parseInt(arbeidsforholdIdFraUrl)}
rolle="ARBEIDSGIVER"
fnrArbeidstaker={props.valgtArbeidstaker.fnr}
fnrArbeidstaker={valgtArbeidstaker.fnr}
customApiUrl={apiURL()}
/>
</div>
Expand All @@ -85,3 +89,5 @@ export const EnkeltArbeidsforhold = (props: EnkeltArbeidsforholdProps) => {
</>
);
};

export default withRouter(EnkeltArbeidsforhold);
16 changes: 9 additions & 7 deletions src/App/MineAnsatte/ListeMineAnsatteForMobil/Ansatt/Ansatt.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
import React, { FunctionComponent } from 'react';
import { Link } from 'react-router-dom';
import { Arbeidstaker } from '../../../Objekter/Arbeidstaker';
import { Arbeidsforhold } from '../../../Objekter/ArbeidsForhold';
import AttributtVisning from './AttributtVisning/AttributtVisning';
import './Ansatt.less';
import {loggBrukerTrykketPaVarsel} from "../../../amplitudefunksjonerForLogging";

interface Props {
className?: string;
arbeidsforhold: Arbeidsforhold;
settValgtArbeidsgiver: (valgtArbeidstaker: Arbeidstaker) => void;
setValgtArbeidsforhold: (arbeidsforhold: Arbeidsforhold) => void;
valgtBedrift: string;
}

const Ansatt: FunctionComponent<Props> = props => {

function oppdaterValgtArbeidsgiver(fnr: string, navn: string) {
props.settValgtArbeidsgiver({ fnr: fnr, navn: navn });
const oppdaterValgtArbeidsforhold= (arbeidsforhold: Arbeidsforhold) => {
props.setValgtArbeidsforhold(arbeidsforhold);
if (props.arbeidsforhold.varsler?.length) {
loggBrukerTrykketPaVarsel();
}
};

return (
<li className="arbeidsforhold">
Expand All @@ -26,9 +29,8 @@ const Ansatt: FunctionComponent<Props> = props => {
<div
className="attributt__verdi"
onClick={() =>
oppdaterValgtArbeidsgiver(
props.arbeidsforhold.arbeidstaker.offentligIdent,
props.arbeidsforhold.arbeidstaker.navn
oppdaterValgtArbeidsforhold(
props.arbeidsforhold
)
}
>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
import React, { FunctionComponent } from 'react';
import { Arbeidsforhold } from '../../Objekter/ArbeidsForhold';
import { Arbeidstaker } from '../../Objekter/Arbeidstaker';
import Ansatt from './Ansatt/Ansatt';
import './ListeMineAnsatteForMobil.less';

interface Props {
className?: string;
listeMedArbeidsForhold: Arbeidsforhold[];
settValgtArbeidsgiver: (valgtArbeidstaker: Arbeidstaker) => void;
setValgtArbeidsforhold: (arbeidsforhold: Arbeidsforhold) => void;
valgtBedrift: string;
}

const ListeMedAnsatteForMobil: FunctionComponent<Props> = (props: Props) => {
const rader = props.listeMedArbeidsForhold.map(forhold => (
<Ansatt
key={forhold.navArbeidsforholdId}
settValgtArbeidsgiver={props.settValgtArbeidsgiver}
setValgtArbeidsforhold={props.setValgtArbeidsforhold}
valgtBedrift={props.valgtBedrift}
arbeidsforhold={forhold}
/>
Expand Down
14 changes: 11 additions & 3 deletions src/App/MineAnsatte/MineAnsatte.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,17 @@ const MineAnsatte: FunctionComponent<Props> = ({history, setValgtArbeidstaker, v
currentUrl.searchParams.set("sorter", navarendeKolonne.sorteringsAttributt.toString());
currentUrl.searchParams.set("revers", navarendeKolonne.reversSortering.toString());
const { search } = currentUrl;
history.replace({ search });
history.replace({ search: search });
}, [history, filtrerPaAktiveAvsluttede, naVarendeSidetall,skalFiltrerePaVarsler, soketekst, navarendeKolonne]);

const setValgtArbeidsforhold = (arbeidsforhold: Arbeidsforhold ) => {
setValgtArbeidstaker({navn: arbeidsforhold.arbeidstaker.navn, fnr: arbeidsforhold.arbeidstaker.offentligIdent})
const currentUrl = new URL(window.location.href);
currentUrl.searchParams.set("arbeidsforhold", arbeidsforhold.navArbeidsforholdId.toString());
const { search } = currentUrl;
history.replace({pathname: '/enkeltArbeidsforhold', search: search });
}

useEffect(() => {
setAntallArbeidsforhold(0);
setAntallArbeidsforholdUkjent(true)
Expand Down Expand Up @@ -299,13 +307,13 @@ const MineAnsatte: FunctionComponent<Props> = ({history, setValgtArbeidstaker, v
setNavarendeKolonne={setNavarendeKolonne}
byttSide={setIndeksOgGenererListe}
navarendeKolonne={navarendeKolonne}
settValgtArbeidsgiver={setValgtArbeidstaker}
setValgtArbeidsforhold={setValgtArbeidsforhold}
valgtBedrift={valgtOrganisasjon.OrganizationNumber}
/>
<ListeMedAnsatteForMobil
listeMedArbeidsForhold={forholdPaEnSide}
className="mine-ansatte__liste"
settValgtArbeidsgiver={setValgtArbeidstaker}
setValgtArbeidsforhold={setValgtArbeidsforhold}
valgtBedrift={valgtOrganisasjon.OrganizationNumber}
/>
{ antallSider>1 &&<SideBytter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ import React, { useEffect, useState } from 'react';
import { Link } from 'react-router-dom';
import Popover, { PopoverOrientering } from 'nav-frontend-popover';
import { Normaltekst } from 'nav-frontend-typografi';
import { Arbeidstaker } from '../../../Objekter/Arbeidstaker';
import { Arbeidsforhold } from '../../../Objekter/ArbeidsForhold';
import './PopOverStyling.less';
import {loggBrukerTrykketPaVarsel} from "../../../amplitudefunksjonerForLogging";

type PopoverProps = {
settValgtArbeidsgiver: (valgtArbeidstaker: Arbeidstaker) => void;
setValgtArbeidsforhold: (arbeidsforhold: Arbeidsforhold) => void;
arbeidsforhold: Arbeidsforhold;
valgtBedrift: string;
};
Expand All @@ -19,8 +18,8 @@ const NavnPopover = (props: PopoverProps) => {

const maxBreddeAvKolonne = 160;

const oppdaterValgtArbeidsgiver = (fnr: string, navn: string) => {
props.settValgtArbeidsgiver({ fnr: fnr, navn: navn });
const oppdaterValgtArbeidsforhold= (arbeidsforhold: Arbeidsforhold) => {
props.setValgtArbeidsforhold(arbeidsforhold);
if (props.arbeidsforhold.varsler?.length) {
loggBrukerTrykketPaVarsel();
}
Expand All @@ -42,9 +41,8 @@ const NavnPopover = (props: PopoverProps) => {
<div
className="pop-over-container"
onClick={() =>
oppdaterValgtArbeidsgiver(
props.arbeidsforhold.arbeidstaker.offentligIdent,
props.arbeidsforhold.arbeidstaker.navn
oppdaterValgtArbeidsforhold(
props.arbeidsforhold
)
}
>
Expand Down
5 changes: 2 additions & 3 deletions src/App/MineAnsatte/TabellMineAnsatte/TabellMineAnsatte.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { FunctionComponent } from 'react';
import 'nav-frontend-tabell-style';
import { Arbeidsforhold } from '../../Objekter/ArbeidsForhold';
import { Arbeidstaker } from '../../Objekter/Arbeidstaker';
import { KolonneState } from '../MineAnsatte';
import KolonnerFullSkjerm from './Kolonner/Kolonner';
import YrkesbeskrivelsePopover from './KolonnerMedTooltip/YrkesbeskrivelsePopover';
Expand All @@ -15,7 +14,7 @@ interface Props {
setNavarendeKolonne: (kolonne: KolonneState) => void;
byttSide: (indeks: number) => void;
navarendeKolonne: KolonneState;
settValgtArbeidsgiver: (valgtArbeidstaker: Arbeidstaker) => void;
setValgtArbeidsforhold: (arbeidsforhold: Arbeidsforhold) => void;
valgtBedrift: string;
}

Expand All @@ -26,7 +25,7 @@ const TabellMineAnsatte: FunctionComponent<Props> = props => {
<td className="td">
<NavnPopover
arbeidsforhold={arbeidsforhold}
settValgtArbeidsgiver={props.settValgtArbeidsgiver}
setValgtArbeidsforhold={props.setValgtArbeidsforhold}
valgtBedrift={props.valgtBedrift}
/>
</td>
Expand Down

0 comments on commit f2d7771

Please sign in to comment.