Uses cursors for simplicity, uses common grid bottom
This commit is contained in:
@@ -2,17 +2,26 @@
|
||||
(:require [auto-ap.ssr.utils :refer [path->name2]]
|
||||
[auto-ap.cursor :as cursor]))
|
||||
|
||||
(def ^:dynamic *prefix* [])
|
||||
(def ^:dynamic *form-data*)
|
||||
(def ^:dynamic *form-errors*)
|
||||
(def ^:dynamic *prev-cursor* nil)
|
||||
(def ^:dynamic *current* nil)
|
||||
|
||||
|
||||
|
||||
(defmacro start-form [form-data errors & rest]
|
||||
`(binding [*form-data* ~form-data
|
||||
*form-errors* (or ~errors {})]
|
||||
(binding [*current* (cursor/cursor *form-data*)]
|
||||
(binding [*current* (if (cursor/cursor? *form-data*)
|
||||
*form-data*
|
||||
(cursor/cursor *form-data*))]
|
||||
~@rest)))
|
||||
|
||||
(defmacro start-form-with-prefix [prefix form-data errors & rest]
|
||||
`(binding [*prefix* ~prefix]
|
||||
(start-form ~form-data ~errors ~@rest)))
|
||||
|
||||
(defmacro with-cursor [cursor & rest]
|
||||
`(binding [*current* ~cursor]
|
||||
~@rest))
|
||||
@@ -24,7 +33,7 @@
|
||||
(defn field-name
|
||||
([] (field-name *current*))
|
||||
([cursor]
|
||||
(apply path->name2 (cursor/path cursor))))
|
||||
(apply path->name2 (into (or *prefix* []) (cursor/path cursor)))))
|
||||
|
||||
(defn field-value
|
||||
([] (field-value *current*))
|
||||
|
||||
Reference in New Issue
Block a user