From 24ece323059da26f9499cd13485643d33c9f97b4 Mon Sep 17 00:00:00 2001 From: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com> Date: Fri, 29 Apr 2022 18:48:54 +0600 Subject: [PATCH] 1595 fix (#1611) Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com> --- plugins/view-resources/src/components/EditDoc.svelte | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/view-resources/src/components/EditDoc.svelte b/plugins/view-resources/src/components/EditDoc.svelte index f261bcce37..0ea4bb3997 100644 --- a/plugins/view-resources/src/components/EditDoc.svelte +++ b/plugins/view-resources/src/components/EditDoc.svelte @@ -109,13 +109,16 @@ let ignoreMixins: Set<Ref<Mixin<Doc>>> = new Set<Ref<Mixin<Doc>>>() async function updateKeys (): Promise<void> { - let filtredKeys = getFiltredKeys(object._class, ignoreKeys) + const keysMap = new Map(getFiltredKeys(object._class, ignoreKeys).map((p) => [p.attr._id, p])) for (const m of mixins) { const mkeys = getFiltredKeys(m._id, ignoreKeys) - filtredKeys = filtredKeys.concat(mkeys).filter((it, idx, arr) => arr.indexOf(it) === idx) + for (const key of mkeys) { + keysMap.set(key.attr._id, key) + } } + const filtredKeys = Array.from(keysMap.values()) keys = collectionsFilter(filtredKeys, false) - + const collectionKeys = collectionsFilter(filtredKeys, true) const editors: { key: KeyedAttribute; editor: AnyComponent }[] = [] for (const k of collectionKeys) {