Skip to content

Commit

Permalink
Set labels on selection instead of single cell
Browse files Browse the repository at this point in the history
  • Loading branch information
prabhanshuguptagit committed Feb 12, 2024
1 parent 8ea2dbe commit 0eb7058
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 18 deletions.
7 changes: 5 additions & 2 deletions src/bean/tables.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,11 @@
(when (= (cell-table rc sheet) table-name)
(assoc-in sheet [:tables table-name :labels rc] {:dirn dirn :color color})))

(defn remove-label [sheet table-name rc]
(update-in sheet [:tables table-name :labels] dissoc rc))
(defn add-labels [sheet table-name addresses dirn]
(reduce #(add-label %1 table-name %2 dirn (util/random-color-hex)) sheet addresses))

(defn remove-labels [sheet table-name addresses]
(reduce #(update-in % [:tables table-name :labels] dissoc %2) sheet addresses))

(defn get-table [sheet table-name]
(get-in sheet [:tables table-name]))
Expand Down
20 changes: 9 additions & 11 deletions src/bean/ui/events.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@
::edit-cell
(fn edit-cell [{:keys [db]} [_ rc]]
{:db (assoc-in db [:ui :grid :editing-cell] rc)
:fx [[::focus-element "cell-input"]]}))
:fx [[:dispatch [::set-selection {:start rc :end rc}]]
[::focus-element "cell-input"]]}))

(rf/reg-event-db
::set-selection
Expand Down Expand Up @@ -108,18 +109,15 @@
[:dispatch [::select-table table-name]]]}))

(rf/reg-event-db
::add-label
(fn add-label [db [_ table-name rc dirn color]]
(update-in
db [:sheet]
#(tables/add-label % table-name rc dirn color))))
::add-labels
(fn add-labels [db [_ table-name addresses dirn]]
(update-in db [:sheet]
#(tables/add-labels % table-name addresses dirn))))

(rf/reg-event-db
::remove-label
(fn add-label [db [_ table-name rc]]
(update-in
db [:sheet]
#(tables/remove-label % table-name rc))))
::remove-labels
(fn remove-labels [db [_ table-name addresses]]
(update-in db [:sheet] #(tables/remove-labels % table-name addresses))))

(rf/reg-event-db
::clear-selection
Expand Down
5 changes: 0 additions & 5 deletions src/bean/ui/util.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,3 @@

(defn color-int->hex [color]
(str "#" (.toString color 16)))

(defn random-color-hex []
(+ (bit-shift-left (rand-int 256) 16)
(bit-shift-left (rand-int 256) 8)
(rand-int 256)))
5 changes: 5 additions & 0 deletions src/bean/util.cljs
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,8 @@
(for [r (range start-r (inc end-r))]
(for [c (range start-c (inc end-c))]
[r c])))

(defn random-color-hex []
(+ (bit-shift-left (rand-int 256) 16)
(bit-shift-left (rand-int 256) 8)
(rand-int 256)))

0 comments on commit 0eb7058

Please sign in to comment.