Very nice. But doesn't handle disabled. It's an easy fix:

Instead of this:

@InjectContainer

private ClientElement clientElement;

do this:

@InjectContainer

private TextField clientElement;

and replace this:

element.elementBefore("input", "value", formatedDate, "type", "hidden",
"class", "form-control", "id", clientID);

with this:

Element dateField = element.elementBefore("input", "value", formatedDate,
"type", "hidden", "class",

"form-control", "id", clientID);


 if (clientElement.isDisabled()) {

dateField.attribute("disabled", "disabled");

}

Cheers,

Geoff


On 9 October 2013 22:02, Barry Books <trs...@gmail.com> wrote:

> I pushed a new snapshot. What documentation there is here
>
> https://github.com/trsvax/tapestry-datepicker
>
> This version allows overriding the location of the javascript and css for
> the jquery date picker.
>
> The basic features are
>
> 1. Translators for textfield to validate date/calendar/timestamp entry
> 2. A mixin that adds jQuery Calendar support to the textfield
> 3. Native type="date" support (at least on the iPhone)
> 4. BeanEdit support
> 5. Ability to override css/javascript included by the jQuery mixin
>
> I think this makes it feature complete but at this point things are still
> subject to change. I'm going to create some better docs and tests then I'll
> push a version to maven central
>
> Thanks for the input so far
>
>
>
> On Tue, Oct 8, 2013 at 7:54 PM, Barry Books <trs...@gmail.com> wrote:
>
> > it's in the current one. I'll also be pushing up some fixes in the
> morning.
> >
> >
> > On Tue, Oct 8, 2013 at 5:53 PM, Lenny Primak <lpri...@hope.nyc.ny.us
> >wrote:
> >
> >> Let us know when the beaneditor support is there.  I'll try it then and
> >> give feedback
> >> Thank you!
> >>
> >> On Oct 8, 2013, at 6:39 AM, Barry Books wrote:
> >>
> >> > https://oss.sonatype.org/content/repositories/snapshots/
> >> >
> >> >
> >> >
> >> > <groupId>com.trsvax</groupId>
> >> >
> >> > <artifactId>tapestry-datepicker</artifactId>
> >> >
> >> > <version>0.0.1-SNAPSHOT</version>
> >> >
> >> >
> >> > It's still a work in progress but I think it's starting to come
> >> together.
> >> > Being able to pass attributes from the translator into the html stream
> >> is
> >> > proving useful. For example you can do things such as
> >> >
> >> > placeholder="mm-dd-yyyy"
> >> >
> >> >
> >> >
> >> >
> >> > On Tue, Oct 8, 2013 at 4:33 AM, Geoff Callender <
> >> > geoff.callender.jumpst...@gmail.com> wrote:
> >> >
> >> >> What's the artifact info?
> >> >>
> >> >> On 07/10/2013, at 10:26 PM, Barry Books wrote:
> >> >>
> >> >>> Snapshot 0.0.1-SNAPSHOT is available at
> >> >>>
> >> >>>
> >> >>> https://oss.sonatype.org/content/repositories/snapshots/
> >> >>>
> >> >>> I have a bit of cleanup and then I'll push a version to maven
> central
> >> >>>
> >> >>>
> >> >>>
> >> >>> On Fri, Oct 4, 2013 at 3:33 PM, Barry Books <trs...@gmail.com>
> wrote:
> >> >>>
> >> >>>> After much googling I think I've added iPhone type="date" support.
> I
> >> had
> >> >>>> to make a few assumptions to get it to work.
> >> >>>>
> >> >>>> 1. The format for type="date" support is yyyy-mm-dd. This is what
> the
> >> >>>> iPhone appears to use and seems a reasonable choice.
> >> >>>> 2. The best test I could find to indicate native support is
> >> >>>>
> >> >>>> *var* input = document.createElement('input');
> >> >>>>
> >> >>>> input.setAttribute('type', 'date');
> >> >>>>
> >> >>>> input.value = 'testing';
> >> >>>>
> >> >>>>
> >> >>>> If the type is date and the value is not testing I'm assuming
> native
> >> >> date
> >> >>>> support.
> >> >>>>
> >> >>>>
> >> >>>> What I ended up doing was adding a hidden element to support native
> >> date
> >> >>>> pickers. If I think there is support I hide the real one and turn
> the
> >> >>>> hidden one into a date. On a form submit I copy the data into the
> >> real
> >> >>>> element. This way I can support both date formats. It seems to work
> >> on
> >> >> my
> >> >>>> iPhone but that's not a large sample.
> >> >>>>
> >> >>>>
> >> >>>> There is still work to be done but I think I should be able to meet
> >> all
> >> >>>> the requirements I've seen so far.
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> On Thu, Oct 3, 2013 at 9:15 PM, Barry Books <trs...@gmail.com>
> >> wrote:
> >> >>>>
> >> >>>>> Unfortunately modernizer does not really support that. From the
> docs
> >> >>>>>
> >> >>>>> Modernizr cannot detect that date inputs create a datepicker,
> >> >>>>>
> >> >>>>> It is possible to detect if a browser support type="date" but that
> >> does
> >> >>>>> not mean it has a datepicker. I suspect I'm going to add an option
> >> to
> >> >> give
> >> >>>>> it a try.
> >> >>>>>
> >> >>>>>
> >> >>>>> On Thu, Oct 3, 2013 at 8:12 PM, Geoff Callender <
> >> >>>>> geoff.callender.jumpst...@gmail.com> wrote:
> >> >>>>>
> >> >>>>>> Sounds good, Barry.
> >> >>>>>>
> >> >>>>>> You mentioned earlier that you were "planing on using modernizr
> to
> >> >> detect
> >> >>>>>> if type="date" is supported. " so that browsers with good HTML5
> >> date
> >> >>>>>> support (eg. iOS Safari, Chrome) are left alone. How did that go?
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> On 3 October 2013 12:08, Barry Books <trs...@gmail.com> wrote:
> >> >>>>>>
> >> >>>>>>> I've uploaded the initial version to github
> >> >>>>>>>
> >> >>>>>>> https://github.com/trsvax/tapestry-datepicker
> >> >>>>>>>
> >> >>>>>>> I think I'm going to make this standalone project that only
> >> contains
> >> >>>>>> the
> >> >>>>>>> datepicker. This will make it easier for other project to just
> >> >> include
> >> >>>>>> it.
> >> >>>>>>> Currently to use it you will have to download and build it.
>  Here
> >> is
> >> >> an
> >> >>>>>>> example usage
> >> >>>>>>>
> >> >>>>>>> <t:form>
> >> >>>>>>>   <t:textfield value="date"
> t:mixins="datefield/JQueryDatePicker"
> >> >>>>>>> data-duration="slow"/>
> >> >>>>>>>   <input type="submit"/>
> >> >>>>>>> </t:form>
> >> >>>>>>>
> >> >>>>>>>
> >> >>>>>>> All that's required is the input type be a date which causes
> >> Tapestry
> >> >>>>>> to
> >> >>>>>>> use a Date Translator to convert the data to/from a string. This
> >> also
> >> >>>>>>> creates the client side validation. The mixin adds the client
> side
> >> >>>>>>> interface. In this case the JQuery UI calendar.
> >> >>>>>>>
> >> >>>>>>> If you prefer you can create your own component and override the
> >> >>>>>> Tapestry
> >> >>>>>>> one.
> >> >>>>>>>
> >> >>>>>>> public class DateField extends TextField {
> >> >>>>>>>
> >> >>>>>>>   @Mixin
> >> >>>>>>>   private JQueryDatePIcker mixin;
> >> >>>>>>>
> >> >>>>>>> }
> >> >>>>>>>
> >> >>>>>>> Questions, commets etc are welcome
> >> >>>>>>>
> >> >>>>>>> Barry
> >> >>>>>>>
> >> >>>>>>
> >> >>>>>
> >> >>>>>
> >> >>>>
> >> >>
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >> >>
> >> >>
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> >> For additional commands, e-mail: users-h...@tapestry.apache.org
> >>
> >>
> >
>

Reply via email to