
Hello all,
Beta8 is about ready for release. Just wanted to give everyone a heads up given that this release is a greater step forward than usual. If you happen to know of any critical "showstopper" class bugs (or even little annoying ones), please report them ASAP. The current SVN trunk is quite stable, as are the nightly builds: http://download.nextapp.com/downloads/echo3go/
Best
--Tod
Although not critical, this
Although not critical, this is one I cannot find a workaround for: http://bugs.nextapp.com/mantis/view.php?id=379
Regrettably there are
Regrettably there are reasons for this madness.
First, text components that have percent widths render their inner size to the percent dimension. So if you set have a 600 pixel wide container and set a text field with a 2px border to 100% width, you wind up with a 604 (600 + 2 + 2) pixel wide text field.
Second, IE has some crazy bugs with regard to text components with percent sizes growing. These are nothing short of completely insane in the typical MSIE fashion. I think this happens with percent-width text components in table elements IIRC.
Here is the crazy code:
/** @see Echo.Render.ComponentSync#renderDisplay */ renderDisplay: function() { var width = this.component.render("width"); if (width && Echo.Sync.Extent.isPercent(width) && this.input.parentNode.offsetWidth) { // If width is a percentage, reduce rendered percent width based on measured container size and border width, // such that border pixels will not make the component wider than specified percentage. var border = this.component.render("border"); var borderSize = Echo.Sync.Border.getPixelSize(this.component.render("border", "2px solid #000000"), "left") + Echo.Sync.Border.getPixelSize(this.component.render("border", "2px solid #000000"), "right") + 1; if (Core.Web.Env.BROWSER_INTERNET_EXPLORER) { // Add default windows scroll bar width to border size for Internet Explorer browsers. if (this.container) { this.container.style.width = this._adjustPercentWidth(100, Core.Web.Measure.SCROLL_WIDTH, this.input.parentNode.offsetWidth) + "%"; } else { borderSize += Core.Web.Measure.SCROLL_WIDTH; } } this.input.style.width = this._adjustPercentWidth(parseInt(width, 10), borderSize, this.input.parentNode.offsetWidth) + "%"; } },I'd love to make this better, and will try and have a look again.
Have improved things
Have improved things slightly for Firefox...and possibly a tiny bit for IE as well. I still have to leave space for the vertical scrollbar, or we wind up seeing a completely unnecessary horizontal one as well when the vertical appears.