From c7a38113a18d4c2b693aad85267e201e935f7afa Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Tue, 16 Feb 2016 19:53:29 +0200 Subject: [PATCH] Refactor basic mouse streams and atoms on workspace/base. --- src/uxbox/ui/workspace/base.cljs | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/uxbox/ui/workspace/base.cljs b/src/uxbox/ui/workspace/base.cljs index 9c5fffe0d..b476a5bcf 100644 --- a/src/uxbox/ui/workspace/base.cljs +++ b/src/uxbox/ui/workspace/base.cljs @@ -79,25 +79,32 @@ (defonce mouse-b (rx/bus)) (defonce mouse-s - (->> mouse-b - (rx/filter #(= (:id %) (:id @page-l))) + (rx/dedupe mouse-b)) + +(defonce mouse-canvas-s + (->> mouse-s (rx/map :canvas-coords) (rx/share))) -(defonce mouse-a - (rx/to-atom mouse-s)) +(defonce mouse-canvas-a + (rx/to-atom mouse-canvas-s)) + +(defonce mouse-viewport-s + (->> mouse-s + (rx/map :viewport-coords) + (rx/share))) + +(defonce mouse-viewport-a + (rx/to-atom mouse-viewport-s)) (defonce mouse-absolute-s - (->> mouse-b - (rx/filter #(= (:id %) (:id @page-l))) + (->> mouse-s (rx/map :window-coords) (rx/share))) (defonce mouse-ctrl-s - (->> mouse-b - (rx/filter #(= (:id %) (:id @page-l))) + (->> mouse-s (rx/map :ctrl) - (rx/dedupe) (rx/share))) (defn- coords-delta @@ -105,19 +112,12 @@ (gpt/subtract new old)) (defonce mouse-delta-s - (->> mouse-s + (->> mouse-viewport-s (rx/sample 10) (rx/buffer 2 1) (rx/map coords-delta) (rx/share))) -(defonce mouse-position - (->> mouse-s - (rx/sample 10) - (rx/to-atom))) - -(defonce bounding-rect (atom {})) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Constants ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;