From beaf10e9158a5af76099d93bf360d59ccba2912c Mon Sep 17 00:00:00 2001 From: Xavier Julian Date: Tue, 10 Feb 2026 14:46:16 +0100 Subject: [PATCH] :tada: Rename token group - launch remap modal --- .../management/forms/rename_node_modal.cljs | 91 ++++++++++--------- 1 file changed, 50 insertions(+), 41 deletions(-) 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 034941d22d..295899acd3 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 @@ -7,6 +7,7 @@ [app.common.types.token :as cto] [app.common.types.tokens-lib :as ctob] [app.main.data.modal :as modal] + [app.main.store :as st] [app.main.ui.ds.buttons.button :refer [button*]] [app.main.ui.ds.buttons.icon-button :refer [icon-button*]] [app.main.ui.ds.foundations.assets.icon :as i] @@ -44,7 +45,8 @@ (mf/deps form on-submit node type) (fn [] (let [name (get-in @form [:clean-data :name])] - (on-submit {:new-name name})))) + (when (and (get-in @form [:touched :name]) (not= name (:name node))) + (on-submit {:new-name name}))))) #_(let [{:keys [clean-data valid extra-errors async-errors]} @form] (when (and valid @@ -52,38 +54,7 @@ (empty? async-errors)) (on-submit clean-data)))] - ;; (fn [] - ;; ;; Call shared remapping logic - ;; (let [old-token-name (:old-token-name remap-modal) - ;; new-token-name (:new-token-name remap-modal)] - ;; (st/emit! [:tokens/remap-tokens old-token-name new-token-name])) - ;; (when (fn? on-remap) - ;; (on-remap)))) - - - ;; remap (mf/use-fn - ;; (mf/deps form on-submit) - ;; (fn [] - ;; (let [name (get-in @form [:clean-data :name]) - ;; path (str (d/name type) "." name)] - ;; (prn "Submitting rename node form with name: " name " and path: " path)) - ;; #_(let [{:keys [clean-data valid extra-errors async-errors]} @form] - ;; (when (and valid - ;; (empty? extra-errors) - ;; (empty? async-errors)) - ;; (on-submit clean-data))))) - - ;; submit (mf/use-fn - ;; (mf/deps form on-submit) - ;; (fn [_ event] - ;; (let [event (dom/event->native-event event) - ;; submitter (dom/get-event-submitter event) - ;; handler (.-name submitter) - ;; handlerKey (keyword handler)] - ;; (if (= handlerKey :rename) - ;; (rename) - ;; (remap)))))] [:div [:> heading* {:level 2 :typography "headline-medium" @@ -102,8 +73,6 @@ :hint-message (tr "workspace.tokens.rename-group-name-hint") :auto-focus true}] [:div {:class (stl/css :form-actions)} - #_[:> fc/form-submit* {:variant "secondary" - :name "rename"} "rename"] [:> button* {:variant "secondary" :name "cancel" :on-click on-close} (tr "labels.cancel")] @@ -114,25 +83,31 @@ (mf/defc rename-node-modal* {::mf/register modal/components ::mf/register-as :tokens/rename-node} - [{:keys [node type tokens-in-active-set]}] + [{:keys [node type tokens-in-active-set on-remap on-rename]}] (let [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)))) - rename - (mf/use-fn - (mf/deps []) - (fn [new-name] - (prn "Renaming " node " to: " new-name " with type: " type))) - close-modal (mf/use-fn (mf/deps []) (fn [] (modal/hide!))) + rename + (mf/use-fn + (mf/deps [node type on-remap 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"))) + on-key-down (mf/use-fn (mf/deps [close-modal]) @@ -152,3 +127,37 @@ :tokens-tree tokens-tree-in-selected-set :on-close close-modal :on-submit rename}]]])) + + +;; (fn [] +;; ;; Call shared remapping logic +;; (let [old-token-name (:old-token-name remap-modal) +;; new-token-name (:new-token-name remap-modal)] +;; (st/emit! [:tokens/remap-tokens old-token-name new-token-name])) +;; (when (fn? on-remap) +;; (on-remap)))) + + + +;; remap (mf/use-fn +;; (mf/deps form on-submit) +;; (fn [] +;; (let [name (get-in @form [:clean-data :name]) +;; path (str (d/name type) "." name)] +;; (prn "Submitting rename node form with name: " name " and path: " path)) +;; #_(let [{:keys [clean-data valid extra-errors async-errors]} @form] +;; (when (and valid +;; (empty? extra-errors) +;; (empty? async-errors)) +;; (on-submit clean-data))))) + +;; submit (mf/use-fn +;; (mf/deps form on-submit) +;; (fn [_ event] +;; (let [event (dom/event->native-event event) +;; submitter (dom/get-event-submitter event) +;; handler (.-name submitter) +;; handlerKey (keyword handler)] +;; (if (= handlerKey :rename) +;; (rename) +;; (remap)))))]