Harbs, Whole framework is working like that. We are getting in most cases BroserEvent. I'm always in favor of "change" event, but the second one could be also ok.
Piotr 2017-11-01 8:37 GMT+01:00 Harbs <[email protected]>: > 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%7Cfa7b1b5a7b34438794aed2c178de > cee1%7C0%7C0%7C63 > >>>>> 6450894728223920&sdata=p24zgDJLDKLtwvp1n8FWLd5kjtBxlw > ryG5q3GB9DSTg%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%7Cfa7b1b5a7b34438794aed2c178de > cee1%7C0%7C0%7C6364508947 > >>> 28223920&sdata=4Y%2BsJt5LmIUcCfs31OWhHaJTbP5Ftqe > whVcqGqnbotM%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%7C0ff25865748242cefbda08d520b7 > 7849%7 > >>> Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636450894728223920&sdata= > WZtw > >>> vlQJnZK4rHRMSEnTG5iTKvR7rZZHa8qHn4fdgk0%3D&reserved=0 > > -- Piotr Zarzycki mobile: +48 880 859 557 skype: zarzycki10 LinkedIn: http://www.linkedin.com/piotrzarzycki <https://pl.linkedin.com/in/piotr-zarzycki-92a53552> GitHub: https://github.com/piotrzarzycki21
