🐛 Fix problem editing font names

This commit is contained in:
alonso.torres 2024-02-27 16:46:08 +01:00 committed by Andrey Antukh
parent 1d9b91821b
commit 905e1eea7b

View file

@ -196,49 +196,61 @@
open-menu? (mf/use-state false) open-menu? (mf/use-state false)
edit? (mf/use-state false) edit? (mf/use-state false)
state* (mf/use-var (:font-family font)) state* (mf/use-state (:font-family font))
font-family (deref state*) font-family (deref state*)
on-change on-change
(mf/use-callback
(fn [event] (fn [event]
(reset! state* (dom/get-target-val event))) (reset! state* (dom/get-target-val event))))
on-save on-save
(mf/use-callback
(mf/deps font-family)
(fn [_] (fn [_]
(let [font-family font-family]
(when-not (str/blank? font-family) (when-not (str/blank? font-family)
(st/emit! (df/update-font (st/emit! (df/update-font {:id font-id :name font-family})))
{:id font-id
:name font-family})))
(reset! edit? false))) (reset! edit? false)))
on-key-down on-key-down
(mf/use-callback
(mf/deps on-save)
(fn [event] (fn [event]
(when (kbd/enter? event) (when (kbd/enter? event)
(on-save event))) (on-save event))))
on-cancel on-cancel
(mf/use-callback
(fn [_] (fn [_]
(reset! edit? false) (reset! edit? false)
(reset! state* (:font-family font))) (reset! state* (:font-family font))))
delete-font-fn delete-font-fn
(fn [] (st/emit! (df/delete-font font-id))) (mf/use-callback
(mf/deps font-id)
(fn []
(st/emit! (df/delete-font font-id))))
delete-variant-fn delete-variant-fn
(fn [id] (st/emit! (df/delete-font-variant id))) (mf/use-callback
(fn [id]
(st/emit! (df/delete-font-variant id))))
on-delete on-delete
(mf/use-callback
(mf/deps delete-font-fn)
(fn [] (fn []
(st/emit! (modal/show (st/emit! (modal/show
{:type :confirm {:type :confirm
:title (tr "modals.delete-font.title") :title (tr "modals.delete-font.title")
:message (tr "modals.delete-font.message") :message (tr "modals.delete-font.message")
:accept-label (tr "labels.delete") :accept-label (tr "labels.delete")
:on-accept (fn [_props] (delete-font-fn))}))) :on-accept (fn [_props] (delete-font-fn))}))))
on-delete-variant on-delete-variant
(mf/use-callback
(mf/deps delete-variant-fn)
(fn [id] (fn [id]
(st/emit! (modal/show (st/emit! (modal/show
{:type :confirm {:type :confirm
@ -246,7 +258,7 @@
:message (tr "modals.delete-font-variant.message") :message (tr "modals.delete-font-variant.message")
:accept-label (tr "labels.delete") :accept-label (tr "labels.delete")
:on-accept (fn [_props] :on-accept (fn [_props]
(delete-variant-fn id))})))] (delete-variant-fn id))}))))]
[:div {:class (stl/css :font-item :table-row)} [:div {:class (stl/css :font-item :table-row)}
[:div {:class (stl/css :table-field :family)} [:div {:class (stl/css :table-field :family)}