static/ext/src/ux/form/field/ClearButton.js
function() {
            var oldVisible = this.isButtonCurrentlyVisible();
            var newVisible = this.shouldButtonBeVisible();

            var clearButtonEl = this.clearButtonEl;
            if (oldVisible != newVisible) {
                if(this.animateClearButton && this.animateWithCss3) {
                    this.clearButtonEl.removeCls(this.clearButtonCls + (oldVisible ? '-on' : '-off'));
                    clearButtonEl.addCls(this.clearButtonCls + (newVisible ? '-on' : '-off'));
                }
                else {
                    clearButtonEl.stopAnimation();
                    clearButtonEl.setVisible(newVisible, this.animateClearButton);
                }

                // Set background-color of clearButton to same as field's background-color (for those browsers/cases
                // where the padding-right (see below) does not work)
                clearButtonEl.setStyle('background-color', this.textField.inputEl.getStyle('background-color'));

                // Adjust padding-right of the input tag to make room for the button
                // IE (up to v9) just ignores this and Gecko handles padding incorrectly with  textarea scrollbars
                if (!(this.isTextArea && Ext.isGecko) && !Ext.isIE) {
                    // See https://bugzilla.mozilla.org/show_bug.cgi?id=157846
                    var deltaPaddingRight = clearButtonEl.getWidth() - this.clearButtonEl.getMargin('l');
                    var currentPaddingRight = this.textField.inputEl.getPadding('r');
                    var factor = (newVisible ? +1 : -1);
                    this.textField.inputEl.dom.style.paddingRight = (currentPaddingRight + factor * deltaPaddingRight) + 'px';
                }
            }
        }
function() {
            var oldVisible = this.isButtonCurrentlyVisible();
            var newVisible = this.shouldButtonBeVisible();

            var clearButtonEl = this.clearButtonEl;
            if (oldVisible != newVisible) {
                if(this.animateClearButton && this.animateWithCss3) {
                    this.clearButtonEl.removeCls(this.clearButtonCls + (oldVisible ? '-on' : '-off'));
                    clearButtonEl.addCls(this.clearButtonCls + (newVisible ? '-on' : '-off'));
                }
                else {
                    clearButtonEl.stopAnimation();
                    clearButtonEl.setVisible(newVisible, this.animateClearButton);
                }

                // Set background-color of clearButton to same as field's background-color (for those browsers/cases
                // where the padding-right (see below) does not work)
                clearButtonEl.setStyle('background-color', this.textField.inputEl.getStyle('background-color'));

                // Adjust padding-right of the input tag to make room for the button
                // IE (up to v9) just ignores this and Gecko handles padding incorrectly with  textarea scrollbars
                if (!(this.isTextArea && Ext.isGecko) && !Ext.isIE) {
                    // See https://bugzilla.mozilla.org/show_bug.cgi?id=157846
                    var deltaPaddingRight = clearButtonEl.getWidth() - this.clearButtonEl.getMargin('l');
                    var currentPaddingRight = this.textField.inputEl.getPadding('r');
                    var factor = (newVisible ? +1 : -1);
                    this.textField.inputEl.dom.style.paddingRight = (currentPaddingRight + factor * deltaPaddingRight) + 'px';
                }
            }
        }
function ( ) { var oldVisible = this . isButtonCurrentlyVisible ( ) ; var newVisible = this . shouldButtonBeVisible ( ) ; var clearButtonEl = this . clearButtonEl ; if ( oldVisible != newVisible ) { if ( this . animateClearButton && this . animateWithCss3 ) { this . clearButtonEl . removeCls ( this . clearButtonCls + ( oldVisible ? '-on' : '-off' ) ) ; clearButtonEl . addCls ( this . clearButtonCls + ( newVisible ? '-on' : '-off' ) ) ; } else { clearButtonEl . stopAnimation ( ) ; clearButtonEl . setVisible ( newVisible , this . animateClearButton ) ; } // Set background-color of clearButton to same as field's background-color (for those browsers/cases // where the padding-right (see below) does not work) clearButtonEl . setStyle ( 'background-color' , this . textField . inputEl . getStyle ( 'background-color' ) ) ; // Adjust padding-right of the input tag to make room for the button // IE (up to v9) just ignores this and Gecko handles padding incorrectly with  textarea scrollbars if ( ! ( this . isTextArea && Ext . isGecko ) && ! Ext . isIE ) { // See https://bugzilla.mozilla.org/show_bug.cgi?id=157846 var deltaPaddingRight = clearButtonEl . getWidth ( ) - this . clearButtonEl . getMargin ( 'l' ) ; var currentPaddingRight = this . textField . inputEl . getPadding ( 'r' ) ; var factor = ( newVisible ? + 1 : - 1 ) ; this . textField . inputEl . dom . style . paddingRight = ( currentPaddingRight + factor * deltaPaddingRight ) + 'px' ; } } }
Called after any event that may influence the clear button visibility.
Called after any event that may influence the clear button visibility .