I finally got around to trying out Tapestry 5.4 Alpha. I'd heard 5.4 was
switching to JQuery and Bootstrap and it's true! However for me at least
that does not mean an end to the Tapestry-Bootstrap module. In fact I think
I can make it better because I can now throw away the thousands of lines
that converted the old Tapestry HTML to something that could be formatted
Bootstrap and focus on features.

The goal of the old module was to take an existing Tapestry application and
magically convert it to use the Bootstrap framework. The new modules goal
is to make it easier to create Bootstrap websites.

So far I've focused on two areas. First is forms. I've added a
BootstrapForm mixin to the form component. The mixin checks the class
parameter of the form and corrects the HTML for the form type. Tapestry
outputs HTML suitable for the Bootstrap form-horizontal class. The mixin
changes the HTML to support other types of Bootstrap forms. For example

<t:beaneditform object="user" class="form-inline" cancel="true"/>


will produce an inline form.


The next area is thumbnails. While the pervious thumbnail code worked it
had numerous limitations. The new thumbnails start with the PagedLoopMixin.
This mixin modifies the existing Loop component to support paging of
Collections or GridData and can be combined with other components such as
pagination to create a Thumbnail gallery. For example:


<t:tb.thumbnails for="users" rowsPerPage="8" availableRows=
"users.AvailableRows">

<t:tb.pagination />

<ul class="thumbnails">

<li t:type="loop" t:id="users" value="user" class="span4">

${user.firstname}

</li>

</ul>

<t:tb.pagination />

</t:tb.thumbnails>


Soon I'll add support for Javascript Infinite Scroll. This mixin removes
the pagination markup and uses Ajax to fetch the next page when the bottom
of the page is reached.


I'm also planing to support all the components in the Bootstrap Javascript
library. So far I've got Popover and Tooltip.


Since this is a preview release you'll have to build it:


https://github.com/trsvax/tapestry-bootstrap/tree/5.4


Comments, questions concerns are welcome.


Lastly some comments on Tapestry 5.4. I've been using JQuery and Bootstrap
for almost 2 years now and I welcome the native support for both of these.
The new Javascript interface is much better than the old one. After I
figured it out I really like the new javaScriptSupport.require method. That
said for the most part it seems just like 5.3 and seems solid even for an
Alpha release.


Thanks

Barry

Reply via email to