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.
