I really look forward to seeing some code from that project - seems perfect.  
Paul was quite the tease!

Here's a concept I knocked up this morning.  It's a bit of a hack but I'd be 
interested to see what people think of it.

https://gist.github.com/anonymous/f8faa4dbfa33c2b324d4

Essentially it uses "logic-fn" hooks in the app-state and components call 
update-with-logic! with their cursor to request data updates.  

The update-with-logic! does om/update! but first looks for a logic-fn to apply.

I can't decide if it's a hideous API or genius!  Please feel free to pop my 
bubble.


On Saturday, December 20, 2014 9:25:25 AM UTC+11, Timothy Washington wrote:
> At this year's conj, Paul DeGrandis gave a talk on Unlocking Data Driven 
> Systems.
> 
> My phone shows: http://m.youtube.com/watch?v=BNkYYYyfF48
> 
> It was very much in the vein in which your talking. Using data to describe 
> operations, configurations, etc. Such an approach would work really well with 
> an immutable UI as well.
> 
> Hth
> 
> Tim
> 
> On Dec 19, 2014 4:47 PM, "Oliver George" <[email protected]> wrote:
> Hello
> 
> 
> 
> I'm trying to work out a good method for applying business logic to an OM 
> based UI.  In particular, I'd like to avoid embedding business logic in the 
> render components themselves.
> 
> 
> 
> Things like:
> 
> * if this model attribute changes clear these other ones
> 
> * reject this new attribute value because it fails some validation test
> 
> * when this attribute changes use ajax to fetch some new data
> 
> 
> 
> I think OM still requires a single atom holds all app state even when using 
> ref-cursors to decouple things better.  That means my "models" would all be 
> in that main atom but parked at different locations within it.
> 
> 
> 
> I wondered if there was a way to hook into transact! such that I could inject 
> this logic before the update was applied but it's not apparent.
> 
> 
> 
> Seems like something others may have explored.  I'd love any thoughts/links.
> 
> 
> 
> cheers, Oliver
> 
> 
> 
> --
> 
> Note that posts from new members are moderated - please be patient with your 
> first post.
> 
> ---
> 
> You received this message because you are subscribed to the Google Groups 
> "ClojureScript" group.
> 
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> 
> To post to this group, send email to [email protected].
> 
> Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to