(ns slipstream.common.reload
(:require [net.cgrand.enlive.reload :as enlive-reload]))
(defn- get-name
"Extract the name as a string"
[ns]
(-> ns ns-name name))
(defn- ours?
"Filter namespaces starting with 'slipstream.'"
[nses]
(filter
#(.startsWith (get-name %) "slipstream.ui.views")
nses))
(defn refresh-views
"Reload all slipstream.ui.views.* modules. Use :reload and not :reload-all, otherwise the required modules are
also reloaded, including the slipstream.ui.config module. This last module contains atom that must be altered
for which views module must be reloaded."
[]
(let [ours (ours? (all-ns))]
(doseq [ns ours]
(let [name (ns-name ns)]
(try
(enlive-reload/reload-ns ns)
; (require name :reload :verbose)
(catch Exception e (print "Error reloading clojure module " name " with detail: " e)))))))
(def configuration-template-html (common/get-template "configuration.html"))
(def parameters-sel [:#parameters])
(html/defsnippet header-titles-snip configuration-template-html header/titles-sel
[]
identity)
(ns slipstream.ui.config)
(def template-namespace (atom "toto/titi/tata"))
(defn -setHtmlTemplateNamespace
"Set alternative namespace for HTML template. Must be slash separated."
[ns]
(common/set-template! ns)
(reload/refresh-views)
@slipstream.ui.config/template-namespace)
(:gen-class
:name slipstream.ui.views.Representation
:methods [#^{:static true
:doc "Set alternative namespace for HTML template. Must be slash separated."}
[setHtmlTemplateNamespace [String] String]
String toto = Representation.setHtmlTemplateNamespace(namespace);
--
You received this message because you are subscribed to the Google Groups "Enlive" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enlive-clj+...@googlegroups.com.
To post to this group, send email to enliv...@googlegroups.com.
Visit this group at http://groups.google.com/group/enlive-clj.
For more options, visit https://groups.google.com/d/optout.