From 548d1b15caf9b61e9e8e8a25ce9b7bf430cdf24d Mon Sep 17 00:00:00 2001 From: Xavier Julian Date: Wed, 11 Feb 2026 14:02:11 +0100 Subject: [PATCH] :tada: Rename token group - WIP --- .../main/ui/workspace/tokens/management.cljs | 28 ++++++++++++--- .../management/forms/rename_node_modal.cljs | 36 +++++++++++-------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/tokens/management.cljs b/frontend/src/app/main/ui/workspace/tokens/management.cljs index c6c70ec301..4189918302 100644 --- a/frontend/src/app/main/ui/workspace/tokens/management.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/management.cljs @@ -14,7 +14,6 @@ [app.main.ui.ds.foundations.assets.icon :refer [icon*] :as i] [app.main.ui.ds.foundations.typography.text :refer [text*]] [app.main.ui.workspace.tokens.management.context-menu :refer [token-context-menu]] - [app.main.ui.workspace.tokens.management.forms.rename-node-modal :refer [rename-node-modal*]] [app.main.ui.workspace.tokens.management.group :refer [token-group*]] [app.main.ui.workspace.tokens.management.node-context-menu :refer [token-node-context-menu*]] [app.util.array :as array] @@ -180,13 +179,32 @@ (st/emit! (dwtl/toggle-token-path (str (name type) "." path))) (st/emit! (dwtl/toggle-token-path (name type))))))) + on-rename-node + (mf/use-fn + (mf/deps selected-token-set-tokens selected-token-set-id) + (fn [node type new-name] + (prn "Renaming node: " node " with type: " type " to new name: " new-name) + ;; (let [path (:path node) + ;; tokens-by-type (ctob/group-by-type selected-token-set-tokens) + ;; tokens-filtered-by-type (get tokens-by-type type) + ;; tokens-in-path-ids (filter-tokens-by-path-ids type path)] + ;; ;; Rename tokens in path + ;; (st/emit! (dwtl/bulk-rename-tokens selected-token-set-id tokens-in-path-ids new-name)) + ;; ;; Remove from unfolded tree path + ;; (st/emit! (dwtl/toggle-token-path (str (name type) "." path)))) + )) + open-rename-node-modal (mf/use-fn - (mf/deps selected-token-set-tokens) + (mf/deps selected-token-set-tokens on-rename-node) (fn [node type] - (modal/show! :tokens/rename-node {:node node - :type type - :tokens-in-active-set selected-token-set-tokens})))] + (let [_ (prn "RENAME") + on-rename-node-handler #(on-rename-node node type %)] + + + (st/emit! (modal/show :tokens/rename-node {:node node + :tokens-in-active-set selected-token-set-tokens + :on-rename on-rename-node-handler})))))] (mf/with-effect [tokens-lib selected-token-set-id] (when (and tokens-lib diff --git a/frontend/src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs b/frontend/src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs index 295899acd3..ac18d61069 100644 --- a/frontend/src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs @@ -30,7 +30,7 @@ #(not (cft/token-name-path-exists? % tokens-tree))]]]])) (mf/defc rename-node-form* - [{:keys [node type tokens-tree on-close on-submit]}] + [{:keys [node tokens-tree on-close on-submit]}] (let [schema (mf/with-memo [tokens-tree] (make-schema tokens-tree)) @@ -42,12 +42,17 @@ :initial initial) on-submit (mf/use-fn - (mf/deps form on-submit node type) + (mf/deps form on-submit) (fn [] (let [name (get-in @form [:clean-data :name])] (when (and (get-in @form [:touched :name]) (not= name (:name node))) (on-submit {:new-name name}))))) + is-disabled? (or (not (:valid @form)) + (not (get-in @form [:touched :name])) + (= (get-in @form [:clean-data :name]) (:name node))) + + #_(let [{:keys [clean-data valid extra-errors async-errors]} @form] (when (and valid (empty? extra-errors) @@ -77,15 +82,19 @@ :name "cancel" :on-click on-close} (tr "labels.cancel")] [:> fc/form-submit* {:variant "primary" - :disabled (not (:valid @form)) + :disabled is-disabled? :name "rename"} (tr "labels.rename")]]]])) (mf/defc rename-node-modal* {::mf/register modal/components ::mf/register-as :tokens/rename-node} - [{:keys [node type tokens-in-active-set on-remap on-rename]}] + [{:keys [node tokens-in-active-set on-rename]}] - (let [tokens-tree-in-selected-set + + + (let [_ (prn "patata") ;;nil + + tokens-tree-in-selected-set (mf/with-memo [tokens-in-active-set node] (-> (ctob/tokens-tree tokens-in-active-set) (d/dissoc-in (:name node)))) @@ -98,15 +107,15 @@ rename (mf/use-fn - (mf/deps [node type on-remap on-rename]) + (mf/deps on-rename) (fn [new-name] - (prn "Renaming " node " to: " new-name " with type: " type) - (modal/hide!) - (st/emit! (modal/show :tokens/remapping-confirmation {:old-token-name (:name node) - :new-token-name new-name - :on-remap on-remap - :on-rename on-rename})) - (prn "Emitted remapping confirmation modal"))) + (prn "Emitted remapping confirmation modal") + (on-rename {:new-name new-name}) + ;; (st/emit! (modal/show :tokens/remapping-confirmation {:old-token-name (:name node) + ;; :new-token-name new-name + ;; :on-remap on-remap + ;; :on-rename on-rename})) + )) on-key-down (mf/use-fn @@ -123,7 +132,6 @@ :variant "ghost" :icon i/close}] [:> rename-node-form* {:node node - :type type :tokens-tree tokens-tree-in-selected-set :on-close close-modal :on-submit rename}]]]))