tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Smirsky (JIRA)" <j...@apache.org>
Subject [jira] Commented: (TAP5-754) Introduce easier way to disable column sorting in Grid
Date Thu, 17 Sep 2009 20:10:58 GMT

    [ https://issues.apache.org/jira/browse/TAP5-754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12756746#action_12756746

Oleg Smirsky commented on TAP5-754:

I would like to extend the original request - make "dataModel" of the Grid easily accessible
in subclasses. Solution above requires replacing the class in the application (put my own
copy of Grid class in org.tapestry....). I'm trying to achieve both no sorting and some other
fancy manipulations with BeanModel - it is very painful.

My proposal:
Provide some hook between setting Grid.model parameter (from page or from defaultModel())
and using this parameter in getDataModel
Currently I can create BeanModel for Grid.model and do some modifications in the page. But
I can't do those modifications in the plain subclass. Probably I could wrap Grid in another
component with TML template, but that's too much work. And the issue is common for all component
parameters IMO - you can't provide initialization method in subclass of the component (if
I'm wrong, educate me).

Current issues are:
- getDataModel does some initialization and I want to modify that initialization part
- I can't override getDataModel completely (=not to call super.getDataModel()), because properties
like model, dataModel, add, include, exclude etc. are private
- I can't override getDataModel, call super.getDataModel and do additional initialization,
because it is too late in the process

> Introduce easier way to disable column sorting in Grid
> ------------------------------------------------------
>                 Key: TAP5-754
>                 URL: https://issues.apache.org/jira/browse/TAP5-754
>             Project: Tapestry 5
>          Issue Type: Improvement
>    Affects Versions:
>            Reporter: Vjeran Marcinko
> I have seldom need for Grid sorting so I almost always turn it off. Currently this is
a bit awkward procedure. I also rarely configure Grid with BeanModel created in my  page class,
because template way of configuring Grid is sufficient for me.
> I have to introduce 3 new objects just for this purpose in this class, and also do some
coding in setupRender():
>     @Property
>     private BeanModel model;
>     @Inject
>     private BeanModelSource beanModelSource;
>     @Inject
>     private ComponentResources componentResources;
>     void setupRender() {
>         ....
>         model = beanModelSource.createDisplayModel(Employee.class, componentResources.getMessages());
>         List<String> propertyNames = model.getPropertyNames();
>         for (String propertyName : propertyNames) {
>             model.get(propertyName).sortable(false);
>         }
>     }
> Tapestry 4 had simple way of using character "!" in template that achieved the same thing
so I feel kinda nostalgic for it...

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message