ICEfaces
  1. ICEfaces
  2. ICE-5941

Remove reliance on resetHiddenFields() in compat components

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha3
    • Fix Version/s: 2.0.0
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      compat

      Description

      Certain components create hidden fields, either via server rendering, or via javascript DOM manipulation, which have a name but no id. These hidden input fields are special, intended for sending one-off messages back to the server. They rely on resetHiddenFields() clearing the special hidden input field values, so that the one-off messages are not re-sent in subsequent form submits.

      It should be possible to find all of these, by searching for "hidden" in the source code, so that they can be enumerated, and hopefully removed, thus removing the need for resetHiddenFields() itself. Likely, uses can be replaced with parameters to iceSubmit() and iceSubmitPartial(). An alternate strategy is depicted in ICE-5796, the parent task, for removing resetHiddenFields() itself.
      1. screenshot-01.png
        84 kB
      2. screenshot-02.png
        83 kB
      3. screenshot-03.png
        181 kB
      4. screenshot-04.png
        188 kB
      5. screenshot-05.png
        274 kB

        Issue Links

          Activity

          Mark Collette created issue -
          Mark Collette made changes -
          Field Original Value New Value
          Salesforce Case []
          Fix Version/s 2.0-Beta2 [ 10242 ]
          Assignee Priority P2
          Affects Version/s 2.0-Alpha3 [ 10032 ]
          Affects Version/s 2.0-Beta1 [ 10231 ]
          Assignee Mark Collette [ mark.collette ]
          Hide
          Mark Collette added a comment -

          First remove uses of the API, then remove the API itself, so that the icefaces2 trunk always functions properly.

          Show
          Mark Collette added a comment - First remove uses of the API, then remove the API itself, so that the icefaces2 trunk always functions properly.
          Mark Collette made changes -
          Link This issue blocks ICE-5796 [ ICE-5796 ]
          Ken Fyten made changes -
          Salesforce Case []
          Fix Version/s 2.0.0 [ 10230 ]
          Fix Version/s 2.0-Beta2 [ 10242 ]
          Assignee Priority P2
          Ken Fyten made changes -
          Salesforce Case []
          Assignee Priority P1
          Hide
          Mark Collette added a comment -

          These are all instances in compat of creation of hidden input fields which have their name specified, but not an id, which would make resetHiddenFields() clear them after a submit:

          icefaces2/compat/core/src/main/java/com/icesoft/faces/application/ExtrasSetup.java
          com.icesoft.faces.application.ExtrasSetup.FormHiddenInputFieldsRenderer#encode
          writer.startElement("input", component);
          writer.writeAttribute("type", "hidden", null);
          writer.writeAttribute("name", CurrentStyle.CSS_UPDATE_FIELD, null);
          writer.writeAttribute("value", "", null);
          writer.endElement("input");

          Same method, further down
          if (FormRenderer.COMMAND_LINK_HIDDEN_FIELD.equals(nextField.getValue()))

          { writer.startElement("input", component); writer.writeAttribute("type", "hidden", null); writer.writeAttribute("name", nextField.getKey().toString(), null); writer.endElement("input"); }

          icefaces2/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/TableRenderer.java
          com.icesoft.faces.component.ext.renderkit.TableRenderer#encodeChildren
          //rowSelectedField.setAttribute(HTML.ID_ATTR, paramId);
          rowSelectedField.setAttribute(HTML.NAME_ATTR, paramId);
          rowSelectedField.setAttribute(HTML.TYPE_ATTR, "hidden");
          hiddenInputNode = rowSelectedField;
          rowSelectionFunctionName = "Ice.tableRowClicked";

          Element clickedRowField = domContext.createElement(HTML.INPUT_ELEM);
          String clickedRowParam = getClickedRowParameterName(uiComponent.getClientId(facesContext));
          clickedRowField.setAttribute(HTML.TYPE_ATTR, "hidden");
          clickedRowField.setAttribute(HTML.NAME_ATTR, clickedRowParam);

          Element clickCountField = domContext.createElement(HTML.INPUT_ELEM);
          String clickCountParam = getClickCountParameterName(uiComponent.getClientId(facesContext));
          clickCountField.setAttribute(HTML.TYPE_ATTR, "hidden");
          clickCountField.setAttribute(HTML.NAME_ATTR, clickCountParam);

          icefaces2/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java
          com.icesoft.faces.component.panelcollapsible.PanelCollapsibleRenderer#encodeBegin
          Element hiddenField = domContext.createElement(HTML.INPUT_ELEM);
          hiddenField.setAttribute(HTML.NAME_ATTR, uiComponent.getClientId(facesContext) + "Expanded");
          hiddenField.setAttribute(HTML.TYPE_ATTR, "hidden");

          icefaces2/compat/components/src/main/java/com/icesoft/faces/component/tree/TreeRenderer.java
          com.icesoft.faces.component.tree.TreeRenderer#encodeEnd
          Element hiddenTreeAction = domContext.createElement(HTML.INPUT_ELEM);
          hiddenTreeAction.setAttribute(HTML.TYPE_ATTR, "hidden");
          hiddenTreeAction.setAttribute(HTML.NAME_ATTR, CustomComponentUtils.getHiddenTreeActionFieldName(
          uiComponent.getClientId(
          facesContext),
          CustomComponentUtils.getFormName(
          uiComponent,
          facesContext)));

          icefaces2/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/FormRenderer.java
          com.icesoft.faces.renderkit.dom_html_basic.FormRenderer#encodeBegin
          Element formHiddenField = domContext.createElement("input");
          formHiddenField.setAttribute("type", "hidden");
          formHiddenField.setAttribute("name", formClientId);
          formHiddenField.setAttribute("value", formClientId);

          Same method, further down
          Element encodedURLField = domContext.createElement("input");
          encodedURLField.setAttribute("type", "hidden");
          encodedURLField.setAttribute("name", "javax.faces.encodedURL");
          encodedURLField.setAttribute("value", encodedPartialActionURL);
          Same method, further down
          Element conversationIDElement =
          domContext.createElement(HTML.INPUT_ELEM);
          if (log.isLoggable(Level.FINE))

          { log.fine("Embedding Seam Param - name: " + conversationParamName + ", value: " + conversationId); }

          conversationIDElement
          .setAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_HIDDEN);
          conversationIDElement
          .setAttribute(HTML.NAME_ATTR, conversationParamName);

          conversationIDElement.setAttribute(HTML.VALUE_ATTR, conversationId);

          icefaces2/compat/components/src/main/java/com/icesoft/faces/component/selectinputtext/SelectInputTextRenderer.java
          com.icesoft.faces.component.selectinputtext.SelectInputTextRenderer#encodeBegin
          Element index = domContext.createElement(HTML.INPUT_ELEM);
          index.setAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_HIDDEN);
          String indexId = ClientIdPool.get(clientId + AUTOCOMPLETE_INDEX);
          index.setAttribute(HTML.NAME_ATTR, indexId);

          Show
          Mark Collette added a comment - These are all instances in compat of creation of hidden input fields which have their name specified, but not an id, which would make resetHiddenFields() clear them after a submit: icefaces2/compat/core/src/main/java/com/icesoft/faces/application/ExtrasSetup.java com.icesoft.faces.application.ExtrasSetup.FormHiddenInputFieldsRenderer#encode writer.startElement("input", component); writer.writeAttribute("type", "hidden", null); writer.writeAttribute("name", CurrentStyle.CSS_UPDATE_FIELD, null); writer.writeAttribute("value", "", null); writer.endElement("input"); Same method, further down if (FormRenderer.COMMAND_LINK_HIDDEN_FIELD.equals(nextField.getValue())) { writer.startElement("input", component); writer.writeAttribute("type", "hidden", null); writer.writeAttribute("name", nextField.getKey().toString(), null); writer.endElement("input"); } icefaces2/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/TableRenderer.java com.icesoft.faces.component.ext.renderkit.TableRenderer#encodeChildren //rowSelectedField.setAttribute(HTML.ID_ATTR, paramId); rowSelectedField.setAttribute(HTML.NAME_ATTR, paramId); rowSelectedField.setAttribute(HTML.TYPE_ATTR, "hidden"); hiddenInputNode = rowSelectedField; rowSelectionFunctionName = "Ice.tableRowClicked"; Element clickedRowField = domContext.createElement(HTML.INPUT_ELEM); String clickedRowParam = getClickedRowParameterName(uiComponent.getClientId(facesContext)); clickedRowField.setAttribute(HTML.TYPE_ATTR, "hidden"); clickedRowField.setAttribute(HTML.NAME_ATTR, clickedRowParam); Element clickCountField = domContext.createElement(HTML.INPUT_ELEM); String clickCountParam = getClickCountParameterName(uiComponent.getClientId(facesContext)); clickCountField.setAttribute(HTML.TYPE_ATTR, "hidden"); clickCountField.setAttribute(HTML.NAME_ATTR, clickCountParam); icefaces2/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java com.icesoft.faces.component.panelcollapsible.PanelCollapsibleRenderer#encodeBegin Element hiddenField = domContext.createElement(HTML.INPUT_ELEM); hiddenField.setAttribute(HTML.NAME_ATTR, uiComponent.getClientId(facesContext) + "Expanded"); hiddenField.setAttribute(HTML.TYPE_ATTR, "hidden"); icefaces2/compat/components/src/main/java/com/icesoft/faces/component/tree/TreeRenderer.java com.icesoft.faces.component.tree.TreeRenderer#encodeEnd Element hiddenTreeAction = domContext.createElement(HTML.INPUT_ELEM); hiddenTreeAction.setAttribute(HTML.TYPE_ATTR, "hidden"); hiddenTreeAction.setAttribute(HTML.NAME_ATTR, CustomComponentUtils.getHiddenTreeActionFieldName( uiComponent.getClientId( facesContext), CustomComponentUtils.getFormName( uiComponent, facesContext))); icefaces2/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/FormRenderer.java com.icesoft.faces.renderkit.dom_html_basic.FormRenderer#encodeBegin Element formHiddenField = domContext.createElement("input"); formHiddenField.setAttribute("type", "hidden"); formHiddenField.setAttribute("name", formClientId); formHiddenField.setAttribute("value", formClientId); Same method, further down Element encodedURLField = domContext.createElement("input"); encodedURLField.setAttribute("type", "hidden"); encodedURLField.setAttribute("name", "javax.faces.encodedURL"); encodedURLField.setAttribute("value", encodedPartialActionURL); Same method, further down Element conversationIDElement = domContext.createElement(HTML.INPUT_ELEM); if (log.isLoggable(Level.FINE)) { log.fine("Embedding Seam Param - name: " + conversationParamName + ", value: " + conversationId); } conversationIDElement .setAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_HIDDEN); conversationIDElement .setAttribute(HTML.NAME_ATTR, conversationParamName); conversationIDElement.setAttribute(HTML.VALUE_ATTR, conversationId); icefaces2/compat/components/src/main/java/com/icesoft/faces/component/selectinputtext/SelectInputTextRenderer.java com.icesoft.faces.component.selectinputtext.SelectInputTextRenderer#encodeBegin Element index = domContext.createElement(HTML.INPUT_ELEM); index.setAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_HIDDEN); String indexId = ClientIdPool.get(clientId + AUTOCOMPLETE_INDEX); index.setAttribute(HTML.NAME_ATTR, indexId);
          Hide
          Mark Collette added a comment -

          This is the opposite scenario, which isn't really about resetHiddenFields(), but raises the question as to whether this works in all browsers, since the hidden input field's id is specified, but not the name.

          icefaces2/compat/components/src/main/java/com/icesoft/faces/component/panelconfirmation/PanelConfirmationRenderer.java
          com.icesoft.faces.component.panelconfirmation.PanelConfirmationRenderer#encodeEnd
          Element clientOnly = domContext.createElement(HTML.INPUT_ELEM);
          clientOnly.setAttribute(HTML.TYPE_ATTR, "hidden");
          clientOnly.setAttribute(HTML.ID_ATTR, id + "clientOnly");

          icefaces2/compat/components/src/main/java/com/icesoft/faces/component/panelpopup/PanelPopupRenderer.java
          com.icesoft.faces.component.panelpopup.PanelPopupRenderer#encodeBegin
          Element clientOnly = domContext.createElement(HTML.INPUT_ELEM);
          clientOnly.setAttribute(HTML.TYPE_ATTR, "hidden");
          clientOnly.setAttribute(HTML.ID_ATTR, clientId + "clientOnly");

          Show
          Mark Collette added a comment - This is the opposite scenario, which isn't really about resetHiddenFields(), but raises the question as to whether this works in all browsers, since the hidden input field's id is specified, but not the name. icefaces2/compat/components/src/main/java/com/icesoft/faces/component/panelconfirmation/PanelConfirmationRenderer.java com.icesoft.faces.component.panelconfirmation.PanelConfirmationRenderer#encodeEnd Element clientOnly = domContext.createElement(HTML.INPUT_ELEM); clientOnly.setAttribute(HTML.TYPE_ATTR, "hidden"); clientOnly.setAttribute(HTML.ID_ATTR, id + "clientOnly"); icefaces2/compat/components/src/main/java/com/icesoft/faces/component/panelpopup/PanelPopupRenderer.java com.icesoft.faces.component.panelpopup.PanelPopupRenderer#encodeBegin Element clientOnly = domContext.createElement(HTML.INPUT_ELEM); clientOnly.setAttribute(HTML.TYPE_ATTR, "hidden"); clientOnly.setAttribute(HTML.ID_ATTR, clientId + "clientOnly");
          Hide
          Mark Collette added a comment -

          To be thorough, here are instances in the core, and not compat, where hidden input fields have a name but no id. In a compat environment, these still may be in play. Without understanding this code, it looks like the possibility exists of losing the window and view ids after an initial postback.

          icefaces2/core/src/main/java/org/icefaces/impl/event/WindowAndViewIDSetup.java
          org.icefaces.impl.event.UIOutputWriter#encode
          writer.startElement("input", this);
          writer.writeAttribute("type", "hidden", null);
          writer.writeAttribute("name", "ice.window", null);
          writer.writeAttribute("value", WindowScopeManager.lookupWindowScope(context).getId(), null);
          writer.endElement("input");

          writer.startElement("input", this);
          writer.writeAttribute("type", "hidden", null);
          writer.writeAttribute("name", "ice.view", null);
          writer.writeAttribute("value", requestMap.get(BridgeSetup.ViewState), null);
          writer.endElement("input");

          Show
          Mark Collette added a comment - To be thorough, here are instances in the core, and not compat, where hidden input fields have a name but no id. In a compat environment, these still may be in play. Without understanding this code, it looks like the possibility exists of losing the window and view ids after an initial postback. icefaces2/core/src/main/java/org/icefaces/impl/event/WindowAndViewIDSetup.java org.icefaces.impl.event.UIOutputWriter#encode writer.startElement("input", this); writer.writeAttribute("type", "hidden", null); writer.writeAttribute("name", "ice.window", null); writer.writeAttribute("value", WindowScopeManager.lookupWindowScope(context).getId(), null); writer.endElement("input"); writer.startElement("input", this); writer.writeAttribute("type", "hidden", null); writer.writeAttribute("name", "ice.view", null); writer.writeAttribute("value", requestMap.get(BridgeSetup.ViewState), null); writer.endElement("input");
          Hide
          Mark Collette added a comment -

          To be thorough, here are instances in the core opposite scenario, where the hidden input field's id is specified, but not the name.

          icefaces2/core/src/main/java/org/icefaces/impl/event/FormSubmit.java
          org.icefaces.impl.event.AjaxDisabledWriter#encode
          writer.startElement("input", this);
          writer.writeAttribute("type", "hidden", "type");
          writer.writeAttribute("id", getClientId(context), "id");
          writer.writeAttribute("disabled", "true", "disabled");
          writer.writeAttribute("value", value, "value");
          writer.endElement("input");

          Show
          Mark Collette added a comment - To be thorough, here are instances in the core opposite scenario, where the hidden input field's id is specified, but not the name. icefaces2/core/src/main/java/org/icefaces/impl/event/FormSubmit.java org.icefaces.impl.event.AjaxDisabledWriter#encode writer.startElement("input", this); writer.writeAttribute("type", "hidden", "type"); writer.writeAttribute("id", getClientId(context), "id"); writer.writeAttribute("disabled", "true", "disabled"); writer.writeAttribute("value", value, "value"); writer.endElement("input");
          Ken Fyten made changes -
          Salesforce Case []
          Assignee Mark Collette [ mark.collette ] Ted Goddard [ ted.goddard ]
          Hide
          Ted Goddard added a comment -

          In summary: resetHiddenFields() should be removed and ice:commandLink, row selection, PanelCollapsible, Tree, SelectInputText need to be verified and possibly modified to clear their field after submission. (Note that a strategy for future components is to use a single "event" field that would be cleared automatically – these would be components implemented with the understanding that only one of them could be active per request.)

          CurrentStyle.CSS_UPDATE_FIELD

          • if the bridge is extracting a value from this field, it should
            be cleared after the value is taken

          FormRenderer.COMMAND_LINK_HIDDEN_FIELD

          • should be cleared after form submission

          TableRenderer paramId
          clickedRowParam
          clickCountParam

          • appear to be for row selection, so should be cleared after form submission

          uiComponent.getClientId(facesContext) + "Expanded"

          • likely should be cleared after form is submitted

          getHiddenTreeActionFieldName

          • likely should be cleared after form is submitted

          FormRenderer formClientId

          • no need to clear

          conversationParamName

          • will be updated from server if necessary

          SelectInputTextRenderer indexId

          • likely should be cleared before form submission

          ice.window
          ice.view
          AjaxDisabledWriter

          • these fields are only at risk from resetHiddenFields, no need to clear
          Show
          Ted Goddard added a comment - In summary: resetHiddenFields() should be removed and ice:commandLink, row selection, PanelCollapsible, Tree, SelectInputText need to be verified and possibly modified to clear their field after submission. (Note that a strategy for future components is to use a single "event" field that would be cleared automatically – these would be components implemented with the understanding that only one of them could be active per request.) CurrentStyle.CSS_UPDATE_FIELD if the bridge is extracting a value from this field, it should be cleared after the value is taken FormRenderer.COMMAND_LINK_HIDDEN_FIELD should be cleared after form submission TableRenderer paramId clickedRowParam clickCountParam appear to be for row selection, so should be cleared after form submission uiComponent.getClientId(facesContext) + "Expanded" likely should be cleared after form is submitted getHiddenTreeActionFieldName likely should be cleared after form is submitted FormRenderer formClientId no need to clear conversationParamName will be updated from server if necessary SelectInputTextRenderer indexId likely should be cleared before form submission ice.window ice.view AjaxDisabledWriter these fields are only at risk from resetHiddenFields, no need to clear
          Hide
          Ted Goddard added a comment -

          Specific components have been identified that require attention when resetHiddenFields() is removed. These components can be tested and modified before the complete change is checked in.

          Show
          Ted Goddard added a comment - Specific components have been identified that require attention when resetHiddenFields() is removed. These components can be tested and modified before the complete change is checked in.
          Ted Goddard made changes -
          Assignee Ted Goddard [ ted.goddard ] Ken Fyten [ ken.fyten ]
          Ken Fyten made changes -
          Salesforce Case []
          Assignee Priority P1 P2
          Assignee Ken Fyten [ ken.fyten ] Yip Ng [ yip.ng ]
          yip.ng made changes -
          Attachment screenshot-01.png [ 12713 ]
          yip.ng made changes -
          Attachment screenshot-02.png [ 12714 ]
          Hide
          yip.ng added a comment - - edited

          resetHiddenFieldsFor() present in iceSubmit() and iceSubmitPartial(), i.e. all scenarios using iceSubmit() and iceSubmitPartial() need to be examined. Changes in simpler scenario of collapsible panel tried out first. See screenshots 1 and 2.

          But didn't we once spend a lot of time doing similar changes for all components and then all those changes were abandoned?

          Revision: 23231


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java
          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js

          Show
          yip.ng added a comment - - edited resetHiddenFieldsFor() present in iceSubmit() and iceSubmitPartial(), i.e. all scenarios using iceSubmit() and iceSubmitPartial() need to be examined. Changes in simpler scenario of collapsible panel tried out first. See screenshots 1 and 2. But didn't we once spend a lot of time doing similar changes for all components and then all those changes were abandoned? Revision: 23231 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23231 Mon Nov 29 13:49:34 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23244 Mon Nov 29 17:34:39 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js
          Hide
          yip.ng added a comment - - edited

          Wrong approach. Should keep hidden fields and reset them by components themselves instead of relying on iceSubmit() and iceSubmitPartial() to do it.

          Revision: 23244


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java
          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js

          Show
          yip.ng added a comment - - edited Wrong approach. Should keep hidden fields and reset them by components themselves instead of relying on iceSubmit() and iceSubmitPartial() to do it. Revision: 23244 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/panelcollapsible/PanelCollapsibleRenderer.java Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js
          yip.ng made changes -
          Attachment screenshot-03.png [ 12715 ]
          Hide
          yip.ng added a comment -

          SelectInputTextRenderer: already done in original code. See screenshot 3.

          Show
          yip.ng added a comment - SelectInputTextRenderer: already done in original code. See screenshot 3.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23251 Tue Nov 30 13:56:10 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
          yip.ng made changes -
          Attachment screenshot-04.png [ 12716 ]
          Hide
          yip.ng added a comment -

          TableRenderer paramId: already done in original code. See screenshot 4.

          Show
          yip.ng added a comment - TableRenderer paramId: already done in original code. See screenshot 4.
          Hide
          yip.ng added a comment -

          Rest of TableRenderer done.

          Revision: 23251


          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js

          Show
          yip.ng added a comment - Rest of TableRenderer done. Revision: 23251 Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23253 Tue Nov 30 15:31:59 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
          Hide
          yip.ng added a comment - - edited

          HiddenTreeActionFieldName: can't find its usage at all after global search and studying code, not in decode(), not in any JS. The field is just created and never used?

          Show
          yip.ng added a comment - - edited HiddenTreeActionFieldName: can't find its usage at all after global search and studying code, not in decode(), not in any JS. The field is just created and never used?
          Hide
          yip.ng added a comment -

          com.icesoft.faces.context.effects.CurrentStyle#CSS_UPDATE_FIELD done.

          Revision: 23253


          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js

          Show
          yip.ng added a comment - com.icesoft.faces.context.effects.CurrentStyle#CSS_UPDATE_FIELD done. Revision: 23253 Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
          Hide
          yip.ng added a comment -

          com.icesoft.faces.renderkit.dom_html_basic.FormRenderer#COMMAND_LINK_HIDDEN_FIELD is not just used in command link, but a number of other components (drag and drop, table, chart, popup, tabset, calendar, etc.) Need to check them all.

          Show
          yip.ng added a comment - com.icesoft.faces.renderkit.dom_html_basic.FormRenderer#COMMAND_LINK_HIDDEN_FIELD is not just used in command link, but a number of other components (drag and drop, table, chart, popup, tabset, calendar, etc.) Need to check them all.
          yip.ng made changes -
          Attachment screenshot-05.png [ 12721 ]
          Hide
          yip.ng added a comment - - edited

          COMMAND_LINK_HIDDEN_FIELD in Drag and Drop: already done in original code. See screenshot 5.

          Show
          yip.ng added a comment - - edited COMMAND_LINK_HIDDEN_FIELD in Drag and Drop: already done in original code. See screenshot 5.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23269 Wed Dec 01 14:15:44 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
          Hide
          yip.ng added a comment -

          COMMAND_LINK_HIDDEN_FIELD in TableRenderer done.

          Revision: 23269


          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js

          Show
          yip.ng added a comment - COMMAND_LINK_HIDDEN_FIELD in TableRenderer done. Revision: 23269 Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/extras/extras.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23270 Wed Dec 01 17:02:09 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/outputchart/OutputChart.java
          Hide
          yip.ng added a comment -

          COMMAND_LINK_HIDDEN_FIELD in OutputChart done.

          Revision: 23270


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/outputchart/OutputChart.java

          Show
          yip.ng added a comment - COMMAND_LINK_HIDDEN_FIELD in OutputChart done. Revision: 23270 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/outputchart/OutputChart.java
          Hide
          yip.ng added a comment -

          COMMAND_LINK_HIDDEN_FIELD in PanelPopupRenderer: same as in Drag and Drop.

          Show
          yip.ng added a comment - COMMAND_LINK_HIDDEN_FIELD in PanelPopupRenderer: same as in Drag and Drop.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23279 Thu Dec 02 11:52:24 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/paneltabset/PanelTabSetRenderer.java
          Hide
          yip.ng added a comment -

          COMMAND_LINK_HIDDEN_FIELD in PanelTabSetRenderer done.

          Revision: 23279


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/paneltabset/PanelTabSetRenderer.java

          Show
          yip.ng added a comment - COMMAND_LINK_HIDDEN_FIELD in PanelTabSetRenderer done. Revision: 23279 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/paneltabset/PanelTabSetRenderer.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23283 Thu Dec 02 14:23:50 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/selectinputdate/SelectInputDateRenderer.java
          Hide
          yip.ng added a comment -

          COMMAND_LINK_HIDDEN_FIELD in SelectInputDateRenderer done.

          Revision: 23283


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/selectinputdate/SelectInputDateRenderer.java

          Show
          yip.ng added a comment - COMMAND_LINK_HIDDEN_FIELD in SelectInputDateRenderer done. Revision: 23283 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/selectinputdate/SelectInputDateRenderer.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23286 Thu Dec 02 16:08:17 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/CommandLinkRenderer.java
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/CommandLinkRenderer.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #23287 Thu Dec 02 16:18:18 MST 2010 yip.ng ICE-5941: Remove reliance on resetHiddenFields() in compat components.
          Files Changed
          Commit graph MODIFY /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js
          Hide
          yip.ng added a comment -

          COMMAND_LINK_HIDDEN_FIELD in CommandLinkRenderer done.

          Revision: 23286


          Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/CommandLinkRenderer.java
          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/CommandLinkRenderer.java

          Show
          yip.ng added a comment - COMMAND_LINK_HIDDEN_FIELD in CommandLinkRenderer done. Revision: 23286 Modified : /icefaces2/trunk/icefaces/compat/components/src/main/java/com/icesoft/faces/component/ext/renderkit/CommandLinkRenderer.java Modified : /icefaces2/trunk/icefaces/compat/core/src/main/java/com/icesoft/faces/renderkit/dom_html_basic/CommandLinkRenderer.java
          Hide
          yip.ng added a comment -

          resetHiddenFieldsFor() removed.

          Revision: 23287


          Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js

          Show
          yip.ng added a comment - resetHiddenFieldsFor() removed. Revision: 23287 Modified : /icefaces2/trunk/icefaces/compat/core/src/main/javascript/submit.js
          yip.ng made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Ted Goddard added a comment -

          Code in submit.js verified to match earlier prototype work.

          Show
          Ted Goddard added a comment - Code in submit.js verified to match earlier prototype work.
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P2

            People

            • Assignee:
              yip.ng
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: