Skip to content

Commit c27e7fc

Browse files
committed
Store object instead of string value for activity
1 parent d77bb3e commit c27e7fc

File tree

1 file changed

+22
-8
lines changed
  • packages/shared-components/src/formio/components/core/activities

1 file changed

+22
-8
lines changed

packages/shared-components/src/formio/components/core/activities/Activities.tsx

+22-8
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class Activities extends BaseComponent {
1212
activities?: SendInnAktivitet[] = undefined;
1313
activitiesError?: string;
1414
defaultActivity = {
15-
value: 'ingenAktivitet',
15+
activity: { aktivitetId: 'ingenAktivitet', maalgruppe: '', periode: { fom: '', tom: '' } },
1616
text: this.t('Jeg får ikke opp noen aktiviteter her som stemmer med det jeg vil søke om'),
1717
};
1818

@@ -34,8 +34,16 @@ class Activities extends BaseComponent {
3434
return activitiesBuilder();
3535
}
3636

37+
// The radio/checkbox values are simple strings, but the whole activity object is stored in the submission
3738
changeHandler(value: string, opts: { modified: boolean }) {
38-
super.updateValue(value, opts);
39+
if (value === 'ingenAktivitet') {
40+
super.updateValue(this.defaultActivity.activity, opts);
41+
} else {
42+
const activity = this.activities?.find((x) => x.aktivitetId === value);
43+
if (activity) {
44+
super.updateValue(activity, opts);
45+
}
46+
}
3947
this.rerender();
4048
}
4149

@@ -49,8 +57,6 @@ class Activities extends BaseComponent {
4957
const appConfig = this.getAppConfig();
5058
const isLoggedIn = this.getIsLoggedIn();
5159

52-
console.log('appConfig', appConfig);
53-
5460
if (!this.loadFinished && appConfig?.app === 'fyllut' && isLoggedIn === true) {
5561
this.isLoading = true;
5662
getActivities(appConfig)
@@ -71,6 +77,14 @@ class Activities extends BaseComponent {
7177
}
7278
}
7379

80+
mapActivity(activity: SendInnAktivitet) {
81+
return {
82+
aktivitetId: activity.aktivitetId,
83+
maalgruppe: activity.maalgruppe,
84+
periode: activity.periode,
85+
};
86+
}
87+
7488
renderReact(element) {
7589
this.getActivities();
7690

@@ -79,14 +93,14 @@ class Activities extends BaseComponent {
7993
<CheckboxGroup
8094
id={this.getId()}
8195
legend={this.getLabel()}
82-
value={this.getValue()}
96+
value={this.getValue()?.aktivitetId ?? ''}
8397
onChange={(values) => this.changeHandler(values[0], { modified: true })}
8498
ref={(ref) => this.setReactInstance(ref)}
8599
description={this.getDescription()}
86100
className={this.getClassName()}
87101
error={this.getError()}
88102
>
89-
<Checkbox value={this.defaultActivity.value} ref={(ref) => (this.lastRef = ref)}>
103+
<Checkbox value={this.defaultActivity.activity.aktivitetId} ref={(ref) => (this.lastRef = ref)}>
90104
{this.defaultActivity.text}
91105
</Checkbox>
92106
</CheckboxGroup>
@@ -98,7 +112,7 @@ class Activities extends BaseComponent {
98112
<RadioGroup
99113
id={this.getId()}
100114
legend={this.getLabel()}
101-
value={this.getValue()}
115+
value={this.getValue()?.aktivitetId ?? ''}
102116
onChange={(value) => this.changeHandler(value, { modified: true })}
103117
ref={(ref) => this.setReactInstance(ref)}
104118
description={this.getDescription()}
@@ -118,7 +132,7 @@ class Activities extends BaseComponent {
118132
</Radio>
119133
);
120134
})}
121-
<Radio value={this.defaultActivity.value}>{this.defaultActivity.text}</Radio>
135+
<Radio value={this.defaultActivity.activity.aktivitetId}>{this.defaultActivity.text}</Radio>
122136
</RadioGroup>
123137
);
124138
};

0 commit comments

Comments
 (0)