Skip to content

Instantly share code, notes, and snippets.

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/8512469 to your computer and use it in GitHub Desktop.
Save geraldodev/8512469 to your computer and use it in GitHub Desktop.
component with constructed in a way the caller decides where to save state.
(defn empresa-ficha [{:keys [id nome cnpj inscricao-estadual] :as empresa} _ {:keys [state-owner state-korks]}]
(let [get-state (partial om/get-state state-owner state-korks)
set-state! (partial om/set-state! state-owner state-korks)]
(reify
om/IRender
(render [_]
(dom/form
#js {:className "form form-condensed"
:role "form"
:style #js {:margin-top "10px"}}
(dom/fieldset nil
(dom/div #js {:className "form-group col-xs-8"}
(dom/label #js {:className "control-label"} "Nome")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :nome)
:onChange (fn [e]
(set-state! :nome (e-value e)))}))
(dom/div #js {:className "form-group col-xs-4"}
(dom/label #js {:className "control-label"} "CNPJ")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :cnpj)
:onChange (fn [e]
(set-state! :cnpj (e-value e)))}))
(dom/div #js {:className "form-group col-xs-4"}
(dom/label #js {:className "control-label"} "Inscrição Estadual")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :inscricao-estadual)
:onChange (fn [e]
(set-state! :inscricao-estadual (e-value e)))}))
(dom/div #js {:className "form-group col-xs-7"}
(dom/label #js {:className "control-label"} "Endereço")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :endereco)
:onChange (fn [e]
(set-state! :endereco (e-value e)))}))
(dom/div #js {:className "form-group col-xs-6"}
(dom/label #js {:className "control-label"} "Bairro")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :bairro)
:onChange (fn [e]
(set-state! :bairro (e-value e)))}))
(dom/div #js {:className "form-group col-xs-3"}
(dom/label #js {:className "control-label"} "CEP")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :cep)
:onChange (fn [e]
(set-state! :cep (e-value e)))}))
(dom/div #js {:className "form-group col-xs-6"}
(dom/label #js {:className "control-label"} "Cidade")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :cidade)
:onChange (fn [e]
(set-state! :cidade (e-value e)))}))
(dom/div #js {:className "form-group col-xs-2"}
(dom/label #js {:className "control-label"} "Estado")
(dom/input
#js {:className "form-control"
:type "text"
:value (get-state :estado)
:onChange (fn [e]
(set-state! :estado (e-value e)))}))
))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment