mirror of
https://github.com/christianvidalwolf-prog/Craze-Data-check.git
synced 2026-08-03 12:35:25 +02:00
fix: restore internal control columns and protect them from Dropbox sync overrides
This commit is contained in:
+7
-4
@@ -191,9 +191,10 @@ const articleNoIdx = resolvedCols.ARTICLE_NO;
|
||||
let finalRow = [...row];
|
||||
|
||||
// Merge logic: Prioritize internal control columns and active session edits
|
||||
if (synced && (synced.status === 'edited' || synced.status === 'pending' || synced.status === 'synced')) {
|
||||
if (synced && synced.data) {
|
||||
// 1. ALWAYS restore Internal Control Columns (indices >= 100)
|
||||
// These are the "TYPE", "Item to Logistic", "Checking", etc.
|
||||
// These are the "TYPE", "Item to Logistic", "Checking", etc.
|
||||
// We use hardcoded indices from COLUMNS to ensure they stay at the end.
|
||||
Object.values(COLUMNS).forEach(idx => {
|
||||
if (idx >= 100 && synced.data[idx] !== undefined && synced.data[idx] !== null) {
|
||||
finalRow[idx] = synced.data[idx];
|
||||
@@ -210,8 +211,10 @@ const articleNoIdx = resolvedCols.ARTICLE_NO;
|
||||
});
|
||||
}
|
||||
|
||||
// Update row status in UI
|
||||
setRowStatuses(prev => ({ ...prev, [articleNo]: synced.status }));
|
||||
// Update row status in UI if it's not the default 'excel'
|
||||
if (synced.status && synced.status !== 'excel') {
|
||||
setRowStatuses(prev => ({ ...prev, [articleNo]: synced.status! }));
|
||||
}
|
||||
}
|
||||
|
||||
return finalRow.map((val: any, idx: number) => {
|
||||
|
||||
Reference in New Issue
Block a user