Skip to content

Instantly share code, notes, and snippets.

@selfsame
Created July 7, 2014 20:59
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 selfsame/d11b3bfd1d5476534ff6 to your computer and use it in GitHub Desktop.
Save selfsame/d11b3bfd1d5476534ff6 to your computer and use it in GitHub Desktop.
om multi-cursor
(sug/defcomp t-c-2
[data owner opts]
{:render-state
(fn [_ state]
(let []
(.log js/console (.-_rootNodeID owner))
(dom/div nil
(dom/p nil (prn-str (.-__om_cursor (.-props owner))))
(dom/button #js {:onClick #(sug/up! :c owner {:thing true})} "eventer")
)))})
(sug/defcomp t-c-1
[data owner opts]
{:render-state
(fn [_ state]
(let []
(dom/div nil
(dom/p nil (str (:on state)))
(sug/make t-c-2 data {})
)))
:catch {:c (fn [e] (om/update-state! owner :on not))}})
(sug/defcomp t-c
[data owner opts]
{:render-state
(fn [_ state]
(let [lense {:edit (:edit (:app data))
:comp (:left (:interface data))}
lense2 {:edit (:edit (:app data))
:comp (:right (:interface data))}]
(dom/div nil
(dom/p nil "main-")
(sug/make t-c-1 lense {:init-state {:on false} :react-key :uid-18})
(sug/make t-c-1 lense2 {:init-state {:on false}})
(sug/make t-c-1 (:edit (:app data)) {:init-state {:on false}})
(sug/make t-c-3 (:edit (:app data)) {}))))})
(def D (atom {:app {:edit {:val true}
:selection #{}}
:interface {:left [:style :mode]
:right [:history :outliner]}}))
(om/root t-c D {:target (.getElementById js/document "main")})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment