Enhanced DataTable Scrolling

One of the most popular feature requests we get from PrimeFaces community is the horizontal scrolling for datatable to deal with many columns, before 3.0.M3 we had vertical scrolling and now we have x, y and xy scrolling;

Implementing this is quite easy, you just need to;

  • Set scrollable option to true in datatable
  • Provide fixed widths to your columns
  • Use scrollHeight/scrollWidth in pixels to specify which type of scrolling you want

And then we deal with the complexity as usual 🙂 Next step is frozen columns for horizontal scrolling but that’s planned for a future milestone.

Check out the PrimeFaces Labs to see enhanced scrolling in action.

Advertisements

Be involved in the Spring ROO PrimeFaces add-on

Spring ROO – PrimeFaces Add-On is progressing but help is needed! Attached is the message from Spring Roo Lead Alan Stewart;

The Spring Roo team have started an exciting new add-on to create Roo applications with a PrimeFaces UI. We want to harness the power of PrimeFaces and JSF 2 to bring Roo users a rich UI experience like never before. As such I want to know if any enthusiastic PrimeFaces developer would like to get involved.

If you have used Spring Roo before, you will know that it comes with a few sample applications that have a Spring MVC web front-end. We have a working PrimeFaces prototype of one of the sample applications called Vote, however it is done using JSF and PrimeFaces tags. Before the add-on can be written to code-generate a JSF UI, we first need someone to volunteer their time to convert this app to render the majority of the components using the PrimeFaces/JSF 2 API. This has proven to be a time-consuming task as lots more Java code needs to be written to render the pages than just using tags. Also, I’m sure there are many more experienced PrimesFaces/JSF developers out there than I am and using best practices will ensure the success of the add-on.

Interested in helping out? If so, send me an email at stewarta at vmware dot com and I can give you more details.

Cheers
Alan Stewart
Project Lead
Spring Roo

PrimeFaces Team will be working as an advisor in the development of the add-on with the Spring Roo Team and the volunteers as well.  See PrimeFaces forum to follow the discussion.

Let’s all make this add-on a success!

New Timeline

Timeline is a new data component to display temporal information. Component is backed by a model and features zooming as well.

See the beta demos at PrimeFaces Labs.

New Tooltip

Tooltip component was far away from the PrimeFaces standards, it had serious positioning issues(see here) and had problems with ajax updates. It was based on qtip jquery plugin so in order to fix these issues to provide a production ready component, I’ve followed our new approach that is working quite fine which is writing a native PrimeFaces widget instead of using a third part work to have full control. So for 3.0.M3 I’ve rewritten the tooltip by following the “think simple” idea.

Notable features are;

  • Theme aware
  • Effects (e.g fade, slide, clip, explode …)
  • Trigger events (e.g. mouseover, mouseout, focus, blue)
  • Custom content support
  • Fallback to get tooltip value from target’s title to keep functionality if javascript is disabled
  • Fixed positioning issues, tested within various components like layout, dialog, tabs and more.
  • Better cross browser support as tooltip is appended to the document body to avoid z-index issues.
  • Tooltips can be updated with ajax, it is suggested to update the tooltip target as well to get best results.

Features left out in current reimpl are global tooltips and custom positioning(topleft). In future released we might add features like mouse tracking, custom positioning and content fetching with ajax to reduce page size but I think new tooltip will satisfy most of the requirements.

See Labs Showcase to see new tooltip in action.

New AutoComplete

PrimeFaces M3 work continues with the new enhanced AutoComplete. Our old autoComplete was based on jQuery UI autocomplete which was working fine but limits us on displaying customized html content since suggestions were JSON based. So I’ve rewritten the autocomplete as a native PrimeFaces Widget. All features are backward compatible and css structure is slightly changed to fit PrimeFaces conventions.

  • Various options (delay, minLength, forceSelection, maxResults …)
  • Pojo Support
  • Customizable Content
  • DropDown mode
  • Effects
  • ItemSelect AjaxBehavior
  • Keyboard Navigation
Alpha Demos
The code is alpha right now and my team mate Levent will handle the testing soon so be gentle 🙂 Checkout PrimeFaces Labs.

New ThemeSwitcher

PrimeFaces 3.0.M3 begins with the new ThemeSwitcher component. Old themeswitcher had many shortcomings, it can’t work in an offline environment since it needed a connection to load the themes and saving the selected theme on the server side was tricky. For new themeSwitcher I’ve created a native PrimeFaces widget as an extension of selectOneMenu that can load themes locally since it is an input component selected theme can be passes to the backing bean. Using optional support to client behaviors like p:ajax, more fun can be implemented. I’ve created a new example demonstrating possible scenarios with new themeswitcher in PrimeFaces Labs Showcase.

PrimeFaces Guide is FREE

A little present from Prime Teknoloji, PrimeFaces User’s Guide is now free again and available for download at;

http://www.primefaces.org/documentation.html

The guide covers 2.2 and 2.2.1 and will be updated when 3.0 goes final. As stated here to help you with docs on 3.0 until the new guide is ready (it will be free for sure), tag/attribute documentation will be in 3.0.M3. We are adding it back to the taglib file nowadays so you’ll get that sort of docs plus there is labs showcase.

Thanks for everyone who purchased the guide since february and supported development of PrimeFaces. Unlike it’s competitors, we are not sponsored by rich vendors but that never bothered us because “PrimeFaces is driven by passion, not by money”.

!Viva la PrimeFaces! Let’s keep rocking!