It's not make sense for my project. I separate business transaction from UI logic. When create or update business model will occur notice or error, and then do something for UI by the business transaction
for example: business: def MyBusinessTransaction(v: String) : Option[MyModel] = { val myModel = MyModel.create.title(v) myModel.validate match { case Nil => {myModel.save();Some(myModel)} case xs => {S.error(xs);None} } } Snippet def doSomething(): JsCmd = MyBusinessTransaction(v) match { case Some(v) => //do something for UI, such as replace the old value case None => //notice what's wrong. *I could code ** fadeOutErrors(5 seconds, 1 second) if want, but should I code every where?* } Or there're any other practice for separate business from UI? On Wed, Dec 9, 2009 at 7:45 PM, Philippe Monnaie <philippe.monn...@gmail.com > wrote: > You could try: > > object Config{ > def error(xs) = { > S.error(xs) > fadeOutErrors(5 seconds, 1 second) > } > } > > and call Config.error(xs) instead of S.error(xs) > > or something similar. I'm sure someone can come up with a more elegant > solution than this. Just the first thing that popped into my head. > > - Philippe > > On Tue, Dec 8, 2009 at 2:26 PM, Xuefeng Wu <ben...@gmail.com> wrote: > > I think It's better I could configure it, but not code every where. > > On Tue, Dec 8, 2009 at 9:23 PM, Marius <marius.dan...@gmail.com> wrote: > >> > >> Yes you need to send down fadeOut... call > >> > >> def myFunc: JsCmd = { > >> // do some DB stuff > >> vmyMapper.validate match { > >> case Nil => Noop > >> case xs => S.error(xs); fadeOutErrors(5 seconds, 1 second) > >> } > >> > >> } > >> On Dec 8, 3:01 pm, Xuefeng Wu <ben...@gmail.com> wrote: > >> > Yes, I do something like > >> > // do the DB stuff > >> > vmyMapper.validate match { > >> > case Nil => > >> > case xs => S.error(xs) > >> > } > >> > > >> > But I should always add fadeOutErrors(5 seconds, 1 second)? > >> > > >> > I want lift highlight every error/notice information. > >> > > >> > > >> > > >> > On Tue, Dec 8, 2009 at 5:56 PM, Marius <marius.dan...@gmail.com> > wrote: > >> > > Are you using field validate into an Ajax context or not? If not > using > >> > > something like: > >> > > >> > > def howdy = { > >> > > S.error("howdy error") > >> > > <span>Hello there</span> ++ > >> > > <head>{Script(OnLoad(fadeOutErrors(5 seconds, 1 second)))} > >> > > </head> > >> > > } > >> > > >> > > from your snippet should be ok. > >> > > >> > > If you are using validate from an Ajax invocation, then you just > need > >> > > to return fadeOutErrors(5 seconds, 1 second) from your Ajax > function. > >> > > >> > > So I guess your ajax function would looks something like: > >> > > >> > > def myDBAjax: JsCmd = { > >> > > >> > > // do the DB stuff > >> > > val errors = myMapper.validate > >> > > S.error(errors) > >> > > fadeOutErrors(5 seconds, 1 second) > >> > > } > >> > > >> > > Br's, > >> > > Marius > >> > > >> > > On Dec 8, 10:53 am, Xuefeng Wu <ben...@gmail.com> wrote: > >> > > > But I use field validate, the notice and error are wrap by lift. > >> > > > Should I > >> > > > append fadeOutErrors(5 seconds, 1 second)? > >> > > >> > > > On Tue, Dec 8, 2009 at 4:50 PM, Marius <marius.dan...@gmail.com> > >> > > > wrote: > >> > > > > You don't need to configure anything in boot. > >> > > >> > > > > Assume this is an Ajax function: > >> > > >> > > > > def howdy: JsCmd = { > >> > > > > S.error("howdy error") > >> > > > > fadeOutErrors(5 seconds, 1 second) > >> > > > > } > >> > > >> > > > > ... in your snippet you can say: > >> > > >> > > > > SHtml.a(Text("Click me")(howdy _) > >> > > >> > > > > If you want to fade out errors in a page and not via Ajax you > can > >> > > > > use this: > >> > > >> > > > > def howdy = { > >> > > > > S.error("howdy error") > >> > > > > <span>Hello there</span> ++ > >> > > > > <head>{Script(OnLoad(fadeOutErrors(5 seconds, 1 second)))} > >> > > > > </head> > >> > > > > } > >> > > >> > > > > which basically says after the page is rendered that after 5 > >> > > > > seconds > >> > > > > the error notices will be faded out. > >> > > >> > > > > Br's, > >> > > > > Marius > >> > > >> > > > > On Dec 8, 9:50 am, Xuefeng Wu <ben...@gmail.com> wrote: > >> > > > > > Yes, it's my wanted. > >> > > > > > How could I configure it at boot? > >> > > >> > > > > > On Tue, Dec 8, 2009 at 3:44 PM, Marius < > marius.dan...@gmail.com> > >> > > wrote: > >> > > > > > > Please see this: > >> > > >> > > > http://groups.google.com/group/liftweb/browse_thread/thread/972562da2. > >> > > > > .. > >> > > >> > > > > > > If you are using Ajax, notices could easily fade out. > >> > > >> > > > > > > Br's, > >> > > > > > > Marius > >> > > >> > > > > > > On Dec 8, 8:02 am, Xuefeng Wu <ben...@gmail.com> wrote: > >> > > > > > > > Hi, > >> > > >> > > > > > > > I want to highlight the lift notice and it will hide > >> > > > > > > > when > >> > > > > timeout. > >> > > > > > > > Should I code every request or only to config lift some > >> > > > > > > > where? > >> > > >> > > > > > > > For example: > >> > > > > > > > When use put items into the shopping cart, highlight the > >> > > > > > > > items > >> > > some > >> > > > > > > seconds > >> > > > > > > > to notice the user. > >> > > >> > > > > > > > -- > >> > > > > > > > Scala中文社区: http://groups.google.com/group/scalacn > >> > > >> > > > > > > -- > >> > > >> > > > > > > You received this message because you are subscribed to the > >> > > > > > > Google > >> > > > > Groups > >> > > > > > > "Lift" group. > >> > > > > > > To post to this group, send email to > lift...@googlegroups.com. > >> > > > > > > To unsubscribe from this group, send email to > >> > > > > > > > >> > > > > > > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > > > >> > > > >> > > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > <liftweb%252bunsubscr...@googlegroups.com<liftweb%25252bunsubscr...@googlegroups.com> > > > >> > > >> > > > > > >> > > > > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > <liftweb%252bunsubscr...@googlegroups.com<liftweb%25252bunsubscr...@googlegroups.com> > > > >> > > > >> > > <liftweb%252bunsubscr...@googlegroups.com<liftweb%25252bunsubscr...@googlegroups.com> > <liftweb%25252bunsubscr...@googlegroups.com<liftweb%2525252bunsubscr...@googlegroups.com> > > > >> > > >> > > > > > > . > >> > > > > > > For more options, visit this group at > >> > > > > > >http://groups.google.com/group/liftweb?hl=en. > >> > > >> > > > > > -- > >> > > > > > Scala中文社区: http://groups.google.com/group/scalacn > >> > > >> > > > > -- > >> > > >> > > > > You received this message because you are subscribed to the > Google > >> > > Groups > >> > > > > "Lift" group. > >> > > > > To post to this group, send email to lift...@googlegroups.com. > >> > > > > To unsubscribe from this group, send email to > >> > > > > > >> > > > > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > > > >> > > > >> > > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > <liftweb%252bunsubscr...@googlegroups.com<liftweb%25252bunsubscr...@googlegroups.com> > > > >> > > >> > > > > . > >> > > > > For more options, visit this group at > >> > > > >http://groups.google.com/group/liftweb?hl=en. > >> > > >> > > > -- > >> > > > Scala中文社区: http://groups.google.com/group/scalacn > >> > > >> > > -- > >> > > >> > > You received this message because you are subscribed to the Google > >> > > Groups > >> > > "Lift" group. > >> > > To post to this group, send email to lift...@googlegroups.com. > >> > > To unsubscribe from this group, send email to > >> > > > >> > > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > <liftweb%2bunsubscr...@googlegroups.com<liftweb%252bunsubscr...@googlegroups.com> > > > >> > > . > >> > > For more options, visit this group at > >> > >http://groups.google.com/group/liftweb?hl=en. > >> > > >> > -- > >> > Scala中文社区: http://groups.google.com/group/scalacn > >> > >> -- > >> > >> You received this message because you are subscribed to the Google > Groups > >> "Lift" group. > >> To post to this group, send email to lift...@googlegroups.com. > >> To unsubscribe from this group, send email to > >> liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > . > >> For more options, visit this group at > >> http://groups.google.com/group/liftweb?hl=en. > >> > >> > > > > > > > > -- > > Scala中文社区: http://groups.google.com/group/scalacn > > > > -- > > > > You received this message because you are subscribed to the Google Groups > > "Lift" group. > > To post to this group, send email to lift...@googlegroups.com. > > To unsubscribe from this group, send email to > > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group at > > http://groups.google.com/group/liftweb?hl=en. > > > > -- > > You received this message because you are subscribed to the Google Groups > "Lift" group. > To post to this group, send email to lift...@googlegroups.com. > To unsubscribe from this group, send email to > liftweb+unsubscr...@googlegroups.com<liftweb%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/liftweb?hl=en. > > > -- Scala中文社区: http://groups.google.com/group/scalacn -- You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to lift...@googlegroups.com. To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/liftweb?hl=en.