From 4b0784a673cffac82d18f6e2395575eb2a656db7 Mon Sep 17 00:00:00 2001 From: Oliver Marks Date: Fri, 20 Sep 2019 20:19:16 +0100 Subject: [PATCH] Updated specs to allow int and booleans. --- .drone.yml | 17 +++++++++++++++++ deps.edn | 5 +++-- prod.cljs.edn | 1 - project.clj | 8 ++++++++ readme.org | 5 ++++- resources/public/dev-main.js | 2 +- resources/public/form.edn | 4 ++-- src/weecfg/core.cljs | 9 ++++----- 8 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 .drone.yml mode change 100644 => 100755 deps.edn create mode 100644 project.clj diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..5af046c --- /dev/null +++ b/.drone.yml @@ -0,0 +1,17 @@ +kind: pipeline +name: default + +steps: + - name: building-clojure-app + image: clojure:tools-deps + commands: + - ls -la + - clojure -m figwheel.main --build-once prod + + - name: compress + image: alpine + commands: + - ls -la + - apk add gzip + - resources/public + - gzip * -k diff --git a/deps.edn b/deps.edn old mode 100644 new mode 100755 index ea89dfe..8dfe1db --- a/deps.edn +++ b/deps.edn @@ -7,6 +7,7 @@ metosin/reitit {:mvn/version "0.3.1"} venantius/accountant {:mvn/version "0.2.4"} com.bhauman/figwheel-main {:mvn/version "0.2.1-SNAPSHOT"} - cider/piggieback {:mvn/version "0.4.0"} + cider/piggieback {:mvn/version "0.4.1-SNAPSHOT"} com.bhauman/rebel-readline-cljs {:mvn/version "0.1.4"}} - :paths ["src" "resources"]} + + :paths ["resources" "src"]} diff --git a/prod.cljs.edn b/prod.cljs.edn index 4bb526c..93b4c86 100644 --- a/prod.cljs.edn +++ b/prod.cljs.edn @@ -1,4 +1,3 @@ -^{ :open-url "http://127.0.0.1:9500/prod.html"} {:output-to "resources/public/main.js" :optimizations :advanced :main weecfg.core} diff --git a/project.clj b/project.clj new file mode 100644 index 0000000..a445862 --- /dev/null +++ b/project.clj @@ -0,0 +1,8 @@ +(defproject weecfg "0.1.0-SNAPSHOT" + :uberjar-name "server.jar" + :target-path "target/%s" + :source-paths ["src" "src/clj" "src/cljs"] + :ring {:handler server-rendering.handler/app} + :plugins [[lein-tools-deps "0.4.5"] [lein-ring "0.12.5"]] + :middleware [lein-tools-deps.plugin/resolve-dependencies-with-deps-edn] + :lein-tools-deps/config {:config-files [:install :user :project]}) diff --git a/readme.org b/readme.org index 915b096..4630e97 100644 --- a/readme.org +++ b/readme.org @@ -20,9 +20,12 @@ clojure -m figwheel.main --build dev --repl #+END_SRC #+BEGIN_SRC sh -clojure -m figwheel.main --build prod --repl +clojure -m figwheel.main --build prod #+END_SRC once running you should be able to see the app under the url below. http://localhost:9500/ +* Tips +** Android issue +If your using an android device and cant load the web page make sure you selected stay connect to wifi, android will show =Connect, with no internet" this is a bit misleading look for a notification and select stay connected with out this the web page will not show. diff --git a/resources/public/dev-main.js b/resources/public/dev-main.js index 951ca3a..a914af8 100644 --- a/resources/public/dev-main.js +++ b/resources/public/dev-main.js @@ -1,4 +1,4 @@ -var CLOSURE_UNCOMPILED_DEFINES = {"figwheel.repl.connect_url":"ws:\/\/localhost:9500\/figwheel-connect?fwprocess=226ccd&fwbuild=dev"}; +var CLOSURE_UNCOMPILED_DEFINES = {"figwheel.repl.connect_url":"ws:\/\/localhost:9500\/figwheel-connect?fwprocess=839c36&fwbuild=dev"}; var CLOSURE_NO_DEPS = true; if(typeof goog == "undefined") document.write(''); document.write(''); diff --git a/resources/public/form.edn b/resources/public/form.edn index 303fe66..1b57a8e 100644 --- a/resources/public/form.edn +++ b/resources/public/form.edn @@ -1,5 +1,5 @@ -{:title "GASP Sensor setup" - :fields [{:name "server" :title "Server" :placeholder "127.0.0.1" +{:title "QA Keypad setup" + :fields [{:name "server" :title "Server Address" :placeholder "127.0.0.1" :validator "server-type" :error "Invalid server address"} {:name "device-id" :title "Device Unique ID" :placeholder "AAAA" diff --git a/src/weecfg/core.cljs b/src/weecfg/core.cljs index 7b019bd..df23e51 100644 --- a/src/weecfg/core.cljs +++ b/src/weecfg/core.cljs @@ -9,13 +9,14 @@ ; variables (defonce form-errors (atom nil)) -(defonce form-title "GASP Sensor setup") +(defonce form-title (atom "GASP Sensor setup")) (defonce form-data (atom {:server "" :device-id "" :wifi-ssid "" :wifi-key ""})) (defonce device-id-regex #"[A-Za-z0-9]{4}") (defonce ssid-regex #"^[!#;].|[+\[\]\"\t\s].*$") ; spec validation definitions (s/def ::boolean-type boolean?) +(s/def ::integer-type int?) (s/def ::size-test #(<= (count %) 2)) (s/def ::ssid-size-limit #(<= (count %) 32)) (s/def ::default-size-limit #(<= (count %) 50)) @@ -26,8 +27,6 @@ ; page routes - - (def router (reitit/router [["/" :index] @@ -90,7 +89,7 @@ (let [form (read-string response) title (:title form) fields (:fields form)] - (reset! form-fields form-title) + (reset! form-title title) (reset! form-fields fields)))})) ;submit the data as raw post data @@ -161,7 +160,7 @@ [:a.link.fr.black.pt3.pb3 {:href (path-for :about)} [:i.fas.fa-question-circle]] [:a.athelas.f3.link.white-70.hover-white.no-underline.flex.items-center.pa3 {:href "/"} - [:i.fas.fa-surprise.mr3.v-mid] "GASP Sensor setup"]] + [:i.fas.fa-surprise.mr3.v-mid] @form-title]] [page]]]))) ; sort out routing sessions and basically kickstart everything