Of course there are many good counterarguments to this. There are already a
lot of methods in Component, you can do this without any changes and it may
be confusing to have a concept of hidden on top of the existing visible
concept.


Jonathan Locke wrote:
> 
> 
> Again, you probably shouldn't be setting state like this, and you can
> create a generic hiding behavior for now that should solve most of your
> problems. All that is at stake here is really just convenience, not the
> programming model.
> 
> On the other hand, this is a very common problem so it might be worth
> discussing adding a generic solution to component like set/isHidden(). The
> implementation would be slightly tricky and would require two more flag
> bits, but we could detect whether isHidden was overridden in component and
> delegate to some kind of singleton behavior. I haven't thought this
> through very far, but you should feel free to open a JIRA issue for this
> feature request.
> 
> 
> Kirk Israel-2 wrote:
>> 
>> On Fri, May 16, 2008 at 7:34 PM, Eelco Hillenius
>> <[EMAIL PROTECTED]> wrote:
>>>> If you wanted to just a cosmetic, DHTM/CSS "display: none" type of
>>>> visibility, is there something you can do other than
>>>> making a new AttributeModifier (with a custom Visibility Model kind of
>>>> thing) or a SimplleAttributeModifier with a CSS
>>>> "display:none" String there?
>>>
>>> Well, if the component isn't visible (I typically override isVisible,
>>> because there's typically an algorithm that determines whether the
>>> component is visible), no rendering is done at all, which can save
>>> things like database roundtrips if that component or it's children use
>>> that, and it also often lets you avoid having to do null checks and
>>> stuff in your models (e.g. you can depend on a model function only to
>>> be executed when another object - the one that determines whether the
>>> component is visible - is checked).
>> 
>> I'm still not comfortable with "is it visible" being mixed up with "is
>> it plain gone"...
>> Here was my scenario, I'll tell you my error, the fix, and then I'd
>> love to hear if there's a better way.
>> 
>> Essentially we have a form where you can select countries, and we want
>> to offer two different views, a flat list collection of checkboxes for
>> all countries, and then a series of lists broken out by continent --
>> two checkgroups w/ the same underlying model. For screen realestate
>> reasons, the CheckGroups live in scrollable Divs, and the Checks live
>> in a special ListView thing. So far so good. Then each of the
>> Continents has a little summary part, a textual description of what's
>> selected (the idea is the comma separated summary is always visible
>> vs. the checks which might be scrolled away, and the summary can be
>> clever and concise and say "ALL EUROPE except France, Spain") So - and
>> I know this is a little bit of an anti-pattern - as I built each
>> Continent I added the Summary label, and then kept a member variable
>> list of those around, and then had the checkboxes (whether on the flat
>> list or the by-continent list) call a function to add the summaries to
>> the Ajax request target. What I didn't realize, when I made the
>> by-continent view not visible and the flat list visible, and then
>> back, the Continents actually got regenerated, with new Summary
>> labels, and so the List was full of stale label referenes that barfed
>> when I tried to update them.
>> 
>> I know it's not encouraged to keep member variables of page components
>> around, but I couldn't think of another way of getting to them...
>> 
>> 
>> The net-net is, it seems very odd to me that "merely" switching around
>> visibility should invalidate object references, that the complexity in
>> actually USING the visibility outweighs the "efficiency for free", and
>> I wish I had a simple "render this, but set its CSS visibility to
>> hidden" switch without having to go and manually modify attributes.
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Wicket-Visibility-vs.-CSS-visibility-tp17285530p17287068.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to