Merge pull request #3028 from penpot/alotor-bugfixes-fixes

Fixes after QA revision
This commit is contained in:
Alejandro 2023-03-09 17:39:23 +01:00 committed by GitHub
commit 5fae9526d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 21 deletions

View File

@ -255,7 +255,9 @@
:ignore-groups? ignore-groups? :ignore-groups? ignore-groups?
:full-frame? true}) :full-frame? true})
(rx/map #(cph/clean-loops objects %)) (rx/map #(cph/clean-loops objects %))
(rx/map #(into initial-set (filter (comp not blocked?)) %)) (rx/map #(into initial-set (comp
(filter (complement blocked?))
(remove (partial cph/hidden-parent? objects))) %))
(rx/map select-shapes))))))) (rx/map select-shapes)))))))
(defn select-inside-group (defn select-inside-group

View File

@ -81,25 +81,27 @@
callback (hooks/use-ref-callback callback) callback (hooks/use-ref-callback callback)
;; We use the ref as a callback when the dom node is ready (or change) ;; We use the ref as a callback when the dom node is ready (or change)
node-ref (mf/use-fn node-ref
(fn [^js node] (mf/use-fn
(when (some? node) (fn [^js node]
(let [^js observer (mf/ref-val observer-ref) (when (some? node)
^js prev-val (mf/ref-val prev-val-ref)] (let [^js observer (mf/ref-val observer-ref)
^js prev-val (mf/ref-val prev-val-ref)]
(when (and (not= prev-val node) (some? observer)) (when (and (not= prev-val node) (some? observer))
(log/debug :action "disconnect" :js/prev-val prev-val :js/node node) (log/debug :action "disconnect" :js/prev-val prev-val :js/node node)
(.disconnect observer) (.disconnect observer)
(mf/set-ref-val! observer-ref nil)) (mf/set-ref-val! observer-ref nil))
(when (and (not= prev-val node) (some? node)) (when (and (not= prev-val node) (some? node))
(let [^js observer (js/ResizeObserver. (let [^js observer (js/ResizeObserver.
#(callback last-resize-type (dom/get-client-size node)))] #(callback last-resize-type (dom/get-client-size node)))]
(mf/set-ref-val! observer-ref observer) (mf/set-ref-val! observer-ref observer)
(log/debug :action "observe" :js/node node :js/observer observer) (log/debug :action "observe" :js/node node :js/observer observer)
(.observe observer node)))) (.observe observer node)
(callback last-resize-type (dom/get-client-size node)))))
(mf/set-ref-val! prev-val-ref node))))] (mf/set-ref-val! prev-val-ref node))))]
(mf/with-effect [] (mf/with-effect []
;; On dismount we need to disconnect the current observer ;; On dismount we need to disconnect the current observer

View File

@ -70,7 +70,8 @@
(when (and textpalette? (not hide-ui?)) (when (and textpalette? (not hide-ui?))
[:& textpalette]) [:& textpalette])
[:section.workspace-content {:ref node-ref} [:section.workspace-content {:key (dm/str "workspace-" page-id)
:ref node-ref}
[:section.workspace-viewport [:section.workspace-viewport
(when (debug? :coordinates) (when (debug? :coordinates)
[:& coordinates/coordinates {:colorpalette? colorpalette?}]) [:& coordinates/coordinates {:colorpalette? colorpalette?}])
@ -79,8 +80,7 @@
[:div.history-debug-overlay [:div.history-debug-overlay
[:button {:on-click #(st/emit! dw/reinitialize-undo)} "CLEAR"] [:button {:on-click #(st/emit! dw/reinitialize-undo)} "CLEAR"]
[:& history-toolbox]]) [:& history-toolbox]])
[:& viewport {:key (dm/str "workspace-" page-id) [:& viewport {:file file
:file file
:wlocal wlocal :wlocal wlocal
:wglobal wglobal :wglobal wglobal
:selected selected :selected selected
@ -131,7 +131,7 @@
project (mf/deref refs/workspace-project) project (mf/deref refs/workspace-project)
layout (mf/deref refs/workspace-layout) layout (mf/deref refs/workspace-layout)
wglobal (mf/deref refs/workspace-global) wglobal (mf/deref refs/workspace-global)
ready? (mf/deref refs/workspace-ready?) ready? (mf/deref refs/workspace-ready?)
workspace-read-only? (mf/deref refs/workspace-read-only?) workspace-read-only? (mf/deref refs/workspace-read-only?)
components-v2 (features/use-feature :components-v2) components-v2 (features/use-feature :components-v2)