♻ Use use-fn

This commit is contained in:
Florian Schroedl 2024-12-03 17:07:46 +01:00
parent 656afa8a35
commit b875804bce

View file

@ -73,9 +73,10 @@
(wdt/show-token-set-context-menu (wdt/show-token-set-context-menu
{:position (dom/get-client-position event) {:position (dom/get-client-position event)
:prefixed-set-path tree-path}))))) :prefixed-set-path tree-path})))))
on-click (fn [event] on-click (mf/use-fn
(.stopPropagation event) (fn [event]
(swap! collapsed? not))] (dom/stop-propagation event)
(swap! collapsed? not)))]
[:div {:role "button" [:div {:role "button"
:data-testid "tokens-set-group-item" :data-testid "tokens-set-group-item"
:style {"--tree-depth" tree-depth} :style {"--tree-depth" tree-depth}
@ -122,7 +123,11 @@
(st/emit! (st/emit!
(wdt/show-token-set-context-menu (wdt/show-token-set-context-menu
{:position (dom/get-client-position event) {:position (dom/get-client-position event)
:prefixed-set-path tree-path})))))] :prefixed-set-path tree-path})))))
on-checkbox-click (mf/use-fn
(fn [event]
(dom/stop-propagation event)
(on-toggle set-name)))]
[:div {:role "button" [:div {:role "button"
:data-testid "tokens-set-item" :data-testid "tokens-set-item"
:style {"--tree-depth" tree-depth} :style {"--tree-depth" tree-depth}
@ -141,22 +146,19 @@
:on-cancel on-edit-reset :on-cancel on-edit-reset
:on-create on-edit-reset :on-create on-edit-reset
:on-submit #(on-edit-submit set-name (ctob/update-name set %))}] :on-submit #(on-edit-submit set-name (ctob/update-name set %))}]
(let [on-checkbox-click (fn [event] [:*
(dom/stop-propagation event) [:div {:class (stl/css :set-name)
(on-toggle set-name))] :on-double-click #(on-edit tree-path)}
[:* label]
[:div {:class (stl/css :set-name) [:button {:type "button"
:on-double-click #(on-edit tree-path)} :on-click on-checkbox-click
label] :class (stl/css-case :checkbox-style true
[:button {:type "button" :checkbox-checked-style active?')}
:on-click on-checkbox-click (when active?'
:class (stl/css-case :checkbox-style true [:> icon* {:aria-label (tr "workspace.token.select-set")
:checkbox-checked-style active?')} :class (stl/css :check-icon)
(when active?' :size "s"
[:> icon* {:aria-label (tr "workspace.token.select-set") :id ic/tick}])]])]))
:class (stl/css :check-icon)
:size "s"
:id ic/tick}])]]))]))
(mf/defc sets-tree (mf/defc sets-tree
[{:keys [set-path set-node tree-depth tree-path on-select selected? on-toggle active? editing? on-edit on-edit-reset on-edit-submit] [{:keys [set-path set-node tree-depth tree-path on-select selected? on-toggle active? editing? on-edit on-edit-reset on-edit-submit]