You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Sven Meier (Jira)" <ji...@apache.org> on 2022/01/20 11:40:00 UTC

[jira] [Assigned] (WICKET-6946) isVisibleInHierarchy/isEnabledInHierarchy broken by isVisible/isEnabled override

     [ https://issues.apache.org/jira/browse/WICKET-6946?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sven Meier reassigned WICKET-6946:
----------------------------------

      Assignee: Sven Meier
    Issue Type: Improvement  (was: Bug)
      Priority: Minor  (was: Major)

Thanks for your contribution. Can this issue be closed now?

> isVisibleInHierarchy/isEnabledInHierarchy broken by isVisible/isEnabled override
> --------------------------------------------------------------------------------
>
>                 Key: WICKET-6946
>                 URL: https://issues.apache.org/jira/browse/WICKET-6946
>             Project: Wicket
>          Issue Type: Improvement
>          Components: wicket-core
>            Reporter: Mathieu Mitchell
>            Assignee: Sven Meier
>            Priority: Minor
>
> Currently, isVisibleInHierarchy and isEnabledInHierarchy can return invalid values when isVisible or isEnabled is overridden. The problem is caused by the caching done in isVisibleInHierarchy/isEnabledInHierarchy. Currently, the cache is invalidated in setVisible/setEnabled. The cache invalidation is not done when components are overriding isVisible/isEnabled.
> Additionally, the documentation mentions impacts of overriding isVisible/isEnabled when using "non-trivial" code, as the methods are called multiple times and can slow down page rendering.
> The best practices chapter mentions overriding isVisible/isEnabled as the appropriate approach. Another best practices page mentions that a component factory should not be used because it prevents overriding isVisible/isEnabled in an anonymous class.
> There is no clear warning that overriding isVisible/isEnabled can break isVisibleInHierarchy/isEnabledInHierarchy when the returned value can change.
> There is also no indication that overriding isVisible/isEnabled is not recommended.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)