-
Notifications
You must be signed in to change notification settings - Fork 6
/
main_container.cljs
33 lines (29 loc) · 1.12 KB
/
main_container.cljs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
(ns rid3.main-container
(:require
[cljsjs.d3]
[rid3.util :as util]))
(defn main-container-did-mount [opts]
(let [{:keys [id
ratom
pieces
main-container]} opts
did-mount (get main-container :did-mount
(fn [node ratom]
node))
node (js/d3.select (str "#" id " svg"))]
(-> node
(.append "g")
(.attr "class" util/main-container-class)
(did-mount ratom))))
(defn main-container-did-update [opts]
(let [{:keys [id
ratom
pieces
main-container]} opts
did-update (or (get main-container :did-update)
(get main-container :did-mount) ;; sane fallback
(fn [node ratom]
node))
node (js/d3.select (str "#" id " svg"
" ." util/main-container-class))]
(did-update node ratom)))