Skip to content

Commit 41c6c71

Browse files
Tar inn nytt prosesspanel (#3714)
* Tar inn nytt prosesspanel * Fikse toggles * Bump beregning-prosess * Fikser import * Intercept for kodeverk * la inn .kode * Forsøk på Module Federation * Fjerner fra Omsorgspenger midlertidig * Fjerner React Refresh plugin * Ta bort duplikat IntlProvider * Bump Intl * Fikser panel for pils og omp * Legger inn HotModuleReplacement Co-authored-by: Hallvard Andreas Stark <[email protected]>
1 parent 0b84375 commit 41c6c71

File tree

112 files changed

+1400
-760
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+1400
-760
lines changed

.storybook/main.js

-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ module.exports = {
5050
loader: 'babel-loader',
5151
options: {
5252
cacheDirectory: true,
53-
// plugins: [configType === 'DEVELOPMENT' && require.resolve('react-refresh/babel')].filter(Boolean),
5453
},
5554
},
5655
],

@types/module-federation-remotes.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
declare module 'ft_prosess_beregningsgrunnlag/ProsessBeregningsgrunnlag';

deploy/dev-fss-k9saksbehandling.yml

+2
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,5 @@ spec:
9696
value: "true"
9797
- name: LOS_MARKER_BEHANDLING
9898
value: "true"
99+
- name: NY_BEREGNING_PROSESS_ENABLED
100+
value: "true"

deploy/prod-fss-k9saksbehandling.yml

+2
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,5 @@ spec:
9696
value: "true"
9797
- name: LOS_MARKER_BEHANDLING
9898
value: "false"
99+
- name: NY_BEREGNING_PROSESS_ENABLED
100+
value: "false"

feature-toggles.json

+4
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,9 @@
3030
{
3131
"key": "LOS_MARKER_BEHANDLING",
3232
"value": "${LOS_MARKER_BEHANDLING}"
33+
},
34+
{
35+
"key": "NY_BEREGNING_PROSESS_ENABLED",
36+
"value": "${NY_BEREGNING_PROSESS_ENABLED}"
3337
}
3438
]

package.json

+10-8
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"lint:fix": "eslint --fix --cache packages --ext .ts,.tsx,.js,.jsx",
2222
"less:lint": "stylelint \"packages/**/*.less\"",
2323
"dev": "cross-env NODE_ENV=development APP_URL_K9FORMIDLING=http://localhost:8060/rest/dummy webpack serve --config webpack/webpack.dev.ts",
24+
"dev-lokal": "cross-env NODE_ENV=development APP_URL_SAK=http://k9-sak:8080 APP_URL_K9OPPDRAG=http://k9-oppdrag:8070 APP_URL_K9FORMIDLING=http://localhost:8060/rest/dummy webpack serve --config webpack/webpack.dev.ts",
2425
"dev-med-formidling": "cross-env NODE_ENV=development webpack serve --config webpack/webpack.dev.ts",
2526
"build": "cross-env NODE_ENV=production webpack --config webpack/webpack.prod.ts",
2627
"lerna": "lerna",
@@ -56,9 +57,11 @@
5657
"i18n-iso-countries": "^7.3.0",
5758
"node-cache": "^5.1.2",
5859
"postcss-less": "^6.0.0",
59-
"react": "^17.0.2",
60-
"react-dom": "^17.0.2",
61-
"react-modal": "3.14.4",
60+
"react": "17.0.2",
61+
"react-dom": "17.0.2",
62+
"react-modal": "3.15.1",
63+
"react-router": "6.3.0",
64+
"react-router-dom": "6.3.0",
6265
"css-loader": "^6.5.1"
6366
},
6467
"devDependencies": {
@@ -141,7 +144,6 @@
141144
"msw": "^0.36.4",
142145
"prettier": "^2.5.1",
143146
"raf": "^3.4.1",
144-
"react-refresh": "^0.11.0",
145147
"react-test-renderer": "^17.0.2",
146148
"redux-mock-store": "^1.5.4",
147149
"sinon": "^14.0.0",
@@ -152,10 +154,10 @@
152154
"thread-loader": "^3.0.4",
153155
"type-fest": "^2.9.0",
154156
"typescript": "4.6.4",
155-
"webpack": "^5.66.0",
156-
"webpack-cli": "^4.9.1",
157-
"webpack-dev-server": "^4.7.3",
158-
"webpack-merge": "^5.7.3"
157+
"webpack": "5.73.0",
158+
"webpack-cli": "4.10.0",
159+
"webpack-dev-server": "4.9.2",
160+
"webpack-merge": "5.8.0"
159161
},
160162
"resolutions": {
161163
"browserslist": "^4.16.5",

packages/behandling-anke/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"nav-frontend-typografi": "4.0.1",
2727
"nav-frontend-typografi-style": "2.0.1",
2828
"react": "^17.0.2",
29-
"react-intl": "^5.25.1",
29+
"react-intl": "6.0.4",
3030
"react-redux": "^8.0.2",
3131
"redux": "^4.1.2",
3232
"redux-form": "^8.3.8",

packages/behandling-felles/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ export type { default as SettPaVentParams } from './src/types/settPaVentParamsTs
2626
export { default as lagDokumentdata } from './src/util/lagDokumentdata';
2727
export { default as BehandlingUtil } from './src/util/BehandlingUtil';
2828
export { default as ArbeidsgiverOpplysningerUtil } from './src/util/ArbeidsgiverOpplysningerUtil';
29+
export { default as DynamicLoader } from './src/util/DynamicLoader';

packages/behandling-felles/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"nav-frontend-typografi": "4.0.1",
3434
"nav-frontend-typografi-style": "2.0.1",
3535
"react": "^17.0.2",
36-
"react-intl": "^5.25.1",
36+
"react-intl": "6.0.4",
3737
"react-redux": "^8.0.2",
3838
"redux-form": "^8.3.8",
3939
"reselect": "^4.1.5"
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, { useEffect, useState } from 'react';
22

33
import { prosessStegCodes } from '@k9-sak-web/konstanter';
44
import { FadingPanel, LoadingPanel } from '@fpsak-frontend/shared-components';
@@ -15,123 +15,133 @@ import prosessStegHooks from '../util/prosessSteg/prosessStegHooks';
1515
import { ProsessStegUtledet } from '../util/prosessSteg/ProsessStegUtledet';
1616

1717
interface OwnProps {
18-
fagsak: Fagsak;
19-
behandling: Behandling;
20-
alleKodeverk: { [key: string]: KodeverkMedNavn[] };
21-
valgtProsessSteg?: ProsessStegUtledet;
22-
apentFaktaPanelInfo?: { urlCode: string; textCode: string };
23-
oppdaterProsessStegOgFaktaPanelIUrl?: (punktnavn?: string, faktanavn?: string) => void;
24-
lagringSideeffekterCallback: (
25-
aksjonspunktModeller: [{ kode: string; isVedtakSubmission?: boolean; sendVarsel?: boolean }],
26-
) => any;
27-
lagreAksjonspunkter: (params: any, keepData?: boolean) => Promise<any>;
28-
lagreOverstyrteAksjonspunkter?: (params: any, keepData?: boolean) => Promise<any>;
29-
useMultipleRestApi: (endpoints: EndpointData[], options: Options) => RestApiData<any>;
30-
featureToggles?: FeatureToggles;
18+
fagsak: Fagsak;
19+
behandling: Behandling;
20+
alleKodeverk: { [key: string]: KodeverkMedNavn[] };
21+
valgtProsessSteg?: ProsessStegUtledet;
22+
apentFaktaPanelInfo?: { urlCode: string; textCode: string };
23+
oppdaterProsessStegOgFaktaPanelIUrl?: (punktnavn?: string, faktanavn?: string) => void;
24+
lagringSideeffekterCallback: (
25+
aksjonspunktModeller: [{ kode: string; isVedtakSubmission?: boolean; sendVarsel?: boolean }],
26+
) => any;
27+
lagreAksjonspunkter: (params: any, keepData?: boolean) => Promise<any>;
28+
lagreOverstyrteAksjonspunkter?: (params: any, keepData?: boolean) => Promise<any>;
29+
useMultipleRestApi: (endpoints: EndpointData[], options: Options) => RestApiData<any>;
30+
featureToggles?: FeatureToggles;
3131
}
3232

3333
const ProsessStegPanel = ({
34-
valgtProsessSteg,
35-
fagsak,
36-
behandling,
37-
alleKodeverk,
38-
apentFaktaPanelInfo,
39-
oppdaterProsessStegOgFaktaPanelIUrl,
40-
lagringSideeffekterCallback,
41-
lagreAksjonspunkter,
42-
lagreOverstyrteAksjonspunkter,
43-
useMultipleRestApi,
44-
featureToggles,
45-
}: OwnProps) => {
46-
const erHenlagtOgVedtakStegValgt =
47-
behandling.behandlingHenlagt && valgtProsessSteg && valgtProsessSteg.getUrlKode() === prosessStegCodes.VEDTAK;
34+
valgtProsessSteg,
35+
fagsak,
36+
behandling,
37+
alleKodeverk,
38+
apentFaktaPanelInfo,
39+
oppdaterProsessStegOgFaktaPanelIUrl,
40+
lagringSideeffekterCallback,
41+
lagreAksjonspunkter,
42+
lagreOverstyrteAksjonspunkter,
43+
useMultipleRestApi,
44+
featureToggles,
45+
}: OwnProps) => {
46+
const erHenlagtOgVedtakStegValgt =
47+
behandling.behandlingHenlagt && valgtProsessSteg && valgtProsessSteg.getUrlKode() === prosessStegCodes.VEDTAK;
4848

49-
const panelKeys = valgtProsessSteg
50-
? valgtProsessSteg
51-
.getDelPaneler()[0]
52-
.getProsessStegDelPanelDef()
53-
.getEndepunkter(featureToggles)
54-
.map(e => ({ key: e }))
55-
: [];
49+
const panelKeys = valgtProsessSteg
50+
? valgtProsessSteg
51+
.getDelPaneler()[0]
52+
.getProsessStegDelPanelDef()
53+
.getEndepunkter(featureToggles)
54+
.map(e => ({key: e}))
55+
: [];
5656

57-
const suspendRequest = !!(
58-
panelKeys.length === 0 ||
59-
erHenlagtOgVedtakStegValgt ||
60-
!valgtProsessSteg ||
61-
(!valgtProsessSteg.getErStegBehandlet() && valgtProsessSteg.getUrlKode())
62-
);
57+
const suspendRequest = !!(
58+
panelKeys.length === 0 ||
59+
erHenlagtOgVedtakStegValgt ||
60+
!valgtProsessSteg ||
61+
(!valgtProsessSteg.getErStegBehandlet() && valgtProsessSteg.getUrlKode())
62+
);
6363

64-
const { data, state: hentDataState } = useMultipleRestApi(panelKeys, {
65-
keepData: true,
66-
isCachingOn: true,
67-
suspendRequest,
68-
updateTriggers: [behandling?.versjon, suspendRequest, valgtProsessSteg],
69-
});
64+
const {data, state: hentDataState} = useMultipleRestApi(panelKeys, {
65+
keepData: true,
66+
isCachingOn: true,
67+
suspendRequest,
68+
updateTriggers: [behandling?.versjon, suspendRequest, valgtProsessSteg],
69+
});
7070

71-
const bekreftAksjonspunktCallback = prosessStegHooks.useBekreftAksjonspunkt(
72-
fagsak,
73-
behandling,
74-
lagringSideeffekterCallback,
75-
lagreAksjonspunkter,
76-
lagreOverstyrteAksjonspunkter,
77-
valgtProsessSteg,
78-
);
71+
const bekreftAksjonspunktCallback = prosessStegHooks.useBekreftAksjonspunkt(
72+
fagsak,
73+
behandling,
74+
lagringSideeffekterCallback,
75+
lagreAksjonspunkter,
76+
lagreOverstyrteAksjonspunkter,
77+
valgtProsessSteg,
78+
);
7979

80-
if (erHenlagtOgVedtakStegValgt) {
81-
return <BehandlingHenlagtPanel />;
82-
}
83-
if (!valgtProsessSteg) {
84-
return null;
85-
}
86-
if (!valgtProsessSteg.getErStegBehandlet() && valgtProsessSteg.getUrlKode()) {
87-
return <ProsessStegIkkeBehandletPanel />;
88-
}
8980

90-
const harHentetData = panelKeys.length === 0 || hentDataState === RestApiState.SUCCESS;
91-
const delPaneler = valgtProsessSteg.getDelPaneler();
81+
if (erHenlagtOgVedtakStegValgt) {
82+
return <BehandlingHenlagtPanel/>;
83+
}
84+
if (!valgtProsessSteg) {
85+
return null;
86+
}
87+
if (!valgtProsessSteg.getErStegBehandlet() && valgtProsessSteg.getUrlKode()) {
88+
return <ProsessStegIkkeBehandletPanel/>;
89+
}
9290

93-
return (
94-
// eslint-disable-next-line react/jsx-no-useless-fragment
95-
<>
96-
{valgtProsessSteg.getErStegBehandlet() && (
97-
<MargMarkering
98-
behandlingStatus={behandling.status}
99-
aksjonspunkter={valgtProsessSteg.getAksjonspunkter()}
100-
isReadOnly={valgtProsessSteg.getErReadOnly()}
101-
visAksjonspunktMarkering={delPaneler.length === 1}
102-
>
103-
{delPaneler.length === 1 && (
104-
<FadingPanel>
105-
{!harHentetData && <LoadingPanel />}
106-
{harHentetData && (
107-
<>
108-
{delPaneler[0].getProsessStegDelPanelDef().getKomponent({
109-
behandling,
110-
featureToggles,
111-
alleKodeverk,
112-
submitCallback: bekreftAksjonspunktCallback,
113-
...delPaneler[0].getKomponentData(),
114-
...data,
115-
})}
116-
</>
117-
)}
118-
</FadingPanel>
119-
)}
120-
{delPaneler.length > 1 && (
121-
<InngangsvilkarPanel
122-
behandling={behandling}
123-
alleKodeverk={alleKodeverk}
124-
prosessStegData={delPaneler}
125-
submitCallback={bekreftAksjonspunktCallback}
126-
apentFaktaPanelInfo={apentFaktaPanelInfo}
127-
oppdaterProsessStegOgFaktaPanelIUrl={oppdaterProsessStegOgFaktaPanelIUrl}
128-
useMultipleRestApi={useMultipleRestApi}
129-
/>
130-
)}
131-
</MargMarkering>
132-
)}
133-
</>
134-
);
91+
const harHentetData = panelKeys.length === 0 || hentDataState === RestApiState.SUCCESS;
92+
const delPaneler = valgtProsessSteg.getDelPaneler();
93+
94+
const [formData, setFormData] = useState({});
95+
useEffect(() => {
96+
if (formData) {
97+
setFormData(undefined);
98+
}
99+
}, [behandling.versjon]);
100+
101+
return (
102+
// eslint-disable-next-line react/jsx-no-useless-fragment
103+
<>
104+
{valgtProsessSteg.getErStegBehandlet() && (
105+
<MargMarkering
106+
behandlingStatus={behandling.status}
107+
aksjonspunkter={valgtProsessSteg.getAksjonspunkter()}
108+
isReadOnly={valgtProsessSteg.getErReadOnly()}
109+
visAksjonspunktMarkering={delPaneler.length === 1}
110+
>
111+
{delPaneler.length === 1 && (
112+
<FadingPanel>
113+
{!harHentetData && <LoadingPanel/>}
114+
{harHentetData && (
115+
<>
116+
{delPaneler[0].getProsessStegDelPanelDef().getKomponent({
117+
behandling,
118+
featureToggles,
119+
alleKodeverk,
120+
formData,
121+
setFormData,
122+
submitCallback: bekreftAksjonspunktCallback,
123+
...delPaneler[0].getKomponentData(),
124+
...data,
125+
})}
126+
</>
127+
)}
128+
</FadingPanel>
129+
)}
130+
{delPaneler.length > 1 && (
131+
<InngangsvilkarPanel
132+
behandling={behandling}
133+
alleKodeverk={alleKodeverk}
134+
prosessStegData={delPaneler}
135+
submitCallback={bekreftAksjonspunktCallback}
136+
apentFaktaPanelInfo={apentFaktaPanelInfo}
137+
oppdaterProsessStegOgFaktaPanelIUrl={oppdaterProsessStegOgFaktaPanelIUrl}
138+
useMultipleRestApi={useMultipleRestApi}
139+
/>
140+
)}
141+
</MargMarkering>
142+
)}
143+
</>
144+
);
135145
};
136146

137147
export default ProsessStegPanel;

0 commit comments

Comments
 (0)