How did you "fix" that? The most obvious way that popped into my mind would be pretty expensive.
Thanks, -Alex On 11/1/17, 8:45 AM, "Harbs" <[email protected]> wrote: >FWIW, I fixed MouseEvents and KeyboardEvents to be the Royale types and >not BrowserEvents as they are in the goog libraries. > >OK. Let’s get rid of selectedDateChanged. > >> On Nov 1, 2017, at 5:41 PM, Alex Harui <[email protected]> wrote: >> >> AIUI, events generated by an HTMLElement are caught by Google Closure >> Library's event subsystem and dispatched as a BrowserEvent. I think >>even >> things we think are MouseEvents are actually dispatched as >>BrowserEvents. >> So the actual type for lots of events on the JS side are not what the >> metadata says. I think only the events we dispatch directly don't get >> converted. So yes, that means that we are frequently lying about the >> event type, but since JS doesn't do runtime checking, as long as your >>code >> doesn't need to check the type (via "is" or "as") everything should >>"just >> work". >> >> I'm always interested in running less code, so dispatching two events >> seems unnecessary, and one should go away. I was only trying to say >>that >> I don't care about consistency that every property change event should >>be >> named "somePropertyChanged". IMO, it is ok for the most popular event >>to >> be just plain "change". >> >> My 2 cents, >> -Alex >> >> On 11/1/17, 12:37 AM, "Harbs" <[email protected] >><mailto:[email protected]>> wrote: >> >>> I’m not sure why/how, but I checked and the change event on the >>> DateChooser change event is BrowserEvent. Maybe that’s a bug. >>> >>> Here’s what I get if I listen for both events and trace them to the >>> console: >>> >>> org.apache.royale.events.Event {type: "selectedDateChanged", target: >>> org.a…e.r…e.h…l.DateChooser, currentTarget: >>>org.a…e.r…e.h…l.DateChooser, >>> propagationStopped_: false, defaultPrevented: false, …} >>> org.apache.royale.events.BrowserEvent {wrappedEvent: >>>g…g.e…s.BrowserEvent} >>> >>> The type, target and currentTarget properties are correct in the >>> BrowserEvent and the rest of the properties are undefined. So, I’m not >>> sure that it really matters that it is a BrowserEvent, although the >>> construction of it has to be less efficient. >>> >>> Either way, do you agree that there should be only one of these two >>> events dispatched? >>> >>>> On Nov 1, 2017, at 5:38 AM, Alex Harui <[email protected]> >>>>wrote: >>>> >>>> I think the most common event should have a simple name like "change". >>>> It >>>> makes it easier to remember. >>>> >>>> In JS, the actual type of most events is BrowserEvent if it was >>>> initiated >>>> by an HTMLElement event. We are sort of taking advantage of the fact >>>> that >>>> JS isn't strongly typed and hopefully nobody really needs to >>>>type-check >>>> the event class. >>>> >>>> My 2 cents, >>>> -Alex >>>> >>>> On 10/31/17, 4:30 PM, "Harbs" <[email protected] >>>> <mailto:[email protected] <mailto:[email protected]>>> wrote: >>>> >>>>> Nope. >>>>> >>>>> Copying my response from Github: >>>>> >>>>> The only place change is referenced in the Framework is in the >>>>>metadata >>>>> of DateChooser: >>>>> [Event(name="change", type="org.apache.royale.events.Event")] >>>>> >>>>> That could easily be changed to: >>>>> [Event(name="selectedDateChanged", >>>>> type="org.apache.royale.events.Event")] >>>>> >>>>> The current metadata is actually incorrect, because the event type is >>>>> org.apache.royale.events.BrowserEvent >>>>> >>>>> Harbs >>>>> >>>>>> On Nov 1, 2017, at 1:29 AM, Piotr Zarzycki >>>>>><[email protected] <mailto:[email protected]>> >>>>>> wrote: >>>>>> >>>>>> You can remove it if it is not fired it up for some other cases in >>>>>> DateChooser. >>>>>> >>>>>> Piotr >>>>>> >>>>>> 2017-11-01 0:23 GMT+01:00 Harbs <[email protected] >>>>>><mailto:[email protected]>>: >>>>>> >>>>>>> My comment in the commit message needs discussion. >>>>>>> >>>>>>> I think the change event should be removed. What do others think? >>>>>>> >>>>>>> Harbs >>>>>>> >>>>>>>> On Nov 1, 2017, at 1:14 AM, [email protected] >>>>>>>><mailto:[email protected]> wrote: >>>>>>>> >>>>>>>> This is an automated email from the ASF dual-hosted git >>>>>>>>repository. >>>>>>>> >>>>>>>> harbs pushed a commit to branch develop >>>>>>>> in repository >>>>>>>> >>>>>>>> >>>>>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi >>>>>>>>tb >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fg >>>>>>>>itb> >>>>>>>> ox >>>>>>>> >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fg >>>>>>>>it >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fg >>>>>>>>it> >>>>>>>> box> >>>>>>>> .apache.org >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fap >>>>>>>>ache.org%2F&data=02%7C01%7C%7C7b4540aedf554e9abd0b08d5213f9c98%7Cfa >>>>>>>>7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636451479453261727&sdata=c >>>>>>>>TdyosIbkoYs%2B7dNmAYMjWZA1LeK0dnhAdsF1zEuXH4%3D&reserved=0> >>>>>>>> >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fap >>>>>>>>ac >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fap >>>>>>>>ac> >>>>>>>> he.org >>>>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhe >>>>>>>>.org%2F&data=02%7C01%7C%7C7b4540aedf554e9abd0b08d5213f9c98%7Cfa7b1b >>>>>>>>5a7b34438794aed2c178decee1%7C0%7C0%7C636451479453261727&sdata=pP5w8 >>>>>>>>NbST3hPFoRy%2B4fnPVXBB%2FXnBCDrngOsHkz2Yog%3D&reserved=0>%2F&data=0 >>>>>>>>2%7C01%7C%7C817a277357384d327b7208d520fb6902%7Cfa7b1b >>>>>>>> >>>>>>>>5a7b34438794aed2c178decee1%7C0%7C0%7C636451186536265548&sdata=pG0pr >>>>>>>>Ot >>>>>>>> >>>>>>>>yP38hDAZWo9shrc%2F%2FIIveXWBR5LJkOS4NfH4%3D&reserved=0>%2Frepos%2Fa >>>>>>>>sf >>>>>>>> %2Froyale-asjs.git&data=02%7C01%7C%7C0ff258657 >>>>>>>> >>>>>>>> >>>>>>>>48242cefbda08d520b77849%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0% >>>>>>>>7C >>>>>>>> 63 >>>>>>>> >>>>>>>> >>>>>>>>6450894728223920&sdata=p24zgDJLDKLtwvp1n8FWLd5kjtBxlwryG5q3GB9DSTg% >>>>>>>>3D >>>>>>>> &r >>>>>>>> eserved=0 >>>>>>>> >>>>>>>> >>>>>>>> The following commit(s) were added to refs/heads/develop by this >>>>>>>> push: >>>>>>>> new 2072541 Fixes #24 >>>>>>>> 2072541 is described below >>>>>>>> >>>>>>>> commit 2072541f1f9da5ed1780d497a6ec5fab52674b91 >>>>>>>> Author: Harbs <[email protected] <mailto:[email protected]> >>>>>>>><mailto:[email protected] <mailto:[email protected]>>> >>>>>>>> AuthorDate: Wed Nov 1 01:14:29 2017 +0200 >>>>>>>> >>>>>>>> Fixes #24 >>>>>>>> >>>>>>>> I’m not sure why we’re dispatching both a “selctedDateChanged” >>>>>>>> event >>>>>>> and a “changed” event for the same action. It seems like we should >>>>>>> dispatch >>>>>>> one or the other. >>>>>>>> On the one hand, “change” is a standard name, so it’s easily >>>>>>> discoverable. On the other hand, “change” is one of the special >>>>>>> events >>>>>>> which become BrowserEvents when dispatched. >>>>>>>> I think the change event should be removed. >>>>>>>> --- >>>>>>>> .../org/apache/royale/html/beads/DateChooserView.as | 16 >>>>>>> ++++++++++++---- >>>>>>>> .../html/beads/controllers/DateChooserMouseController.as | 1 - >>>>>>>> 2 files changed, 12 insertions(+), 5 deletions(-) >>>>>>>> >>>>>>>> diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/DateChooserView.as b/frameworks/projects/Basic/ >>>>>>> src/main/royale/org/apache/royale/html/beads/DateChooserView.as >>>>>>>> index 2316f4a..17a5ef0 100644 >>>>>>>> --- a/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/DateChooserView.as >>>>>>>> +++ b/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/DateChooserView.as >>>>>>>> @@ -86,6 +86,13 @@ package org.apache.royale.html.beads >>>>>>>> private var daysContainer:DateChooserList; >>>>>>>> >>>>>>>> /** >>>>>>>> + * @royaleignorecoercion >>>>>>>>org.apache.royale.core.UIBase >>>>>>>> + */ >>>>>>>> + private function getHost():UIBase >>>>>>>> + { >>>>>>>> + return _strand as UIBase; >>>>>>>> + } >>>>>>>> + /** >>>>>>>> * The button that causes the previous month to be >>>>>>> displayed by the DateChooser. >>>>>>>> * >>>>>>>> * @langversion 3.0 >>>>>>>> @@ -171,7 +178,7 @@ package org.apache.royale.html.beads >>>>>>>> _nextMonthButton.style.flexGrow = 0; >>>>>>>> monthButtonsContainer. >>>>>>> addElement(_nextMonthButton); >>>>>>>> >>>>>>>> - >>>>>>>> UIBase(_strand).addElement(monthButtonsContainer, >>>>>>> false); >>>>>>>> + getHost().addElement(monthButtonsContainer, >>>>>>> false); >>>>>>>> >>>>>>>> // DAY NAMES >>>>>>>> >>>>>>>> @@ -188,7 +195,7 @@ package org.apache.royale.html.beads >>>>>>>> COMPILE::SWF { >>>>>>>> dayNamesContainer.percentWidth = 100; >>>>>>>> } >>>>>>>> - >>>>>>>>UIBase(_strand).addElement(dayNamesContainer, >>>>>>> false); >>>>>>>> + getHost().addElement(dayNamesContainer, >>>>>>>> false); >>>>>>>> >>>>>>>> // DAYS >>>>>>>> >>>>>>>> @@ -203,7 +210,7 @@ package org.apache.royale.html.beads >>>>>>>> COMPILE::SWF { >>>>>>>> daysContainer.percentWidth = 100; >>>>>>>> } >>>>>>>> - UIBase(_strand).addElement(daysContainer, >>>>>>>> false); >>>>>>>> + getHost().addElement(daysContainer, false); >>>>>>>> >>>>>>>> >>>>>>>> IEventDispatcher(daysContainer).dispatchEvent( >>>>>>> new Event("itemsCreated") ); >>>>>>>> @@ -233,7 +240,8 @@ package org.apache.royale.html.beads >>>>>>>> var index:Number = >>>>>>>> model.getIndexForSelectedDate( >>>>>>> ); >>>>>>>> daysContainer.selectedIndex = index; >>>>>>>> >>>>>>>> - IEventDispatcher(_strand).dispatchEvent(new >>>>>>> Event("selectedDateChanged")); >>>>>>>> + getHost().dispatchEvent(new >>>>>>> Event("selectedDateChanged")); >>>>>>>> + getHost().dispatchEvent( new Event("change") >>>>>>>> ); >>>>>>>> } >>>>>>>> >>>>>>>> /** >>>>>>>> diff --git a/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/controllers/DateChooserMouseController.as >>>>>>> b/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/controllers/DateChooserMouseController.as >>>>>>>> index d3ef05c..ccf3cbc 100644 >>>>>>>> --- a/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/controllers/DateChooserMouseController.as >>>>>>>> +++ b/frameworks/projects/Basic/src/main/royale/org/apache/ >>>>>>> royale/html/beads/controllers/DateChooserMouseController.as >>>>>>>> @@ -81,7 +81,6 @@ package org.apache.royale.html.beads.controllers >>>>>>>> var list:DateChooserList = event.target as >>>>>>>> DateChooserList; >>>>>>>> var model:DateChooserModel = >>>>>>>> _strand.getBeadByType(IBeadModel) >>>>>>> as DateChooserModel; >>>>>>>> model.selectedDate = list.selectedItem as Date; >>>>>>>> - IEventDispatcher(_strand).dispatchEvent( new >>>>>>> Event("change") ); >>>>>>>> } >>>>>>>> >>>>>>>> /** >>>>>>>> >>>>>>>> -- >>>>>>>> To stop receiving notification emails like this one, please >>>>>>>>contact >>>>>>>> ['"[email protected] <mailto:[email protected]> >>>>>>>><mailto:[email protected] >>>>>>>><mailto:[email protected]>>" >>>>>>>> <[email protected] <mailto:[email protected]> >>>>>>>><mailto:[email protected] >>>>>>>><mailto:[email protected]>>>']. >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Piotr Zarzycki >>>>>> >>>>>> mobile: +48 880 859 557 >>>>>> skype: zarzycki10 >>>>>> >>>>>> LinkedIn: >>>>>> >>>>>> >>>>>>https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.l >>>>>>in >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. >>>>>>lin> >>>>>> ke >>>>>> >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. >>>>>>li >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. >>>>>>li> >>>>>> nke> >>>>>> din.com >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdin. >>>>>>com%2F&data=02%7C01%7C%7C7b4540aedf554e9abd0b08d5213f9c98%7Cfa7b1b5a7 >>>>>>b34438794aed2c178decee1%7C0%7C0%7C636451479453261727&sdata=LQF5rTTo6I >>>>>>w1toxzJNk%2BiaKFtekYYKVgHaPUiO1ddnM%3D&reserved=0> >>>>>> >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdin. >>>>>>co >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdin. >>>>>>co> >>>>>> >>>>>>m%2F&data=02%7C01%7C%7C817a277357384d327b7208d520fb6902%7Cfa7b1b5a7b3 >>>>>>44 >>>>>> >>>>>>38794aed2c178decee1%7C0%7C0%7C636451186536265548&sdata=8Vthp0Wrfb%2Be >>>>>>VT >>>>>> >>>>>>yudUKEmQx2gD0ojbKiMDeh0omHxOw%3D&reserved=0>%2Fpiotrzarzycki&data=02% >>>>>>7C >>>>>> 01%7C%7C0ff25865748242cefbda08d520b7784 >>>>>> >>>>>> >>>>>>9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450894728223920&sda >>>>>>ta >>>>>> =i >>>>>> yKjF6QyvtOVxAZM%2FgiPbBT7jgVPIqjLvaCw9%2BTJbrY%3D&reserved=0 >>>>>> >>>>>> >>>>>> >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpl. >>>>>>li >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpl. >>>>>>li> >>>>>> nk >>>>>> >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpl. >>>>>>li >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpl. >>>>>>li> >>>>>> nk> >>>>>> edin.com >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fedin >>>>>>.com%2F&data=02%7C01%7C%7C7b4540aedf554e9abd0b08d5213f9c98%7Cfa7b1b5a >>>>>>7b34438794aed2c178decee1%7C0%7C0%7C636451479453261727&sdata=hXeGwkrfN >>>>>>54Goi%2B01aEuixeq%2Fr6jgLOkcZ7PW%2BiNQxo%3D&reserved=0> >>>>>> >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fedin >>>>>>.c >>>>>><https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fedin >>>>>>.c> >>>>>> >>>>>>om%2F&data=02%7C01%7C%7C817a277357384d327b7208d520fb6902%7Cfa7b1b5a7b >>>>>>34 >>>>>> >>>>>>438794aed2c178decee1%7C0%7C0%7C636451186536265548&sdata=xs3%2Biiq2xAX >>>>>>Fa >>>>>> >>>>>>jZear3dLmRjmEwQ8H2WBLfFh08AFKU%3D&reserved=0>%2Fin%2Fpiotr-zarzycki-9 >>>>>>2a >>>>>> 53552&data=02%7C01%7C%7C0ff25865748242c >>>>>> >>>>>> >>>>>>efbda08d520b77849%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450 >>>>>>89 >>>>>> 47 >>>>>> >>>>>> >>>>>>28223920&sdata=4Y%2BsJt5LmIUcCfs31OWhHaJTbP5FtqewhVcqGqnbotM%3D&reser >>>>>>ve >>>>>> d= >>>>>> 0> >>>>>> >>>>>> GitHub: >>>>>> >>>>>> >>>>>>https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith >>>>>>ub >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit >>>>>>hub> >>>>>> .c >>>>>> >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit >>>>>>hu >>>>>><https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit >>>>>>hu> >>>>>> b.c> >>>>>> >>>>>> >>>>>>om%2Fpiotrzarzycki21&data=02%7C01%7C%7C0ff25865748242cefbda08d520b778 >>>>>>49 >>>>>> %7 >>>>>> >>>>>> >>>>>>Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450894728223920&sdata= >>>>>>WZ >>>>>> tw >>>>>> vlQJnZK4rHRMSEnTG5iTKvR7rZZHa8qHn4fdgk0%3D&reserved=0 >
