perf: revert processData
gitea/salix-front/pipeline/pr-test This commit looks good Details

This commit is contained in:
Alex Moreno 2025-01-07 08:24:37 +01:00
parent 76b9fbc267
commit d8c3e6bce7
1 changed files with 10 additions and 14 deletions

View File

@ -295,32 +295,28 @@ export function useArrayData(key = useRoute().meta.moduleName, userOptions) {
} }
function processData(data, { map = true, append = true }) { function processData(data, { map = true, append = true }) {
let newData;
let newMap;
if (!append) { if (!append) {
newData = []; store.data = [];
newMap = new Map(); store.map = new Map();
} }
if (!Array.isArray(data)) newData = data; if (!Array.isArray(data)) store.data = data;
else if (!map && append) for (const row of data) newData.push(row); else if (!map && append) for (const row of data) store.data.push(row);
else else
for (const row of data) { for (const row of data) {
const key = row[store.mapKey]; const key = row[store.mapKey];
const val = { ...row, key }; const val = { ...row, key };
if (key && newMap.has(key)) { if (key && store.map.has(key)) {
const { position } = store.map.get(key); const { position } = store.map.get(key);
val.position = position; val.position = position;
newMap.set(key, val); store.map.set(key, val);
newData[position] = val; store.data[position] = val;
} else { } else {
val.position = newMap.size; val.position = store.map.size;
newMap.set(key, val); store.map.set(key, val);
newData.push(val); store.data.push(val);
} }
} }
store.data = data;
store.map = map;
} }
const totalRows = computed(() => (store.data && store.data.length) || 0); const totalRows = computed(() => (store.data && store.data.length) || 0);