From db22beb857bdf1b3edced74828815bea6ec52d2f Mon Sep 17 00:00:00 2001 From: Florian Schroedl Date: Tue, 27 Aug 2024 10:20:38 +0200 Subject: [PATCH] Fix iterating over unordered sets --- frontend/src/app/main/refs.cljs | 4 ++-- .../src/app/main/ui/workspace/tokens/modals/themes.cljs | 4 ++-- frontend/src/app/main/ui/workspace/tokens/sets.cljs | 2 +- frontend/src/app/main/ui/workspace/tokens/token_set.cljs | 7 +++++++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/main/refs.cljs b/frontend/src/app/main/refs.cljs index 349dc29675..3c09ed541d 100644 --- a/frontend/src/app/main/refs.cljs +++ b/frontend/src/app/main/refs.cljs @@ -259,10 +259,10 @@ (def workspace-ordered-token-themes (l/derived wtts/get-workspace-ordered-themes st/state)) -(def workspace-token-sets +(def workspace-ordered-token-sets (l/derived (fn [data] - (or (wtts/get-workspace-sets data) {})) + (or (wtts/get-workspace-ordered-sets data) {})) st/state =)) diff --git a/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs b/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs index 7148c70524..f4cb4da8c3 100644 --- a/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs @@ -182,7 +182,7 @@ (mf/defc controlled-edit-theme [{:keys [state set-state]}] (let [{:keys [theme-id]} @state - token-sets (mf/deref refs/workspace-token-sets) + token-sets (mf/deref refs/workspace-ordered-token-sets) theme (mf/deref (refs/workspace-token-theme theme-id))] [:& edit-theme {:token-sets token-sets @@ -192,7 +192,7 @@ (mf/defc create-theme [{:keys [set-state]}] - (let [token-sets (mf/deref refs/workspace-token-sets) + (let [token-sets (mf/deref refs/workspace-ordered-token-sets) theme {:name "Theme" :sets #{}}] [:& edit-theme {:token-sets token-sets diff --git a/frontend/src/app/main/ui/workspace/tokens/sets.cljs b/frontend/src/app/main/ui/workspace/tokens/sets.cljs index 4c671b3073..31a7e90db5 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sets.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/sets.cljs @@ -135,7 +135,7 @@ (mf/defc sets-list [{:keys []}] - (let [token-sets (mf/deref refs/workspace-token-sets) + (let [token-sets (mf/deref refs/workspace-ordered-token-sets) selected-token-set-id (mf/deref refs/workspace-selected-token-set-id) token-set-selected? (mf/use-callback (mf/deps selected-token-set-id) diff --git a/frontend/src/app/main/ui/workspace/tokens/token_set.cljs b/frontend/src/app/main/ui/workspace/tokens/token_set.cljs index 488c85bf49..dab2316658 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_set.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/token_set.cljs @@ -115,6 +115,13 @@ (defn get-workspace-sets [state] (get-in state [:workspace-data :token-sets-index])) +(defn get-workspace-ordered-sets [state] + ;; TODO Include groups + (let [top-level-set-ids (get-in state [:workspace-data :token-set-groups]) + token-sets (get-workspace-sets state)] + (->> (map (fn [id] [id (get token-sets id)]) top-level-set-ids) + (into (ordered-map))))) + (defn get-token-set [set-id state] (some-> (get-workspace-sets state) (get set-id)))