ICEfaces
  1. ICEfaces
  2. ICE-3484

Optimize the rendering of the effect related JS handlers

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.8DR#2, 1.8
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      renderer + effect related JS handlers

      Description

      Currently the renderer of the component writes the JShandler, and then the following call rewrite them again. Which means it can re-invoke the value binding if exist.

      LocalEffectEncoder
                      .encodeLocalEffects(uiComponent, attributeElement, facesContext);

        Issue Links

          Activity

          Hide
          Adnan Durrani added a comment -

          The following two components extend the renderer of the panelGroup component.
          -panelPopup
          -PanelTooltip

          According to the TLD docs and the ExtendedAttributeConstants the above components have the following passThru attributes:

          • panelGroup { HTML.STYLE_ATTR };

            - panelPopup { HTML.STYLE_ATTR, HTML.TITLE_ATTR };

            - PanelTooltip{ HTML.STYLE_ATTR }

          According to the TLD docs only the panelGroup has effect related attributes and it doesn't support any javascript related attribute which means that none of the component requires any change.

          Show
          Adnan Durrani added a comment - The following two components extend the renderer of the panelGroup component. -panelPopup -PanelTooltip According to the TLD docs and the ExtendedAttributeConstants the above components have the following passThru attributes: panelGroup { HTML.STYLE_ATTR }; - panelPopup { HTML.STYLE_ATTR, HTML.TITLE_ATTR }; - PanelTooltip{ HTML.STYLE_ATTR } According to the TLD docs only the panelGroup has effect related attributes and it doesn't support any javascript related attribute which means that none of the component requires any change.
          Hide
          Adnan Durrani added a comment -

          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\HtmlPanelGroup.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\renderkit\GroupRenderer.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-panelGroup-props.xml
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\GroupRenderer.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeRenderer.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\renderkit\GroupRenderer.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-panelGroup-props.xml
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\HtmlPanelGroup.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\GroupRenderer.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeRenderer.java
          Completed: At revision: 17873

          I have also overloaded the following method :
          public static String[] getAttributes(int index, String[] remove) {

          signature of new overloaded method:
          public static String[] getAttributes(int index, String[][] remove) {

          It allows to pass more then one exclude arrays. (e.g.) Exclude the JS event as well as excluded attributes.

          Show
          Adnan Durrani added a comment - Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\HtmlPanelGroup.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\renderkit\GroupRenderer.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-panelGroup-props.xml Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\GroupRenderer.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeRenderer.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\renderkit\GroupRenderer.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_properties\ice-panelGroup-props.xml Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ext\HtmlPanelGroup.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\GroupRenderer.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\core\src\com\icesoft\faces\renderkit\dom_html_basic\PassThruAttributeRenderer.java Completed: At revision: 17873 I have also overloaded the following method : public static String[] getAttributes(int index, String[] remove) { signature of new overloaded method: public static String[] getAttributes(int index, String[][] remove) { It allows to pass more then one exclude arrays. (e.g.) Exclude the JS event as well as excluded attributes.
          Hide
          Adnan Durrani added a comment -

          Changes applied to the panelPopup as well as panelTooltip.

          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\panelpopup\PanelPopupRenderer.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\paneltooltip\PanelTooltipRenderer.java
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-panelpopup-props.xml
          Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-paneltooltip-props.xml
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\paneltooltip\PanelTooltipRenderer.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\panelpopup\PanelPopupRenderer.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-panelpopup-props.xml
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java
          Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-paneltooltip-props.xml
          Completed: At revision: 17875

          Show
          Adnan Durrani added a comment - Changes applied to the panelPopup as well as panelTooltip. Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\panelpopup\PanelPopupRenderer.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\paneltooltip\PanelTooltipRenderer.java Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-panelpopup-props.xml Modified: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-paneltooltip-props.xml Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\paneltooltip\PanelTooltipRenderer.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\panelpopup\PanelPopupRenderer.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-panelpopup-props.xml Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component\src\com\icesoft\faces\component\ExtendedAttributeConstants.java Sending content: D:\work\development\head\svn\ossrepo\icefaces\trunk\icefaces\component-metadata\src\main\resources\conf\ice_cust_properties\cust-paneltooltip-props.xml Completed: At revision: 17875
          Hide
          Adnan Durrani added a comment -

          Assigning to Mandeep for testing

          Show
          Adnan Durrani added a comment - Assigning to Mandeep for testing
          Hide
          Ken Fyten added a comment -

          This optimization has been made to the following priority components:

          • inputText
          • outputText
          • panelGroup
          • panelPopup
          • panelTooltip
          Show
          Ken Fyten added a comment - This optimization has been made to the following priority components: inputText outputText panelGroup panelPopup panelTooltip

            People

            • Assignee:
              Unassigned
              Reporter:
              Adnan Durrani
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: