Skip to content

Commit 36727bc

Browse files
committed
oppdatere readme
1 parent 6f2772d commit 36727bc

File tree

2 files changed

+77
-20
lines changed

2 files changed

+77
-20
lines changed

v3/README.md

+77-18
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,86 @@
1-
# React + TypeScript + Vite
1+
# Dekoratør for interne arbeidsflater V3
2+
Dekoratøren er en navigasjonsmeny som skal kunne brukes på tvers av fagapplikasjoner i NAV.
23

3-
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
4+
Appen har ansvar for kommunikasjon med contextholderen (modia-contextholder og modia-eventdistribution).
5+
Dette betyr at hvis man sender inn konfigurasjonen for `enhet` eller `fnr`, så vil det bli satt opp en WebSocket-connection,
6+
og appen vil holde context i sync med hva som vises i decoratøren.
7+
Ved eventuelle endringer i andre flater vil det vises en bekreftelse-modal, og hvis saksbehandler bekrefter endringen så vil `onChange` bli kalt.
48

5-
Currently, two official plugins are available:
9+
## Ta ibruk
10+
Legg til følgende i index.html
11+
```html
12+
<script src="https://cdn.nav.no/personoversikt/internarbeidsflate-decorator-v3/dev/latest/dist/bundle.js"></script>
13+
<link rel="stylesheet" href="https://cdn.nav.no/personoversikt/internarbeidsflate-decorator-v3/dev/latest/dist/index.css" />
14+
```
15+
16+
17+
### React med navspa
18+
Om man bruker react som frontendbibliotek kan man så ta ibruk `@navikt/navspa` (Eksemplet er med typescript, fjern `DecoratorProps` om det ikke brukes).
19+
```typescript jsx
20+
import NAVSPA from '@navikt/navspa';
21+
import DecoratorProps from './decorator-props';
22+
import decoratorConfig from './decorator-config';
23+
24+
const InternflateDecorator = NAVSPA.importer<DecoratorProps>('internarbeidsflatefs');
25+
26+
function App() {
27+
return (
28+
<>
29+
<InternflateDecorator {...decoratorConfig}/>
30+
<h1>Resten av appen din her.</h1>
31+
</>
32+
);
33+
}
34+
```
35+
36+
### Manuelt oppsett
37+
Om man ikke bruker react så kan man fortsatt ta ibruk decoratoren, men man må da kalle render-funksjonen selv.
38+
Ett eksempel på hvordan dette kan gjøres kan ses i [index.html](public/index.html).
39+
40+
## Konfigurasjon
41+
42+
Eksempler på konfigurasjoner kan ses i [index.html](public/index.html).
643

7-
- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
8-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
44+
```typescript jsx
45+
export interface DecoratorProps {
46+
useProxy?: boolean | string; // Manuell overstyring av urlene til BFFs. Gjør alle kall til relativt path hvis true, og bruker verdien som domene om satt til en string. Default: false
47+
accessToken?: string; // Manuell innsending av JWT, settes som Authorization-header. Om null sendes cookies vha credentials: 'include'
48+
enhet?: string | undefined; // Konfigurasjon av enhet-kontekst
49+
accessToken?: string | undefined; // Manuell innsending av JWT, settes som Authorization-header. Om null sendes cookies vha credentials: 'include'
50+
fnr?: string | undefined; // Konfigurasjon av fødselsnummer-kontekst
51+
userKey?: string | undefined; // Om man ikke ønsker å bruke fnr i urler, kan andre apper kalle contextholder for å generere en midlertidig kode. Hvis App A skal navigere til App B som har dekoratøren, må App A først sende en post request til /fnr-code/generate med {fnr: string} i bodyen, dette returnerer {fnr: string, code: string} til App A. App A kan så navigere til App B og sende med denne koden. App B kan så sende den koden inn til dekoratøren i userKey propen og så henter dekoratøren fnr for den koden fra contextholderen.
52+
enableHotkeys?: boolean | undefined; // Aktivere hurtigtaster
53+
fetchActiveEnhetOnMount?: boolean | undefined; // Om enhet er undefined fra container appen, og denne er satt til true, henter den sist aktiv enhet og bruker denne.
54+
fetchActiveUserOnMount?: boolean | undefined; // Om fnr er undefined fra container appen, og denne er satt til true for at den skal hente siste aktiv fnr.
55+
onBeforeRequest?: (headers: HeadersInit) => HeadersInit | undefined; // Her kan headeren til alle nettverkskall bli modifisert før de blir kalt
56+
onEnhetChanged: (enhet?: string | null) => void; // Kalles når enheten endres
57+
onFnrChanged: (fnr?: string | null) => void; // Kalles når fnr enheten endres
58+
appName: string; // Navn på applikasjonen
59+
hotkeys?: Hotkey[]; // Konfigurasjon av hurtigtaster
60+
markup?: Markup; // Egen HTML
61+
showEnheter: boolean; // Vis enheter
62+
showSearchArea: boolean; // Vis søkefelt
63+
showHotkeys: boolean; // Vis hurtigtaster
64+
environment: Environment; // Miljø som skal brukes.
65+
urlFormat: UrlFormat; // URL format
66+
proxy?: string | undefined; // Manuell overstyring av urlene til BFFs. Gjør alle kall til relativt path hvis true, og bruker verdien som domene om satt til en string. Default: false
67+
}
968

10-
## Expanding the ESLint configuration
69+
// export interface TogglesConfig {
70+
// visVeileder?: boolean; // Styrer om man skal vise informasjon om innlogget veileder
71+
// visHotkeys?: boolean; // Styrer om man skal vise knappen for hotkeys
72+
// }
1173

12-
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
74+
export interface Markup {
75+
etterSokefelt?: string; // Gir muligheten for sende inn egen html som blir en del av dekoratøren
76+
}
1377

14-
- Configure the top-level `parserOptions` property like this:
78+
export type Environment = 'q0' | 'q1' | 'q2' | 'q3' | 'q4' | 'prod' | 'local' | 'mock'; // Miljø. Foreløpig er kun q0 og q1 støttet.
79+
80+
export type UrlFormat = 'LOCAL' | 'ADEO' | 'NAV_NO'; // UrlFormat. Brukes om proxy ikke er satt.
1581

16-
```js
17-
parserOptions: {
18-
ecmaVersion: 'latest',
19-
sourceType: 'module',
20-
project: ['./tsconfig.json', './tsconfig.node.json'],
21-
tsconfigRootDir: __dirname,
22-
},
2382
```
83+
# Henvendelser
84+
Spørsmål knyttet til koden eller prosjektet kan rettes mot:
2485

25-
- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
26-
- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
27-
- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
86+
[Team Personoversikt](https://github.com/navikt/info-team-personoversikt)

v3/packages/internarbeidsflate-decorator-v3/src/states/AppState.ts

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { create } from 'zustand';
22
import { Hotkey } from '../types/Hotkey';
3-
import { TogglesConfig } from '../types/TogglesConfig';
43
import { Markup } from '../types/Markup';
54
import { Environment, UrlFormat } from '../utils/environmentUtils';
65

@@ -18,7 +17,6 @@ export interface AppState {
1817
appName: string;
1918
open: boolean;
2019
hotkeys?: Hotkey[];
21-
toggles?: TogglesConfig;
2220
markup?: Markup;
2321
showEnheter: boolean;
2422
showSearchArea: boolean;

0 commit comments

Comments
 (0)