From 5a47b5cf98d5ef9ca29b0c74e403a6fd95deb7d6 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Wed, 15 Apr 2026 19:15:02 +0000 Subject: [PATCH] :recycle: Use d/xf:add-index in SVG text shape component Signed-off-by: Andrey Antukh --- frontend/src/app/main/ui/shapes/text/svg_text.cljs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/main/ui/shapes/text/svg_text.cljs b/frontend/src/app/main/ui/shapes/text/svg_text.cljs index 874877ef21..4eb9f29d22 100644 --- a/frontend/src/app/main/ui/shapes/text/svg_text.cljs +++ b/frontend/src/app/main/ui/shapes/text/svg_text.cljs @@ -55,13 +55,17 @@ (attrs/add-border-props! shape)) get-gradient-id (fn [index] - (str render-id "-" (:id shape) "-" index))] + (str render-id "-" (:id shape) "-" index)) + + position-data + (mf/with-memo [position-data] + (into [] d/xf:add-index position-data))] [:* ;; Definition of gradients for partial elements (when (d/seek :fill-color-gradient position-data) [:defs - (for [[index data] (d/enumerate position-data)] + (for [{:keys [::d/index] :as data} position-data] (when (some? (:fill-color-gradient data)) (let [id (dm/str "fill-color-gradient-" (get-gradient-id index))] [:& grad/gradient {:id id @@ -70,7 +74,7 @@ :shape data}])))]) [:> :g group-props - (for [[index data] (d/enumerate position-data)] + (for [{:keys [::d/index] :as data} position-data] (let [rtl? (= "rtl" (:direction data)) browser-props