This commit is contained in:
seb
2026-10-14 15:00:31 +02:00
parent 4188d8f46f
commit b8fdef4e11
5 changed files with 87 additions and 96 deletions

View File

@@ -69,6 +69,7 @@ class ManifestForm extends PureComponent {
isDirty: Boolean(initialEdit?.isDirty),
dirtyFields: initialEdit?.dirtyFields || null,
dirtyLineKeys: initialEdit?.dirtyLineKeys || [],
dirtyLineFields: initialEdit?.dirtyLineFields || {},
dirtySummary: initialEdit?.dirtySummary || [],
saving: false,
pdfUploading: false,
@@ -172,6 +173,7 @@ class ManifestForm extends PureComponent {
isDirty: Boolean(state.isDirty),
dirtyFields: state.dirtyFields,
dirtyLineKeys: state.dirtyLineKeys,
dirtyLineFields: state.dirtyLineFields,
dirtySummary: state.dirtySummary,
};
}
@@ -225,13 +227,14 @@ class ManifestForm extends PureComponent {
lines: this.state.lines,
attachments: this.state.attachments,
});
const { isDirty, dirtyFields, dirtyLineKeys, dirtySummary } = this.editAutomat.state;
const { isDirty, dirtyFields, dirtyLineKeys, dirtyLineFields, dirtySummary } = this.editAutomat.state;
if (
this.state.isDirty !== isDirty ||
this.state.dirtyFields !== dirtyFields ||
this.state.dirtyLineFields !== dirtyLineFields ||
this.state.dirtySummary !== dirtySummary
) {
this.setState({ isDirty, dirtyFields, dirtyLineKeys, dirtySummary });
this.setState({ isDirty, dirtyFields, dirtyLineKeys, dirtyLineFields, dirtySummary });
}
}
}
@@ -297,6 +300,7 @@ class ManifestForm extends PureComponent {
isDirty: Boolean(this.editAutomat.state.isDirty),
dirtyFields: this.editAutomat.state.dirtyFields,
dirtyLineKeys: this.editAutomat.state.dirtyLineKeys,
dirtyLineFields: this.editAutomat.state.dirtyLineFields,
dirtySummary: this.editAutomat.state.dirtySummary,
date: this.editAutomat.state.date,
partyId: this.editAutomat.state.partyId,
@@ -349,6 +353,7 @@ class ManifestForm extends PureComponent {
isDirty: false,
dirtyFields: null,
dirtyLineKeys: [],
dirtyLineFields: {},
dirtySummary: [],
});
} catch (err) {
@@ -380,6 +385,7 @@ class ManifestForm extends PureComponent {
isDirty: false,
dirtyFields: state.dirtyFields,
dirtyLineKeys: state.dirtyLineKeys,
dirtyLineFields: state.dirtyLineFields,
dirtySummary: state.dirtySummary,
});
enqueueSnackbar('Änderungen verworfen und ursprünglicher Stand wiederhergestellt.', { variant: 'info' });
@@ -874,6 +880,7 @@ class ManifestForm extends PureComponent {
isDirty: false,
dirtyFields: null,
dirtyLineKeys: [],
dirtyLineFields: {},
dirtySummary: [],
saving: false,
});
@@ -887,7 +894,7 @@ class ManifestForm extends PureComponent {
renderArticles() {
const cfg = this.cfg;
const { lines, saving, dirtyFields, dirtyLineKeys } = this.state;
const { lines, saving, dirtyLineFields } = this.state;
return (
<ManifestLines
@@ -897,8 +904,7 @@ class ManifestForm extends PureComponent {
saving={saving}
wide={4}
linesColor={cfg.linesColor}
isLinesDirty={Boolean(dirtyFields?.lines)}
dirtyLineKeys={dirtyLineKeys || []}
dirtyLineFields={dirtyLineFields || {}}
onLineChange={this.handleLineChange}
onSkuBlur={this.handleSkuBlur}
onAddLine={this.handleAddLine}