38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Clojure
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Clojure
		
	
	
	
	
	
| (ns geocsv-lite.core
 | |
|     (:require
 | |
|       [clojure.browser.dom :as dom]
 | |
|       [clojure.string :as cs]
 | |
|       [geocsv-lite.data :refer [get-csv-url get-data get-query-part-as-map]]
 | |
|       [geocsv-lite.map :as m]
 | |
|       [geocsv-lite.notify :as n]))
 | |
| 
 | |
| 
 | |
| (defn ^:export initialise-map-element
 | |
|   "Create a map view in the element with this `id` and decorate it with
 | |
|   pins showing locations from this `data-source`. If `data-source` is nil
 | |
|   or an empty string, the content of the element will be used, if present."
 | |
|   [id data-source]
 | |
|   (let [sid (str id)
 | |
|         kid (keyword sid)
 | |
|         v (m/add-view sid 55 -4 10)]
 | |
|     (.whenReady v (fn [] (get-data kid data-source)))))
 | |
| 
 | |
| (defn ^:export initialise-map-element-from-content
 | |
|   [id]
 | |
|     (let [sid (str id)
 | |
|         kid (keyword sid)
 | |
|         v (m/add-view sid 55 -4 10)]
 | |
|     (.whenReady
 | |
|       v
 | |
|       (fn
 | |
|         []
 | |
|         (get-data kid (.innerText (.getElementById js/document id)))))))
 | |
| 
 | |
| 
 | |
| 
 | |
| (defn on-js-reload []
 | |
|   ;; optionally touch your app-state to force rerendering depending on
 | |
|   ;; your application
 | |
|   ;; (swap! app-state update-in [:__figwheel_counter] inc)
 | |
| )
 |