🧱 frontend-api for oppdatering av feilmeldinger

Co-authored-by: Markus A. R. Johansen <markus.aleksander.rakil.johansen@nav.no>
This commit is contained in:
Sindre Kjelsrud 2023-08-01 14:26:21 +02:00
parent 7a045bb0c3
commit 2c1951e60b
3 changed files with 36 additions and 7 deletions

View file

@ -16,6 +16,7 @@ const CardsContainer = (props: ICardsContainer) => {
{props.feilmeldinger.map((feilMelding) => ( {props.feilmeldinger.map((feilMelding) => (
<FeilKort <FeilKort
key={props.feilmeldinger.indexOf(feilMelding)} key={props.feilmeldinger.indexOf(feilMelding)}
id={feilMelding.id}
tittel={feilMelding.tittel} tittel={feilMelding.tittel}
beskrivelse={feilMelding.beskrivelse} beskrivelse={feilMelding.beskrivelse}
dato={new Date()} dato={new Date()}

View file

@ -1,9 +1,10 @@
import "@navikt/ds-css"; import "@navikt/ds-css";
import { Button, Checkbox, CheckboxGroup, Heading, Modal, Radio, RadioGroup, Tag, TextField } from "@navikt/ds-react"; import { Button, Heading, Modal, Radio, RadioGroup, Tag, TextField, Textarea } from "@navikt/ds-react";
import { IFeilmelding } from "../interface"; import { Feilmelding, IFeilmelding } from "../interface";
import FeilModal from "./FeilModal"; import FeilModal from "./FeilModal";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { FloppydiskIcon, PencilIcon, XMarkIcon } from "@navikt/aksel-icons"; import { FloppydiskIcon, PencilIcon, XMarkIcon } from "@navikt/aksel-icons";
import axios from "axios";
/** /**
* En konteiner som inneholder all informasjon og funksjonalitet for å vise og interagere med en feilmelding. * En konteiner som inneholder all informasjon og funksjonalitet for å vise og interagere med en feilmelding.
@ -32,7 +33,27 @@ export const FeilKort = (props: IFeilKort) => {
const lagreEndringer = () => { const lagreEndringer = () => {
setRedigeringsmodus(false) setRedigeringsmodus(false)
// TODO - send endring til database
const fields = {
id: props.id,
tittel: tittel,
beskrivelse: beskrivelse,
dato: props.dato,
arbeidsstatus: arbeidsstatus,
haster: haster
}
const endretFeilmelding = new Feilmelding(fields)
axios.put(`/api/oppdaterfeil/${props.id}`, endretFeilmelding, {
headers: {
'Content-Type': 'application/json'
}
}).then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
})
} }
return( return(
@ -46,6 +67,7 @@ export const FeilKort = (props: IFeilKort) => {
onClick={() => setVisModal(true)} onClick={() => setVisModal(true)}
> >
<FeilkortHeader <FeilkortHeader
id={props.id}
tittel={props.tittel} tittel={props.tittel}
beskrivelse={props.beskrivelse} beskrivelse={props.beskrivelse}
dato={props.dato} dato={props.dato}
@ -63,7 +85,7 @@ export const FeilKort = (props: IFeilKort) => {
value={tittel} value={tittel}
onChange={e => setTittel(e.target.value)} onChange={e => setTittel(e.target.value)}
/> />
<TextField <Textarea
label="Beskrivelse" label="Beskrivelse"
value={beskrivelse} value={beskrivelse}
onChange={e => setBeskrivelse(e.target.value)} onChange={e => setBeskrivelse(e.target.value)}
@ -107,8 +129,10 @@ export const FeilKort = (props: IFeilKort) => {
</div> </div>
: :
<div>
<div className="flex justify-between"> <div className="flex justify-between">
<FeilkortHeader <FeilkortHeader
id={props.id}
tittel={props.tittel} tittel={props.tittel}
beskrivelse={props.beskrivelse} beskrivelse={props.beskrivelse}
dato={props.dato} dato={props.dato}
@ -134,10 +158,11 @@ export const FeilKort = (props: IFeilKort) => {
</Button> </Button>
</div> </div>
</div> </div>
<div className="h-2 bg-gray-200 my-4 rounded-lg"></div>
</div>
} }
<div className="h-2 bg-gray-200 my-4 rounded-lg"></div>
{/* TODO: HER KOMMER CONTENT */} {/* TODO: HER KOMMER CONTENT */}
</FeilModal> </FeilModal>
</> </>

View file

@ -4,6 +4,7 @@
export interface IFeilmelding { export interface IFeilmelding {
id: number,
tittel: string, tittel: string,
beskrivelse: string beskrivelse: string
dato: Date dato: Date
@ -12,6 +13,7 @@ export interface IFeilmelding {
} }
export class Feilmelding implements IFeilmelding { export class Feilmelding implements IFeilmelding {
id: number = 0
tittel: string = "default tittel" tittel: string = "default tittel"
beskrivelse: string = "default beskrivelse" beskrivelse: string = "default beskrivelse"
dato: Date = new Date() dato: Date = new Date()
@ -24,8 +26,9 @@ export class Feilmelding implements IFeilmelding {
*/ */
public constructor( public constructor(
fields: { fields: {
tittel: string, id: number
beskrivelse: string, tittel: string
beskrivelse: string
dato: Date dato: Date
haster: boolean haster: boolean
arbeidsstatus: number arbeidsstatus: number