Adapt call style convention for token sets context menu component

This commit is contained in:
Andrey Antukh 2025-02-06 15:17:52 +01:00
parent 91b6d498fe
commit 1fb48a1e8a
3 changed files with 25 additions and 21 deletions

View file

@ -119,7 +119,7 @@
(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)
:group? true :is-group true
:path tree-path}))))) :path tree-path})))))
on-collapse-click on-collapse-click
@ -227,7 +227,7 @@
(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)
:group? false :is-group false
:path tree-path}))))) :path tree-path})))))
on-double-click on-double-click

View file

@ -7,6 +7,7 @@
(ns app.main.ui.workspace.tokens.sets-context-menu (ns app.main.ui.workspace.tokens.sets-context-menu
(:require-macros [app.main.style :as stl]) (:require-macros [app.main.style :as stl])
(:require (:require
[app.common.data.macros :as dm]
[app.main.data.tokens :as wdt] [app.main.data.tokens :as wdt]
[app.main.refs :as refs] [app.main.refs :as refs]
[app.main.store :as st] [app.main.store :as st]
@ -59,24 +60,27 @@
[:& menu-entry {:title (tr "labels.rename") :on-click edit-name}] [:& menu-entry {:title (tr "labels.rename") :on-click edit-name}]
[:& menu-entry {:title (tr "labels.delete") :on-click delete-set}]])) [:& menu-entry {:title (tr "labels.delete") :on-click delete-set}]]))
(mf/defc sets-context-menu (mf/defc sets-context-menu*
[] []
(let [mdata (mf/deref sets-menu-ref) (let [{:keys [position is-group path]}
top (+ (get-in mdata [:position :y]) 5) (mf/deref sets-menu-ref)
left (+ (get-in mdata [:position :x]) 5)
width (mf/use-state 0) position-top
dropdown-ref (mf/use-ref)] (+ (dm/get-prop position :y) 5)
(mf/use-effect
(mf/deps mdata) position-left
(fn [] (+ (dm/get-prop position :x) 5)
(when-let [node (mf/ref-val dropdown-ref)]
(reset! width (.-offsetWidth node))))) on-close
[:& dropdown {:show (boolean mdata) (mf/use-fn
:on-close #(st/emit! wdt/hide-token-set-context-menu)} #(st/emit! wdt/hide-token-set-context-menu))]
[:& dropdown {:show (some? position)
:on-close on-close}
[:div {:class (stl/css :token-set-context-menu) [:div {:class (stl/css :token-set-context-menu)
:data-testid "tokens-context-menu-for-set" :data-testid "tokens-context-menu-for-set"
:ref dropdown-ref :style {:top position-top
:style {:top top :left left} :left position-left}
:on-context-menu prevent-default} :on-context-menu prevent-default}
[:& menu {:group? (:group? mdata) [:& menu {:group? is-group
:path (:path mdata)}]]])) :path path}]]]))

View file

@ -32,7 +32,7 @@
[app.main.ui.workspace.tokens.errors :as wte] [app.main.ui.workspace.tokens.errors :as wte]
[app.main.ui.workspace.tokens.sets :refer [sets-list*]] [app.main.ui.workspace.tokens.sets :refer [sets-list*]]
[app.main.ui.workspace.tokens.sets-context :as sets-context] [app.main.ui.workspace.tokens.sets-context :as sets-context]
[app.main.ui.workspace.tokens.sets-context-menu :refer [sets-context-menu]] [app.main.ui.workspace.tokens.sets-context-menu :refer [sets-context-menu*]]
[app.main.ui.workspace.tokens.style-dictionary :as sd] [app.main.ui.workspace.tokens.style-dictionary :as sd]
[app.main.ui.workspace.tokens.theme-select :refer [theme-select]] [app.main.ui.workspace.tokens.theme-select :refer [theme-select]]
[app.main.ui.workspace.tokens.token-pill :refer [token-pill*]] [app.main.ui.workspace.tokens.token-pill :refer [token-pill*]]
@ -270,7 +270,7 @@
(get permissions :can-edit)] (get permissions :can-edit)]
[:& sets-context/provider {} [:& sets-context/provider {}
[:& sets-context-menu] [:> sets-context-menu*]
[:article {:data-testid "token-themes-sets-sidebar" [:article {:data-testid "token-themes-sets-sidebar"
:class (stl/css :sets-section-wrapper) :class (stl/css :sets-section-wrapper)
:style {"--resize-height" (str resize-height "px")}} :style {"--resize-height" (str resize-height "px")}}