"Resize" seemed to be reserved by the browser. Plus, IMO, events should have more explicit names. When the width changes, then dispatch "widthChange" because it may or may not guarantee a "resize" in response. "sizeChanged" means that someone called an API which set width and height in the same call.
Of course, this stuff can all be changed if there is a better way. My 2 cents, -Alex On 2/22/17, 5:53 AM, "Peter Ent" <p...@adobe.com> wrote: >Alex will need to chime in here, but I believe his philosophy has been to >keep the number of specialized events to a minimum. I'm not 100% sure I >agree with that since it can be a lot easier to write code when you are >responding to specific events, but it does expand the final footprint of >the app having all the code for those classes. > >I think FlexJS will always be a challenge between convenient and >size/performance. > > >‹peter > >On 2/22/17, 3:42 AM, "Harbs" <harbs.li...@gmail.com> wrote: > >>I think it¹s to be consistent with widthChanged and heightChanged. There >>is no ³resize² event anywhere in FlexJS. It¹s probably a good idea to not >>use the browser names for events. >> >>I do believe there should be a ResizeEvent with consts for SIZE_CHANGED, >>WIDTH_CHANGED and HEIGHT_CHANGED. This does not yet exist. >> >>> On Feb 22, 2017, at 9:20 AM, Justin Mclean <jus...@classsoftware.com> >>>wrote: >>> >>> Hi, >>> >>>> Looks like you¹re using a flash event instead of the flexjs one. >>> >>> Thanks for that I tried that as well, but still doesn¹t work. >>> >>> I can see the Resize bead is doing this: >>> window.addEventListener('resize', >>>org.apache.flex.utils.Language.closure(this.resizeHandler, this, >>>'resizeHandler'), false); >>> >>> And dispatches a ³sizeChanged² event like so: >>> initialView.dispatchEvent('sizeChanged¹); >>> >>> Any reason for the event name change? >>> >>> So this code below will work. But it seems a rather roundabout way of >>>doing it. >>> >>> <?xml version="1.0" encoding="utf-8"?> >>> <js:Application xmlns:fx="http://ns.adobe.com/mxml/2009" >>> xmlns:js="library://ns.apache.org/flexjs/basic" >>>initialize="init()"> >>> >>> <js:beads> >>> <js:BrowserResizeHandler /> >>> </js:beads> >>> >>> <fx:Script><![CDATA[ >>> public function init():void { >>> initialView.addEventListener("sizeChanged", resized); >>> } >>> >>> public function resized(event:Event):void { >>> trace("resized to " + initialView.width + " x " + >>>initialView.height); >>> } >>> ]]></fx:Script> >>> <js:valuesImpl> >>> <js:SimpleCSSValuesImpl/> >>> </js:valuesImpl> >>> >>> <js:initialView> >>> <js:View percentWidth="100" percentHeight="100"> >>> <js:Label text="Resize Me" /> >>> </js:View> >>> </js:initialView> >>> >>> </js:Application> >>> >>> >>> >>> >>> Thanks, >>> Justin >> >