diff --git a/frontend/src/app/main/ui/workspace.cljs b/frontend/src/app/main/ui/workspace.cljs index dfca190994..3995887af4 100644 --- a/frontend/src/app/main/ui/workspace.cljs +++ b/frontend/src/app/main/ui/workspace.cljs @@ -27,7 +27,6 @@ [app.main.ui.workspace.left-toolbar :refer [left-toolbar]] [app.main.ui.workspace.libraries] [app.main.ui.workspace.rules :refer [horizontal-rule vertical-rule]] - [app.main.ui.workspace.scroll :as scroll] [app.main.ui.workspace.sidebar :refer [left-sidebar right-sidebar]] [app.main.ui.workspace.viewport :refer [viewport viewport-actions coordinates]] [app.util.dom :as dom] diff --git a/frontend/src/app/main/ui/workspace/scroll.cljs b/frontend/src/app/main/ui/workspace/scroll.cljs deleted file mode 100644 index 29070de8c7..0000000000 --- a/frontend/src/app/main/ui/workspace/scroll.cljs +++ /dev/null @@ -1,73 +0,0 @@ -;; This Source Code Form is subject to the terms of the Mozilla Public -;; License, v. 2.0. If a copy of the MPL was not distributed with this -;; file, You can obtain one at http://mozilla.org/MPL/2.0/. -;; -;; Copyright (c) 2015-2017 Andrey Antukh -;; Copyright (c) 2015-2017 Juan de la Cruz - -(ns app.main.ui.workspace.scroll - "Workspace scroll events handling." - (:require [beicon.core :as rx] - [potok.core :as ptk] - [app.main.refs :as refs] - [app.util.dom :as dom] - [app.common.geom.point :as gpt])) - -;; FIXME: revisit this ns in order to find a better location for its functions -;; TODO: this need a good refactor (probably move to events with access to the state) - -(defn set-scroll-position - [dom position] - (set! (.-scrollLeft dom) (:x position)) - (set! (.-scrollTop dom) (:y position))) - -(defn set-scroll-center - [dom center] - (let [viewport-width (.-offsetWidth dom) - viewport-height (.-offsetHeight dom) - position-x (- (* (:x center) 1 #_@refs/selected-zoom) (/ viewport-width 2)) - position-y (- (* (:y center) 1 #_@refs/selected-zoom) (/ viewport-height 2)) - position (gpt/point position-x position-y)] - (set-scroll-position dom position))) - -(defn scroll-to-page-center - [dom page] - (let [page-width (get-in page [:metadata :width]) - page-height (get-in page [:metadata :height]) - center (gpt/point (+ 1200 (/ page-width 2)) (+ 1200 (/ page-height 2)))] - (set-scroll-center dom center))) - -(defn get-current-center - [dom] - (let [viewport-width (.-offsetWidth dom) - viewport-height (.-offsetHeight dom) - scroll-left (.-scrollLeft dom) - scroll-top (.-scrollTop dom)] - (gpt/point - (+ (/ viewport-width 2) scroll-left) - (+ (/ viewport-height 2) scroll-top)))) - -(defn get-current-center-absolute - [dom] - (gpt/divide (get-current-center dom) (gpt/point @refs/selected-zoom))) - -(defn get-current-position - "Get the coordinates of the currently visible point at top left of viewport" - [dom] - (let [scroll-left (.-scrollLeft dom) - scroll-top (.-scrollTop dom)] - (gpt/point scroll-left scroll-top))) - -(defn get-current-position-absolute - [dom] - (let [current-position (get-current-position dom)] - (gpt/divide (get-current-position dom) (gpt/point @refs/selected-zoom)))) - -(defn scroll-to-point - [dom point position] - (let [viewport-offset (gpt/subtract point position) - selected-zoom (gpt/point @refs/selected-zoom) - new-scroll-position (gpt/subtract - (gpt/multiply point selected-zoom) - (gpt/multiply viewport-offset selected-zoom))] - (set-scroll-position dom new-scroll-position)))