mirror of
https://github.com/penpot/penpot.git
synced 2025-12-12 06:24:17 +01:00
🐛 Fix problem when renaming variants in plugins
This commit is contained in:
committed by
Alonso Torres
parent
2f0853f5cc
commit
aedd8cc11e
@@ -20,7 +20,9 @@
|
|||||||
[app.common.path-names :as cpn]
|
[app.common.path-names :as cpn]
|
||||||
[app.common.transit :as t]
|
[app.common.transit :as t]
|
||||||
[app.common.types.component :as ctc]
|
[app.common.types.component :as ctc]
|
||||||
|
[app.common.types.components-list :as ctkl]
|
||||||
[app.common.types.shape :as cts]
|
[app.common.types.shape :as cts]
|
||||||
|
[app.common.types.variant :as ctv]
|
||||||
[app.common.uuid :as uuid]
|
[app.common.uuid :as uuid]
|
||||||
[app.main.data.changes :as dch]
|
[app.main.data.changes :as dch]
|
||||||
[app.main.data.comments :as dcmt]
|
[app.main.data.comments :as dcmt]
|
||||||
@@ -551,7 +553,6 @@
|
|||||||
component-id (:component-id shape)
|
component-id (:component-id shape)
|
||||||
undo-id (js/Symbol)]
|
undo-id (js/Symbol)]
|
||||||
|
|
||||||
|
|
||||||
(when valid?
|
(when valid?
|
||||||
(if (ctc/is-variant-container? shape)
|
(if (ctc/is-variant-container? shape)
|
||||||
;; Rename the full variant when it is a variant container
|
;; Rename the full variant when it is a variant container
|
||||||
@@ -566,6 +567,43 @@
|
|||||||
(dwl/rename-component component-id clean-name))
|
(dwl/rename-component component-id clean-name))
|
||||||
(dwu/commit-undo-transaction undo-id))))))))))
|
(dwu/commit-undo-transaction undo-id))))))))))
|
||||||
|
|
||||||
|
(defn rename-shape-or-variant
|
||||||
|
([id name]
|
||||||
|
(rename-shape-or-variant nil nil id name))
|
||||||
|
([file-id page-id id name]
|
||||||
|
(ptk/reify ::rename-shape-or-variant
|
||||||
|
ptk/WatchEvent
|
||||||
|
(watch [_ state _]
|
||||||
|
(let [file-id (d/nilv file-id (:current-file-id state))
|
||||||
|
page-id (d/nilv page-id (:current-page-id state))
|
||||||
|
|
||||||
|
file-data (dsh/lookup-file-data state file-id)
|
||||||
|
shape
|
||||||
|
(-> (dsh/lookup-page-objects state file-id page-id)
|
||||||
|
(get id))
|
||||||
|
|
||||||
|
is-variant? (ctc/is-variant? shape)
|
||||||
|
variant-id (when is-variant? (:variant-id shape))
|
||||||
|
variant-name (when is-variant? (:variant-name shape))
|
||||||
|
component-id (:component-id shape)
|
||||||
|
component (ctkl/get-component file-data (:component-id shape))
|
||||||
|
variant-properties (:variant-properties component)]
|
||||||
|
(cond
|
||||||
|
(and variant-name (ctv/valid-properties-formula? name))
|
||||||
|
(rx/of (dwva/update-properties-names-and-values
|
||||||
|
component-id variant-id variant-properties (ctv/properties-formula->map name))
|
||||||
|
(dwva/remove-empty-properties variant-id)
|
||||||
|
(dwva/update-error component-id))
|
||||||
|
|
||||||
|
variant-name
|
||||||
|
(rx/of (dwva/update-properties-names-and-values
|
||||||
|
component-id variant-id variant-properties {})
|
||||||
|
(dwva/remove-empty-properties variant-id)
|
||||||
|
(dwva/update-error component-id name))
|
||||||
|
|
||||||
|
:else
|
||||||
|
(rx/of (end-rename-shape id name))))))))
|
||||||
|
|
||||||
;; --- Update Selected Shapes attrs
|
;; --- Update Selected Shapes attrs
|
||||||
|
|
||||||
(defn update-selected-shapes
|
(defn update-selected-shapes
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
[app.common.types.variant :as ctv]
|
[app.common.types.variant :as ctv]
|
||||||
[app.main.data.workspace :as dw]
|
[app.main.data.workspace :as dw]
|
||||||
[app.main.data.workspace.variants :as dwv]
|
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.util.debug :as dbg]
|
[app.util.debug :as dbg]
|
||||||
[app.util.dom :as dom]
|
[app.util.dom :as dom]
|
||||||
@@ -69,15 +68,7 @@
|
|||||||
name (str/trim (dom/get-value name-input))]
|
name (str/trim (dom/get-value name-input))]
|
||||||
(on-stop-edit)
|
(on-stop-edit)
|
||||||
(reset! edition* false)
|
(reset! edition* false)
|
||||||
(if variant-name
|
(st/emit! (dw/rename-shape-or-variant shape-id name)))))
|
||||||
(if (ctv/valid-properties-formula? name)
|
|
||||||
(st/emit! (dwv/update-properties-names-and-values component-id variant-id variant-properties (ctv/properties-formula->map name))
|
|
||||||
(dwv/remove-empty-properties variant-id)
|
|
||||||
(dwv/update-error component-id))
|
|
||||||
(st/emit! (dwv/update-properties-names-and-values component-id variant-id variant-properties {})
|
|
||||||
(dwv/remove-empty-properties variant-id)
|
|
||||||
(dwv/update-error component-id name)))
|
|
||||||
(st/emit! (dw/end-rename-shape shape-id name))))))
|
|
||||||
|
|
||||||
cancel-edit
|
cancel-edit
|
||||||
(mf/use-fn
|
(mf/use-fn
|
||||||
|
|||||||
@@ -218,7 +218,7 @@
|
|||||||
(u/display-not-valid :name value)
|
(u/display-not-valid :name value)
|
||||||
|
|
||||||
:else
|
:else
|
||||||
(st/emit! (dw/end-rename-shape id value)))))}
|
(st/emit! (dw/rename-shape-or-variant file-id page-id id value)))))}
|
||||||
|
|
||||||
:blocked
|
:blocked
|
||||||
{:this true
|
{:this true
|
||||||
|
|||||||
Reference in New Issue
Block a user