Skip to content

Instantly share code, notes, and snippets.

@geraldodev
Created January 6, 2016 13:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save geraldodev/61da7eb5af8d6dfa4762 to your computer and use it in GitHub Desktop.
Save geraldodev/61da7eb5af8d6dfa4762 to your computer and use it in GitHub Desktop.
(ns credito.core
(:require
[accountant.core :as accountant]
[clojure.string :as str]
[credito.guts.core :as app-guts :refer [g-conn]]
[datascript.core :as d]
[goog.dom :as gdom]
[om.dom :as dom]
[om.next :as om :refer-macros [defui]]
[cognitect.transit :as t]
[util.guts :as guts]
[util.transit]
))
(enable-console-print!)
(defmulti read om/dispatch)
(defui Cliente
static om/IQuery
(query [this]
'[:id :nome :versao])
Object
(render [this]
(let [p (om/props this)
_ (println "props of Cliente " p)]
(dom/div
#js {:className "card"}
(dom/div
#js {:className "card-block"}
(dom/h5 #js {:className "card-tittle"} "Cliente")
(dom/form
nil
(dom/div
#js {:className "row"}
(map (fn [field]
(dom/fieldset
(js-obj "className" "col-md-4 col-sm-6 col-xs-6 form-group"
"key" field)
(dom/label nil (name field))
(dom/input
(js-obj
"className" "form-control"
"value" (om/get-state this field)
"onChange"
#(om/update-state! this assoc field (.. % -target -value))))))
(om/get-query Cliente)))
(dom/button
#js
{:className "btn"
:type "button"
:onClick (fn [e]
(let [data (om/get-state this)]
(om/transact!
this
`[(guts/save ~{:table-name "cliente"
:data data})])))}
"Gravar Cliente")))))))
(def cliente (om/factory Cliente))
(defmethod read :form-cliente
[env key params]
{:value {:id 1
:nome "geraldo"
:versao 0}})
(defui CreditoApp
static om/IQuery
(query [this]
`[{:form-cliente ~(om/get-query Cliente)}])
Object
(render [this]
(println "CreditoApp " (om/props this))
(let [{:keys [form-operador]} (om/props this)]
(dom/div
nil
(cliente)
;; (cliente {:foo :bar})
))))
(def reconciler
(om/reconciler
{:state g-conn
:parser (om/parser {:read read :mutate mutate})
:send (util.transit/transit-post "/api/parser")}))
(om/add-root! reconciler
CreditoApp
(gdom/getElement "app"))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment