File tree Expand file tree Collapse file tree 2 files changed +21
-7
lines changed Expand file tree Collapse file tree 2 files changed +21
-7
lines changed Original file line number Diff line number Diff line change 11(ns auto-web.components.lang
22 " Language based components"
33 (:require
4- #?(:cljs [auto-web.local-storage :refer [set-item !]]
4+ #?(:cljs [auto-web.local-storage :refer [set-ls !]]
55 :clj [auto-web.http-request.lang :refer [update-cookie-language]])))
66
77
88#?(:cljs (defn- update-lang-opts
99 [on-lang-change l]
10- {:on-click #(do (set-item ! :lang l) (when on-lang-change (on-lang-change l)))})
10+ {:on-click #(do (set-ls ! :lang l) (when on-lang-change (on-lang-change l)))})
1111 :clj (defn- update-lang-opts [_ l] {:onclick (update-cookie-language l)}))
1212
1313(defn clang-bar
Original file line number Diff line number Diff line change 1- (ns auto-web.local-storage )
1+ (ns auto-web.local-storage
2+ " Provide data persistance in local storage for clojurescript."
3+ (:require
4+ [re-frame.core :as rf]))
25
3- (defn set-item !
6+ (defn set-ls !
47 " Set `key` in browser's localStorage to `val`."
58 [key val]
6- (.setItem ( .- localStorage js/window) key val))
9+ (.setItem js/ localStorage key ( js/JSON.stringify ( clj->js val)) ))
710
8- (defn get-item
11+ (defn get-ls
912 " Returns value of `key` from browser's localStorage."
1013 [key]
11- (.getItem (.-localStorage js/window) key))
14+ (some-> (.getItem js/localStorage key)
15+ (js/JSON.parse )
16+ (js->clj :keywordize-keys true )))
1217
1318(defn remove-item!
1419 " Remove the browser's localStorage value for the given `key`"
1520 [key]
1621 (.removeItem (.-localStorage js/window) key))
22+
23+ (comment
24+ (set-ls! " cooc"
25+ {:a 12
26+ :b " foo" })
27+ (get-ls " cooc" )
28+ (rf/dispatch [::save-to-ls [:auto-sim.canvas/canvas :canvas-1 ]])
29+ ;
30+ )
You can’t perform that action at this time.
0 commit comments