Quick follow up. Seems like this is a topic that David and others are exploring.
https://github.com/swannodette/om/issues/293 https://github.com/swannodette/om/issues/265 On Sunday, December 21, 2014 1:21:50 AM UTC+11, Timothy Washington wrote: > Yeah, Paul gave a great presentation, I thought. I'm looking forward to using > his ideas in some of my future implementations. > > > Hard for me to know exactly how your code applies. But one question you can > consider is does my logic contain just data? And further can that exact data > be taken and used in a different piece of code? It's the reusability and > composability that I took away from the approach. > > > > > Hth > > > > > > Tim Washington > Interruptsoftware.com > > > > > On Fri, Dec 19, 2014 at 9:18 PM, Oliver George <[email protected]> wrote: > > 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. -- 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.
