Merge branch 'main' into valideringBackend

This commit is contained in:
Markus A. R. Johansen 2023-08-11 09:57:20 +02:00 committed by GitHub
commit b8b083a374
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 62 additions and 33 deletions

View file

@ -80,6 +80,12 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
feilmeldingRepository.slettFeilmelding(id.toInt()) feilmeldingRepository.slettFeilmelding(id.toInt())
call.respond(status = HttpStatusCode.OK, message = "Feilmelding slettet") call.respond(status = HttpStatusCode.OK, message = "Feilmelding slettet")
} }
delete("api/slettfeilmelding/{id}") {
val id = call.parameters["id"]
checkNotNull(id) {"Id kan ikke være null"}
feilmeldingRepository.slettFeilmelding(id.toInt())
call.respond(status = HttpStatusCode.Created, message = "Feilmelding slettet")
}
} }
} }

View file

@ -40,6 +40,11 @@ const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
props.reset() props.reset()
} }
const fullUpdate = async() => {
setKommentar(kommentarfelt)
oppdaterkommentar()
}
return( return(
<> <>
<div className="flex justify-between "> <div className="flex justify-between ">
@ -73,20 +78,14 @@ const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
</div> </div>
<Skillelinje/> <Skillelinje/>
{props.children} {props.children}
{kommentar.length === 0 ?
<KommentarTekstfelt <Kommentar
kommentarfelt={kommentarfelt} tekst={kommentar}
setKommentarfelt={setKommentarfelt} kommentarfelt={kommentarfelt}
oppdaterKommentar={() => { setKommentarfelt={setKommentarfelt}
setKommentar(kommentarfelt) oppdaterKommentar={fullUpdate}
oppdaterkommentar()} />
}
/>
:
<Kommentar
tekst={kommentar}
/>
}
</> </>
) )
} }

View file

@ -1,21 +1,20 @@
import { ChatElipsisIcon } from "@navikt/aksel-icons" import { ChatElipsisIcon, PencilIcon } from "@navikt/aksel-icons"
import { TextField, Button, Heading } from "@navikt/ds-react" import { TextField, Button, Heading } from "@navikt/ds-react"
import Skillelinje from "./Skillelinje" import Skillelinje from "./Skillelinje"
import { useState } from "react"
interface kommentarTekstfeltInterface { interface kommentarInterface {
kommentarfelt: string, kommentarfelt: string,
setKommentarfelt: (val: string) => void setKommentarfelt: (val: string) => void
oppdaterKommentar: () => void oppdaterKommentar: () => void
}
interface kommentarInterface {
tekst: string tekst: string
} }
/** /**
* Kommentartekstfeltet er et tekstfelt med en knapp som poster en kommentar til en feil. * Kommentartekstfeltet er et tekstfelt med en knapp som poster en kommentar til en feil.
*/ */
export const KommentarTekstfelt = (props: kommentarTekstfeltInterface) => { export const KommentarTekstfelt = (props: kommentarInterface) => {
return( return (
<div className="flex items-end gap-12 w-full mt-4 h-fit"> <div className="flex items-end gap-12 w-full mt-4 h-fit">
<TextField <TextField
className="grow" className="grow"
@ -26,7 +25,7 @@ export const KommentarTekstfelt = (props: kommentarTekstfeltInterface) => {
</TextField> </TextField>
<Button <Button
variant="secondary" variant="secondary"
icon={<ChatElipsisIcon/>} icon={<ChatElipsisIcon />}
onClick={() => props.oppdaterKommentar()} onClick={() => props.oppdaterKommentar()}
> >
Legg til kommentar Legg til kommentar
@ -41,13 +40,34 @@ export const KommentarTekstfelt = (props: kommentarTekstfeltInterface) => {
* @param tekst * @param tekst
*/ */
export const Kommentar = (props: kommentarInterface) => { export const Kommentar = (props: kommentarInterface) => {
return( const [redigerKommentar, setRedigerKommentar] = useState(false)
return (
<> <>
<Skillelinje/> <Skillelinje />
<div className="p-5 bg-bg-subtle rounded-lg w-2/3 my-4"> {props.tekst.length === 0 || redigerKommentar ?
<Heading size="medium">Kommentar</Heading> <KommentarTekstfelt
<p className="break-words">{props.tekst}</p> kommentarfelt={props.kommentarfelt}
</div> setKommentarfelt={props.setKommentarfelt}
oppdaterKommentar={props.oppdaterKommentar}
tekst={props.tekst}
/>
:
<div className="flex flex-col gap-3 p-5 bg-bg-subtle rounded-lg w-2/3 my-4">
<div className="flex justify-between items-center">
<Heading size="medium">Kommentar</Heading>
<Button
variant="tertiary"
icon={<PencilIcon />}
onClick={() => {
setRedigerKommentar(true);
console.log(redigerKommentar);
}}
></Button>
</div>
<p className="break-words">{props.tekst}</p>
</div>
}
</> </>
) )
} }

View file

@ -102,7 +102,7 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
> >
Avbryt Avbryt
</Button> </Button>
<SlettFeilKnapp id={props.id}/> <SlettFeilKnapp setVisModal={props.setVisModal} reset={props.reset} id={props.id}/>
</div> </div>
</div> </div>
) )
@ -110,11 +110,15 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
export default RedigeringsVerktoy; export default RedigeringsVerktoy;
const SlettFeilKnapp = (props: {
id : number
const SlettFeilKnapp = (props: {id : number}) => { reset: () => void
const SlettFeil = () => { setVisModal: (visModal: boolean) => void
axios.delete(`/api/slettfeilmelding/${props.id}`) }) => {
const SlettFeil = async () => {
await axios.delete(`/api/slettfeilmelding/${props.id}`)
props.reset()
props.setVisModal(false)
} }
return( return(