ICEfaces
  1. ICEfaces
  2. ICE-10132

Change default ace:ajax execute value to @this, instead of @all

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 4.0.BETA
    • Fix Version/s: 4.0
    • Component/s: ACE-Components
    • Labels:
      None
    • Environment:
      Any
    • Assignee Priority:
      P1
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Compatibility/Configuration

      Description

      A number of ACE components have ace:ajax events whose default execute value is @all. In practice, this is inconvenient and unnecessary. In most cases, the default value should simply be @this. The purpose of this JIRA is to survey the ACE components to identify those using a default value of @all in their ace:ajax events and change it to @this, if there are no other special circumstances that would conflict with this change.

        Activity

        Hide
        Arturo Zambrano added a comment -

        Committed fix to 4.0 trunk at revision 41818.

        After surveying Meta classes, Renderer classes and Javascript resources, this is what was found:

        Ajax events having default execute="@all"
        -----------------------------------------
        ace:linkButton action
        ace:maskedEntry valueChange
        ace:menuItem action
        ace:printer action
        ace:pushButton action
        ace:radioButton action
        ace:tabSet serverSideTabChange
        
        Components using ice.s() in their Javascript resources
        ------------------------------------------------------
        ace:autoCompleteEntry
        ace:richTextEntry
        ace:tabSet
        
        Components using ice.s() in their renderers
        -------------------------------------------
        ace:dataExporter
        ace:menuItem
        

        The default execute values of the ajax events events above were changed from @all to @this, and the ice.s() calls were changed to ice.se() calls in renderers and in Javascript resources. However, there were a few exceptions.

        Code that was NOT modified
        --------------------------
        ace:tabSet serverSideTabChange ajax event
        ace:tabSet Javascript resource
        ace:dataExporter renderer
        

        The ace:tabSet component wasn't modified, because it requires to send execute=@all for the tab set proxy feature to work. This is the way this component was designed. Likewise, the ace:dataExporter component wasn't modified either because of the use case where a table is editable (or simply contains input components) and the user edits some cells and then activates the export function; this way the changes just made will be reflected in the exported document.

        Show
        Arturo Zambrano added a comment - Committed fix to 4.0 trunk at revision 41818. After surveying Meta classes, Renderer classes and Javascript resources, this is what was found: Ajax events having default execute="@all" ----------------------------------------- ace:linkButton action ace:maskedEntry valueChange ace:menuItem action ace:printer action ace:pushButton action ace:radioButton action ace:tabSet serverSideTabChange Components using ice.s() in their Javascript resources ------------------------------------------------------ ace:autoCompleteEntry ace:richTextEntry ace:tabSet Components using ice.s() in their renderers ------------------------------------------- ace:dataExporter ace:menuItem The default execute values of the ajax events events above were changed from @all to @this, and the ice.s() calls were changed to ice.se() calls in renderers and in Javascript resources. However, there were a few exceptions. Code that was NOT modified -------------------------- ace:tabSet serverSideTabChange ajax event ace:tabSet Javascript resource ace:dataExporter renderer The ace:tabSet component wasn't modified, because it requires to send execute=@all for the tab set proxy feature to work. This is the way this component was designed. Likewise, the ace:dataExporter component wasn't modified either because of the use case where a table is editable (or simply contains input components) and the user edits some cells and then activates the export function; this way the changes just made will be reflected in the exported document.
        Hide
        Arturo Zambrano added a comment -

        r41822: committed fix to use the root node as the source of the ice.se() request so that the component decodes successfully.

        Show
        Arturo Zambrano added a comment - r41822: committed fix to use the root node as the source of the ice.se() request so that the component decodes successfully.
        Hide
        Carmen Cristurean added a comment -

        All modified ace: components have been verified in showcase with ICEfaces4 trunk rev. 41822 in IE10, FF30, Chrome35 / Tomcat 7.0.27.

        Issue found:
        Showcase > radioButton > Custom Style: the selection of the radioButtons doesn't work (any browser). The Overview demo is functional.

        Show
        Carmen Cristurean added a comment - All modified ace: components have been verified in showcase with ICEfaces4 trunk rev. 41822 in IE10, FF30, Chrome35 / Tomcat 7.0.27. Issue found: Showcase > radioButton > Custom Style: the selection of the radioButtons doesn't work (any browser). The Overview demo is functional.
        Hide
        Arturo Zambrano added a comment -

        r41824: committed fix to only trigger action or deactivate event and fix to render selected class from the server when component is selected.

        Show
        Arturo Zambrano added a comment - r41824: committed fix to only trigger action or deactivate event and fix to render selected class from the server when component is selected.
        Hide
        Carmen Cristurean added a comment -

        showcase > RadioButton > Custom Style issue is resolved. Verified with IF4 trunk rev. 41826 in IE10, FF30, Chrome35.

        Show
        Carmen Cristurean added a comment - showcase > RadioButton > Custom Style issue is resolved. Verified with IF4 trunk rev. 41826 in IE10, FF30, Chrome35.
        Hide
        Deryk Sinotte added a comment -

        Art is away so re-assigning to Mircea.

        From my testing, it looks like it was broken @ revision 41818:

        ------------------------------------------------------------------------
        r41818 | art.zambrano | 2014-07-17 14:12:04 -0700 (Thu, 17 Jul 2014) | 1 line
        
        ICE-10132 changed default ajax execute values from @all to @this and changed ice.s() calls for ice.se() calls in various components
        ------------------------------------------------------------------------
        
        The work was done in http://jira.icesoft.org/browse/ICE-10132.  I don't see the breadcrumb menu in the list of stuff that was tested or changed but the repository shows that some common menu code may have been impacted:
        
        U    ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java
        U    ace/component/src/org/icefaces/ace/component/maskedentry/MaskedEntryMeta.java
        U    ace/component/src/org/icefaces/ace/component/menu/BaseMenuRenderer.java
        U    ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java
        U    ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonMeta.java
        U    ace/component/src/org/icefaces/ace/component/printer/PrinterMeta.java
        U    ace/component/src/org/icefaces/ace/component/menuitem/MenuItemMeta.java
        U    ace/component/resources/icefaces.ace/richtextentry/richtextentry.js
        U    ace/component/resources/icefaces.ace/autocompleteentry/autocompleteentry.js
        
        Show
        Deryk Sinotte added a comment - Art is away so re-assigning to Mircea. From my testing, it looks like it was broken @ revision 41818: ------------------------------------------------------------------------ r41818 | art.zambrano | 2014-07-17 14:12:04 -0700 (Thu, 17 Jul 2014) | 1 line ICE-10132 changed default ajax execute values from @all to @this and changed ice.s() calls for ice.se() calls in various components ------------------------------------------------------------------------ The work was done in http://jira.icesoft.org/browse/ICE-10132. I don't see the breadcrumb menu in the list of stuff that was tested or changed but the repository shows that some common menu code may have been impacted: U ace/component/src/org/icefaces/ace/component/pushbutton/PushButtonMeta.java U ace/component/src/org/icefaces/ace/component/maskedentry/MaskedEntryMeta.java U ace/component/src/org/icefaces/ace/component/menu/BaseMenuRenderer.java U ace/component/src/org/icefaces/ace/component/linkbutton/LinkButtonMeta.java U ace/component/src/org/icefaces/ace/component/radiobutton/RadioButtonMeta.java U ace/component/src/org/icefaces/ace/component/printer/PrinterMeta.java U ace/component/src/org/icefaces/ace/component/menuitem/MenuItemMeta.java U ace/component/resources/icefaces.ace/richtextentry/richtextentry.js U ace/component/resources/icefaces.ace/autocompleteentry/autocompleteentry.js
        Hide
        Mircea Toma added a comment -

        I cannot reproduce the issue described above in showcase > RadioButton > Custom Style test. The test runs fine in any browser.

        Show
        Mircea Toma added a comment - I cannot reproduce the issue described above in showcase > RadioButton > Custom Style test. The test runs fine in any browser.
        Hide
        Deryk Sinotte added a comment -

        I should have opened a separate case for this rather than re-open this one. The details are now included in ICE-10165.

        Show
        Deryk Sinotte added a comment - I should have opened a separate case for this rather than re-open this one. The details are now included in ICE-10165 .

          People

          • Assignee:
            Mircea Toma
            Reporter:
            Arturo Zambrano
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: