Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tiltaksdetaljer #191

Merged
merged 21 commits into from
Jun 10, 2022
Merged
Show file tree
Hide file tree
Changes from 20 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions frontend/mulighetsrommet-api-client/src/models/Arrangor.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */

export type Arrangor = {
_id: number;
selskapsnavn: string;
telefonnummer: string;
epost: string;
adresse: string;
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */

export type Tiltaksansvarlig = {
_id: number;
navn: string;
enhet: string;
telefonnummer: string;
epost: string;
};
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,28 @@
/* tslint:disable */
/* eslint-disable */

import type { Tiltakskode } from './Tiltakskode';
import { Tiltakstype } from "./Tiltakstype";
import { Arrangor } from "./Arrangor";
import { Tiltaksansvarlig } from "./Tiltaksansvarlig";

export type Tiltaksgjennomforing = {
id: number;
tittel: string;
beskrivelse: string;
tiltakskode: Tiltakskode;
tiltaksnummer?: string;
fraDato: string | null;
tilDato: string | null;
_id: number;
tiltakstype: Tiltakstype;
tiltaksgjennomforingNavn: string;
beskrivelse?: string;
tiltaksnummer: number;
kontaktinfoArrangor: Arrangor;
lokasjon: string;
enheter: { fylke: string };
oppstart: string;
oppstartsdato?: Date;
faneinnhold?: {
forHvemInfoboks?: string;
forHvem?: object;
detaljerOgInnholdInfoboks?: string;
detaljerOgInnhold?: object;
pameldingOgVarighetInfoboks?: string;
pameldingOgVarighet?: object;
sndrem marked this conversation as resolved.
Show resolved Hide resolved
};
kontaktinfoTiltaksansvarlig: Tiltaksansvarlig;
};
26 changes: 17 additions & 9 deletions frontend/mulighetsrommet-api-client/src/models/Tiltakstype.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,22 @@
/* tslint:disable */
/* eslint-disable */

import type { Tiltakskode } from './Tiltakskode';

export type Tiltakstype = {
id: number;
innsatsgruppe: number | null;
sanityId: number | null;
navn: string;
tiltakskode: Tiltakskode;
fraDato: string | null;
tilDato: string | null;
_id: number;
tiltakstypeNavn: string;
beskrivelse?: string;
innsatsgruppe: string;
varighet?: string;
regelverkFil?: string; //skal være fil
regelverkFilNavn?: string;
regelverkLenke?: string;
regelverkLenkeNavn?: string;
faneinnhold?: {
forHvemInfoboks?: string;
forHvem?: object;
detaljerOgInnholdInfoboks?: string;
detaljerOgInnhold?: object;
pameldingOgVarighetInfoboks?: string;
pameldingOgVarighet?: object;
sndrem marked this conversation as resolved.
Show resolved Hide resolved
};
};
8 changes: 0 additions & 8 deletions frontend/mulighetsrommet-cms/schemas/schema.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,13 @@
// First, we must import the schema creator
import createSchema from "part:@sanity/base/schema-creator";
// Then import schema types from any plugins that might expose them
import schemaTypes from "all:part:@sanity/base/schema-type";
// We import object and document schemas
import blockContent from "./blockContent";
import tiltakstype from "./tiltakstype";
import tiltaksgjennomforing from "./tiltaksgjennomforing";
import arrangor from "./arrangor";
import kontaktperson from "./kontaktperson";

// Then we give our schema to the builder and provide the result to Sanity
export default createSchema({
// We name our schema
name: "default",

// Then proceed to concatenate our document type
// to the ones provided by any plugins that are installed
types: schemaTypes.concat([
// The following are document types which will appear
// in the studio.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ export default {
},
],
},
//TODO skal kunne legge til flere tiltaksansvarlige
{
name: "kontaktinfoTiltaksansvarlig",
title: "Tiltaksansvarlig",
Expand Down
50 changes: 42 additions & 8 deletions frontend/mulighetsrommet-cms/schemas/tiltakstype.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,26 +15,34 @@ export default {
{
name: "beskrivelse",
title: "Beskrivelse",
type: "blockContent",
type: "string",
},
{
name: "overgangTilArbeid",
title: "Overgang til arbeid",
description: "Hentes fra Arena, usikker på hvordan denne skal vises her",
type: "blockContent",
},
// Sammendrag/Infoboks
{
name: "innsatsgruppe",
title: "Innsatsgruppe",
type: "string",
options: {
layout: "dropdown",
list: [
{ title: "Standardinnsats", value: "staninn" },
{ title: "Situasjonsbestemt innsats", value: "sitinn" },
{ title: "Spesielt tilpasset innsats", value: "speinn" },
{ title: "Varig tilpasset innsats", value: "varinn" },
{ title: "Standardinnsats", value: "Standardinnsats" },
{
title: "Situasjonsbestemt innsats",
value: "Situasjonsbestemt innsats",
},
{
title: "Spesielt tilpasset innsats",
value: "Spesielt tilpasset innsats",
},
{
title: "Varig tilpasset innsats",
value: "Varig tilpasset innsats",
},
],
},
validation: (Rule) => Rule.required(),
Expand All @@ -44,15 +52,43 @@ export default {
title: "Varighet",
type: "string",
},
//TODO skal kunne legge til flere lenker og filer
{
name: "regelverkFil",
title: "Regelverk fil",
type: "file",
},
{
name: "regelverkFilNavn",
title: "Navn til fil",
description: "Hvilket navn skal vises til filen?",
type: "string",
validation: (Rule) =>
Rule.custom((field, context) =>
context.document.regelverkFil && field === undefined
? "Dette feltet kan ikke være tomt."
: true
),
hidden: ({ document }) => !document?.regelverkFil,
},
{
name: "regelverkLenke",
title: "Regelverk lenke",
type: "url",
placeholder: "https://www...",
},
{
name: "regelverkLenkeNavn",
title: "Navn til lenke",
description: "Hvilket navn skal vises i lenken?",
type: "string",
validation: (Rule) =>
Rule.custom((field, context) =>
context.document.regelverkLenke && field === undefined
? "Dette feltet kan ikke være tomt."
: true
),
hidden: ({ document }) => !document?.regelverkLenke,
},
//Faneinnhold
{
Expand All @@ -72,7 +108,6 @@ export default {
title: "For hvem",
type: "blockContent",
},

{
name: "detaljerOgInnholdInfoboks",
title: "Detaljer og innhold - infoboks",
Expand All @@ -85,7 +120,6 @@ export default {
title: "Detaljer og innhold",
type: "blockContent",
},

{
name: "pameldingOgVarighetInfoboks",
title: "Påmelding og varighet - infoboks",
Expand Down
1 change: 1 addition & 0 deletions frontend/mulighetsrommet-veileder-flate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"@navikt/ds-react": "^0.17.27",
"@navikt/frontendlogger": "^2.0.0",
"@navikt/navspa": "^5.0.1",
"@portabletext/react": "^1.0.6",
"@sanity/client": "^3.3.0",
"@vitejs/plugin-react": "^1.2.0",
"classnames": "^2.3.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import { Navigate, Route, Routes } from 'react-router-dom';
import ViewTiltakstypeDetaljer from './views/tiltakstype-detaljer/ViewTiltakstypeDetaljer';
import ViewTiltakstypeOversikt from './views/tiltakstype-oversikt/ViewTiltakstypeOversikt';
import ViewTiltakstypeDetaljer from './views/tiltaksgjennomforing-detaljer/ViewTiltakstypeDetaljer';
import ViewTiltakstypeOversikt from './views/tiltaksgjennomforing-oversikt/ViewTiltakstypeOversikt';

const RoutesConfig = () => {
return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ const Filtermeny = () => {
data={
tiltakstyper.data?.map(tiltakstype => {
return {
id: tiltakstype.id,
tittel: tiltakstype.navn,
id: tiltakstype._id,
tittel: tiltakstype.tiltakstypeNavn,
};
}) ?? []
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React from 'react';
import '../../views/tiltakstype-oversikt/ViewTiltakstypeOversikt.less';
import '../../views/tiltaksgjennomforing-oversikt/ViewTiltakstypeOversikt.less';
import { TextField } from '@navikt/ds-react';

interface SokeFilterProps {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
.mulighetsrommet-veileder-flate {
.tiltakstype-detaljer {
display: grid;
grid-template-rows: auto auto;
grid-template-columns: auto 23rem;
grid-gap: 1rem;
margin: 0 1rem;
&__rad {
display: flex;
justify-content: space-between;
margin-bottom: 1rem;
column-gap: 1rem;
}
&__sidemeny {
grid-row: 2;
display: flex;
flex-direction: column;
gap: 0.5rem;
height: fit-content;
}
&__regelverk {
display: flex;
flex-direction: column;
gap: 1rem;
}
span {
text-align: end;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,59 +2,62 @@ import React from 'react';
import { Panel } from '@navikt/ds-react';
import './Sidemeny.less';
import Kopiknapp from '../kopiknapp/Kopiknapp';
import { Tiltakskode } from '../../../../mulighetsrommet-api-client';
import { Tiltakstype } from '../../../../mulighetsrommet-api-client';
import Lenke from '../lenke/Lenke';

interface SidemenyDetaljerProps {
tiltaksnummer: string;
tiltakstype: Tiltakskode;
arrangor: string;
innsatsgruppe: number | null;
oppstartsdato: string | null;
beskrivelse: string;
oppstartsdato?: string | null;
tiltakstype: Tiltakstype;
}

const SidemenyDetaljer = ({
tiltaksnummer,
tiltakstype,
arrangor,
innsatsgruppe,
oppstartsdato,
beskrivelse,
}: SidemenyDetaljerProps) => {
const SidemenyDetaljer = ({ tiltaksnummer, arrangor, oppstartsdato, tiltakstype }: SidemenyDetaljerProps) => {
return (
<>
<Panel className="tiltakstype-detaljer__sidemeny">
<div className="tiltakstype-detaljer__rad">
<span>Tiltaksnummer</span>
<strong>Tiltaksnummer</strong>
<span>
{tiltaksnummer} <Kopiknapp kopitekst={tiltaksnummer} />
sndrem marked this conversation as resolved.
Show resolved Hide resolved
</span>
</div>

<div className="tiltakstype-detaljer__rad">
<span>Tiltakstype</span>
<span>{tiltakstype}</span>
<strong>Tiltakstype</strong>
<span>{tiltakstype.tiltakstypeNavn}</span>
</div>

<div className="tiltakstype-detaljer__rad">
<span>Arrangør</span>
<strong>Arrangør</strong>
<span>{arrangor}</span>
</div>

<div className="tiltakstype-detaljer__rad">
<span>Innsatsgruppe</span>
<span>{innsatsgruppe} </span>
<strong>Innsatsgruppe</strong>
<span>{tiltakstype.innsatsgruppe} </span>
</div>

<div className="tiltakstype-detaljer__rad">
<span>Oppstart</span>
<span>{oppstartsdato} </span>
</div>
{oppstartsdato && (
<div className="tiltakstype-detaljer__rad">
<strong>Oppstart</strong>
<span>{oppstartsdato} </span>
</div>
)}

<div className="tiltakstype-detaljer__rad">
<span>Beskrivelse</span>
<span>{beskrivelse} </span>
</div>
{(tiltakstype.regelverkFil || tiltakstype.regelverkLenke) && (
<div className="tiltakstype-detaljer__rad">
<strong>Regelverk</strong>
<div className="tiltakstype-detaljer__regelverk">
{tiltakstype.regelverkFil && <span>{tiltakstype.regelverkFilNavn}</span>}
{tiltakstype.regelverkLenke && (
<span>
<Lenke to={tiltakstype.regelverkLenke}>{tiltakstype.regelverkLenkeNavn}</Lenke>
</span>
)}
</div>
</div>
)}
</Panel>
</>
);
Expand Down
Loading