Merge pull request #3744 from penpot/palba-bugfixing

🐛 Bug fixing components
This commit is contained in:
Aitor Moreno 2023-11-02 13:59:43 +01:00 committed by GitHub
commit 64a566a0f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 32 additions and 15 deletions

View file

@ -1350,15 +1350,19 @@
(ptk/reify ::show-component-in-assets (ptk/reify ::show-component-in-assets
ptk/WatchEvent ptk/WatchEvent
(watch [_ state _] (watch [_ state _]
(let [project-id (get-in state [:workspace-project :id]) (let [project-id (get-in state [:workspace-project :id])
file-id (get-in state [:workspace-file :id]) file-id (get-in state [:workspace-file :id])
page-id (get state :current-page-id) page-id (get state :current-page-id)
pparams {:file-id file-id :project-id project-id} pparams {:file-id file-id :project-id project-id}
qparams {:page-id page-id :layout :assets}] qparams {:page-id page-id :layout :assets}
(rx/of (rt/nav :workspace pparams qparams) component-path (cph/split-path (get-in state [:workspace-data :components component-id :path]))
(set-assets-section-open file-id :library true) paths (map (fn [i] (cph/join-path (take (inc i) component-path))) (range (count component-path)))]
(set-assets-section-open file-id :components true) (rx/concat
(select-single-asset file-id component-id :components)))) (rx/from (map #(set-assets-group-open file-id :components % true) paths))
(rx/of (rt/nav :workspace pparams qparams)
(set-assets-section-open file-id :library true)
(set-assets-section-open file-id :components true)
(select-single-asset file-id component-id :components)))))
ptk/EffectEvent ptk/EffectEvent
(effect [_ _ _] (effect [_ _ _]

View file

@ -842,6 +842,15 @@
(def valid-asset-types (def valid-asset-types
#{:colors :components :typographies}) #{:colors :components :typographies})
(defn set-updating-library
[updating?]
(ptk/reify ::set-updating-library
ptk/UpdateEvent
(update [_ state]
(if updating?
(assoc state :updating-library true)
(dissoc state :updating-library)))))
(defn sync-file (defn sync-file
"Synchronize the given file from the given library. Walk through all "Synchronize the given file from the given library. Walk through all
shapes in all pages in the file that use some color, typography or shapes in all pages in the file that use some color, typography or
@ -912,7 +921,8 @@
(:redo-changes changes) (:redo-changes changes)
file)) file))
(rx/concat (rx/concat
(rx/of (msg/hide-tag :sync-dialog)) (rx/of (set-updating-library false)
(msg/hide-tag :sync-dialog))
(when (seq (:redo-changes changes)) (when (seq (:redo-changes changes))
(rx/of (dch/commit-changes (assoc changes ;; TODO a ver qué pasa con esto (rx/of (dch/commit-changes (assoc changes ;; TODO a ver qué pasa con esto
:file-id file-id)))) :file-id file-id))))

View file

@ -576,3 +576,6 @@
(def specialized-panel (def specialized-panel
(l/derived :specialized-panel st/state)) (l/derived :specialized-panel st/state))
(def updating-library
(l/derived :updating-library st/state))

View file

@ -441,9 +441,8 @@
{::mf/wrap-props false} {::mf/wrap-props false}
[{:keys [file-id file-data libraries]}] [{:keys [file-id file-data libraries]}]
(let [summary?* (mf/use-state true) (let [summary?* (mf/use-state true)
updating?* (mf/use-state false)
summary? (deref summary?*) summary? (deref summary?*)
updating? (deref updating?*) updating? (mf/deref refs/updating-library)
see-all-assets see-all-assets
(mf/use-fn (mf/use-fn
@ -467,8 +466,9 @@
(let [library-id (some-> (dom/get-target event) (let [library-id (some-> (dom/get-target event)
(dom/get-data "library-id") (dom/get-data "library-id")
(parse-uuid))] (parse-uuid))]
(reset! updating?* true) (st/emit!
(st/emit! (dwl/sync-file file-id library-id))))))] (dwl/set-updating-library true)
(dwl/sync-file file-id library-id))))))]
(if new-css-system (if new-css-system
[:div {:class (stl/css :section)} [:div {:class (stl/css :section)}

View file

@ -334,7 +334,7 @@
local-component? (= library-id current-file-id) local-component? (= library-id current-file-id)
component (find-component shape) component (find-component shape)
lacks-annotation? (nil? (:annotation shape)) lacks-annotation? (nil? (:annotation component))
is-dangling? (nil? component) is-dangling? (nil? component)
can-update-main? (or (not components-v2) can-update-main? (or (not components-v2)