Or just checkout from git master and do a mvn clean:clean install
Trust me it's all there :) Br's, Marius On Aug 20, 8:15 am, Naftoli Gugenheim <naftoli...@gmail.com> wrote: > Are you using maven to compile? > Delete any earlier jar so you rule out that possibility. Also, if you turn on > debug output in maven (-X) it might tell you the path that it's using to > invoke the compiler so you can see which jar it's using if any. > > ------------------------------------- > > g-man<gregor...@gmail.com> wrote: > > Well, I went down the rabbit hole on a quest for 1.1-SNAPSHOT - It is > not visible, even though my pom points to it, and the .m2 repository > shows a directory for it. > > .m2\repository\net\liftweb\lift-archetype-basic\1.1-SNAPSHOT > > Bottom line is : > > src\main\scala\bootstrap\liftweb\Boot.scala:11: error: value provider > is not a member of package net.liftweb.http > import http.provider._ > > and: > > error: wrong number of arguments for method > ajaxText: (String,(String) => net.liftweb.http.js.JsCmd)scala.xml.Elem > > So Lift can't see the new stuff, and I also can't get an archetype > created using the 1.1-SNAPSHOT, so I will keep hacking unless you have > some further guidance for me. > > On Aug 19, 12:20 pm, "marius d." <marius.dan...@gmail.com> wrote: > > > Please use Lift 1.1-SNAPSHOT > > > Br's, > > Marius > > > On Aug 19, 10:06 pm, g-man <gregor...@gmail.com> wrote: > > > > I quoted the def from net.liftweb.http.SHtml in: > > > >http://scala-tools.org/scaladocs/liftweb/1.0/ > > > > and when I tried the other version, my complier did not accept the > > > extra param. > > > > That's why I thought I had to override something... > > > > Is there a newer version I should be using? > > > > On Aug 18, 10:38 pm, "marius d." <marius.dan...@gmail.com> wrote: > > > > > No you can't override it because SHtml is an object not a type. The > > > > function definition above (def ajaxText(value: String, jsFunc: Call, > > > > func: String => JsCmd) ) already exists in SHtml. In fact we have this > > > > deferring mechanism for other functions like ajaxButton, a, etc. > > > > > If you're still having trouble using this please let me know and I'll > > > > make and example app. for you. > > > > > Br's, > > > > Marius > > > > > On Aug 19, 5:42 am, g-man <gregor...@gmail.com> wrote: > > > > > > OK, seems like I have to learn a little more about Scala so I can > > > > > override the ajaxText method, right? Here it is in the docs: > > > > > > def ajaxText(value: String, func: String => JsCmd): Elem = ajaxText_* > > > > > (value, SFuncHolder(func)) > > > > > > When I fumble around, it won't compile, because I'm just not doing it > > > > > right. My project is a hobby, not mission-critical, so I'm under no > > > > > pressure. > > > > > > For now, I will change to an ajaxForm, but the learning is all good, > > > > > and if you want to keep teaching, I will listen! > > > > > > Thanks for your patience... > > > > > > On Aug 18, 12:41 pm, "marius d." <marius.dan...@gmail.com> wrote: > > > > > > > Having > > > > > > > def ajaxText(value: String, jsFunc: Call, func: String => JsCmd) > > > > > > > jsFunc parameter is a Call which is defined as: > > > > > > > case class Call(function: String, params: JsExp*) extends JsExp > > > > > > > So by this you represent a javascript function invocations. > > > > > > > So assuming somewhere you have a javascript function like: > > > > > > > function myFunc(myParam, callback) { > > > > > > > // do some logic > > > > > > callback() > > > > > > > } > > > > > > > in the snippet we have something like: > > > > > > > ajaxText(task.dueOn.toString, > > > > > > Call("myFunc", Str("some_param_value")) > > > > > > v => { task.dueOn(v.toLong).save; reDrawTasks();}) > > > > > > > As you can see we called Call("myFunc", Str > > > > > > ("some_param_value")) .. .we provided the JS function name and one > > > > > > parameter. Lift will add the second parameter which is the callback > > > > > > function. This callback function represents the actual ajax call and > > > > > > since it is a callback you can invoke it whenever you want inside > > > > > > 'myFunc' javascript function. In other words you can defer the > > > > > > actual > > > > > > ajax call as you see fit. > > > > > > > Now myFunc function declaration can be: > > > > > > 1. In your own .js file > > > > > > 2. Written in the <script> tag inside your html > > > > > > 3. Generate using Lifts' JS absctrations using JsCmds.Function() > > > > > > object such as: > > > > > > > JsCmds.Function("MyFunc", List("myParam", "callback"), > > > > > > a_JsCmd_expression_which_is_the_function_body) > > > > > > > The main point in all this is that you can defer the actual ajax > > > > > > call. > > > > > > You know better if this fits your case. > > > > > > > Br's, > > > > > > Marius > > > > > > > On Aug 18, 10:21 pm, g-man <gregor...@gmail.com> wrote: > > > > > > > > No, this is the old way ...I am unsure how to invoke the ajax > > > > > > > method > > > > > > > -- could you enlighten me? > > > > > > > > On Aug 17, 12:26 pm, "marius d." <marius.dan...@gmail.com> wrote: > > > > > > > > > I don't see in your code the use of the overloaded ajaxText > > > > > > > > that I > > > > > > > > posted. Have you tried it? > > > > > > > > > Marius > > > > > > > > > On Aug 17, 10:20 pm, g-man <gregor...@gmail.com> wrote: > > > > > > > > > > OK, thanks for checking back... > > > > > > > > > > Snippet: > > > > > > > > > swappable(<span class='dueon'>{task.dueOn.toString}</span>, > > > > > > > > > <span > > > > > > > > > class='chgDueon'>{ajaxText(task.dueOn.toString, > > > > > > > > > v => { task.dueOn(v.toLong).save; > > > > > > > > > reDrawTasks(); > > > > > > > > > }) % ("size" -> "10")}</span>) > > > > > > > > > > JS: > > > > > > > > > $chgDueon // jQuery selection for text field > > > > > > > > > .datepicker({dateFormat:'m-d-yy', minDate: +1}) > > > > > > > > > > > > > > > > > > .blur(function(){$chgDueon.val(parseDate($chgDueon.val()));}); > > > > > > > > > // works well to pick a new date and change it to millis for > > > > > > > > > save > > > > > > > > > > Emitted XHTML: > > > > > > > > > <span> > > > > > > > > > <span class="dueon" id="F111290299287IBE" > > > > > > > > > onclick="jQuery('#'+'F111290299287IBE').hide(); > > > > > > > > > > > > > > > > > > jQuery('#'+'F1112902992880KN').show().each(function(i) { > > > > > > > > > var t = this; setTimeout(function() { > > > > > > > > > t.focus(); }, > > > > > > > > > 200);});return false;;"> > > > > > > > > > 1248493271843</span> > > > > > > > > > <span style="display: none" id="F1112902992880KN" > > > > > > > > > onblur="jQuery('#'+'F111290299287IBE').show(); > > > > > > > > > jQuery('#'+'F1112902992880KN').hide();"> > > > > > > > > > <input onblur="lift_ajaxHandler('F111290299286DL1=' + > > > > > > > > > encodeURIComponent(this.value), null, null)" > > > > > > > > > type="text" value="1248493271843" > > > > > > > > > onkeypress="lift_blurIfReturn(event)" size="10" /> > > > > > > > > > </span> > > > > > > > > > </span> > > > > > > > > > > So, all the parts work well together, but Lift's ajax just > > > > > > > > > takes off > > > > > > > > > too quickly, and cannot read the new value. > > > > > > > > > > On Aug 16, 11:02 pm, "marius d." <marius.dan...@gmail.com> > > > > > > > > > wrote: > > > > > > > > > > > You can probably use this definition of ajaxText: > > > > > > > > > > > def ajaxText(value: String, jsFunc: Call, func: String => > > > > > > > > > > JsCmd) > > > > > > > > > > > See the jsFunc parameter. Essentially you are specifying > > > > > > > > > > your function > > > > > > > > > > call that may have one parameter. To your parameter list > > > > > > > > > > List we'll > > > > > > > > > > add a new parameter which is the ajax invocation function. > > > > > > > > > > In other > > > > > > > > > > words your code gets that function that does the ajax call > > > > > > > > > > meaning > > > > > > > > > > that you have the control over when the ajax call is made. > > > > > > > > > > > Br's, > > > > > > > > > > Marius > > > > > > > > > > > On Aug 17, 8:55 am, "marius d." <marius.dan...@gmail.com> > > > > > > > > > > wrote: > > > > > > > > > > > > Would you please post a code snippet with what you're > > > > > > > > > > > doing? (a > > > > > > > > > > > minimalistic example) > > > > > > > > > > > > Br's, > > > > > > > > > > > Marius > > > > > > > > > > > > On Aug 17, 7:41 am, g-man <gregor...@gmail.com> wrote: > > > > > > > > > > > > > I am moving nicely with my 'save all dates as millis > > > > > > > > > > > > and let the > > > > > > > > > > > > client localize for display' project, learning while > > > > > > > > > > > > enhancing the > > > > > > > > > > > > ToDo sample app. > > > > > > > > > > > > > I have added a 'dueOn' field, and that is displayed as > > > > > > > > > > > > swappable > > > > > > > > > > > > ajaxText, similar to the other fields in the tutorial. > > > > > > > > > > > > > I have enabled datepicker for the ajaxText field via > > > > > > > > > > > > jQuery, and have > > > > > > > > > > > > a parsing function attached an event listener, so when > > > > > > > > > > > > datepicker > > > > > > > > > > > > finishes, the date is converted to millis, ready for > > > > > > > > > > > > Lift to send back > > > > > > > > > > > > to the server and save. > > > > > > > > > > > > > So far, all good. > > > > > > > > > > > > > The problem is that Lift's ajax starts ('onblur') > > > > > > > > > > > > before it has a > > > > > > > > > > > > chance to see the new date value, so the new value is > > > > > > > > > > > > never saved. > > > > > > > > > > > > > What I need is a way to tell Lift to wait until after > > > > > > > > > > > > my parser has > > > > > > > > > > > > had a chance to write the changed value. > > > > > > > > > > > > > I like the ajax style, so I don't want to make a > > > > > > > > > > > > 'submit' form, and > > > > > > > > > > > > 'onchange' won't do it either, because the value is > > > > > > > > > > > > actually changed > > > > > > > > > > > > twice (once to a formatted date, once to millis). > > > > > > > > > > > > > What I need is some way to say, 'OK to start ajax > > > > > > > > > > > > now'!- Hide quoted text - > > > > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@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 -~----------~----~----~----~------~----~------~--~---