u
This commit is contained in:
@@ -271,6 +271,7 @@ export function getManifestDirtyDetails(current, baseline) {
|
||||
};
|
||||
|
||||
const dirtyLineKeys = [];
|
||||
const dirtyLineFields = {};
|
||||
const curLines = current.lines || [];
|
||||
const baseLines = baseline.lines || [];
|
||||
|
||||
@@ -291,27 +292,49 @@ export function getManifestDirtyDetails(current, baseline) {
|
||||
const bl =
|
||||
(cl.key && baseLinesByKey.get(cl.key)) ||
|
||||
(cl.id != null && baseLinesByKey.get(`id-${cl.id}`)) ||
|
||||
baseLines[i];
|
||||
(baseLinesByKey.size === 0 ? baseLines[i] : null);
|
||||
|
||||
if (!bl) {
|
||||
if (cl.sku || cl.name || (cl.amount && cl.amount !== '1') || cl.net || cl.gross) {
|
||||
dirtyLineKeys.push(key);
|
||||
fields.lines = true;
|
||||
}
|
||||
dirtyLineKeys.push(key);
|
||||
dirtyLineFields[key] = { __all__: true };
|
||||
fields.lines = true;
|
||||
} else {
|
||||
const lineChanged =
|
||||
String(cl.sku ?? '').trim() !== String(bl.sku ?? '').trim() ||
|
||||
String(cl.name ?? '').trim() !== String(bl.name ?? '').trim() ||
|
||||
String(cl.amount ?? '').trim() !== String(bl.amount ?? '').trim() ||
|
||||
String(cl.net ?? cl.netprice ?? '').trim() !== String(bl.net ?? bl.netprice ?? '').trim() ||
|
||||
String(cl.gross ?? '').trim() !== String(bl.gross ?? '').trim() ||
|
||||
String(cl.rebate ?? '').trim() !== String(bl.rebate ?? '').trim() ||
|
||||
String(cl.tax ?? cl.taxrate ?? '').trim() !== String(bl.tax ?? bl.taxrate ?? '').trim() ||
|
||||
String(cl.pu ?? '').trim() !== String(bl.pu ?? '').trim() ||
|
||||
String(cl.unit ?? '').trim() !== String(bl.unit ?? '').trim();
|
||||
const lineFieldDiffs = {};
|
||||
if (String(cl.sku ?? '').trim() !== String(bl.sku ?? '').trim()) {
|
||||
lineFieldDiffs.sku = true;
|
||||
}
|
||||
if (String(cl.name ?? '').trim() !== String(bl.name ?? '').trim()) {
|
||||
lineFieldDiffs.name = true;
|
||||
}
|
||||
if (String(cl.amount ?? cl.count ?? '').trim() !== String(bl.amount ?? bl.count ?? '').trim()) {
|
||||
lineFieldDiffs.amount = true;
|
||||
lineFieldDiffs.count = true;
|
||||
}
|
||||
if (String(cl.net ?? cl.netprice ?? '').trim() !== String(bl.net ?? bl.netprice ?? '').trim()) {
|
||||
lineFieldDiffs.net = true;
|
||||
lineFieldDiffs.netprice = true;
|
||||
}
|
||||
if (String(cl.gross ?? '').trim() !== String(bl.gross ?? '').trim()) {
|
||||
lineFieldDiffs.gross = true;
|
||||
}
|
||||
if (String(cl.rebate ?? '').trim() !== String(bl.rebate ?? '').trim()) {
|
||||
lineFieldDiffs.rebate = true;
|
||||
}
|
||||
if (String(cl.tax ?? cl.taxrate ?? '').trim() !== String(bl.tax ?? bl.taxrate ?? '').trim()) {
|
||||
lineFieldDiffs.tax = true;
|
||||
lineFieldDiffs.taxrate = true;
|
||||
}
|
||||
if (String(cl.pu ?? cl.vpe ?? '').trim() !== String(bl.pu ?? bl.vpe ?? '').trim()) {
|
||||
lineFieldDiffs.pu = true;
|
||||
lineFieldDiffs.vpe = true;
|
||||
}
|
||||
if (String(cl.unit ?? '').trim() !== String(bl.unit ?? '').trim()) {
|
||||
lineFieldDiffs.unit = true;
|
||||
}
|
||||
|
||||
if (lineChanged) {
|
||||
if (Object.keys(lineFieldDiffs).length > 0) {
|
||||
dirtyLineKeys.push(key);
|
||||
dirtyLineFields[key] = lineFieldDiffs;
|
||||
fields.lines = true;
|
||||
}
|
||||
}
|
||||
@@ -348,6 +371,7 @@ export function getManifestDirtyDetails(current, baseline) {
|
||||
isDirty,
|
||||
fields,
|
||||
dirtyLineKeys,
|
||||
dirtyLineFields,
|
||||
summary,
|
||||
};
|
||||
}
|
||||
@@ -413,6 +437,7 @@ export function createManifestEditAutomat({ kind, name }) {
|
||||
isDirty: false,
|
||||
dirtyFields: { ...emptyFields },
|
||||
dirtyLineKeys: [],
|
||||
dirtyLineFields: {},
|
||||
dirtySummary: [],
|
||||
});
|
||||
},
|
||||
@@ -425,6 +450,7 @@ export function createManifestEditAutomat({ kind, name }) {
|
||||
isDirty: dirtyInfo.isDirty,
|
||||
dirtyFields: dirtyInfo.fields,
|
||||
dirtyLineKeys: dirtyInfo.dirtyLineKeys,
|
||||
dirtyLineFields: dirtyInfo.dirtyLineFields,
|
||||
dirtySummary: dirtyInfo.summary,
|
||||
});
|
||||
},
|
||||
@@ -442,6 +468,7 @@ export function createManifestEditAutomat({ kind, name }) {
|
||||
isDirty: false,
|
||||
dirtyFields: { ...emptyFields },
|
||||
dirtyLineKeys: [],
|
||||
dirtyLineFields: {},
|
||||
dirtySummary: [],
|
||||
});
|
||||
},
|
||||
@@ -474,6 +501,7 @@ export function createManifestEditAutomat({ kind, name }) {
|
||||
isDirty: false,
|
||||
dirtyFields: { ...emptyFields },
|
||||
dirtyLineKeys: [],
|
||||
dirtyLineFields: {},
|
||||
dirtySummary: [],
|
||||
});
|
||||
},
|
||||
@@ -493,6 +521,7 @@ export function createManifestEditAutomat({ kind, name }) {
|
||||
isDirty: false,
|
||||
dirtyFields: { ...emptyFields },
|
||||
dirtyLineKeys: [],
|
||||
dirtyLineFields: {},
|
||||
dirtySummary: [],
|
||||
});
|
||||
},
|
||||
@@ -513,6 +542,7 @@ export function createManifestEditAutomat({ kind, name }) {
|
||||
isDirty: false,
|
||||
dirtyFields: { ...emptyFields },
|
||||
dirtyLineKeys: [],
|
||||
dirtyLineFields: {},
|
||||
dirtySummary: [],
|
||||
},
|
||||
actions,
|
||||
|
||||
Reference in New Issue
Block a user