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%2Fgitb 
>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitb>
>>>>>>> ox 
>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit 
>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit>
>>>>>>> box>
>>>>>>> .apache.org <http://apache.org/> 
>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapac 
>>>>>>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fapac>
>>>>>>> he.org 
>>>>>>> <http://he.org/>%2F&data=02%7C01%7C%7C817a277357384d327b7208d520fb6902%7Cfa7b1b
>>>>>>> 5a7b34438794aed2c178decee1%7C0%7C0%7C636451186536265548&sdata=pG0prOt
>>>>>>> yP38hDAZWo9shrc%2F%2FIIveXWBR5LJkOS4NfH4%3D&reserved=0>%2Frepos%2Fasf
>>>>>>> %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.lin 
>>>>> <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 <http://din.com/> 
>>>>> <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%7Cfa7b1b5a7b344
>>>>> 38794aed2c178decee1%7C0%7C0%7C636451186536265548&sdata=8Vthp0Wrfb%2BeVT
>>>>> yudUKEmQx2gD0ojbKiMDeh0omHxOw%3D&reserved=0>%2Fpiotrzarzycki&data=02%7C
>>>>> 01%7C%7C0ff25865748242cefbda08d520b7784
>>>>> 
>>>>> 9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450894728223920&sdata
>>>>> =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 <http://edin.com/> 
>>>>> <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%7Cfa7b1b5a7b34
>>>>> 438794aed2c178decee1%7C0%7C0%7C636451186536265548&sdata=xs3%2Biiq2xAXFa
>>>>> jZear3dLmRjmEwQ8H2WBLfFh08AFKU%3D&reserved=0>%2Fin%2Fpiotr-zarzycki-92a
>>>>> 53552&data=02%7C01%7C%7C0ff25865748242c
>>>>> 
>>>>> efbda08d520b77849%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63645089
>>>>> 47
>>>>> 
>>>>> 28223920&sdata=4Y%2BsJt5LmIUcCfs31OWhHaJTbP5FtqewhVcqGqnbotM%3D&reserve
>>>>> d=
>>>>> 0>
>>>>> 
>>>>> GitHub: 
>>>>> 
>>>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub 
>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub>
>>>>> .c 
>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu 
>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithu>
>>>>> b.c>
>>>>> 
>>>>> om%2Fpiotrzarzycki21&data=02%7C01%7C%7C0ff25865748242cefbda08d520b77849
>>>>> %7
>>>>> 
>>>>> Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450894728223920&sdata=WZ
>>>>> tw
>>>>> vlQJnZK4rHRMSEnTG5iTKvR7rZZHa8qHn4fdgk0%3D&reserved=0

Reply via email to