🐛 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,57 +196,69 @@
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
(fn [event] (mf/use-callback
(reset! state* (dom/get-target-val event))) (fn [event]
(reset! state* (dom/get-target-val event))))
on-save on-save
(fn [_] (mf/use-callback
(let [font-family font-family] (mf/deps font-family)
(when-not (str/blank? font-family) (fn [_]
(st/emit! (df/update-font (when-not (str/blank? font-family)
{:id font-id (st/emit! (df/update-font {:id font-id :name font-family})))
:name font-family}))) (reset! edit? false)))
(reset! edit? false)))
on-key-down on-key-down
(fn [event] (mf/use-callback
(when (kbd/enter? event) (mf/deps on-save)
(on-save event))) (fn [event]
(when (kbd/enter? event)
(on-save event))))
on-cancel on-cancel
(fn [_] (mf/use-callback
(reset! edit? false) (fn [_]
(reset! state* (:font-family font))) (reset! edit? false)
(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
(fn [] (mf/use-callback
(st/emit! (modal/show (mf/deps delete-font-fn)
{:type :confirm (fn []
:title (tr "modals.delete-font.title") (st/emit! (modal/show
:message (tr "modals.delete-font.message") {:type :confirm
:accept-label (tr "labels.delete") :title (tr "modals.delete-font.title")
:on-accept (fn [_props] (delete-font-fn))}))) :message (tr "modals.delete-font.message")
:accept-label (tr "labels.delete")
:on-accept (fn [_props] (delete-font-fn))}))))
on-delete-variant on-delete-variant
(fn [id] (mf/use-callback
(st/emit! (modal/show (mf/deps delete-variant-fn)
{:type :confirm (fn [id]
:title (tr "modals.delete-font-variant.title") (st/emit! (modal/show
:message (tr "modals.delete-font-variant.message") {:type :confirm
:accept-label (tr "labels.delete") :title (tr "modals.delete-font-variant.title")
:on-accept (fn [_props] :message (tr "modals.delete-font-variant.message")
(delete-variant-fn id))})))] :accept-label (tr "labels.delete")
:on-accept (fn [_props]
(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)}