Woohoo! Not broken, looking good
This commit is contained in:
parent
65b69939b3
commit
b95fa9919e
|
@ -141,7 +141,6 @@ select {
|
|||
}
|
||||
|
||||
table {
|
||||
border: 2px solid black;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
|
@ -376,6 +375,14 @@ th {
|
|||
padding-left: 75px;
|
||||
}
|
||||
|
||||
input, select {
|
||||
background-color: rgb( 50, 109, 177);
|
||||
color: white;
|
||||
font-size: 1.1em;
|
||||
padding: 0.25em 1em;
|
||||
border-radius: 0.5em;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
(rf/dispatch [:set-active-page :issues]))
|
||||
|
||||
(secretary/defroute "/issues/:elector" {elector-id :elector}
|
||||
(rf/dispatch [:set-elector-and-page elector-id :issues]))
|
||||
(rf/dispatch [:set-elector-and-page {:elector-id elector-id :page :issues}]))
|
||||
|
||||
(secretary/defroute "/issue/:issue" {issue :issue}
|
||||
(rf/dispatch [:set-issue issue]))
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
(ns youyesyet.handlers
|
||||
(:require [youyesyet.db :as db]
|
||||
[re-frame.core :refer [dispatch reg-event-db]]))
|
||||
(:require [cljs.reader :refer [read-string]]
|
||||
[re-frame.core :refer [dispatch reg-event-db]]
|
||||
[youyesyet.db :as db]
|
||||
))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;
|
||||
|
@ -30,22 +32,32 @@
|
|||
(fn [_ _]
|
||||
db/default-db))
|
||||
|
||||
|
||||
(reg-event-db
|
||||
:set-active-page
|
||||
(fn [db [_ page]]
|
||||
(assoc db :page page)))
|
||||
|
||||
|
||||
(reg-event-db
|
||||
:set-elector-and-page
|
||||
(fn [db [_ [elector-id page]]]
|
||||
(let [elector
|
||||
(fn [db [_ args]]
|
||||
(let [page (:page args)
|
||||
elector-id (read-string (:elector-id args))
|
||||
elector
|
||||
(first
|
||||
(remove nil?
|
||||
(map
|
||||
#(if (= elector-id (:id %)) %)
|
||||
(:electors (:address db))))]
|
||||
(merge db {:elector elector :page page}))))
|
||||
(:electors (:address db)))))]
|
||||
(js/console.log (str "Setting page to " page ", elector to " elector))
|
||||
(assoc (assoc db :elector elector) :page page))))
|
||||
|
||||
|
||||
(reg-event-db
|
||||
:set-issue
|
||||
(fn [db [_ issue]]
|
||||
(js/console.log (str "Setting page to :issue, issue to " issue))
|
||||
(assoc (assoc db :issue issue) :page :issue)))
|
||||
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
[:div
|
||||
[:h1.error message]
|
||||
[:div.container {:id "main-container"}
|
||||
(ui/back-link)]])
|
||||
(back-link)]])
|
||||
|
||||
|
||||
(defn navbar []
|
||||
|
|
|
@ -99,7 +99,7 @@
|
|||
options @(subscribe [:options])]
|
||||
(if address
|
||||
[:div
|
||||
[:h1 (:address address) (count electors) " electors"]
|
||||
[:h1 (:address address)]
|
||||
[:div.container {:id "main-container"}
|
||||
[:table
|
||||
[:tbody
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
issues @(subscribe [:issues])
|
||||
elector @(subscribe [:elector])
|
||||
address @(subscribe [:address])]
|
||||
(js/console.log (str "Issue is " issue "; elector is " elector))
|
||||
(cond
|
||||
(nil? address)
|
||||
(ui/error-panel "No address selected")
|
||||
|
@ -55,15 +56,18 @@
|
|||
[:select {:id "elector" :name "elector"}
|
||||
(map
|
||||
#(let [selkey (if (= (:id elector) (:id %)) :selected :not-selected)]
|
||||
[:option {:value (:id %) selkey "true"} (:name %)]) (:electors address))]]
|
||||
[:option {:value (:id %) :key (:id %) selkey "true"} (:name %)]) (:electors address))]]
|
||||
[:p.widget
|
||||
[:label {:for "issue"} "Issue"]
|
||||
[:select {:id "issue" :name "issue"}
|
||||
(map
|
||||
#(let [selkey (if (= (:id issue) (:id %)) :selected :not-selected)]
|
||||
[:option {selkey "true"} %]) (keys issues))]]
|
||||
#(let [selkey (if (= issue %) :selected :not-selected)]
|
||||
[:option {selkey "true" :key %} %]) (keys issues))]]
|
||||
[:p.widget
|
||||
[:label {:for "submit"} " "]
|
||||
[:input {:id "submit" :name "submit" :type "submit" :value "Request Call"}]]
|
||||
[:label {:for "telephone"} "Telephone number"]
|
||||
[:input {:type "text" :id "telephone" :name "telephone"}]]
|
||||
[:p.widget
|
||||
[:label {:for "submit"} "To request a call"]
|
||||
[:input {:id "submit" :name "submit" :type "submit" :value "Send this!"}]]
|
||||
]
|
||||
(ui/back-link)]])))
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
|
||||
;;; See https://github.com/simon-brooke/youyesyet/blob/master/doc/specification/userspec.md#map-view
|
||||
|
||||
|
||||
;;; Cribbed heavily from
|
||||
;;; https://github.com/reagent-project/reagent-cookbook/tree/master/recipes/leaflet
|
||||
;;; but using OSM data because we can't afford commercial, so also cribbed from
|
||||
|
@ -52,11 +51,13 @@
|
|||
(def osm-url "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png")
|
||||
(def osm-attrib "Map data © <a href='http://openstreetmap.org'>OpenStreetMap</a> contributors")
|
||||
|
||||
|
||||
(defn pin-image
|
||||
"select the name of a suitable pin image for this address"
|
||||
[address]
|
||||
"yes-pin")
|
||||
|
||||
|
||||
(defn add-map-pin
|
||||
"Add a map-pin with this pin-image at this latitude and longitude
|
||||
in this map view"
|
||||
|
|
Loading…
Reference in a new issue