From b7cbe49cb263bc87c2a9312f4dfe14917f0b2742 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Thu, 4 Feb 2021 12:27:05 +0100 Subject: [PATCH] :bug: Fixes image upload position when uploading from left sidebar --- frontend/src/app/main/data/workspace/persistence.cljs | 2 +- frontend/src/app/main/ui/workspace/left_toolbar.cljs | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/main/data/workspace/persistence.cljs b/frontend/src/app/main/data/workspace/persistence.cljs index e2909022e..4b4f5fea2 100644 --- a/frontend/src/app/main/data/workspace/persistence.cljs +++ b/frontend/src/app/main/data/workspace/persistence.cljs @@ -493,7 +493,7 @@ (rx/map #(assoc (first %) :name (.-name (second %)))) (rx/do on-svg))))) -(defn upload-media-objects +(defn- upload-media-objects [{:keys [file-id local? data name uris mtype svg-as-images] :as params}] (us/assert ::upload-media-objects params) (ptk/reify ::upload-media-objects diff --git a/frontend/src/app/main/ui/workspace/left_toolbar.cljs b/frontend/src/app/main/ui/workspace/left_toolbar.cljs index c1d57110e..fe630a01e 100644 --- a/frontend/src/app/main/ui/workspace/left_toolbar.cljs +++ b/frontend/src/app/main/ui/workspace/left_toolbar.cljs @@ -10,6 +10,7 @@ (ns app.main.ui.workspace.left-toolbar (:require [app.common.geom.point :as gpt] + [app.common.math :as mth] [app.common.media :as cm] [app.main.data.workspace :as dw] [app.main.data.workspace.shortcuts :as sc] @@ -36,8 +37,13 @@ (mf/deps file) (fn [blobs] (let [params {:file-id (:id file) - :data (seq blobs)}] - (st/emit! (dw/upload-media-workspace params (gpt/point 0 0))))))] + :data (seq blobs)} + ;; We don't want to add a ref because that redraws the component + ;; for everychange. Better direct access on the callback + vbox (get-in @st/state [:workspace-local :vbox]) + x (mth/round (+ (:x vbox) (/ (:width vbox) 2))) + y (mth/round (+ (:y vbox) (/ (:height vbox) 2)))] + (st/emit! (dw/upload-media-workspace params (gpt/point x y))))))] [:li.tooltip.tooltip-right {:alt (tr "workspace.toolbar.image")