Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    DynamicForm behavor change issue.

    Hi,

    We have an issue reported from one of our customers who is upgrading from our product with old SmartClient build (v8.3p_2013-06-11/PowerEdition) to the product with the current 8.3 build (v8.3p_2015-05-05/PowerEdition) regarding to the DynamicForm behaviour change.

    In v8.3p_2013-06-11/PowerEdition, if the defined column widths cannot fill the whole width of the DynamicForm, the width of each column will be expanded according to the relative proportions of the defined column widths. In v8.3p_2015-05-05/PowerEdition, the defined column widths will be strictly applied even if the whole width of the containing Grid Layout is not fully filled. For example, if the column widths are defined to be [300, 300], it does not fill the width of the DynamicForm. Previously, each column will take 50%, 50% of the Grid Layout width respectively and each element in the DynamicForm with "*" width will take the defined "300px" width, but now each column will strictly take 300px, 300px respectively.

    To get the previous behaviour, we suggest our customer to modify the code to Change the column widths to [50% 50%] and then modify the width of all elements under first columns to be 300px and the width of all elements under second columns to be 300px as well.

    However, it is not acceptable by our customer as they have more than 400 complex DynamicForms with many elements to change. It is time consuming and we got very strong feedback from them.

    We are wondering if there is easier way we can get the old behaviour back? Is it a backward compatibility issue? If so, please help with solutions.

    Thanks,
    Robin

    Please check the following standalone for reference:

    Code:
    isc.DynamicForm.create({
        ID: "exampleForm",
        width: "100%",
    	numCols: 2,
    	colWidths: [300,300],
    	titleOrientation: "top",
        fields: [
            {name: "username",
             title: "Username",
             type: "text",
             required: true,
             defaultValue: "bob",
    		 width: "*"
            },
            {name: "email",
             title: "Email",
             required: true,
             type: "text",
             defaultValue: "bob@isomorphic.com",
    		 width: "*"
            },
            {name: "password",
             title: "Password",
             required: true,
             type: "password",
    		 width: "*"
            },
            {name: "password2",
             required: true,
             title: "Password again",
             type: "password",
    		 width: "*"
            }
        ]
    });
    Attached Files

    #2
    There have been no changes related to form layout in 8.3 for a long, long time.

    Most likely, you are seeing a change in browser behavior, or an unrelated change in your code (such as changes to DOCTYPE, CSS definitions or similar) that has caused this effect.

    Note that the behavior is what we document, and if you want space to be split, colWidths:["*", "*"] is the right declaration.

    Comment


      #3
      Hi,

      It is an old change from v8.3p_2013-06-11/PowerEdition to v8.3p_2015-05-05/PowerEdition and we can reproduce the issue in the same browser with the same standalone code provided.

      Setting colWidths:["*", "*"] does not bring back the old behavior as we also need aslo to set the widths for each text item to 300 px to get the previous behavior.

      We understand it is the behavior what you document, but it is a change or a fix that made in the product long time ago. We are getting pressure and strong feedback from our customer for the backward compatibly issue, and modifying more than 400 complex DynamicForm is a very time consuming task for our customer.

      Thanks,
      Robin

      Comment


        #4
        Ah, OK, we missed that you were actually talking about a 2 *year* stretch of time over which this undocumented behavior was changed.

        Unfortunately, you're asking that a behavior be restored that was never documented or intended. And, whatever change we made that caused a behavior change in this scenario was part of fixing an actual bug, so to restore this undocumented behavior, we'd have to do something like add a flag that allows you to reintroduce the fixed bug..

        Since this is not a framework bug or even in a gray area, this is not something Support can help you with.

        Long term, you should change your code so that it uses documented and supported approaches to get the layout you're looking for. Short term, you could consider various hacks, such as transforming the colWidths and width settings on items in an override of dynamicForm.init().

        Comment

        Working...
        X