Results 1 to 6 of 6

Thread: [4.1 rc1] The label of a field container is not disabled with the disabled field

    Success! Looks like we've fixed this one. According to our records the fix was applied for EXTJS-5763 in a recent build.
  1. #1
    Sencha User
    Join Date
    Jun 2008
    Posts
    316
    Vote Rating
    24
      0  

    Default [4.1 rc1] The label of a field container is not disabled with the disabled field

    REQUIRED INFORMATION


    Ext version tested:

    • Ext 4.1 rc1



    Browser versions tested against:

    • IE 9.0.8112.16421
    • FF 11.0, firebug 1.9.1
    • Opera 11.62
    • Chrome 18
    • Safari 5.1.4



    Description:

    • By disabling of a field container, the lable is not being disabled, whereas
      by normal fields, the label is also marked as disabled when the field is disabled.



    Steps to reproduce the problem:

    • Take the example form/fieldcontainer.html
    • add the button for disabling of the form fields

      Code:
                  {
                      text   : 'Disable',
                      handler: function() {
                          this.up('form').getForm().getFields().each(function (item, index, length) {
                            item.setDisabled(true);
                          });
                      }
                  }
    • Push the button



    The result that was expected:

    • The label of the composite field "Date Range" should be disabled like it is by the normal field "Email Address".



    The result that occurs instead:

    • The label of the composite field "Date Range" was disabled whereas by the normal field "Email Address" is was disabled.




    HELPFUL INFORMATION


    Debugging already done:

    • none



    Possible fix:

    • not provided



    Additional CSS used:

    • only default ext-all.css



    Operating System:

    • Windows 7

  2. #2
    Sencha - Support Team scottmartin's Avatar
    Join Date
    Jul 2010
    Location
    Houston, Tx
    Posts
    9,388
    Vote Rating
    499
      0  

    Default

    Thank you for the report! Please use the ID above to track the progress.

    Regards,
    Scott.

  3. #3
    Sencha User
    Join Date
    Mar 2012
    Posts
    50
    Vote Rating
    2
      1  

    Default

    The problem is in the sample code, not in the framework. By calling this.up('form').getForm().getFields(), you collect an array of all the individual fields that are sent back by the form. A field container is not an HTML input field, so it's not part of the array.

    By disabling a field container, you can disable its descendants, so the handler should be:

    handler: function() { var fields = this.up('form').query('fieldcontainer,textfield');
    if (fields) {
    Ext.Array.each(fields, function (item, index, length) {
    item.setDisabled(true);
    });
    }
    }


    This test case, however, revealed a bug in the CSS where a disabled displayfield doesn't appear greyed out. A fix will be available in the next release of ExtJS.

  4. #4
    Sencha User
    Join Date
    Jun 2008
    Posts
    316
    Vote Rating
    24
      0  

    Default

    I noticed that this bug is still present in the ExtJS 4.2.

    Do the same steps to reprodcue it in ExtJS 4.2.

  5. #5
    Sencha User
    Join Date
    Mar 2012
    Posts
    50
    Vote Rating
    2
      0  

    Default

    @Qtx: I tested with 4.2 but the fix is still valid. I checked under all 4 themes (Accessibility, Classic, Grey, Neptune) to make sure the CSS was correct too.

    Have you updated your button handler? The one you listed under "Steps to reproduce the problem" is invalid. The one I'm using is what I described above:

    Code:
                {
                    text   : 'Disable',
                    handler: function() { 
                        var fields = this.up('form').query('fieldcontainer,textfield');
                        if (fields) {
                            Ext.Array.each(fields, function (item, index, length) {
                                    item.setDisabled(true);
                                });
                        }
                    }
                }

  6. #6
    Sencha User
    Join Date
    Jun 2008
    Posts
    316
    Vote Rating
    24
      0  

    Default

    Sorry, my mistake!

    I saw that it is fixed and did not pay attection to the details.

    Now I see that it works.

    Tnank you for your hint!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •