u
This commit is contained in:
@@ -746,6 +746,42 @@ export function createDeliveryEditorAutomat(options = {}) {
|
||||
})
|
||||
);
|
||||
|
||||
// Preserve already attached files in the editor so loading a draft manifest does not wipe them out.
|
||||
const currentAttachments =
|
||||
automat.state.attachments?.length > 0
|
||||
? automat.state.attachments
|
||||
: (Array.isArray(automat.state.files) && automat.state.files.length > 0 ? automat.state.files : []);
|
||||
|
||||
const rawManifestAttachments =
|
||||
data.attachments ??
|
||||
data.files ??
|
||||
basedata.attachments ??
|
||||
basedata.files ??
|
||||
null;
|
||||
const manifestAttachments = Array.isArray(rawManifestAttachments) ? rawManifestAttachments : [];
|
||||
|
||||
let attachments = currentAttachments;
|
||||
if (currentAttachments.length === 0) {
|
||||
attachments = manifestAttachments;
|
||||
} else if (manifestAttachments.length > 0) {
|
||||
const existingKeys = new Set(
|
||||
currentAttachments.flatMap((a) => [
|
||||
a.id != null ? String(a.id) : null,
|
||||
a.name ? String(a.name).trim().toLowerCase() : null,
|
||||
]).filter(Boolean)
|
||||
);
|
||||
const newAttachments = manifestAttachments.filter((a) => {
|
||||
const idKey = a.id != null ? String(a.id) : null;
|
||||
const nameKey = a.name ? String(a.name).trim().toLowerCase() : null;
|
||||
if (idKey && existingKeys.has(idKey)) return false;
|
||||
if (nameKey && existingKeys.has(nameKey)) return false;
|
||||
return true;
|
||||
});
|
||||
if (newAttachments.length > 0) {
|
||||
attachments = [...currentAttachments, ...newAttachments];
|
||||
}
|
||||
}
|
||||
|
||||
automat.actions.setDelivery({
|
||||
id: null,
|
||||
deliveryId: null,
|
||||
@@ -758,6 +794,8 @@ export function createDeliveryEditorAutomat(options = {}) {
|
||||
type,
|
||||
lines,
|
||||
lineitems: lines,
|
||||
attachments,
|
||||
files: attachments,
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
@@ -1949,11 +1949,6 @@ export default class ChatDrawer extends PureComponent {
|
||||
type="submit"
|
||||
color="primary"
|
||||
disabled={!canSend}
|
||||
title={
|
||||
isWorking
|
||||
? 'Modell antwortet gerade…'
|
||||
: 'Senden (Enter)'
|
||||
}
|
||||
sx={{
|
||||
bgcolor: isWorking ? 'action.hover' : 'primary.main',
|
||||
color: isWorking ? 'warning.main' : 'primary.contrastText',
|
||||
|
||||
Reference in New Issue
Block a user