Re: [Wicket-user] ajax libraries & wicket

2007-04-23 Thread Scott Swank
Yes, it just checked that the 1st date (check-in) was in the future
and prior to the 2nd date (check-out).

Scott

On 4/22/07, Flavius <[EMAIL PROTECTED]> wrote:
>
> Is the DatesComparatorValidator object something you wrote or is that
> something coming
> in wicket 1.3?
>
>
> --
> View this message in context: 
> http://www.nabble.com/-Wicket-user--ajax-libraries---wicket-tf3191437.html#a10129826
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> -
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>


-- 
Scott Swank
reformed mathematician

-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-04-22 Thread Flavius

Is the DatesComparatorValidator object something you wrote or is that
something coming
in wicket 1.3? 


-- 
View this message in context: 
http://www.nabble.com/-Wicket-user--ajax-libraries---wicket-tf3191437.html#a10129826
Sent from the Wicket - User mailing list archive at Nabble.com.


-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Eelco Hillenius
> now convert the datepicker from a panel to a behavior - pretty easy to do,
> in fact eelco will be doing that today?

Just checked that in (wicket-datetime, CalendarPopup component is now
replaced by behavior DatePicker). Imo, writing it like a behavior is
less elegant than a component, but it's way nicer to use for
end-users.

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Igor Vaynberg

On 2/8/07, Scott Swank <[EMAIL PROTECTED]> wrote:

Now I'm really laughing at myself.  I was reasonably proud of extracting

this.



you will get used to it, it is not apparent right off the bat. you did the
hardest part which is write the code in the first place. what i did was just
reorganize it :)

Very helpful, thank you.  And yes, you'll get yourself a wiki article out of

the above once I clean it up.



youre welcome

-igor


Cheers,

Scott


On 2/8/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>
> start with something simple like creating a reusable datetextfield
>
> private static class DateField extends DateTextField {
>public DateField(String id, IModel model) {
>  super(id, model, "MM/dd/");
>  setrequired(true);
>  setoutputmarkupid(true);
> }
> }
>
> this will change the code down to:
>
> private void addReservationDates()
> {
> // create the feedback panel
> FeedbackPanel feedback = new FeedbackPanel("feedback");
> feedback.setOutputMarkupId(true);
> add(feedback);
>
> // create the check-in field
> DateField checkIn = new DateField("checkIn");
> checkIn.add(DateValidator.minimum(getToday()));
> add(buildAjaxFeedbackBorder("checkInBorder", checkIn,
> feedback));
>
> >
> > // create a date picker for the check-in field
> > add(new CylleniusCalendar("checkInPicker", checkIn));
> >
> > // create the check-out field
> > DateField checkOut = new DateField("checkOut");
> > add(buildAjaxFeedbackBorder("checkOutBorder", checkOut,
> > feedback));
> >
> > // create a date picker for the check-out field
> > add(new CylleniusCalendar("checkOutPicker", checkOut));
> >
> > // require checkIn to be before checkOut
> > add(new DatesComparatorValidator(checkIn, checkOut));
> > }
> >
> > private FormComponentFeedbackBorder buildAjaxFeedbackBorder(String
> > borderId,
> > FormComponent component, final FeedbackPanel feedback)
> > {
> >...
> > }
> >
>
>
> then externalize the feedback border, and make it reusable for the
> entire project
>
> class myajaxerrorborder extends formcomponentfeedbackborder {
>   private boolean initialized=false;
>public myajaxerroborder(String id) {
> super(id);
> setoutputmarkupid(true);
> }
>
>protected void onattach() {
>super.onattach();
>if (!initialized) {
>   foreach child of type formcomponent in border's hierarchy //
> use a visitor {
>   child.add(new formcomponentupdatingbehavior() {
>onerror(target) {
> target.addcomponent(
> myajaxerrorborder.this);
> foreach feedbackpanel in getPage()'s
> hierarchy {
> target.add(feedbackpanel);
> }
> }
>}
>   }
>  initialized=true;
>  }
> }
>
> so the above border automatically initializes form component children
> you add to its hierarchy, it doesnt handle children added after the first
> request but it is simple to make it do that, i leave that as an exercise to
> you :)
>
> so now we are at:
>
>
> private void addReservationDates()
> {
> // create the feedback panel
> add(new FeedbackPanel("feedback").setOutputMarkupId(true));
>
> // create the check-in field
>
> DateField checkIn = new DateField("checkIn");
> checkIn.add(DateValidator.minimum(getToday()));
> add(new MyAjaxErrorBorder("checkInBorder").add(checkIn));
>
> >
> > // create a date picker for the check-in field
> > add(new CylleniusCalendar("checkInPicker", checkIn));
> >
> > // create the check-out field
> > DateField checkOut = new DateField("checkOut");
> > add(new MyAjaxErrorBorder("checkOutBorder").add(checkOut));
> >
> > // create a date picker for the check-out field
> > add(new CylleniusCalendar("checkOutPicker", checkOut));
> >
> > // require checkIn to be before checkOut
> > add(new DatesComparatorValidator(checkIn, checkOut));
> > }
> >
> >
> now convert the datepicker from a panel to a behavior - pretty easy to
> do, in fact eelco will be doing that today? to wicket-datetime datepicker
>
> so now you will have
>
> private static class DateField extends DateTextField {
>public DateField(String id, IModel model) {
>  super(id, model, "MM/dd/");
>  setrequired(true);
>  setoutputmarkupid(true);
> add(new CelleniusDatepicker());
> }
> }
>
> private void addReservationDates()
> {
> // create the feedback panel
> add(new FeedbackPanel("feedback").setOutputMarkupId(true));
>
> // create the check-in field
>
> DateField checkIn = new DateField("checkIn");
>   

Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Scott Swank

Now I'm really laughing at myself.  I was reasonably proud of extracting
this.

   private FormComponentFeedbackBorder buildAjaxFeedbackBorder(String
borderId,
   FormComponent component, final FeedbackPanel feedback)
   {
   final FormComponentFeedbackBorder border = new
FormComponentFeedbackBorder(borderId);
   border.add(component);
   border.setOutputMarkupId(true);

   component.add(new AjaxFormComponentUpdatingBehavior("onblur") {
   private static final long serialVersionUID =
-8868206053122717303L;

   protected void onUpdate(AjaxRequestTarget target)
   {
   target.addComponent(feedback);
   target.addComponent(border);
   }
   });

   return border;
   }

Very helpful, thank you.  And yes, you'll get yourself a wiki article out of
the above once I clean it up.

Cheers,
Scott


On 2/8/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:


start with something simple like creating a reusable datetextfield

private static class DateField extends DateTextField {
   public DateField(String id, IModel model) {
 super(id, model, "MM/dd/");
 setrequired(true);
 setoutputmarkupid(true);
}
}

this will change the code down to:

private void addReservationDates()
{
// create the feedback panel
FeedbackPanel feedback = new FeedbackPanel("feedback");
feedback.setOutputMarkupId(true);
add(feedback);

// create the check-in field
DateField checkIn = new DateField("checkIn");
checkIn.add(DateValidator.minimum(getToday()));
add(buildAjaxFeedbackBorder("checkInBorder", checkIn, feedback));

>
> // create a date picker for the check-in field
> add(new CylleniusCalendar("checkInPicker", checkIn));
>
> // create the check-out field
> DateField checkOut = new DateField("checkOut");
> add(buildAjaxFeedbackBorder("checkOutBorder", checkOut,
> feedback));
>
> // create a date picker for the check-out field
> add(new CylleniusCalendar("checkOutPicker", checkOut));
>
> // require checkIn to be before checkOut
> add(new DatesComparatorValidator(checkIn, checkOut));
> }
>
> private FormComponentFeedbackBorder buildAjaxFeedbackBorder(String
> borderId,
> FormComponent component, final FeedbackPanel feedback)
> {
>...
> }
>


then externalize the feedback border, and make it reusable for the entire
project

class myajaxerrorborder extends formcomponentfeedbackborder {
  private boolean initialized=false;
   public myajaxerroborder(String id) {
super(id);
setoutputmarkupid(true);
}

   protected void onattach() {
   super.onattach();
   if (!initialized) {
  foreach child of type formcomponent in border's hierarchy // use
a visitor {
  child.add(new formcomponentupdatingbehavior() {
   onerror(target) {
target.addcomponent(myajaxerrorborder.this
);
foreach feedbackpanel in getPage()'s
hierarchy {
target.add(feedbackpanel);
}
}
   }
  }
 initialized=true;
 }
}

so the above border automatically initializes form component children you
add to its hierarchy, it doesnt handle children added after the first
request but it is simple to make it do that, i leave that as an exercise to
you :)

so now we are at:


private void addReservationDates()
{
// create the feedback panel
add(new FeedbackPanel("feedback").setOutputMarkupId(true));

// create the check-in field

DateField checkIn = new DateField("checkIn");
checkIn.add(DateValidator.minimum(getToday()));
add(new MyAjaxErrorBorder("checkInBorder").add(checkIn));

>
> // create a date picker for the check-in field
> add(new CylleniusCalendar("checkInPicker", checkIn));
>
> // create the check-out field
> DateField checkOut = new DateField("checkOut");
> add(new MyAjaxErrorBorder("checkOutBorder").add(checkOut));
>
> // create a date picker for the check-out field
> add(new CylleniusCalendar("checkOutPicker", checkOut));
>
> // require checkIn to be before checkOut
> add(new DatesComparatorValidator(checkIn, checkOut));
> }
>
>
now convert the datepicker from a panel to a behavior - pretty easy to do,
in fact eelco will be doing that today? to wicket-datetime datepicker

so now you will have

private static class DateField extends DateTextField {
   public DateField(String id, IModel model) {
 super(id, model, "MM/dd/");
 setrequired(true);
 setoutputmarkupid(true);
add(new CelleniusDatepicker());
}
}

private void addReservationDates()
{
// create the fe

Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Igor Vaynberg

start with something simple like creating a reusable datetextfield

private static class DateField extends DateTextField {
  public DateField(String id, IModel model) {
super(id, model, "MM/dd/");
setrequired(true);
setoutputmarkupid(true);
   }
}

this will change the code down to:

   private void addReservationDates()
   {
   // create the feedback panel
   FeedbackPanel feedback = new FeedbackPanel("feedback");
   feedback.setOutputMarkupId(true);
   add(feedback);

   // create the check-in field
   DateField checkIn = new DateField("checkIn");
   checkIn.add(DateValidator.minimum(getToday()));
   add(buildAjaxFeedbackBorder("checkInBorder", checkIn, feedback));



// create a date picker for the check-in field
add(new CylleniusCalendar("checkInPicker", checkIn));

// create the check-out field
DateField checkOut = new DateField("checkOut");
add(buildAjaxFeedbackBorder("checkOutBorder", checkOut,
feedback));

// create a date picker for the check-out field
add(new CylleniusCalendar("checkOutPicker", checkOut));

// require checkIn to be before checkOut
add(new DatesComparatorValidator(checkIn, checkOut));
}

private FormComponentFeedbackBorder buildAjaxFeedbackBorder(String
borderId,
FormComponent component, final FeedbackPanel feedback)
{
   ...
}




then externalize the feedback border, and make it reusable for the entire
project

class myajaxerrorborder extends formcomponentfeedbackborder {
 private boolean initialized=false;
  public myajaxerroborder(String id) {
   super(id);
   setoutputmarkupid(true);
   }

  protected void onattach() {
  super.onattach();
  if (!initialized) {
 foreach child of type formcomponent in border's hierarchy // use a
visitor {
 child.add(new formcomponentupdatingbehavior() {
  onerror(target) {
   target.addcomponent(myajaxerrorborder.this);
   foreach feedbackpanel in getPage()'s
hierarchy {
   target.add(feedbackpanel);
   }
   }
  }
 }
initialized=true;
}
}

so the above border automatically initializes form component children you
add to its hierarchy, it doesnt handle children added after the first
request but it is simple to make it do that, i leave that as an exercise to
you :)

so now we are at:


   private void addReservationDates()
   {
   // create the feedback panel
   add(new FeedbackPanel("feedback").setOutputMarkupId(true));

   // create the check-in field

   DateField checkIn = new DateField("checkIn");
   checkIn.add(DateValidator.minimum(getToday()));
   add(new MyAjaxErrorBorder("checkInBorder").add(checkIn));



// create a date picker for the check-in field
add(new CylleniusCalendar("checkInPicker", checkIn));

// create the check-out field
DateField checkOut = new DateField("checkOut");
add(new MyAjaxErrorBorder("checkOutBorder").add(checkOut));

// create a date picker for the check-out field
add(new CylleniusCalendar("checkOutPicker", checkOut));

// require checkIn to be before checkOut
add(new DatesComparatorValidator(checkIn, checkOut));
}



now convert the datepicker from a panel to a behavior - pretty easy to do,
in fact eelco will be doing that today? to wicket-datetime datepicker

so now you will have

private static class DateField extends DateTextField {
  public DateField(String id, IModel model) {
super(id, model, "MM/dd/");
setrequired(true);
setoutputmarkupid(true);
   add(new CelleniusDatepicker());
   }
}

private void addReservationDates()
   {
   // create the feedback panel
   add(new FeedbackPanel("feedback").setOutputMarkupId(true));

   // create the check-in field

   DateField checkIn = new DateField("checkIn");
   checkIn.add(DateValidator.minimum(getToday()));
   add(new MyAjaxErrorBorder("checkInBorder").add(checkIn));



// create the check-out field
DateField checkOut = new DateField("checkOut");
add(new MyAjaxErrorBorder("checkOutBorder").add(checkOut));

// require checkIn to be before checkOut
add(new DatesComparatorValidator(checkIn, checkOut));
}



finally extract a simple daterange panel like jon suggested

and you will be down to:

private void addReservationDates()
   {
   // create the feedback panel
   add(new FeedbackPanel("feedback").setOutputMarkupId(true));

   add(new DateRangeSelector("selector", new PropertyModel(this,
"checkIn"), new PropertyModel(this, "checkOut"), getToday(), null));
}

and what you end up with are new reusable

datefield
ajax error border
daterange selector

that you can u

Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Jonathan Locke


well, i find that people often forget how easy it is to subclass components
and create
new ones in wicket.  if your own way of doing date picking is something you
do more 
than twice on your site, a simple panel could collapse all the related
components and
initialization into one little class like DatePickerPanel so a usage of it
looks more like 
the code below and the details of how it works don't bleed out into your
usage code.  
it does take a little bit of fussing to do that, but the code is easier to
work with and 
much more encapsulated.

private void addReservationDates()
{
// create the feedback panel
FeedbackPanel feedback = new FeedbackPanel("feedback");
feedback.setOutputMarkupId(true);
add(feedback);

add(new DatePickerPanel("checkIn", new PropertyModel(roomRequest,
"checkIn")));
add(new DatePickerPanel("checkOut", new PropertyModel(roomRequest,
"checkOut")));

...
}



Scott Swank wrote:
> 
> Igor,
> 
> The most verbose code is the following.  It creates the FeedbackPanel and
> two fields: a check-in date and a check-out date.  The comments are a bit
> heavy because this is a proof-of-concept app.  At this point, and such
> "best
> practices" pointers are more than welcome.  Thank you.
> 
> ...Oh, and the CylleniusCalendar (our underlying app is named Cyllenius)
> is
> simply a sub-class of DatePicker with a HeaderContributor.forCss() to
> increase its z-index a a value greater than that of the ModalWindow from
> which it is opened.
> 
> private void addReservationDates()
> {
> // create the feedback panel
> FeedbackPanel feedback = new FeedbackPanel("feedback");
> feedback.setOutputMarkupId(true);
> add(feedback);
> 
> // create the check-in field
> DateTextField checkIn = new DateTextField("checkIn", new
> PropertyModel(roomRequest, "checkIn"),
> "MM/dd/");
> checkIn.setOutputMarkupId(true);
> checkIn.setRequired(true);
> checkIn.add(DateValidator.minimum(getToday()));
> add(buildAjaxFeedbackBorder("checkInBorder", checkIn, feedback));
> 
> // create a date picker for the check-in field
> add(new CylleniusCalendar("checkInPicker", checkIn));
> 
> // create the check-out field
> DateTextField checkOut = new DateTextField("checkOut", new
> PropertyModel(roomRequest,
> "checkOut"), "MM/dd/");
> checkOut.setOutputMarkupId(true);
> checkOut.setRequired(true);
> add(buildAjaxFeedbackBorder("checkOutBorder", checkOut,
> feedback));
> 
> // create a date picker for the check-out field
> add(new CylleniusCalendar("checkOutPicker", checkOut));
> 
> // require checkIn to be before checkOut
> add(new DatesComparatorValidator(checkIn, checkOut));
> }
> 
> private FormComponentFeedbackBorder buildAjaxFeedbackBorder(String
> borderId,
> FormComponent component, final FeedbackPanel feedback)
> {
> final FormComponentFeedbackBorder border = new
> FormComponentFeedbackBorder(borderId);
> border.add(component);
> border.setOutputMarkupId(true);
> 
> component.add(new AjaxFormComponentUpdatingBehavior("onblur") {
> private static final long serialVersionUID =
> -8868206053122717303L;
> 
> protected void onUpdate(AjaxRequestTarget target)
> {
> target.addComponent(feedback);
> target.addComponent(border);
> }
> });
> 
> return border;
> }
> 
> On 2/7/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>>
>> On 2/7/07, Scott Swank <[EMAIL PROTECTED]> wrote:
>> >
>> > 2. Overall there was a preference for Wicket's Java components over
>> > JSF's taglibs and backing bean code.  This was not a unanimous
>> preference,
>> > and taglibs are much more concise than Wicket code.  However, the
>> cleanness
>> > of the resulting HTML was a factor in Wicket's favor and the rapidity
>> of the
>> > development effort largely offset the comparative verbosity of the code
>> > base.  This verbosity was most evident in ajax form feedback: feedback
>> > panel, text field, ajax feedback border, ajax behavior, etc.
>>
>>
>> got any examples of this verbouse code? i am doing something similar in a
>> project i am building with 2.0 and i was able to factor out a lot of this
>> stuff so its not so bad. maybe we can help you do the same.
>>
>> -igor
>>
>>
>>
>> -
>> Using Tomcat but need to do more? Need to support web services, security?
>> Get stuff done quickly with pre-integrated technology to make your job
>> easier.
>> Download IBM WebSphere Application Server v.1.0.1 based on Apache
>> Geronimo
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
>> ___
>> Wicket-us

Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Erik van Oosten
He is talking about his beer drinking, I think...

Erik.

Scott Swank wrote:
> You know, JSF is sounding better & better
>
> On 2/8/07, *Eelco Hillenius* <[EMAIL PROTECTED] 
>  > wrote:
>
> On 2/8/07, Eelco Hillenius < [EMAIL PROTECTED]
> > wrote:
> > On 2/8/07, Scott Swank <[EMAIL PROTECTED]
> > wrote:
> > > Cyllenius is a name for the Greek god Hermes -- associated
> with commerce.
> >
> > That sounds a lot better than Hillenius with Herpes ;)
>
> Though I too have some godly features. But that's OT.
>
> Eelco
>


-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Scott Swank

You know, JSF is sounding better & better

On 2/8/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:


On 2/8/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> On 2/8/07, Scott Swank <[EMAIL PROTECTED]> wrote:
> > Cyllenius is a name for the Greek god Hermes -- associated with
commerce.
>
> That sounds a lot better than Hillenius with Herpes ;)

Though I too have some godly features. But that's OT.

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Scott Swank
reformed mathematician
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Eelco Hillenius
On 2/8/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> On 2/8/07, Scott Swank <[EMAIL PROTECTED]> wrote:
> > Cyllenius is a name for the Greek god Hermes -- associated with commerce.
>
> That sounds a lot better than Hillenius with Herpes ;)

Though I too have some godly features. But that's OT.

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Eelco Hillenius
On 2/8/07, Scott Swank <[EMAIL PROTECTED]> wrote:
> Cyllenius is a name for the Greek god Hermes -- associated with commerce.

That sounds a lot better than Hillenius with Herpes ;)

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Scott Swank

Cyllenius is a name for the Greek god Hermes -- associated with commerce.
Given the importance of a solid date picker, I imagine we'll be following
and perhaps contributing to this effort.

http://en.wikipedia.org/w/index.php?title=Cyllenius&redirect=no


On 2/8/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:


> ...Oh, and the CylleniusCalendar (our underlying app is named Cyllenius)
is
> simply a sub-class of DatePicker with a HeaderContributor.forCss() to
> increase its z-index a a value greater than that of the ModalWindow from
> which it is opened.

For anyone using that date picker component, read this:
http://chillenious.wordpress.com/2007/02/06/49/. I hope to see some
more activity/ discussion on that new wicket-datetime project in the
future, and the date picker that ships with that project already is a
lot better than the old one.

Btw, Cyllenius? Where did that come from?

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Scott Swank
reformed mathematician
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Scott Swank

Briefly, we wanted a component-centric framework for reuse and more nimble
refactoring -- e.g. should this form be in-line with the rest of the page or
in a popup; should this content be in a sequence of panels or in tabs?  This
left us with:

 Tapestry -- we heard daunting things about the learning curve and veered
away
 Echo2 -- excluded our html/css team and required Java changes for too many
UI changes
 GWT -- is not a good fit for non-Ajax apps and we wanted a single
framework

Cheers,
Scott


On 2/8/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:


>  it was our 2nd choice after considering a host of other
> options, including Stripes, Rife, Tapestry, Echo2, GWT, etc.

I'd be interested to learn what you liked and didn't like about those
alternatives (on this list or private).

Eelco



--
Scott Swank
reformed mathematician
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Eelco Hillenius
> ...Oh, and the CylleniusCalendar (our underlying app is named Cyllenius) is
> simply a sub-class of DatePicker with a HeaderContributor.forCss() to
> increase its z-index a a value greater than that of the ModalWindow from
> which it is opened.

For anyone using that date picker component, read this:
http://chillenious.wordpress.com/2007/02/06/49/. I hope to see some
more activity/ discussion on that new wicket-datetime project in the
future, and the date picker that ships with that project already is a
lot better than the old one.

Btw, Cyllenius? Where did that come from?

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Eelco Hillenius
>  it was our 2nd choice after considering a host of other
> options, including Stripes, Rife, Tapestry, Echo2, GWT, etc.

I'd be interested to learn what you liked and didn't like about those
alternatives (on this list or private).

Eelco

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Scott Swank

Igor,

The most verbose code is the following.  It creates the FeedbackPanel and
two fields: a check-in date and a check-out date.  The comments are a bit
heavy because this is a proof-of-concept app.  At this point, and such "best
practices" pointers are more than welcome.  Thank you.

...Oh, and the CylleniusCalendar (our underlying app is named Cyllenius) is
simply a sub-class of DatePicker with a HeaderContributor.forCss() to
increase its z-index a a value greater than that of the ModalWindow from
which it is opened.

   private void addReservationDates()
   {
   // create the feedback panel
   FeedbackPanel feedback = new FeedbackPanel("feedback");
   feedback.setOutputMarkupId(true);
   add(feedback);

   // create the check-in field
   DateTextField checkIn = new DateTextField("checkIn", new
PropertyModel(roomRequest, "checkIn"),
   "MM/dd/");
   checkIn.setOutputMarkupId(true);
   checkIn.setRequired(true);
   checkIn.add(DateValidator.minimum(getToday()));
   add(buildAjaxFeedbackBorder("checkInBorder", checkIn, feedback));

   // create a date picker for the check-in field
   add(new CylleniusCalendar("checkInPicker", checkIn));

   // create the check-out field
   DateTextField checkOut = new DateTextField("checkOut", new
PropertyModel(roomRequest,
   "checkOut"), "MM/dd/");
   checkOut.setOutputMarkupId(true);
   checkOut.setRequired(true);
   add(buildAjaxFeedbackBorder("checkOutBorder", checkOut, feedback));

   // create a date picker for the check-out field
   add(new CylleniusCalendar("checkOutPicker", checkOut));

   // require checkIn to be before checkOut
   add(new DatesComparatorValidator(checkIn, checkOut));
   }

   private FormComponentFeedbackBorder buildAjaxFeedbackBorder(String
borderId,
   FormComponent component, final FeedbackPanel feedback)
   {
   final FormComponentFeedbackBorder border = new
FormComponentFeedbackBorder(borderId);
   border.add(component);
   border.setOutputMarkupId(true);

   component.add(new AjaxFormComponentUpdatingBehavior("onblur") {
   private static final long serialVersionUID =
-8868206053122717303L;

   protected void onUpdate(AjaxRequestTarget target)
   {
   target.addComponent(feedback);
   target.addComponent(border);
   }
   });

   return border;
   }

On 2/7/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:


On 2/7/07, Scott Swank <[EMAIL PROTECTED]> wrote:
>
> 2. Overall there was a preference for Wicket's Java components over
> JSF's taglibs and backing bean code.  This was not a unanimous preference,
> and taglibs are much more concise than Wicket code.  However, the cleanness
> of the resulting HTML was a factor in Wicket's favor and the rapidity of the
> development effort largely offset the comparative verbosity of the code
> base.  This verbosity was most evident in ajax form feedback: feedback
> panel, text field, ajax feedback border, ajax behavior, etc.


got any examples of this verbouse code? i am doing something similar in a
project i am building with 2.0 and i was able to factor out a lot of this
stuff so its not so bad. maybe we can help you do the same.

-igor



-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Scott Swank
reformed mathematician
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-08 Thread Scott Swank

Thank you very much Eelco.  And yes, the JSF development has been very
impressive -- it was our 2nd choice after considering a host of other
options, including Stripes, Rife, Tapestry, Echo2, GWT, etc.  And yes, I
imagine I need to start at least lurking on ##wicket.

Cheers,
Scott

On 2/7/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:


That's good news Scott! You were actually pretty helpful yourself by
thinking with us and providing good cases to answer.

Let's not forget b.t.w. that there is a lot of free-time sweat and
tears sacrificed by the developers of MyFaces, tomahawk, etc, and that
- even though JSF doesn't have my preference - I think it is still a
better alternative than say Struts. But that said, I hope we'll see a
lot of you and your team members around here and on the ##wicket
channel, and I hope you still feel good about the choice a year from
now (I know that I do :))

Eelco


On 2/7/07, Scott Swank <[EMAIL PROTECTED]> wrote:
> Hello all,
>
> After closely considering Wicket and JSF my company has decided to go
with
> Wicket for our web development framework.  This was based on a two week
> prototype effort between two teams of four developers each.  The Wicket
team
> made rapid progress and had extra time to add in unrequested features
such
> as i18n and JUnit tests, while still producing a clear, readable code
base.
>
> This is to the credit of the core Wicket developers, particularly the
ones
> on this list who were so helpful in answering our questions.  Thank you
all.
>  Here are some of the issues that in my mind were material factors.
>
> 1. The wicket group made very rapid progress because
>   * the API is clean and easy to learn
>   * the examples are excellent
>   * things consistently work more or less as expected
>
> In comparison the JSF group had substantial upfront decisions to make
before
> progress could begin in earnest:
>   * use Sun's reference implementation or Apache MyFaces
>   * use Facelets or no
>   * which Ajax/DHTML framework integrates best with the above: ajax4jsf,
> tomahawk, etc
>
> 2. Overall there was a preference for Wicket's Java components over
JSF's
> taglibs and backing bean code.  This was not a unanimous preference, and
> taglibs are much more concise than Wicket code.  However, the cleanness
of
> the resulting HTML was a factor in Wicket's favor and the rapidity of
the
> development effort largely offset the comparative verbosity of the code
> base.  This verbosity was most evident in ajax form feedback: feedback
> panel, text field, ajax feedback border, ajax behavior, etc.
>
> 3. The reuse of Wicket components was also in its favor.  It is much
easier
> to create custom components via composition or inheritance in Wicket,
the
> palette is a great example of this.
>
> Thank you again for your patience and helpful answers.
>
> --
> Scott Swank
> reformed mathematician
>
-
> Using Tomcat but need to do more? Need to support web services,
security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user





--
Scott Swank
reformed mathematician
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-07 Thread Igor Vaynberg

On 2/7/07, Scott Swank <[EMAIL PROTECTED]> wrote:


2. Overall there was a preference for Wicket's Java components over JSF's
taglibs and backing bean code.  This was not a unanimous preference, and
taglibs are much more concise than Wicket code.  However, the cleanness of
the resulting HTML was a factor in Wicket's favor and the rapidity of the
development effort largely offset the comparative verbosity of the code
base.  This verbosity was most evident in ajax form feedback: feedback
panel, text field, ajax feedback border, ajax behavior, etc.



got any examples of this verbouse code? i am doing something similar in a
project i am building with 2.0 and i was able to factor out a lot of this
stuff so its not so bad. maybe we can help you do the same.

-igor
-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user


Re: [Wicket-user] ajax libraries & wicket

2007-02-07 Thread Eelco Hillenius
That's good news Scott! You were actually pretty helpful yourself by
thinking with us and providing good cases to answer.

Let's not forget b.t.w. that there is a lot of free-time sweat and
tears sacrificed by the developers of MyFaces, tomahawk, etc, and that
- even though JSF doesn't have my preference - I think it is still a
better alternative than say Struts. But that said, I hope we'll see a
lot of you and your team members around here and on the ##wicket
channel, and I hope you still feel good about the choice a year from
now (I know that I do :))

Eelco


On 2/7/07, Scott Swank <[EMAIL PROTECTED]> wrote:
> Hello all,
>
> After closely considering Wicket and JSF my company has decided to go with
> Wicket for our web development framework.  This was based on a two week
> prototype effort between two teams of four developers each.  The Wicket team
> made rapid progress and had extra time to add in unrequested features such
> as i18n and JUnit tests, while still producing a clear, readable code base.
>
> This is to the credit of the core Wicket developers, particularly the ones
> on this list who were so helpful in answering our questions.  Thank you all.
>  Here are some of the issues that in my mind were material factors.
>
> 1. The wicket group made very rapid progress because
>   * the API is clean and easy to learn
>   * the examples are excellent
>   * things consistently work more or less as expected
>
> In comparison the JSF group had substantial upfront decisions to make before
> progress could begin in earnest:
>   * use Sun's reference implementation or Apache MyFaces
>   * use Facelets or no
>   * which Ajax/DHTML framework integrates best with the above: ajax4jsf,
> tomahawk, etc
>
> 2. Overall there was a preference for Wicket's Java components over JSF's
> taglibs and backing bean code.  This was not a unanimous preference, and
> taglibs are much more concise than Wicket code.  However, the cleanness of
> the resulting HTML was a factor in Wicket's favor and the rapidity of the
> development effort largely offset the comparative verbosity of the code
> base.  This verbosity was most evident in ajax form feedback: feedback
> panel, text field, ajax feedback border, ajax behavior, etc.
>
> 3. The reuse of Wicket components was also in its favor.  It is much easier
> to create custom components via composition or inheritance in Wicket, the
> palette is a great example of this.
>
> Thank you again for your patience and helpful answers.
>
> --
> Scott Swank
> reformed mathematician
> -
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> ___
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
>

-
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
___
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user