I have added a new component in Prototype UI after having seeing this auto_complete from InteRiders

First of all, I want to thanks those guys and also Guillermo Rauch for the first version based on mootools.

For a customer, I needed an component based on prototype butn with content set by Ajax request and with some other features. I decided to port this component in prototype UI.

The main advantage of being part of Prototype UI is I can use some great functionnalities of this frame work without adding complicated code like:
  • Shadowing system for a better look and feel and better user experience. It does not look like a “flat” div under the input field
  • IFrameShim to avoid the bug of having select box over the completion
  • packr version

The component is fully unobtrusive, all HTML code needed for displaying completion is built by the script. As always, I try to make component skinnable. You can see below a “facebook” style as the original version and a more Apple like look and feel.

Facebook style

Apple style

It’s only available in trunk version right now but it will be included in the next release candidate planned for March.

If you really want to use it :), you can dowload a zip file with functionnal tests included.

I will add some features like serialization or a way to hand automatically hidden fields for an easier submit process. I have also to work on unit tests and documentation before the release.

If you want to try it, check those two functional tests: non ajax and ajax fill (be aware that it’s faking an ajax request, some browser do not like it :)).

PS: I will be away from my computer for a week, so I won’t reply to any comments before March.

5 Responses to “New component (auto_complete) in prototype UI”

  1. bbaron Says:

    I make too, something like this. pls look at my page.

  2. Phil Says:

    I would have liked to post a comment on your “Layout manager” post, but it doesn’t seem to be possible. In brief, why didn’t you use html tables to implement the layout since CSS solutions do not address the real problem, that is : build a layout that keeps its structure but also resizes according to the various contents it may host. I understand html tables are not very satisfactory, but since CSS failed to address such obvious expectations… and after all tables are more structure than presentation.

  3. Piers Says:

    Oh Phil, where have you been for the last 8 years :P

    “and after all tables are more structure than presentation.”

    That’s kind of the point, but not like you’re thinking. CSS handles the presentation / layout, and the table defines the data semantics, i.e. “I hold a structured grid of tabular data”. A page layout isn’t tabular data. It’s a presentation context… so, exactly the sort of thing css is for.

  4. Phil Says:

    ”...so, exactly the sort of thing css is for” Nope : ”...so, exactly the sort of thing css should be for”. I would have liked to use CSS for what it was supposed to do. Unfortunately, it doesn’t succeed to properly address the so-simple requirement to have SWING-like layout capabilities, and if you try to do so (for example using with Sébastien’s CSS-based library), you will never get a satisfying result.

    “…and after all tables are more structure than presentation.” : that’s not me ! someone must have typed this one when I took the shower ;)

  5. savas Says:

    hello! do you think to update portal class? been a week, trying to find a solution but no luck :( i saw a question in previous comments; thats what i would like to learn also: “is there a way to reference an id in the DOM instead of using a string (i.e., var latin1 = $(“divid”); ?” thanks

Sorry, comments are closed for this article.