-
Notifications
You must be signed in to change notification settings - Fork 6
/
viz.cljs
44 lines (32 loc) · 1.2 KB
/
viz.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
34
35
36
37
38
39
40
41
42
43
44
(ns rid3.viz
(:require
[reagent.core :as reagent]
[rid3.main-container :as main-container]
[rid3.pieces :as pieces]
[rid3.svg :as svg]))
(defn component-render [opts]
(let [{:keys [id
ratom
class]} opts
_trigger-update @ratom]
[:div {:id id :class class}]))
(defn component-did-mount [opts]
;; TODO: remove notice in v0.3.0
(when (get opts :prepare-dataset)
(js/console.warn (str "[rid3] using :prepare-dataset at the top-level has been deprecated. Please move :prepare-dataset inside of your :elem-with-data pieces.")))
(svg/svg-did-mount opts)
(main-container/main-container-did-mount opts)
(let [pieces (get opts :pieces [])]
(doseq [piece pieces]
(pieces/handle-piece-did-mount piece opts))))
(defn component-did-update [opts]
(svg/svg-did-update opts)
(main-container/main-container-did-update opts)
(let [pieces (get opts :pieces [])]
(doseq [piece pieces]
(pieces/handle-piece-did-update piece opts))))
(defn component [opts]
(reagent/create-class
{:reagent-render #(component-render opts)
:component-did-mount #(component-did-mount opts)
:component-did-update #(component-did-update opts)}))