From 0907d9f988f244ebf4b7468b5af1d19bbcaa4ed3 Mon Sep 17 00:00:00 2001 From: Christian Mueller Date: Sat, 16 Jun 2012 18:19:03 +0200 Subject: [PATCH] fetch lib eliminated --- project.clj | 2 +- src-cljs/main.cljs | 20 ++++++++++++-------- src/NoteHub/views/pages.clj | 11 ++++++----- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/project.clj b/project.clj index 26388eb..be1375d 100644 --- a/project.clj +++ b/project.clj @@ -6,7 +6,7 @@ [ring/ring-core "1.1.0"] [cssgen "0.2.6"] [jayq "0.1.0-alpha2"] - [fetch "0.1.0-alpha2"] + [cheshire "4.0.0"] [clj-redis "0.0.12"] [org.pegdown/pegdown "1.1.0"] [noir "1.3.0-beta1"]] diff --git a/src-cljs/main.cljs b/src-cljs/main.cljs index c72a3cd..33c4b9f 100644 --- a/src-cljs/main.cljs +++ b/src-cljs/main.cljs @@ -1,7 +1,6 @@ (ns NoteHub.main - (:use [jayq.core :only [$ css inner val anim show]]) - (:require [fetch.remotes :as remotes] - [goog.dom :as gdom] + (:use [jayq.core :only [$ xhr css inner val anim show]]) + (:require [goog.dom :as gdom] [NoteHub.crossover.lib :as lib] [clojure.browser.dom :as dom] [clojure.browser.event :as event]) @@ -33,11 +32,16 @@ ; to the preview layer and scroll to it (.click ($ :#preview-button) (fn [e] - (fm/remote (get-preview-md (val $session-key) (val $draft)) [{:keys [preview session-key]}] - (show $preview-start-line) - (inner $preview preview) - (val $session-key session-key) - (scroll-to $preview-start-line)))) + (xhr [:post "/preview"] + {:session-key (val $session-key) + :draft (val $draft)} + (fn [json-map] + (let [m (js->clj (JSON/parse json-map))] + (do + (inner $preview (m "preview")) + (val $session-key (m "session-key")) + (show $preview-start-line) + (scroll-to $preview-start-line))))))) (.click ($ :#publish-button) (fn [e] diff --git a/src/NoteHub/views/pages.clj b/src/NoteHub/views/pages.clj index 992d30b..2522b07 100644 --- a/src/NoteHub/views/pages.clj +++ b/src/NoteHub/views/pages.clj @@ -15,8 +15,8 @@ [noir.response :only [redirect status]] [noir.core :only [defpage render]] [noir.util.crypt :only [encrypt]] - [noir.statuses] - [noir.fetch.remotes]) + [cheshire.core] + [noir.statuses]) (:import [java.util Calendar] [org.pegdown PegDownProcessor])) @@ -59,10 +59,11 @@ ; This function answers to an AJAX request: it gets a session key and a markdown text. ; It returns the html code of the provided markdown and a new session key. -(defremote get-preview-md [session-key md] - (when (flash-get session-key) +(defpage [:post "/preview"] {:keys [session-key draft]} + (when (flash-get session-key) + (generate-string {:session-key (get-flash-key) - :preview (md-to-html md)})) + :preview (md-to-html draft)}))) ; Landing Page (defpage "/" {}