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