Skip to content

Commit

Permalink
Merge pull request #3191 from navikt/duplisere-tiltak
Browse files Browse the repository at this point in the history
FEAT: Mulighet for å duplisere tiltak
  • Loading branch information
sndrem authored Feb 1, 2024
2 parents 9714bce + 97729eb commit 9081245
Show file tree
Hide file tree
Showing 9 changed files with 82 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
display: flex;
justify-content: flex-start;
gap: 1.5rem;
align-items: center;
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { PagineringsOversikt } from "../paginering/PagineringOversikt";
import { TiltaksgjennomforingstatusTag } from "../statuselementer/TiltaksgjennomforingstatusTag";
import styles from "./Tabell.module.scss";
import { useAdminTiltaksgjennomforinger } from "../../api/tiltaksgjennomforing/useAdminTiltaksgjennomforinger";
import { DupliserTiltak } from "../tiltaksgjennomforinger/DupliserTiltak";

interface ColumnHeader {
sortKey: Kolonne;
Expand All @@ -22,6 +23,12 @@ interface ColumnHeader {
}

const headers: ColumnHeader[] = [
{
sortKey: "dupliser",
tittel: "",
sortable: false,
width: "0.5fr",
},
{
sortKey: "navn",
tittel: "Tiltaksnavn",
Expand Down Expand Up @@ -79,6 +86,7 @@ const headers: ColumnHeader[] = [
];

type Kolonne =
| "dupliser"
| "navn"
| "enhet"
| "tiltaksnummer"
Expand Down Expand Up @@ -172,7 +180,7 @@ export const TiltaksgjennomforingsTabell = ({ skjulKolonner, filterAtom }: Props
data-testid="tiltaksgjennomforing-tabell"
>
<Table.Header>
<Table.Row className={styles.tiltaksgjennomforing_tabellrad}>
<Table.Row>
{headers
.filter((header) => {
return skjulKolonner ? !skjulKolonner[header.sortKey] : true;
Expand All @@ -195,7 +203,10 @@ export const TiltaksgjennomforingsTabell = ({ skjulKolonner, filterAtom }: Props
<Table.Body>
{tiltaksgjennomforinger.map((tiltaksgjennomforing, index) => {
return (
<Table.Row key={index} className={styles.tiltaksgjennomforing_tabellrad}>
<Table.Row key={index}>
<Table.DataCell>
<DupliserTiltak tiltaksgjennomforing={tiltaksgjennomforing} />
</Table.DataCell>
<SkjulKolonne skjul={!!skjulKolonner?.navn}>
<Table.DataCell
aria-label={`Navn på tiltaksgjennomforing: ${tiltaksgjennomforing.navn}`}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
.button {
background-color: var(--a-surface-action);
display: flex;
justify-content: center;
align-items: center;
max-height: 2rem;
max-width: 2rem;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { LayersPlusIcon } from "@navikt/aksel-icons";
import styles from "./DupliserTiltak.module.scss";
import { Button } from "@navikt/ds-react";
import { Tiltaksgjennomforing, Toggles } from "mulighetsrommet-api-client";
import { useNavigate } from "react-router-dom";
import { useFeatureToggle } from "../../api/features/feature-toggles";

interface Props {
tiltaksgjennomforing: Tiltaksgjennomforing;
}

export function DupliserTiltak({ tiltaksgjennomforing }: Props) {
const navigate = useNavigate();
const { data: kanDuplisereTiltak } = useFeatureToggle(
Toggles.MR_ADMIN_FLATE_KAN_DUPLISERE_TILTAK,
);

if (!kanDuplisereTiltak) return null;

function apneRedigeringForDupliseringAvTiltak() {
navigate(`/tiltaksgjennomforinger/${tiltaksgjennomforing.id}/skjema`, {
state: {
tiltaksgjennomforing: {
...tiltaksgjennomforing,
id: window.crypto.randomUUID(),
tiltaksnummer: "",
startDato: undefined,
sluttDato: undefined,
},
},
});
}

return (
<Button
title="Dupliser tiltaksgjennomføring"
className={styles.button}
onClick={apneRedigeringForDupliseringAvTiltak}
>
<LayersPlusIcon
style={{ margin: "0 auto", display: "block" }}
color="white"
fontSize="1.5rem"
aria-label="Ikon for duplisering av dokument"
/>
</Button>
);
}
1 change: 1 addition & 0 deletions frontend/mr-admin-flate/src/mocks/api/features.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ export const mockFeatures: Features = {
"mulighetsrommet-veilederflate-arena-oppskrifter": true,
"mulighetsrommet.admin-flate.show-notater": false,
"mulighetsrommet.admin-flate.midlertidig-stengt": false,
"mr-admin-flate.kan-duplisere-tiltak": true,
};
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import { useNavigateAndReplaceUrl } from "../../hooks/useNavigateWithoutReplacin
import { ContainerLayout } from "../../layouts/ContainerLayout";
import { erProdMiljo } from "../../utils/Utils";
import commonStyles from "../Page.module.scss";
import { DupliserTiltak } from "../../components/tiltaksgjennomforinger/DupliserTiltak";

export function TiltaksgjennomforingPage() {
const { pathname } = useLocation();
Expand Down Expand Up @@ -62,6 +63,7 @@ export function TiltaksgjennomforingPage() {
{tiltaksgjennomforing?.navn ?? "..."}
</Heading>
<TiltaksgjennomforingstatusTag tiltaksgjennomforing={tiltaksgjennomforing} />
<DupliserTiltak tiltaksgjennomforing={tiltaksgjennomforing} />
</div>
{tiltaksgjennomforing?.id && (
<div className={headerStyles.forhandsvisningsknapp}>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Alert, Heading } from "@navikt/ds-react";
import { useNavigate } from "react-router-dom";
import { useLocation, useNavigate } from "react-router-dom";
import { useAvtale } from "../../api/avtaler/useAvtale";
import { useTiltaksgjennomforingById } from "../../api/tiltaksgjennomforing/useTiltaksgjennomforingById";
import { ContainerLayout } from "../../layouts/ContainerLayout";
Expand All @@ -18,6 +18,7 @@ const TiltaksgjennomforingSkjemaPage = () => {
useTiltaksgjennomforingById();
const { data: avtale, isLoading: avtaleIsLoading } = useAvtale(tiltaksgjennomforing?.avtaleId);
const { data: ansatt, isPending: isPendingAnsatt } = useHentAnsatt();
const location = useLocation();

const redigeringsModus = tiltaksgjennomforing && inneholderUrl(tiltaksgjennomforing?.id);

Expand All @@ -43,7 +44,11 @@ const TiltaksgjennomforingSkjemaPage = () => {
onSuccess={(id) => navigate(`/tiltaksgjennomforinger/${id}`)}
avtale={avtale}
ansatt={ansatt}
tiltaksgjennomforing={tiltaksgjennomforing}
tiltaksgjennomforing={
location.state?.tiltaksgjennomforing
? location.state.tiltaksgjennomforing
: tiltaksgjennomforing
}
/>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ export const mockFeatures: Features = {
"mulighetsrommet-veilederflate-arena-oppskrifter": true,
"mulighetsrommet.admin-flate.show-notater": true,
"mulighetsrommet.admin-flate.midlertidig-stengt": false,
"mr-admin-flate.kan-duplisere-tiltak": true,
};
1 change: 1 addition & 0 deletions mulighetsrommet-api/src/main/resources/web/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3361,6 +3361,7 @@ components:
- mulighetsrommet-veilederflate-arena-oppskrifter
- mulighetsrommet.admin-flate.show-notater
- mulighetsrommet.admin-flate.midlertidig-stengt
- mr-admin-flate.kan-duplisere-tiltak

TilgjengeligForVeilederRequest:
type: object
Expand Down

0 comments on commit 9081245

Please sign in to comment.