Skip to content

Commit

Permalink
UI to edit frame names
Browse files Browse the repository at this point in the history
  • Loading branch information
prabhanshuguptagit committed Jun 29, 2024
1 parent 1ec9c0f commit e7ef851
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 8 deletions.
6 changes: 3 additions & 3 deletions public/css/style.css
Original file line number Diff line number Diff line change
Expand Up @@ -171,15 +171,15 @@ p {
}

.make-frame-form {
margin: auto 0 auto 0;
margin: 2px 0 auto 0;
}

.make-frame-input {
.frame-name-input {
border: 1px solid #e9e9ed;
padding: 4px;
}

.make-frame-input:active, .make-frame-input:focus {
.frame-name-input:active, .frame-name-input:focus {
outline: none;
/* border: 2px solid #3b5aa3; */
}
Expand Down
16 changes: 16 additions & 0 deletions src/bean/ui/events.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,22 @@
(update-in [:sheet] #(grid/make-frame % frame-name area)))
:fx [[:dispatch [::select-frame frame-name]]]})))

(rf/reg-event-db
::renaming-frame
(undoable)
(fn edit-frame [db [_ frame-name]]
(assoc-in db [:ui :renaming-frame] frame-name)))

(rf/reg-event-db
::rename-frame
(undoable)
(fn edit-frame [db [_ old-name new-name]]
(prn new-name)
(let [frame (get-in (:sheet db) [:frames old-name])]
(-> db
(update-in [:sheet :frames] dissoc old-name)
(assoc-in [:sheet :frames new-name] frame)))))

(rf/reg-event-db
::add-labels
(undoable)
Expand Down
5 changes: 5 additions & 0 deletions src/bean/ui/subs.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@
(fn [db]
(get-in db [:ui :demo-names])))

(re-frame/reg-sub
::renaming-frame
(fn [db]
(get-in db [:ui :renaming-frame])))

(re-frame/reg-sub
::current-demo-name
(fn [db]
Expand Down
28 changes: 23 additions & 5 deletions src/bean/ui/views/sidebar.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
(defn frames-list []
(fn []
(let [frames @(rf/subscribe [::subs/frames])
selection @(rf/subscribe [::subs/selection])]
selection @(rf/subscribe [::subs/selection])
renaming-frame @(rf/subscribe [::subs/renaming-frame])]
[:div
[:div {:class :frames-header}
[:img {:src "img/frame-icon.png"
Expand All @@ -27,11 +28,28 @@
(for [[frame-name] frames]
[:div {:key frame-name
:class :frames-list-item}
[:img {:src "img/made-frame-icon.png"
:class :frame-icon}]
(when (not= renaming-frame frame-name)
[:a {:on-click #(rf/dispatch [::events/renaming-frame frame-name])}
frame-name])
[:div {:class :tables-list-item}
[:form
{:on-submit #(do (.preventDefault %)
(rf/dispatch [::events/rename-frame
frame-name
(.-value (js/document.getElementById "frame-name-input"))]))
:class [:make-frame-form]}
(when (= renaming-frame frame-name)
[:input {:class :frame-name-input
:id :frame-name-input
:auto-focus true
:on-focus #(.select (.-target %))
:on-blur #(rf/dispatch [::events/renaming-frame nil])
:default-value frame-name
:placeholder "Frame name"}])]]]))]]])))


[:a {:on-click #(rf/dispatch [::events/select-frame frame-name])}
[:img {:src "img/made-frame-icon.png"
:class :frame-icon}]
frame-name]]))]]])))

(defn sidebar []
[:div {:class :sidebar}
Expand Down

0 comments on commit e7ef851

Please sign in to comment.