From da004545d2ea4d48208ac2ec3192bcb134e503b1 Mon Sep 17 00:00:00 2001 From: Safwan Parkar Date: Tue, 8 Aug 2023 23:44:51 +0400 Subject: [PATCH] fixed incorrect array being used in comparison Use `symmetricDifference` instead of `difference`. - `difference` only returns values that are present in the edited attributes, but not in the originally fetched attribute vales. This always ends up returning an empty array. - I used `symmetricDifference` as it returns an intersection of `difference` from both sides and works perfectly for this use case, as the original attributes never change. --- .../document-[document]/data/+page.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/data/+page.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/data/+page.svelte index ce2991219..58a16758f 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/data/+page.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/data/+page.svelte @@ -13,7 +13,7 @@ import { collection, type Attributes } from '../../store'; import { Container } from '$lib/layout'; import AttributeItem from '../attributeItem.svelte'; - import { difference, symmetricDifference } from '$lib/helpers/array'; + import { symmetricDifference } from '$lib/helpers/array'; import { isRelationship, isRelationshipToMany } from '../attributes/store'; const databaseId = $page.params.database; @@ -77,7 +77,7 @@ const docAttribute = $doc?.[attribute.key]; if (attribute.array) { - return !difference(Array.from(workAttribute), Array.from(docAttribute)).length; + return !symmetricDifference(Array.from(workAttribute), Array.from(docAttribute)).length; } if (isRelationship(attribute)) {