summaryrefslogtreecommitdiff
path: root/webapps
diff options
context:
space:
mode:
Diffstat (limited to 'webapps')
-rw-r--r--webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs109
1 files changed, 6 insertions, 103 deletions
diff --git a/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs b/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs
index 13fdcd4..d3f0374 100644
--- a/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs
+++ b/webapps/ldapadmin/clojurescript/ldapadmin/src/core.cljs
@@ -4,7 +4,8 @@
[dommy.core :as dommy]
[hiccups.runtime :as hiccupsrt]
[clojure.string :as str]
- [org-ckons-cljs.notifications.core :as ck-notifications]))
+ [org-ckons-cljs.notifications.core :as ck-notifications]
+ [org-ckons-cljs.form.core :as ck-form]))
;; declarations
@@ -13,7 +14,6 @@
(declare notifications)
(declare auth-notifications)
-(declare template-generic-form)
(declare template-menu)
(declare handler-menu)
(declare render-menu)
@@ -76,103 +76,6 @@
(render-home "" (get jsonobj "errormsg"))
(render-menu))))
-;; forms
-
-(hiccups/defhtml template-generic-form [jsonobj]
- [:div {:id "form-errormsg"}]
- [:form {:name (get jsonobj "name")
- :id (get jsonobj "name")
- :method (get jsonobj "httpMethod")
- :action (when (get jsonobj "action")
- (str "javascript:" (namespace ::x) "." (get jsonobj "action")))}
- (for [form-field (get jsonobj "formFields")]
- (cond (= (get form-field "fieldType") "button")
- [:div {:class "form-group row"}
- [:div {:class "offset-sm-2 col-sm-10"}
- [:button {:class "btn btn-primary"
- :data-dismiss (get jsonobj "dismiss")
- :type (cond (get form-field "onclick") "button" :else "submit")
- :onclick (when (get form-field "onclick")
- (str (namespace ::x) "." (get form-field "onclick")))}
- (get form-field "label")]]]
- (= (get form-field "fieldType") "hidden")
- [:input {:name (get form-field "name")
- :id (get form-field "name")
- :value (get form-field "value")
- :type (get form-field "fieldType")}]
- (= (get form-field "fieldType") "checkbox")
- [:div {:class "form-check"}
- [:input {:type "checkbox"
- :class "form-check-input"
- :id (get form-field "name")
- :value (get form-field "value")
- :checked (get form-field "checked")
- :required (get form-field "required")}]
- (when (get form-field "label")
- [:label {:class "form-check-label"
- :for (get form-field "name")}
- (get form-field "label")])]
- (= (get form-field "fieldType") "select")
- [:div {:class "form-group"}
- [:label {:for (get form-field "name")}
- (get form-field "label")]
- [:select {:class "form-control"
- :name (get form-field "name")
- :id (get form-field "name")
- :required (get form-field "required")
- :onchange (when (get form-field "onchange")
- (str (namespace ::x) "." (get form-field "onchange")))}
- (for [option (get form-field "options")]
- [:option {:value (get option "value")
- :selected (when (= (get option "value") (get form-field "value"))
- "selected")}
- (get option "label")])]]
- (= (get form-field "fieldType") "textarea")
- [:div {:class "form-group row"}
- (when (get form-field "label")
- [:label {:for (get form-field "name")
- :class "col-form-label col-sm-2"
- :style "text-align: right"}
- (get form-field "label")])
- [:div {:class "col-sm-10"}
- [:textarea {:name (get form-field "name")
- :id (get form-field "name")
- :rows "10"
- :cols "68"}
- (get form-field "value")]]]
- (= (get form-field "fieldType") "datetime-local")
- [:div {:class "form-group row"}
- (when (get form-field "label")
- [:label {:for (get form-field "name")
- :class "col-form-label col-sm-2"
- :style "text-align: right"}
- (get form-field "label")])
- [:div {:class "col-sm-10"}
- [:input {:name (get form-field "name")
- :id (get form-field "name")
- :value (get form-field "value")
- :type (get form-field "fieldType")
- :class "form-control"
- :required (get form-field "required")
- :min "2018-01-01T00:00"
- :max "2020:12-31T23:59"}]]]
- :else
- [:div {:class "form-group row"}
- (when (get form-field "label")
- [:label {:for (get form-field "name")
- :class "col-form-label col-sm-2"
- :style "text-align: right"}
- (get form-field "label")])
- [:div {:class "col-sm-10"}
- [:input {:name (get form-field "name")
- :id (get form-field "name")
- :value (get form-field "value")
- :type (get form-field "fieldType")
- :class "form-control"
- :required (get form-field "required")}]]]))]
- (when (get jsonobj "requiredP")
- [:div "* Required"]))
-
;; menu
(hiccups/defhtml template-menu [menuitems]
@@ -218,7 +121,7 @@
(hiccups/defhtml template-login [jsonobj]
[:h3 {:style "text-align: center"} (get jsonobj "title")]
- (template-generic-form (get jsonobj "form"))
+ (ck-form/template-generic-form (get jsonobj "form") (namespace ::x))
[:div {:style "text-align: center"}])
(defn handler-login [response]
@@ -328,7 +231,7 @@
(render-inetorg-view-results)))
(hiccups/defhtml template-inetorg-view-search [jsonobj]
- (template-generic-form (get jsonobj "form")))
+ (ck-form/template-generic-form (get jsonobj "form") (namespace ::x)))
(defn handler-inetorg-view-search [response]
(let [jsonobj (js->clj (js/JSON.parse response))]
@@ -399,7 +302,7 @@
(render-inetorg-modify cn))
(hiccups/defhtml template-inetorg-modify [jsonobj]
- (template-generic-form (get jsonobj "form")))
+ (ck-form/template-generic-form (get jsonobj "form") (namespace ::x)))
(defn handler-inetorg-modify [response]
(let [jsonobj (js->clj (js/JSON.parse response))
@@ -483,7 +386,7 @@
;; inetrog-add
(hiccups/defhtml template-inetorg-add [jsonobj]
- (template-generic-form (get jsonobj "form")))
+ (ck-form/template-generic-form (get jsonobj "form") (namespace ::x)))
(defn handler-inetorg-add [response]
(let [jsonobj (js->clj (js/JSON.parse response))]