Now generating the right URI for fetch-local-data

This commit is contained in:
Simon Brooke 2018-07-22 18:10:34 +01:00
parent 90a8dd5d6a
commit 67853186e2
5 changed files with 32 additions and 24 deletions

View file

@ -27,9 +27,8 @@
;; we check if one has been specified in the environment ;; we check if one has been specified in the environment
;; instead ;; instead
(do (do
(log/info "Taking '" (:app-context env) "' as *app-context* from env") (log/debug "Taking '" (:app-context env) "' as *app-context* from env")
(:app-context env)))] (:app-context env)))]
(log/debug "Using '" *app-context* "' as *app-context*")
(handler (assoc request :servlet-context *app-context*))))) (handler (assoc request :servlet-context *app-context*)))))

View file

@ -2,6 +2,7 @@
:author "Simon Brooke"} youyesyet.routes.rest :author "Simon Brooke"} youyesyet.routes.rest
(:require [clojure.core.memoize :as memo] (:require [clojure.core.memoize :as memo]
[clojure.java.io :as io] [clojure.java.io :as io]
[clojure.tools.logging :as log]
[clojure.walk :refer [keywordize-keys]] [clojure.walk :refer [keywordize-keys]]
[compojure.core :refer [defroutes GET POST]] [compojure.core :refer [defroutes GET POST]]
[noir.response :as nresponse] [noir.response :as nresponse]
@ -43,6 +44,7 @@
work. So cache for only 90 seconds." work. So cache for only 90 seconds."
(memo/ttl (memo/ttl
(fn [here] (fn [here]
(log/debug "Fetching local data for " here)
(let [neighbourhood (l/neighbouring-localities here) (let [neighbourhood (l/neighbouring-localities here)
addresses (flatten addresses (flatten
(map (map

View file

@ -109,9 +109,9 @@
(defn map-remove-pins (defn map-remove-pins
"Remove all pins from this map `view`. Side-effecty; liable to be problematic." "Remove all pins from this map `view`. Side-effecty; liable to be problematic."
[view] [view]
(if (if
view view
(doall
(.eachLayer (.eachLayer
view view
(fn [layer] (fn [layer]
@ -119,7 +119,10 @@
(if (if
(instance? js/L.Marker layer) (instance? js/L.Marker layer)
(.removeLayer view layer)) (.removeLayer view layer))
(catch js/Object any (js/console.log (str "Failed to remove pin '" layer "' from map: " any))))))) (catch js/Object any
(js/console.log
(str "Failed to remove pin '"
layer "' from map: " any))))))))
view) view)

View file

@ -140,20 +140,24 @@
(reg-event-fx (reg-event-fx
:fetch-locality :fetch-locality
(fn [{db :db} _] (fn [{db :db} _]
(js/console.log "Fetching locality data") (let [uri (str source-host
;; we return a map of (side) effects
{:http-xhrio {:method :get
:uri (str source-host
"rest/get-local-data?latitude=" "rest/get-local-data?latitude="
(:latitude db) (:latitude db)
"&longitude=" "&longitude="
(:longitude db)) (or (:longitude db) -4))]
(js/console.log
(str
"Fetching locality data: " uri))
;; we return a map of (side) effects
{:http-xhrio {:method :get
:uri uri
:format (json-request-format) :format (json-request-format)
:response-format (json-response-format {:keywords? true}) :response-format (json-response-format {:keywords? true})
:on-success [:process-locality] :on-success [:process-locality]
:on-failure [:bad-locality]} :on-failure [:bad-locality]}
:db (add-to-feedback db :fetch-locality)})) :db (add-to-feedback db :fetch-locality)})))
;; http://localhost:3000/rest/get-local-data?latitude=54.85131525968606&longitude=
(reg-event-db (reg-event-db
:get-current-location :get-current-location
@ -170,9 +174,9 @@
;; loop to do it again ;; loop to do it again
(dispatch [:dispatch-later [{:ms 5000 :dispatch [:fetch-locality]} (dispatch [:dispatch-later [{:ms 5000 :dispatch [:fetch-locality]}
{:ms 1000 :dispatch [:get-current-location]}]]) {:ms 1000 :dispatch [:get-current-location]}]])
(refresh-map-pins)
(assoc (assoc
(remove-from-feedback db :fetch-locality) (remove-from-feedback db :fetch-locality)
(refresh-map-pins)
:addresses (js->clj response)))) :addresses (js->clj response))))

View file

@ -84,9 +84,9 @@
(.on view "moveend" (.on view "moveend"
(fn [_] (let [c (.getCenter view)] (fn [_] (let [c (.getCenter view)]
(js/console.log (str "Moving centre to " c)) (js/console.log (str "Moving centre to " c))
(dispatch :set-latitude (.-lat c)) (dispatch-sync [:set-latitude (.-lat c)])
(dispatch :set-longitude (.-lon c)) (dispatch-sync [:set-longitude (.-lng c)])
(dispatch :fetch-locality)))) (dispatch [:fetch-locality]))))
(refresh-map-pins) (refresh-map-pins)
view)) view))