ICEfaces
  1. ICEfaces
  2. ICE-1912

whole form gets updated when single component in table is modified

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.6
    • Fix Version/s: 1.6.1
    • Component/s: ICE-Components
    • Labels:
      None
    • Environment:
      any
    • Support Case References:
      #4042

      Description

      When a dataTable contains other components like i.e. a selectInputDate in one or more
      columns and this component is modified then the whole form gets submitted instead of
      the modified component only. This results in a performance problem when users create
      large dataTables. If there are tables with more then 5 or 10 thousand rows this becomes
      extremely costly.

        Issue Links

          Activity

          Hide
          Adnan Durrani added a comment -

          The performance is being decreased due to the following factors. The huge domUpdate and the processing of hidden fields on the client side.

          There are two component level and one framework level issue.

          Component Level:

          1- When selectInputDate renders in the pop-up mode, all calendars being rendered regardless of its pop-up state.[Fixed revision:14630. The calendar would only render when popup state is true]

          2- The selectInputDate component renders couple of hidden fields based on its clientId. So when selectInputDate is inside the UIData type of component all its hidden fields multiplies by number of rows in the UIData. (Here performance decrease significantly on the client side when bridge has to serialize all hidden field before any partialSubmit)

          Framework Level:
          The form renderer adds hidden fields without any id attribute, so any component which renders hidden fields causes entire form to be sent as DOM update. (As this issue is framework level so I have created the following JIRA case ICE-1985 )

          Show
          Adnan Durrani added a comment - The performance is being decreased due to the following factors. The huge domUpdate and the processing of hidden fields on the client side. There are two component level and one framework level issue. Component Level: 1- When selectInputDate renders in the pop-up mode, all calendars being rendered regardless of its pop-up state. [Fixed revision:14630. The calendar would only render when popup state is true] 2- The selectInputDate component renders couple of hidden fields based on its clientId. So when selectInputDate is inside the UIData type of component all its hidden fields multiplies by number of rows in the UIData. (Here performance decrease significantly on the client side when bridge has to serialize all hidden field before any partialSubmit) Framework Level: The form renderer adds hidden fields without any id attribute, so any component which renders hidden fields causes entire form to be sent as DOM update. (As this issue is framework level so I have created the following JIRA case ICE-1985 )
          Hide
          Adnan Durrani added a comment -

          With the existing bridge all input elements must need to be serialized, so there can't be any component level enhancement at this point. Developers just need to apply best practices.

          Don't put any input type of component inside the dataTable, make an edit link, on edit replace output components with appropriate input components.

          Show
          Adnan Durrani added a comment - With the existing bridge all input elements must need to be serialized, so there can't be any component level enhancement at this point. Developers just need to apply best practices. Don't put any input type of component inside the dataTable, make an edit link, on edit replace output components with appropriate input components.

            People

            • Assignee:
              Unassigned
              Reporter:
              Michael Thiem
            • Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: