Skip to content

Commit

Permalink
Updates, bump to 0.11.43
Browse files Browse the repository at this point in the history
  • Loading branch information
zk committed Oct 2, 2016
1 parent 9715970 commit 4c34bc6
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 14 deletions.
2 changes: 1 addition & 1 deletion project.clj
@@ -1,4 +1,4 @@
(defproject nsfw "0.11.42"
(defproject nsfw "0.11.43"
:description "No Such Framework -- Experimental"
:dependencies [[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.122"]
Expand Down
16 changes: 15 additions & 1 deletion src/clj/nsfw/css.clj
Expand Up @@ -2,7 +2,8 @@
(:require [clojure.string :as str]
[garden.def :refer [defkeyframes]]
[garden.units :refer [px px-]]
[garden.stylesheet :refer [at-media]]))
[garden.stylesheet :refer [at-media]]
[garden.core :as garden]))

(def display-flex
{:display ^:prefix #{"flex" "-webkit-flex"
Expand Down Expand Up @@ -140,3 +141,16 @@ linear-gradient(45deg, "
at-media
(key->breakpoint breakpoint-key)
rules)))

(defn clj->str [css & [opts]]
(let [opts (or opts
{:pretty-print? false
:vendors ["webkit" "moz" "ms"]
:auto-prefix #{:justify-content
:align-items
:flex-direction
:flex-wrap
:align-self
:transition
:transform}})]
(garden/css opts css)))
11 changes: 6 additions & 5 deletions src/clj/nsfw/http.clj
Expand Up @@ -183,19 +183,19 @@
(h (update-in r [:body] util/from-json))
(h r))))

(defn wrap-transit-response [h]
(defn wrap-transit-response [h & [handlers]]
(fn [r]
(let [res (h r)]
(-> res
(update-in [:body] util/to-transit)
(update-in [:body] #(util/to-transit % handlers))
(assoc-in [:headers "Content-Type"]
"application/transit+json;charset=utf-8")))))

(defn wrap-transit-request [h]
(defn wrap-transit-request [h & [handlers]]
(fn [r]
(if (= "application/transit+json"
(:media-type (content-type r)))
(h (update-in r [:body] util/from-transit))
(h (update-in r [:body] #(util/from-transit % handlers)))
(h r))))

(defn routes->bidi [routes]
Expand Down Expand Up @@ -270,7 +270,8 @@
(h (assoc r k v))))

(defn cljs-page-template [{:keys [js css env data
body-class head meta-named
body-class head
meta-named
title]}]
(html-resp
[:html5
Expand Down
9 changes: 5 additions & 4 deletions src/clj/nsfw/util.clj
Expand Up @@ -160,19 +160,20 @@
(json/parse-string o true)
(json/parse-stream (io/reader o) true)))

(defn from-transit [s]
(defn from-transit [s & [handlers]]
(when s
(transit/read
(transit/reader
(if (string? s)
(java.io.ByteArrayInputStream. (.getBytes s "UTF-8"))
s)
:json))))
:json
{:handlers handlers}))))

(defn to-transit [o]
(defn to-transit [o & [handlers]]
(let [bs (java.io.ByteArrayOutputStream.)]
(transit/write
(transit/writer bs :json)
(transit/writer bs :json {:handlers handlers})
o)
(.toString bs)))

Expand Down
7 changes: 7 additions & 0 deletions src/cljs/nsfw/comps.cljs
Expand Up @@ -97,3 +97,10 @@
(.preventDefault e)
(on-change (.. e -target -value)))
:placeholder "Search"}]]])

(defn $loading-ellipsis [& [opts]]
[:div.ellipsis-spinner
opts
[:div.bounce1]
[:div.bounce2]
[:div.bounce3]])
2 changes: 1 addition & 1 deletion src/cljs/nsfw/forms.cljs
Expand Up @@ -98,7 +98,7 @@
(if checkbox?
(swap! !cursor
assoc-in path
(.. e -target -checked))
(parse-value (.. e -target -checked)))
(swap! !cursor
assoc-in path
(parse-value (.. e -target -value))))
Expand Down
2 changes: 1 addition & 1 deletion src/cljs/nsfw/page.cljs
Expand Up @@ -96,7 +96,7 @@
(assoc :view-key view-key))
handler (handler-for views view-key)]
(if handler
(handler state)
(or (handler state) state)
(do
(println "[nsfw.page] No handler for key " view-key)
(assoc state :view-key view-key)))))})
Expand Down
5 changes: 4 additions & 1 deletion src/cljs/nsfw/util.cljs
Expand Up @@ -56,7 +56,10 @@

(defn format-date
([pattern date]
(.format (goog.i18n.DateTimeFormat. pattern) date)))
(let [date (if (number? date)
(.fromTimestamp gd/DateTime date)
date)]
(.format (goog.i18n.DateTimeFormat. pattern) date))))

(defn navigate-to [& parts]
(aset (aget js/window "location") "href" (apply str parts)))
Expand Down

0 comments on commit 4c34bc6

Please sign in to comment.