Expand and collapse data structures
This commit is contained in:
parent
32f5699f7f
commit
4c5b4b8194
|
@ -48,17 +48,30 @@
|
|||
(into (view data) (mapv crawl data))
|
||||
(view data)))
|
||||
|
||||
(declare jsonml->hiccup)
|
||||
|
||||
(defn data-structure
|
||||
[jsonml]
|
||||
(let [expand? (r/atom true)]
|
||||
(fn []
|
||||
[:span.re-frame-trace--object
|
||||
{:on-click #(swap! expand? not)}
|
||||
(jsonml->hiccup (if @expand?
|
||||
(cljs-devtools/body-api-call
|
||||
(.-object (get jsonml 1))
|
||||
(.-config (get jsonml 1)))
|
||||
(cljs-devtools/header-api-call
|
||||
(.-object (get jsonml 1))
|
||||
(.-config (get jsonml 1)))))])))
|
||||
|
||||
(defn jsonml->hiccup
|
||||
[jsonml]
|
||||
(cond
|
||||
(array? jsonml) (if (= "object" (get jsonml 0))
|
||||
[:span.re-frame-trace--object
|
||||
(jsonml->hiccup (cljs-devtools/body-api-call
|
||||
(.-object (get jsonml 1))
|
||||
(.-config (get jsonml 1))))]
|
||||
(mapv jsonml->hiccup jsonml))
|
||||
(object? jsonml) {:style (string->css (js->clj jsonml))}
|
||||
:else (str->hiccup jsonml)))
|
||||
(and (array? jsonml)
|
||||
(= "object" (get jsonml 0))) [data-structure jsonml]
|
||||
(array? jsonml) (mapv jsonml->hiccup jsonml)
|
||||
(object? jsonml) {:style (string->css (js->clj jsonml))}
|
||||
:else (str->hiccup jsonml)))
|
||||
|
||||
(defn tab [data]
|
||||
[:div {:style {:flex "1 0 auto" :width "100%" :height "100%" :display "flex" :flex-direction "column"}}
|
||||
|
|
Loading…
Reference in New Issue