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]>> 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]>
>>> 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]>:
>>>
>>>> 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] 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%2Fgitbox
>>>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitbox>
>>>>> .apache.org
>>>>> <http://apache.org/>%2Frepos%2Fasf%2Froyale-asjs.git&data=02%7C01%7C%7C0ff258657
>>>>> 48242cefbda08d520b77849%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C63
>>>>> 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]>>
>>>>> 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]>"
>>>>> <[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.linke
>>> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.linke>
>>> din.com
>>> <http://din.com/>%2Fpiotrzarzycki&data=02%7C01%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.link
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpl.link>
>>> edin.com
>>> <http://edin.com/>%2Fin%2Fpiotr-zarzycki-92a53552&data=02%7C01%7C%7C0ff25865748242c
>>> efbda08d520b77849%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C6364508947
>>> 28223920&sdata=4Y%2BsJt5LmIUcCfs31OWhHaJTbP5FtqewhVcqGqnbotM%3D&reserved=
>>> 0>
>>>
>>> GitHub:
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.c>
>>> om%2Fpiotrzarzycki21&data=02%7C01%7C%7C0ff25865748242cefbda08d520b77849%7
>>> Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450894728223920&sdata=WZtw
>>> vlQJnZK4rHRMSEnTG5iTKvR7rZZHa8qHn4fdgk0%3D&reserved=0