First pass at rendering jsonML to dom
This commit is contained in:
parent
251b3436ae
commit
2713630f64
|
@ -6,7 +6,8 @@
|
||||||
[org.clojure/clojurescript "1.9.227"]
|
[org.clojure/clojurescript "1.9.227"]
|
||||||
[reagent "0.6.0"]
|
[reagent "0.6.0"]
|
||||||
[re-frame "0.9.0"]
|
[re-frame "0.9.0"]
|
||||||
[cljsjs/d3 "4.2.2-0"]]
|
[cljsjs/d3 "4.2.2-0"]
|
||||||
|
[binaryage/devtools "0.9.4"]]
|
||||||
:plugins [[lein-less "1.7.5"]]
|
:plugins [[lein-less "1.7.5"]]
|
||||||
:deploy-repositories {"releases" :clojars
|
:deploy-repositories {"releases" :clojars
|
||||||
"snapshots" :clojars}
|
"snapshots" :clojars}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
(ns day8.re-frame.trace.app-state
|
(ns day8.re-frame.trace.app-state
|
||||||
(:require [reagent.core :as r]
|
(:require [reagent.core :as r]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
|
[devtools.formatters.core :as cljs-devtools]
|
||||||
|
|
||||||
[cljs.pprint :refer [pprint]]))
|
[cljs.pprint :refer [pprint]]))
|
||||||
|
|
||||||
|
|
||||||
(defn css-munge
|
(defn css-munge
|
||||||
[string]
|
[string]
|
||||||
(str/replace string #"\.|/" "-"))
|
(str/replace string #"\.|/" "-"))
|
||||||
|
@ -30,13 +30,38 @@
|
||||||
[:div {:class (str (namespace-css "collection") " " (namespace-css (css-munge (type-string data))))}]
|
[:div {:class (str (namespace-css "collection") " " (namespace-css (css-munge (type-string data))))}]
|
||||||
[:span {:class (str (namespace-css "primative") " " (namespace-css (css-munge (type-string data))))} (str data)]))
|
[:span {:class (str (namespace-css "primative") " " (namespace-css (css-munge (type-string data))))} (str data)]))
|
||||||
|
|
||||||
|
(defn jsonml-style
|
||||||
|
[style-map]
|
||||||
|
; {:style (get style-map "style")}
|
||||||
|
{:style {:background "rgba(0,0,0,0.1)"}})
|
||||||
|
|
||||||
|
(defn str->hiccup
|
||||||
|
[string]
|
||||||
|
; (println string)
|
||||||
|
(cond (= string "span") :span
|
||||||
|
(= string "style") :style
|
||||||
|
; (= string "}") nil
|
||||||
|
; (= string "{") nil
|
||||||
|
; (= string " ") nil
|
||||||
|
; (= string ", ") nil
|
||||||
|
:else string))
|
||||||
|
|
||||||
|
|
||||||
(defn crawl
|
(defn crawl
|
||||||
[data]
|
[data]
|
||||||
(if (coll? data)
|
(if (coll? data)
|
||||||
(into (view data) (mapv crawl data))
|
(into (view data) (mapv crawl data))
|
||||||
(view data)))
|
(view data)))
|
||||||
|
|
||||||
|
(defn jsonml->hiccup
|
||||||
|
[data]
|
||||||
|
(cond
|
||||||
|
(vector? data) (mapv jsonml->hiccup data)
|
||||||
|
(map? data) (jsonml-style data)
|
||||||
|
:else (str->hiccup data)))
|
||||||
|
|
||||||
(defn tab [data]
|
(defn tab [data]
|
||||||
[:div {:style {:flex "1 0 auto" :width "100%" :height "100%" :display "flex" :flex-direction "column"}}
|
[:div {:style {:flex "1 0 auto" :width "100%" :height "100%" :display "flex" :flex-direction "column"}}
|
||||||
[:div.panel-content-scrollable
|
[:div.panel-content-scrollable
|
||||||
(crawl data)]])
|
(jsonml->hiccup (js->clj (cljs-devtools/header-api-call data)))]])
|
||||||
|
; (crawl data)]])
|
||||||
|
|
Loading…
Reference in New Issue