diff --git a/frontend/src/app/main/data/helpers.cljs b/frontend/src/app/main/data/helpers.cljs index 1fd4c1bd9..9a97d36e1 100644 --- a/frontend/src/app/main/data/helpers.cljs +++ b/frontend/src/app/main/data/helpers.cljs @@ -64,15 +64,15 @@ (-> (lookup-page state file-id page-id) (get :objects)))) -(defn process-selected-shapes +(defn process-selected ([objects selected] - (process-selected-shapes objects selected nil)) + (process-selected objects selected nil)) ([objects selected {:keys [omit-blocked?] :or {omit-blocked? false}}] (letfn [(selectable? [id] (and (contains? objects id) (or (not omit-blocked?) - (not (get-in objects [id :blocked] false)))))] + (not (dm/get-in objects [id :blocked] false)))))] (let [selected (->> selected (cfh/clean-loops objects))] (into (d/ordered-set) (filter selectable?) @@ -95,7 +95,7 @@ ([state page-id options] (let [objects (lookup-page-objects state page-id) selected (dm/get-in state [:workspace-local :selected])] - (process-selected-shapes objects selected options)))) + (process-selected objects selected options)))) (defn lookup-shape ([state id] diff --git a/frontend/src/app/main/data/workspace/bool.cljs b/frontend/src/app/main/data/workspace/bool.cljs index e91e66ca6..bb0e62b28 100644 --- a/frontend/src/app/main/data/workspace/bool.cljs +++ b/frontend/src/app/main/data/workspace/bool.cljs @@ -69,8 +69,8 @@ (-> type d/name str/capital) ids - (->> (or ids (dsh/lookup-selected state)) - (cph/clean-loops objects)) + (->> (or ids (dsh/get-selected-ids state)) + (dsh/process-selected objects)) xform (comp diff --git a/frontend/src/app/main/refs.cljs b/frontend/src/app/main/refs.cljs index 5a3dab07d..fb0e80eba 100644 --- a/frontend/src/app/main/refs.cljs +++ b/frontend/src/app/main/refs.cljs @@ -159,14 +159,15 @@ (let [objects (dsh/lookup-page-objects state) selected (dm/get-in state [:workspace-local :selected])] {:objects objects :selected selected})) - st/state (fn [v1 v2] - (and (identical? (:objects v1) (:objects v2)) - (= (:selected v1) (:selected v2)))))) + st/state + (fn [v1 v2] + (and (identical? (:objects v1) (:objects v2)) + (= (:selected v1) (:selected v2)))))) (def selected-shapes (l/derived (fn [{:keys [objects selected]}] - (dsh/process-selected-shapes objects selected)) + (dsh/process-selected objects selected)) selected-shapes-data =)) (defn make-selected-ref