diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs index ebbb1c692..3c896d322 100644 --- a/frontend/src/app/main/data/workspace.cljs +++ b/frontend/src/app/main/data/workspace.cljs @@ -754,9 +754,13 @@ ptk/WatchEvent (watch [_ state _] (let [selected (wsh/lookup-selected state) - hover-guides (get-in state [:workspace-guides :hover])] + hover-guides (get-in state [:workspace-guides :hover]) + options-mode (get-in state [:workspace-global :options-mode])] (cond - (d/not-empty? selected) + (and (= options-mode :prototype) (d/not-empty? selected)) + (rx/of (dwi/remove-interactions selected)) + + (and (= options-mode :design) (d/not-empty? selected)) (rx/of (dwc/delete-shapes selected) (dws/deselect-all)) diff --git a/frontend/src/app/main/data/workspace/interactions.cljs b/frontend/src/app/main/data/workspace/interactions.cljs index cf71f907b..93331bd30 100644 --- a/frontend/src/app/main/data/workspace/interactions.cljs +++ b/frontend/src/app/main/data/workspace/interactions.cljs @@ -171,6 +171,15 @@ (update shape :interactions csi/remove-interaction index))))))) +(defn remove-interactions + [ids] + (ptk/reify ::remove-interactions + ptk/WatchEvent + (watch [_ _ _] + (rx/of (dch/update-shapes ids + (fn [shape] + (assoc shape :interactions []))))))) + (defn update-interaction [shape index update-fn] (ptk/reify ::update-interaction