diff --git a/src/clj/youyesyet/middleware.clj b/src/clj/youyesyet/middleware.clj index c47697d..1777992 100644 --- a/src/clj/youyesyet/middleware.clj +++ b/src/clj/youyesyet/middleware.clj @@ -27,9 +27,8 @@ ;; we check if one has been specified in the environment ;; instead (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)))] - (log/debug "Using '" *app-context* "' as *app-context*") (handler (assoc request :servlet-context *app-context*))))) diff --git a/src/clj/youyesyet/routes/rest.clj b/src/clj/youyesyet/routes/rest.clj index 71aad48..715ea8a 100644 --- a/src/clj/youyesyet/routes/rest.clj +++ b/src/clj/youyesyet/routes/rest.clj @@ -2,6 +2,7 @@ :author "Simon Brooke"} youyesyet.routes.rest (:require [clojure.core.memoize :as memo] [clojure.java.io :as io] + [clojure.tools.logging :as log] [clojure.walk :refer [keywordize-keys]] [compojure.core :refer [defroutes GET POST]] [noir.response :as nresponse] @@ -43,6 +44,7 @@ work. So cache for only 90 seconds." (memo/ttl (fn [here] + (log/debug "Fetching local data for " here) (let [neighbourhood (l/neighbouring-localities here) addresses (flatten (map diff --git a/src/cljs/youyesyet/canvasser_app/gis.cljs b/src/cljs/youyesyet/canvasser_app/gis.cljs index bca4390..5d62f0c 100644 --- a/src/cljs/youyesyet/canvasser_app/gis.cljs +++ b/src/cljs/youyesyet/canvasser_app/gis.cljs @@ -109,17 +109,20 @@ (defn map-remove-pins "Remove all pins from this map `view`. Side-effecty; liable to be problematic." [view] - (if view - (.eachLayer + (doall + (.eachLayer view (fn [layer] (try (if (instance? js/L.Marker 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) diff --git a/src/cljs/youyesyet/canvasser_app/handlers.cljs b/src/cljs/youyesyet/canvasser_app/handlers.cljs index 939ae00..cd1c305 100644 --- a/src/cljs/youyesyet/canvasser_app/handlers.cljs +++ b/src/cljs/youyesyet/canvasser_app/handlers.cljs @@ -138,22 +138,26 @@ (reg-event-fx - :fetch-locality - (fn [{db :db} _] - (js/console.log "Fetching locality data") - ;; we return a map of (side) effects - {:http-xhrio {:method :get - :uri (str source-host - "rest/get-local-data?latitude=" - (:latitude db) - "&longitude=" - (:longitude db)) - :format (json-request-format) - :response-format (json-response-format {:keywords? true}) - :on-success [:process-locality] - :on-failure [:bad-locality]} - :db (add-to-feedback db :fetch-locality)})) + :fetch-locality + (fn [{db :db} _] + (let [uri (str source-host + "rest/get-local-data?latitude=" + (:latitude db) + "&longitude=" + (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) + :response-format (json-response-format {:keywords? true}) + :on-success [:process-locality] + :on-failure [:bad-locality]} + :db (add-to-feedback db :fetch-locality)}))) +;; http://localhost:3000/rest/get-local-data?latitude=54.85131525968606&longitude= (reg-event-db :get-current-location @@ -170,9 +174,9 @@ ;; loop to do it again (dispatch [:dispatch-later [{:ms 5000 :dispatch [:fetch-locality]} {:ms 1000 :dispatch [:get-current-location]}]]) + (refresh-map-pins) (assoc (remove-from-feedback db :fetch-locality) - (refresh-map-pins) :addresses (js->clj response)))) diff --git a/src/cljs/youyesyet/canvasser_app/views/map.cljs b/src/cljs/youyesyet/canvasser_app/views/map.cljs index 217a8dc..174b195 100644 --- a/src/cljs/youyesyet/canvasser_app/views/map.cljs +++ b/src/cljs/youyesyet/canvasser_app/views/map.cljs @@ -84,9 +84,9 @@ (.on view "moveend" (fn [_] (let [c (.getCenter view)] (js/console.log (str "Moving centre to " c)) - (dispatch :set-latitude (.-lat c)) - (dispatch :set-longitude (.-lon c)) - (dispatch :fetch-locality)))) + (dispatch-sync [:set-latitude (.-lat c)]) + (dispatch-sync [:set-longitude (.-lng c)]) + (dispatch [:fetch-locality])))) (refresh-map-pins) view))