mirror of
https://github.com/penpot/penpot.git
synced 2026-08-06 21:08:34 +00:00
🐛 Fix texts with auto size updated via tokens with render wasm
activated
This commit is contained in:
parent
884954f4ff
commit
260b9fb040
@ -27,8 +27,10 @@
|
|||||||
[app.main.data.workspace.colors :as wdc]
|
[app.main.data.workspace.colors :as wdc]
|
||||||
[app.main.data.workspace.shape-layout :as dwsl]
|
[app.main.data.workspace.shape-layout :as dwsl]
|
||||||
[app.main.data.workspace.shapes :as dwsh]
|
[app.main.data.workspace.shapes :as dwsh]
|
||||||
|
[app.main.data.workspace.texts :as dwt]
|
||||||
[app.main.data.workspace.transforms :as dwtr]
|
[app.main.data.workspace.transforms :as dwtr]
|
||||||
[app.main.data.workspace.undo :as dwu]
|
[app.main.data.workspace.undo :as dwu]
|
||||||
|
[app.main.features :as features]
|
||||||
[app.main.fonts :as fonts]
|
[app.main.fonts :as fonts]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.util.i18n :refer [tr]]
|
[app.util.i18n :refer [tr]]
|
||||||
@ -300,11 +302,20 @@
|
|||||||
update-fn (fn [node _]
|
update-fn (fn [node _]
|
||||||
(-> node
|
(-> node
|
||||||
(d/txt-merge txt-attrs)
|
(d/txt-merge txt-attrs)
|
||||||
(cty/remove-typography-from-node)))]
|
(cty/remove-typography-from-node)))
|
||||||
(dwsh/update-shapes shape-ids
|
;; Check if any attribute affects text layout (requires resize)
|
||||||
#(txt/update-text-content % update-node? update-fn nil)
|
affects-layout? (some #(contains? txt-attrs %) [:font-size :font-family :font-weight :letter-spacing :line-height])]
|
||||||
{:ignore-touched true
|
(ptk/reify ::generate-text-shape-update
|
||||||
:page-id page-id})))
|
ptk/WatchEvent
|
||||||
|
(watch [_ state _]
|
||||||
|
(cond-> (rx/of (dwsh/update-shapes shape-ids
|
||||||
|
#(txt/update-text-content % update-node? update-fn nil)
|
||||||
|
{:ignore-touched true
|
||||||
|
:page-id page-id}))
|
||||||
|
(and affects-layout?
|
||||||
|
(features/active-feature? state "render-wasm/v1"))
|
||||||
|
(rx/merge
|
||||||
|
(rx/of (dwt/resize-wasm-text-all shape-ids))))))))
|
||||||
|
|
||||||
(defn update-line-height
|
(defn update-line-height
|
||||||
([value shape-ids attributes] (update-line-height value shape-ids attributes nil))
|
([value shape-ids attributes] (update-line-height value shape-ids attributes nil))
|
||||||
@ -353,11 +364,17 @@
|
|||||||
(-> node
|
(-> node
|
||||||
(d/txt-merge txt-attrs)
|
(d/txt-merge txt-attrs)
|
||||||
(cty/remove-typography-from-node))))]
|
(cty/remove-typography-from-node))))]
|
||||||
(dwsh/update-shapes shape-ids
|
(ptk/reify ::generate-font-family-text-shape-update
|
||||||
(fn [shape]
|
ptk/WatchEvent
|
||||||
(txt/update-text-content shape update-node? #(update-fn %1 (ctst/font-weight-applied? shape)) nil))
|
(watch [_ state _]
|
||||||
{:ignore-touched true
|
(cond-> (rx/of (dwsh/update-shapes shape-ids
|
||||||
:page-id page-id})))
|
(fn [shape]
|
||||||
|
(txt/update-text-content shape update-node? #(update-fn %1 (ctst/font-weight-applied? shape)) nil))
|
||||||
|
{:ignore-touched true
|
||||||
|
:page-id page-id}))
|
||||||
|
(features/active-feature? state "render-wasm/v1")
|
||||||
|
(rx/merge
|
||||||
|
(rx/of (dwt/resize-wasm-text-all shape-ids))))))))
|
||||||
|
|
||||||
(defn- create-font-family-text-attrs
|
(defn- create-font-family-text-attrs
|
||||||
[value]
|
[value]
|
||||||
@ -425,10 +442,16 @@
|
|||||||
(-> node
|
(-> node
|
||||||
(d/txt-merge txt-attrs)
|
(d/txt-merge txt-attrs)
|
||||||
(cty/remove-typography-from-node))))]
|
(cty/remove-typography-from-node))))]
|
||||||
(dwsh/update-shapes shape-ids
|
(ptk/reify ::generate-font-weight-text-shape-update
|
||||||
#(txt/update-text-content % update-node? update-fn nil)
|
ptk/WatchEvent
|
||||||
{:ignore-touched true
|
(watch [_ state _]
|
||||||
:page-id page-id})))
|
(cond-> (rx/of (dwsh/update-shapes shape-ids
|
||||||
|
#(txt/update-text-content % update-node? update-fn nil)
|
||||||
|
{:ignore-touched true
|
||||||
|
:page-id page-id}))
|
||||||
|
(features/active-feature? state "render-wasm/v1")
|
||||||
|
(rx/merge
|
||||||
|
(rx/of (dwt/resize-wasm-text-all shape-ids))))))))
|
||||||
|
|
||||||
(defn update-font-weight
|
(defn update-font-weight
|
||||||
([value shape-ids attributes] (update-font-weight value shape-ids attributes nil))
|
([value shape-ids attributes] (update-font-weight value shape-ids attributes nil))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user