You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Piotr Zarzycki <pi...@gmail.com> on 2019/02/07 10:02:25 UTC

Re: How to discover programmatic change in Jewel List

Hi Greg,

I'm progressing with some application and discovered that we are
dispatching CHANGE event from here [1] - I'm wondering whether we really
need it. Model is being update in that operation - I believe it should be
enough.

Just to make it clear there is no issue - I mean CHANGE event doesn't fire
two times etc. because of that. I didn't check whether it makes any
difference.

[1] https://bit.ly/2GeQ5En

Thanks,
Piotr

pon., 24 gru 2018 o 11:51 Piotr Zarzycki <pi...@gmail.com>
napisał(a):

> Hi Carlos,
>
> You have less events flying around the head. :)
>
> Piotr
>
> On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <ca...@apache.org>
> wrote:
>
>> Thanks Piotr and Greg,
>>
>> I'm catching up with all the thread. I'm testing and seems all is ok,
>> Seems
>> Jewel List, ComboBox, DropDownList are now much better and robust :)
>> Great work! Thanks for working on this! :)
>>
>> Carlos
>>
>>
>>
>>
>>
>> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
>> piotrzarzycki21@gmail.com>)
>> escribió:
>>
>> > Great! More tests the better. I will switch to your branch as well when
>> you
>> > make the changes.
>> >
>> > Many Thanks for help with that. Let's see what's more comes on the
>> road. :)
>> >
>> > Best,
>> > Piotr
>> >
>> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <gr...@gmail.com> wrote:
>> >
>> > > I already checked this against the app that we are working on, so feel
>> > free
>> > > to merge that in if it fixes the problem you were seeing, Piotr.
>> > > For the more general changes with dispatching from strand and avoiding
>> > > IEventDispatcher-ness , I can come back to that and try to do a
>> refactor
>> > > sweep through these changes as discussed with Alex, and the other
>> > component
>> > > sets in a couple of weeks. But I will do that in a refactor branch.
>> I'm
>> > not
>> > > using the other component sets at the moment, and although I know
>> there
>> > are
>> > > example projects to check against, I think checking against a
>> > 'real-world'
>> > > app is also important. Maybe Harbs and any any others who perhaps may
>> > have
>> > > used Basic or Express etc in actual apps will be able to verify things
>> > for
>> > > those component sets in the refactor branch at the time, if they have
>> > been
>> > > using them. I will make a request for others to check things when I do
>> > > that.
>> > >
>> > >
>> > >
>> > >
>> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
>> > piotrzarzycki21@gmail.com>
>> > > wrote:
>> > >
>> > > > Greg,
>> > > >
>> > > > I have fixed issues with navigation in my application code. I'm ok
>> with
>> > > > changes in that branch.
>> > > >
>> > > > Thanks for all changes!
>> > > > Piotr
>> > > >
>> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <piotrzarzycki21@gmail.com
>> >
>> > > > napisał(a):
>> > > >
>> > > > > Greg,
>> > > > >
>> > > > > In your app are you using navigation in that way?
>> > > > > Maybe I need to call some prevent method somewhere.
>> > > > >
>> > > > > Thanks,
>> > > > > Piotr
>> > > > >
>> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
>> > > piotrzarzycki21@gmail.com>
>> > > > > wrote:
>> > > > >
>> > > > >> Greg,
>> > > > >>
>> > > > >> Good news. I was able to build framework using ant and produce
>> IDE
>> > > > >> artifacts. Tested your changes and looks good. However I see
>> other
>> > > > issue. I
>> > > > >> have following code [1]. When I click on link in navigation (I'm
>> > > > listening
>> > > > >> on change event) - I'm trying to change view using
>> > > > ApplicationMainContent -
>> > > > >> it's navigates me to new website with new url instead changing
>> view.
>> > > > >>
>> > > > >> I need to investigate why it is happen. Apart of that I believe
>> we
>> > are
>> > > > ok
>> > > > >> with that branch.
>> > > > >>
>> > > > >> [1] https://paste.apache.org/UzJI
>> > > > >>
>> > > > >> Thanks, Piotr
>> > > > >>
>> > > > >>
>> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <gr...@gmail.com>
>> > napisał(a):
>> > > > >>
>> > > > >>> Ok Piotr, I'm not sure what is happening there. It does seem
>> > strange
>> > > -
>> > > > >>> shell.view.royale.Shell seems like a class and somehow has org
>> > > > >>> <http://shell.view.royale.shell.org/
>> > > >.apache.royale.jewel.Application
>> > > > >>> appended to it.
>> > > > >>>
>> > > > >>> I don't think that is related to anything I did (and it works
>> fine
>> > > > >>> against
>> > > > >>> the 'real-world' app I tested against - with maven build). Can
>> you
>> > > > build
>> > > > >>> Tour de Jewel  ok?
>> > > > >>>
>> > > > >>>
>> > > > >>>
>> > > > >>>
>> > > > >>>
>> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
>> > > > >>> piotrzarzycki21@gmail.com>
>> > > > >>> wrote:
>> > > > >>>
>> > > > >>> > Hi Greg,
>> > > > >>> >
>> > > > >>> > Thanks for your changes. Unfortunately I'm not able so far
>> > properly
>> > > > >>> build
>> > > > >>> > my real world app using Maven. I build Jewel module by Maven,
>> so
>> > I
>> > > > have
>> > > > >>> > setup my app to be buildable with Maven. Unfortunately I'm
>> > getting
>> > > > >>> weird
>> > > > >>> > exception during running app.
>> > > > >>> >
>> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot read
>> > property
>> > > > >>> > 'string' of undefined
>> > > > >>> >     at
>> > > > >>> >
>> > > > >>> >
>> > > > >>>
>> > > >
>> > >
>> >
>> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
>> > > > >>> > (SimpleCSSValuesImpl.js:102)
>> > > > >>> >     at
>> > > > >>> > shell.view.royale.Shell.org
>> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
>> > > > >>> > (Application.js:311)
>> > > > >>> >     at shell.view.royale.Shell.org
>> > .apache.royale.jewel.Application
>> > > > [as
>> > > > >>> > constructor] (Application.js:46)
>> > > > >>> >     at Function.childCtor.base (base.js:2515)
>> > > > >>> >
>> > > > >>> > Above exception is not occurs when I'm building using
>> Nightly. I
>> > > > >>> probably
>> > > > >>> > will have to build framework by ant and prepare IDE compatible
>> > > > >>> environment
>> > > > >>> > or will try to rebuild whole framework by Maven and try again.
>> > > > >>> >
>> > > > >>> > Thanks, Piotr
>> > > > >>> >
>> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
>> > > piotrzarzycki21@gmail.com>
>> > > > >>> > napisał(a):
>> > > > >>> >
>> > > > >>> > > Hi Greg,
>> > > > >>> > >
>> > > > >>> > > Great news, cause I was going to look into that somewhere
>> > between
>> > > > >>> > > Christmas and New Year. I would be happy to test your
>> changes!
>> > Do
>> > > > not
>> > > > >>> > > hesitate push it!
>> > > > >>> > >
>> > > > >>> > > Thank you so much!
>> > > > >>> > > Piotr
>> > > > >>> > >
>> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <gr...@gmail.com>
>> > > > >>> napisał(a):
>> > > > >>> > >
>> > > > >>> > >> Piotr, Alex,
>> > > > >>> > >>
>> > > > >>> > >> fyi I found some time to spend on this today, and Piotr, I
>> > > should
>> > > > be
>> > > > >>> > ready
>> > > > >>> > >> to push the changes I made to your branch tomorrow morning
>> my
>> > > time
>> > > > >>> > (local
>> > > > >>> > >> time - GMT+13).
>> > > > >>> > >> It seems to be fine so far with 'selectionChange' for
>> binding
>> > > > based
>> > > > >>> on
>> > > > >>> > >> model changes and 'change' for class event meta. I have
>> been
>> > > been
>> > > > >>> > testing
>> > > > >>> > >> so far against Tour de Jewel, but I will test against our
>> > > > real-world
>> > > > >>> > >> project as well before I push to your branch Piotr.
>> > > > >>> > >>
>> > > > >>> > >> -Greg
>> > > > >>> > >>
>> > > > >>> > >>
>> > > > >>> > >>
>> > > > >>> > >>
>> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
>> > greg.dove@gmail.com>
>> > > > >>> wrote:
>> > > > >>> > >>
>> > > > >>> > >> > Alex, I can't remember offhand, but I think we used that
>> > once
>> > > in
>> > > > >>> only
>> > > > >>> > >> one
>> > > > >>> > >> > place, and I did it really quickly. I am sure there will
>> be
>> > a
>> > > > way
>> > > > >>> to
>> > > > >>> > >> avoid
>> > > > >>> > >> > it.
>> > > > >>> > >> > I think the bigger issue is the way I did the changes to
>> the
>> > > > >>> model to
>> > > > >>> > >> > support dispatching change events for programmatic
>> changes,
>> > > > which
>> > > > >>> I
>> > > > >>> > >> think
>> > > > >>> > >> > Piotr was looking at.
>> > > > >>> > >> > Maybe I can take a look at that later today, but I can't
>> be
>> > > > >>> certain.
>> > > > >>> > >> > The simplest fix might be to revert everything I did and
>> add
>> > > > >>> binding
>> > > > >>> > for
>> > > > >>> > >> > the selection changes (currently 'selectedIndexChanged'
>> and
>> > > > >>> > >> > 'selectedItemChanged' which I know you say could be
>> > > > >>> > 'selectionChanged')
>> > > > >>> > >> in
>> > > > >>> > >> > addition to 'change' (as discussed) and make sure the
>> > > component
>> > > > is
>> > > > >>> > >> > dispatching those from the model (if it does not already
>> do
>> > > so).
>> > > > >>> If
>> > > > >>> > >> > 'selectionChanged' (or whatever it is) is already
>> happening
>> > > as a
>> > > > >>> > result
>> > > > >>> > >> of
>> > > > >>> > >> > 'change' in addition to setter triggered changes, then it
>> > > could
>> > > > >>> be a
>> > > > >>> > >> simple
>> > > > >>> > >> > swap for the binding event only (as discussed also)
>> > > > >>> > >> >
>> > > > >>> > >> > But this last part was also applicable to the wholesale
>> > change
>> > > > to
>> > > > >>> all
>> > > > >>> > >> > component sets we were discussing, not just Jewel.
>> > > > >>> > >> >
>> > > > >>> > >> >
>> > > > >>> > >> >
>> > > > >>> > >> >
>> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
>> > > > >>> <ah...@adobe.com.invalid>
>> > > > >>> > >> > wrote:
>> > > > >>> > >> >
>> > > > >>> > >> >> Greg, Carlos,
>> > > > >>> > >> >>
>> > > > >>> > >> >> Can one of you put together a simple test case that
>> > > > demonstrates
>> > > > >>> your
>> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't need server
>> > > access.
>> > > > >>> You
>> > > > >>> > >> can
>> > > > >>> > >> >> probably inject a dataProvider on applicationComplete or
>> > have
>> > > > the
>> > > > >>> > user
>> > > > >>> > >> push
>> > > > >>> > >> >> a button if the issue is about deferred arrival of
>> server
>> > > data.
>> > > > >>> > >> >>
>> > > > >>> > >> >> IMO, we have to be more concerned about getting the
>> > patterns
>> > > > >>> right
>> > > > >>> > >> >> regressions, and the best way to avoid getting
>> regressions
>> > is
>> > > > to
>> > > > >>> > >> provide a
>> > > > >>> > >> >> simple test case that demonstrates a problem in the
>> > patterns.
>> > > > >>> > >> >>
>> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to be
>> required
>> > and
>> > > > >>> won't
>> > > > >>> > be
>> > > > >>> > >> >> part of the framework.  The usability of the framework
>> will
>> > > go
>> > > > >>> down
>> > > > >>> > if
>> > > > >>> > >> >> folks have to keep adding more and more "OnThis" and
>> > "OnThat"
>> > > > >>> beads
>> > > > >>> > to
>> > > > >>> > >> get
>> > > > >>> > >> >> their app to work.  The approachability of the
>> framework in
>> > > > >>> terms of
>> > > > >>> > >> >> documentation and number of classes won't scale either
>> if
>> > we
>> > > > >>> don't
>> > > > >>> > get
>> > > > >>> > >> >> these patterns right.  This doesn't mean that you can't
>> use
>> > > an
>> > > > >>> > >> "onStartup"
>> > > > >>> > >> >> bead in your app in order to meet some deadline, and
>> share
>> > it
>> > > > >>> with
>> > > > >>> > >> others,
>> > > > >>> > >> >> but we have to be careful about what patterns we
>> promote in
>> > > the
>> > > > >>> SDK.
>> > > > >>> > >> >>
>> > > > >>> > >> >> My 2 cents,
>> > > > >>> > >> >> -Alex
>> > > > >>> > >> >>
>> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
>> greg.dove@gmail.com>
>> > > > wrote:
>> > > > >>> > >> >>
>> > > > >>> > >> >>     Hi Piotr,
>> > > > >>> > >> >>
>> > > > >>> > >> >>     I would be happy to work on it, and wish I could,
>> but
>> > the
>> > > > >>> problem
>> > > > >>> > >> for
>> > > > >>> > >> >> me at
>> > > > >>> > >> >>     the moment is that I can't make it a priority,
>> because
>> > > for
>> > > > >>> now at
>> > > > >>> > >> >> least it
>> > > > >>> > >> >>     is functioning as we need it, and there are plenty
>> of
>> > > > things
>> > > > >>> that
>> > > > >>> > >> are
>> > > > >>> > >> >> not
>> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
>> implementation
>> > as
>> > > it
>> > > > >>> > stands
>> > > > >>> > >> >> might
>> > > > >>> > >> >>     not be 'right', it does function as we need it to
>> for
>> > > now.
>> > > > I
>> > > > >>> > >> suspect
>> > > > >>> > >> >> that
>> > > > >>> > >> >>     is what Carlos meant when he said he was concerned
>> > about
>> > > > >>> > >> regressions.
>> > > > >>> > >> >>
>> > > > >>> > >> >>     I have other stuff queued up to add in other areas
>> too,
>> > > > like
>> > > > >>> > >> >> AMFBinaryData
>> > > > >>> > >> >>     and AMFNetConnection but will need to do more work
>> to
>> > > > >>> generalize
>> > > > >>> > >> it,
>> > > > >>> > >> >> as I
>> > > > >>> > >> >>     have it these working in a way that is almost
>> complete,
>> > > but
>> > > > >>> > mostly
>> > > > >>> > >> >> focused
>> > > > >>> > >> >>     on what is sufficient for what Carlos needs for now.
>> > > > >>> > >> >>
>> > > > >>> > >> >>     I hope to get some free time in early January to
>> finish
>> > > up
>> > > > >>> these
>> > > > >>> > >> >> things.
>> > > > >>> > >> >>
>> > > > >>> > >> >>
>> > > > >>> > >> >>
>> > > > >>> > >> >>
>> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr Zarzycki <
>> > > > >>> > >> >> piotrzarzycki21@gmail.com>
>> > > > >>> > >> >>     wrote:
>> > > > >>> > >> >>
>> > > > >>> > >> >>     > Hi Guys,
>> > > > >>> > >> >>     >
>> > > > >>> > >> >>     > I definitely need to a way of resolve that
>> problem. I
>> > > > will
>> > > > >>> > review
>> > > > >>> > >> >> emails
>> > > > >>> > >> >>     > tomorrow.
>> > > > >>> > >> >>     >
>> > > > >>> > >> >>     > However if you Greg would like to try something go
>> > for
>> > > > it.
>> > > > >>> > Would
>> > > > >>> > >> be
>> > > > >>> > >> >> great
>> > > > >>> > >> >>     > if you could use my branch where changes which
>> > removes
>> > > > >>> > >> dispatching
>> > > > >>> > >> >> "change"
>> > > > >>> > >> >>     > event from model are in place.
>> > > > >>> > >> >>     >
>> > > > >>> > >> >>     > Thanks, Piotr
>> > > > >>> > >> >>     >
>> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
>> > > > >>> <aharui@adobe.com.invalid
>> > > > >>> > >
>> > > > >>> > >> >>     > napisał(a):
>> > > > >>> > >> >>     >
>> > > > >>> > >> >>     > > Hi Greg,
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > > I haven't looked at how pervasive this change
>> would
>> > > be.
>> > > > >>> I'm
>> > > > >>> > >> >> mainly
>> > > > >>> > >> >>     > saying
>> > > > >>> > >> >>     > > that Flex worked with these categories of events
>> > and
>> > > I
>> > > > >>> think
>> > > > >>> > >> >> Royale can
>> > > > >>> > >> >>     > too
>> > > > >>> > >> >>     > > and would eliminate the need for
>> > > > DispatchChangeOnStartup
>> > > > >>> and
>> > > > >>> > >> >> things like
>> > > > >>> > >> >>     > > that.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > > You could be right that the models only need to
>> > > > dispatch
>> > > > >>> > >> >> selectionChange
>> > > > >>> > >> >>     > > and not "change", as long as the controllers are
>> > > > >>> guaranteed
>> > > > >>> > to
>> > > > >>> > >> >> update the
>> > > > >>> > >> >>     > > model in a way that fires selectionChange.  I
>> have
>> > > this
>> > > > >>> > feeling
>> > > > >>> > >> >> that in
>> > > > >>> > >> >>     > > Flex there were some backdoors for updating
>> > > properties
>> > > > >>> > without
>> > > > >>> > >> >>     > dispatching
>> > > > >>> > >> >>     > > events and dispatching the event "later", but I
>> > don't
>> > > > >>> think
>> > > > >>> > >> we've
>> > > > >>> > >> >> had to
>> > > > >>> > >> >>     > > write such code in Royale and maybe we won't
>> have
>> > to
>> > > or
>> > > > >>> can't
>> > > > >>> > >> >> because the
>> > > > >>> > >> >>     > > browser will update right away in many cases.
>> > There
>> > > > were
>> > > > >>> > >> >> somethings you
>> > > > >>> > >> >>     > > could do in Flash knowing that all rendering was
>> > > > >>> deferred to
>> > > > >>> > >> frame
>> > > > >>> > >> >>     > > updates.  In Royale, with separate models, the
>> > > > controller
>> > > > >>> > code
>> > > > >>> > >> >> can't just
>> > > > >>> > >> >>     > > set the backing variable.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > > So, if you want to give it a try having only
>> > > > >>> selectionChange
>> > > > >>> > as
>> > > > >>> > >> >> the
>> > > > >>> > >> >>     > > bindable event, go for it.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > > -Alex
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
>> > > > greg.dove@gmail.com>
>> > > > >>> > >> wrote:
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     Thanks Alex.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     I only looked in Basic TextInput because I
>> was
>> > > > >>> looking
>> > > > >>> > for
>> > > > >>> > >> a
>> > > > >>> > >> >> simpler
>> > > > >>> > >> >>     > >     example of the general case being discussed.
>> > That
>> > > > >>> code
>> > > > >>> > >> looks
>> > > > >>> > >> >> like it
>> > > > >>> > >> >>     > > might
>> > > > >>> > >> >>     > >     need some work on the swf side in any case.
>> > > > >>> > >> >>     > >     I was just looking for the
>> 'programmaticChange'
>> > > vs
>> > > > >>> > >> >>     > > 'userInitiatedChange'
>> > > > >>> > >> >>     > >     differences.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     Based on a quick look at the other Basic
>> > classes,
>> > > > the
>> > > > >>> > >> >> conclusions
>> > > > >>> > >> >>     > > appear
>> > > > >>> > >> >>     > >     similar.  They are bindable via 'change'
>> only.
>> > > > >>> > >> >>     > >     And the models all dispatch both
>> > > > >>> selectedIndexChanged and
>> > > > >>> > >> >>     > >     selectedItemChanged.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     So it seems like you are proposing broad
>> > changes
>> > > > for
>> > > > >>> > >> >> everything, if
>> > > > >>> > >> >>     > > they
>> > > > >>> > >> >>     > >     are to also support binding changes for
>> > > > programmatic
>> > > > >>> > >> changes?
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     For me, the change in something (or nothing)
>> > > being
>> > > > >>> > >> 'selected'
>> > > > >>> > >> >>     > logically
>> > > > >>> > >> >>     > >     occurs as a result of either user change or
>> > > > >>> programmatic
>> > > > >>> > >> >> change. On
>> > > > >>> > >> >>     > > that
>> > > > >>> > >> >>     > >     basis would it be possible to have the
>> > > > >>> selectionChange as
>> > > > >>> > >> the
>> > > > >>> > >> >> sole
>> > > > >>> > >> >>     > > Binding
>> > > > >>> > >> >>     > >     event (which occurs from setter induced
>> change
>> > > and
>> > > > >>> from
>> > > > >>> > >> user
>> > > > >>> > >> >> induced
>> > > > >>> > >> >>     > >     change) and the 'change' event as
>> > > user-interaction
>> > > > >>> only
>> > > > >>> > as
>> > > > >>> > >> >> the class
>> > > > >>> > >> >>     > > level
>> > > > >>> > >> >>     > >     event type (as it is now)?
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     I have not thought about this as much as you
>> > > (Alex
>> > > > >>> and
>> > > > >>> > >> >> others) have,
>> > > > >>> > >> >>     > so
>> > > > >>> > >> >>     > >     maybe that last suggestion does not make
>> sense.
>> > > > But I
>> > > > >>> > >> really
>> > > > >>> > >> >> think
>> > > > >>> > >> >>     > > that for
>> > > > >>> > >> >>     > >     whatever does make sense it would be great
>> to
>> > > > settle
>> > > > >>> on
>> > > > >>> > >> >> something and
>> > > > >>> > >> >>     > > get
>> > > > >>> > >> >>     > >     it consistent for all components  asap.
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM Alex Harui
>> > > > >>> > >> >> <aharui@adobe.com.invalid
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > > wrote:
>> > > > >>> > >> >>     > >
>> > > > >>> > >> >>     > >     > Hi Greg,
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > You are correct that there is a pain point
>> > > around
>> > > > >>> > binding
>> > > > >>> > >> >> overhead
>> > > > >>> > >> >>     > > and
>> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG way of
>> adding
>> > > the
>> > > > >>> > ability
>> > > > >>> > >> to
>> > > > >>> > >> >> add
>> > > > >>> > >> >>     > more
>> > > > >>> > >> >>     > >     > binding events via beads that doesn't have
>> > too
>> > > > much
>> > > > >>> > >> >> overhead for
>> > > > >>> > >> >>     > > folks not
>> > > > >>> > >> >>     > >     > interested in those extra events.
>> Actually,
>> > > > there
>> > > > >>> are
>> > > > >>> > >> some
>> > > > >>> > >> >> ways
>> > > > >>> > >> >>     > > that are
>> > > > >>> > >> >>     > >     > JS-only like replacing prototype-methods,
>> > but I
>> > > > >>> don't
>> > > > >>> > >> think
>> > > > >>> > >> >> we
>> > > > >>> > >> >>     > > should rely
>> > > > >>> > >> >>     > >     > on mutable class definitions.   In many
>> cases
>> > > we
>> > > > >>> make
>> > > > >>> > >> >> trade-offs
>> > > > >>> > >> >>     > and
>> > > > >>> > >> >>     > > Basic
>> > > > >>> > >> >>     > >     > ends up being what we think almost all
>> folks
>> > > > "must
>> > > > >>> > have".
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > When we first started out I was hoping to
>> > > reduce
>> > > > >>> > binding
>> > > > >>> > >> >> overhead
>> > > > >>> > >> >>     > > which is
>> > > > >>> > >> >>     > >     > why some of the beads look like they do,
>> but
>> > > > these
>> > > > >>> > days I
>> > > > >>> > >> >> think it
>> > > > >>> > >> >>     > > is more
>> > > > >>> > >> >>     > >     > important to separate interactive events
>> from
>> > > > >>> > >> binding/setup
>> > > > >>> > >> >> events.
>> > > > >>> > >> >>     > > Folks
>> > > > >>> > >> >>     > >     > who don't use a particular binding event
>> can
>> > > > always
>> > > > >>> > >> replace
>> > > > >>> > >> >> the
>> > > > >>> > >> >>     > > model and
>> > > > >>> > >> >>     > >     > top-level component with a version without
>> > > events
>> > > > >>> they
>> > > > >>> > >> are
>> > > > >>> > >> >> not
>> > > > >>> > >> >>     > > interested
>> > > > >>> > >> >>     > >     > in, or in the JS output, run a
>> post-process
>> > to
>> > > > >>> cull out
>> > > > >>> > >> >> metadata.
>> > > > >>> > >> >>     > > But
>> > > > >>> > >> >>     > >     > under the "almost all folks" rule, I think
>> > > > "almost
>> > > > >>> all
>> > > > >>> > >> >> folks" don't
>> > > > >>> > >> >>     > > want to
>> > > > >>> > >> >>     > >     > run interaction handling code at setup
>> time.
>> > > > >>> > Especially
>> > > > >>> > >> if
>> > > > >>> > >> >> that
>> > > > >>> > >> >>     > > handling
>> > > > >>> > >> >>     > >     > code runs any sort of animation or does
>> any
>> > > other
>> > > > >>> heavy
>> > > > >>> > >> >> processing.
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > I could be wrong, but I'm pretty sure
>> that if
>> > > you
>> > > > >>> just
>> > > > >>> > >> take
>> > > > >>> > >> >> a
>> > > > >>> > >> >>     > > <select>
>> > > > >>> > >> >>     > >     > element, you can set its initial selection
>> > > value
>> > > > >>> > without
>> > > > >>> > >> it
>> > > > >>> > >> >>     > > dispatching an
>> > > > >>> > >> >>     > >     > event called "change".  Then when a user
>> > > selects
>> > > > an
>> > > > >>> > item
>> > > > >>> > >> >> you get a
>> > > > >>> > >> >>     > > "change"
>> > > > >>> > >> >>     > >     > event.  IMO, this is why "change" should
>> be
>> > an
>> > > > >>> > >> interactive
>> > > > >>> > >> >> event
>> > > > >>> > >> >>     > and
>> > > > >>> > >> >>     > > not a
>> > > > >>> > >> >>     > >     > binding event.
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > So these are the reasons I think we should
>> > > adjust
>> > > > >>> the
>> > > > >>> > >> basic
>> > > > >>> > >> >> beads
>> > > > >>> > >> >>     > to
>> > > > >>> > >> >>     > >     > separate interactive events from setup
>> events
>> > > and
>> > > > >>> why
>> > > > >>> > >> >> "change" is
>> > > > >>> > >> >>     > an
>> > > > >>> > >> >>     > >     > interactive event.
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > Now, we could renew the effort to make
>> Basic
>> > > the
>> > > > >>> truly
>> > > > >>> > >> >> smallest
>> > > > >>> > >> >>     > >     > implementation and move some of this
>> logic to
>> > > > >>> Express,
>> > > > >>> > >> but
>> > > > >>> > >> >> I keep
>> > > > >>> > >> >>     > > seeing
>> > > > >>> > >> >>     > >     > code creep into Basic to handle situations
>> > that
>> > > > >>> almost
>> > > > >>> > >> all
>> > > > >>> > >> >> folks
>> > > > >>> > >> >>     > > need.
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > TextInput, on the other hand, has been an
>> > > > >>> exception of
>> > > > >>> > >> >> sorts in
>> > > > >>> > >> >>     > > Flex.  The
>> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches "change" on
>> > > certain
>> > > > >>> kinds
>> > > > >>> > of
>> > > > >>> > >> >> changes.
>> > > > >>> > >> >>     > > So
>> > > > >>> > >> >>     > >     > early implementations in Royale tried to
>> > mimic
>> > > > that
>> > > > >>> > >> >> behavior for
>> > > > >>> > >> >>     > > folks
>> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we should
>> change
>> > > > that
>> > > > >>> and
>> > > > >>> > >> make
>> > > > >>> > >> >> Basic
>> > > > >>> > >> >>     > > TextInput
>> > > > >>> > >> >>     > >     > more consistent with browser behavior.
>> The
>> > > > >>> emulation
>> > > > >>> > >> >> components
>> > > > >>> > >> >>     > can
>> > > > >>> > >> >>     > > mimic
>> > > > >>> > >> >>     > >     > the old Flex behavior.  So I think using
>> > > > TextInput
>> > > > >>> as
>> > > > >>> > >> >> precedent is
>> > > > >>> > >> >>     > >     > misleading.
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > Thoughts?
>> > > > >>> > >> >>     > >     > -Alex
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg Dove" <
>> > > > >>> > greg.dove@gmail.com>
>> > > > >>> > >> >> wrote:
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     Alex, I was giving this some more
>> thought
>> > > > >>> also. I
>> > > > >>> > >> >> understood
>> > > > >>> > >> >>     > > that you
>> > > > >>> > >> >>     > >     > meant
>> > > > >>> > >> >>     > >     >     to add extra events for binding from
>> your
>> > > > >>> previous
>> > > > >>> > >> >> comments.
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     But isn't the established pattern to
>> add
>> > a
>> > > > >>> bead to
>> > > > >>> > >> >> listen for
>> > > > >>> > >> >>     > the
>> > > > >>> > >> >>     > >     >     selectionChange and redispatch it as
>> > > change?
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     At least that seems to be the case
>> > > elsewhere
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     If I look at the code in Basic
>> > TextInput...
>> > > > >>> > >> >>     > >     >     it dispatches 'textChange' and
>> 'change'
>> > but
>> > > > is
>> > > > >>> only
>> > > > >>> > >> >> Bindable
>> > > > >>> > >> >>     > via
>> > > > >>> > >> >>     > >     > 'change'.
>> > > > >>> > >> >>     > >     >     There is effort to keep them
>> > > > distinct/separate.
>> > > > >>> > >> >>     > >     >     (OT: It looks like the swf side needs
>> > some
>> > > > >>> > >> consistency
>> > > > >>> > >> >> in the
>> > > > >>> > >> >>     > > html
>> > > > >>> > >> >>     > >     > setter
>> > > > >>> > >> >>     > >     >     same as the text setter.)
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     So TextInput appears to have 2
>> distinct
>> > > > events
>> > > > >>> but
>> > > > >>> > >> only
>> > > > >>> > >> >> be
>> > > > >>> > >> >>     > > Bindable
>> > > > >>> > >> >>     > >     > for one
>> > > > >>> > >> >>     > >     >     ('change'). So I presume that to make
>> > that
>> > > > >>> support
>> > > > >>> > >> >> programmatic
>> > > > >>> > >> >>     > >     > changes it
>> > > > >>> > >> >>     > >     >     would be by adding a bead to listen to
>> > the
>> > > > >>> > >> 'textChange'
>> > > > >>> > >> >> and
>> > > > >>> > >> >>     > > redispatch
>> > > > >>> > >> >>     > >     > as
>> > > > >>> > >> >>     > >     >     'change' ?
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     Adding extra Bindable events adds
>> weight
>> > > > >>> because it
>> > > > >>> > >> >> affects
>> > > > >>> > >> >>     > > binding
>> > > > >>> > >> >>     > >     > data,
>> > > > >>> > >> >>     > >     >     and creates more runtime support for
>> the
>> > > same
>> > > > >>> > feature
>> > > > >>> > >> >> in use
>> > > > >>> > >> >>     > > cases
>> > > > >>> > >> >>     > >     > that may
>> > > > >>> > >> >>     > >     >     not need it. I don't see how that can
>> be
>> > > > >>> > 'PAYG-ised'
>> > > > >>> > >> >> because
>> > > > >>> > >> >>     > > binding
>> > > > >>> > >> >>     > >     >     support for different event types is
>> > either
>> > > > >>> there
>> > > > >>> > at
>> > > > >>> > >> >> compile
>> > > > >>> > >> >>     > > time or
>> > > > >>> > >> >>     > >     > it is
>> > > > >>> > >> >>     > >     >     not in the component. So if the above
>> is
>> > > true
>> > > > >>> for
>> > > > >>> > >> >> TextInput (at
>> > > > >>> > >> >>     > > this
>> > > > >>> > >> >>     > >     > stage
>> > > > >>> > >> >>     > >     >     it's a guess/observation, I did not
>> try
>> > > this
>> > > > >>> yet),
>> > > > >>> > >> then
>> > > > >>> > >> >> could
>> > > > >>> > >> >>     > it
>> > > > >>> > >> >>     > > not be
>> > > > >>> > >> >>     > >     >     similar for selection based
>> components?
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     To me 'change' seems like something
>> > generic
>> > > > and
>> > > > >>> > does
>> > > > >>> > >> >> not sound
>> > > > >>> > >> >>     > >     > specific to
>> > > > >>> > >> >>     > >     >     being user-initiated change. My
>> > > understanding
>> > > > >>> is
>> > > > >>> > that
>> > > > >>> > >> >> it just
>> > > > >>> > >> >>     > > happens
>> > > > >>> > >> >>     > >     > to be
>> > > > >>> > >> >>     > >     >     that way by default, unless you
>> configure
>> > > it
>> > > > to
>> > > > >>> > >> include
>> > > > >>> > >> >>     > > programmatic
>> > > > >>> > >> >>     > >     >     changes via bead.
>> > > > >>> > >> >>     > >     >     If it is like this for Basic
>> TextInput,
>> > why
>> > > > >>> can it
>> > > > >>> > >> not
>> > > > >>> > >> >> be the
>> > > > >>> > >> >>     > > same for
>> > > > >>> > >> >>     > >     >     other components ? (
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32 AM Alex
>> > Harui
>> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
>> > > > >>> > >> >>     > >     > wrote:
>> > > > >>> > >> >>     > >     >
>> > > > >>> > >> >>     > >     >     > I took a quick look at
>> > > ArrayListSelection.
>> > > > >>> It
>> > > > >>> > >> could
>> > > > >>> > >> >> use some
>> > > > >>> > >> >>     > >     >     > improvements, such as only
>> dispatching
>> > a
>> > > > >>> single
>> > > > >>> > >> >>     > > selectionChange event
>> > > > >>> > >> >>     > >     >     > instead of both selectedIndexChange
>> and
>> > > > >>> > >> >> selectedItemChange.
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     > Some controller should dispatch the
>> > > > "change"
>> > > > >>> > event,
>> > > > >>> > >> >> not the
>> > > > >>> > >> >>     > > model.
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     > I took a quick look at List.as, (a
>> top
>> > > > level
>> > > > >>> > >> >> component).  It
>> > > > >>> > >> >>     > > should
>> > > > >>> > >> >>     > >     > have
>> > > > >>> > >> >>     > >     >     > bindable metadata that looks like
>> this:
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     >         [Bindable("change")]
>> > > > >>> > >> >>     > >     >     >
>>  [Bindable("selectionChange")]
>> > > > >>> > >> >>     > >     >     >         public function get
>> > > > >>> selectedIndex():int
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     > Similar for selectedItem.  The
>> [Event]
>> > > > >>> metadata
>> > > > >>> > for
>> > > > >>> > >> >> List is
>> > > > >>> > >> >>     > >     > correct,  It
>> > > > >>> > >> >>     > >     >     > should only list interactive events
>> > like
>> > > > >>> "change"
>> > > > >>> > >> and
>> > > > >>> > >> >> not
>> > > > >>> > >> >>     > > bindable
>> > > > >>> > >> >>     > >     > events
>> > > > >>> > >> >>     > >     >     > like selectionChange.  This usually
>> > > > improves
>> > > > >>> > >> >> performance by
>> > > > >>> > >> >>     > not
>> > > > >>> > >> >>     > >     > having the
>> > > > >>> > >> >>     > >     >     > UI react to setup.
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     > Once all of those changes are made,
>> we
>> > > > should
>> > > > >>> > >> discuss
>> > > > >>> > >> >> any
>> > > > >>> > >> >>     > > remaining
>> > > > >>> > >> >>     > >     > issues.
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     > My 2 cents,
>> > > > >>> > >> >>     > >     >     > -Alex
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM, "Piotr
>> > Zarzycki" <
>> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
>> > > > >>> > >> >>     > >     >     > wrote:
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     >     Basic ArrayListSelection model
>> > > doesn't
>> > > > >>> > dispatch
>> > > > >>> > >> >> that
>> > > > >>> > >> >>     > > event. I
>> > > > >>> > >> >>     > >     > believe
>> > > > >>> > >> >>     > >     >     > we
>> > > > >>> > >> >>     > >     >     >     don't have to do this or rather
>> do
>> > > this
>> > > > >>> only
>> > > > >>> > if
>> > > > >>> > >> >> we really
>> > > > >>> > >> >>     > > need
>> > > > >>> > >> >>     > >     > it, for
>> > > > >>> > >> >>     > >     >     >     example if someone make
>> programatic
>> > > > >>> change of
>> > > > >>> > >> >>     > > selectedIndex. -
>> > > > >>> > >> >>     > >     > This is
>> > > > >>> > >> >>     > >     >     >     general problem how to do that ?
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     >     If I change selectedIndex - my
>> > model
>> > > > >>> dispatch
>> > > > >>> > >> >>     > >     > selectedInexChanged -
>> > > > >>> > >> >>     > >     >     > where
>> > > > >>> > >> >>     > >     >     >     should I catch it and dispatch
>> > > "change"
>> > > > >>> > event ?
>> > > > >>> > >> >> My though
>> > > > >>> > >> >>     > > are
>> > > > >>> > >> >>     > >     > nowhere,
>> > > > >>> > >> >>     > >     >     >     unless someone wanted to do that
>> > and
>> > > > >>> have a
>> > > > >>> > >> bead.
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o 19:08 Alex
>> > Harui
>> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
>> > > > >>> > >> >>     > >     >     > napisał(a):
>> > > > >>> > >> >>     > >     >     >
>> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     > I may not be understanding
>> your
>> > > > >>> problem.
>> > > > >>> > Not
>> > > > >>> > >> >> all
>> > > > >>> > >> >>     > models
>> > > > >>> > >> >>     > > will
>> > > > >>> > >> >>     > >     >     > dispatch a
>> > > > >>> > >> >>     > >     >     >     > change event, but it is hard
>> to
>> > > > >>> imagine a
>> > > > >>> > >> >> selection
>> > > > >>> > >> >>     > > model that
>> > > > >>> > >> >>     > >     >     > doesn't.
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     > -Alex
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM, "Piotr
>> > > > Zarzycki"
>> > > > >>> <
>> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
>> > > > >>> > >> >>     > >     >     > wrote:
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     I will review your email
>> > again
>> > > > and
>> > > > >>> see
>> > > > >>> > >> what
>> > > > >>> > >> >> can I
>> > > > >>> > >> >>     > do
>> > > > >>> > >> >>     > > this.
>> > > > >>> > >> >>     > >     >     > However
>> > > > >>> > >> >>     > >     >     >     > this one
>> > > > >>> > >> >>     > >     >     >     >     is a second problem. First
>> > one
>> > > > was
>> > > > >>> > about
>> > > > >>> > >> >>     > programmatic
>> > > > >>> > >> >>     > >     > change
>> > > > >>> > >> >>     > >     >     > discover
>> > > > >>> > >> >>     > >     >     >     > - If
>> > > > >>> > >> >>     > >     >     >     >     you are talking about
>> that -
>> > > Let
>> > > > me
>> > > > >>> > check
>> > > > >>> > >> >> your
>> > > > >>> > >> >>     > > earlier
>> > > > >>> > >> >>     > >     > emails.
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     Thanks,
>> > > > >>> > >> >>     > >     >     >     >     Piotr
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru 2018 o 18:30
>> > Alex
>> > > > >>> Harui
>> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
>> > > > >>> > >> >>     > >     >     >     > napisał(a):
>> > > > >>> > >> >>     > >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would much
>> rather
>> > see
>> > > > >>> energy
>> > > > >>> > >> >> spent on
>> > > > >>> > >> >>     > > trying to
>> > > > >>> > >> >>     > >     >     > implement the
>> > > > >>> > >> >>     > >     >     >     >     > patterns I suggested
>> > earlier,
>> > > > >>> which
>> > > > >>> > >> will
>> > > > >>> > >> >>     > hopefully
>> > > > >>> > >> >>     > >     > eliminate
>> > > > >>> > >> >>     > >     >     > the
>> > > > >>> > >> >>     > >     >     >     > need for
>> > > > >>> > >> >>     > >     >     >     >     > DispatchChangeOnStartup.
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
>> > > > >>> > >> >>     > >     >     >     >     > -Alex
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18, 4:34 AM,
>> > "Piotr
>> > > > >>> > Zarzycki"
>> > > > >>> > >> <
>> > > > >>> > >> >>     > >     >     > piotrzarzycki21@gmail.com>
>> > > > >>> > >> >>     > >     >     >     > wrote:
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     I don't understand
>> this
>> > > > >>> sentence
>> > > > >>> > >> -> "
>> > > > >>> > >> >> If not
>> > > > >>> > >> >>     > > we can
>> > > > >>> > >> >>     > >     > get
>> > > > >>> > >> >>     > >     >     > involved
>> > > > >>> > >> >>     > >     >     >     > in
>> > > > >>> > >> >>     > >     >     >     >     > pursues
>> > > > >>> > >> >>     > >     >     >     >     >     problems
>> > > > >>> > >> >>     > >     >     >     >     >     that are not real."
>> -
>> > > What
>> > > > >>> do you
>> > > > >>> > >> >> mean here ?
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     Ok I can wait for
>> Alex
>> > > > >>> review.
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     However your review
>> and
>> > > > look
>> > > > >>> into
>> > > > >>> > >> >> above
>> > > > >>> > >> >>     > problem
>> > > > >>> > >> >>     > >     > doesn't
>> > > > >>> > >> >>     > >     >     > need
>> > > > >>> > >> >>     > >     >     >     > Alex's
>> > > > >>> > >> >>     > >     >     >     >     >     attention. This bead
>> > > > >>> > >> >>     > (DispatchChangeOnStartup)
>> > > > >>> > >> >>     > >     > probably
>> > > > >>> > >> >>     > >     >     > won't
>> > > > >>> > >> >>     > >     >     >     > work
>> > > > >>> > >> >>     > >     >     >     >     > doesn't
>> > > > >>> > >> >>     > >     >     >     >     >     matter if we fix
>> > > > programmatic
>> > > > >>> > >> change
>> > > > >>> > >> >> or not.
>> > > > >>> > >> >>     > -
>> > > > >>> > >> >>     > >     > Unless I
>> > > > >>> > >> >>     > >     >     > bring
>> > > > >>> > >> >>     > >     >     >     > back
>> > > > >>> > >> >>     > >     >     >     >     >     dispatching "change"
>> > > event
>> > > > >>> from
>> > > > >>> > >> model
>> > > > >>> > >> >> - which
>> > > > >>> > >> >>     > > rather
>> > > > >>> > >> >>     > >     > is not
>> > > > >>> > >> >>     > >     >     >     >     > recommended in
>> > > > >>> > >> >>     > >     >     >     >     >     previous discussion.
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     Thanks, Piotr
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     pon., 17 gru 2018 o
>> > 13:14
>> > > > >>> Carlos
>> > > > >>> > >> >> Rovira <
>> > > > >>> > >> >>     > >     >     > carlosrovira@apache.org
>> > > > >>> > >> >>     > >     >     >     > >
>> > > > >>> > >> >>     > >     >     >     >     >     napisał(a):
>> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     > Hi Piotr,
>> > > > >>> > >> >>     > >     >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     > I think we should
>> > solve
>> > > > >>> first
>> > > > >>> > the
>> > > > >>> > >> >>     > programatic
>> > > > >>> > >> >>     > >     > change so
>> > > > >>> > >> >>     > >     >     > I can
>> > > > >>> > >> >>     > >     >     >     > test
>> > > > >>> > >> >>     > >     >     >     >     > the
>> > > > >>> > >> >>     > >     >     >     >     >     > branch and see
>> > > > >>> regressions. If
>> > > > >>> > >> not
>> > > > >>> > >> >> we can
>> > > > >>> > >> >>     > get
>> > > > >>> > >> >>     > >     > involved in
>> > > > >>> > >> >>     > >     >     >     > pursues
>> > > > >>> > >> >>     > >     >     >     >     > problems
>> > > > >>> > >> >>     > >     >     >     >     >     > that are not
>> real. I
>> > > > think
>> > > > >>> Alex
>> > > > >>> > >> >> missed this
>> > > > >>> > >> >>     > >     > discussion.
>> > > > >>> > >> >>     > >     >     > I'll
>> > > > >>> > >> >>     > >     >     >     > point
>> > > > >>> > >> >>     > >     >     >     >     > him in
>> > > > >>> > >> >>     > >     >     >     >     >     > this thread to
>> see if
>> > > he
>> > > > >>> can
>> > > > >>> > give
>> > > > >>> > >> >> his
>> > > > >>> > >> >>     > opinion
>> > > > >>> > >> >>     > >     > about the
>> > > > >>> > >> >>     > >     >     > ways
>> > > > >>> > >> >>     > >     >     >     > you
>> > > > >>> > >> >>     > >     >     >     >     > proposed
>> > > > >>> > >> >>     > >     >     >     >     >     > in the initial
>> thread
>> > > > >>> email.
>> > > > >>> > >> >>     > >     >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     > Thanks!
>> > > > >>> > >> >>     > >     >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     > El lun., 17 dic.
>> > 2018 a
>> > > > las
>> > > > >>> > >> 10:57,
>> > > > >>> > >> >> Piotr
>> > > > >>> > >> >>     > > Zarzycki
>> > > > >>> > >> >>     > >     > (<
>> > > > >>> > >> >>     > >     >     >     >     >     >
>> > > > piotrzarzycki21@gmail.com
>> > > > >>> >)
>> > > > >>> > >> >> escribió:
>> > > > >>> > >> >>     > >     >     >     >     >     >
>> > > > >>> > >> >>     > >     >     >     >     >     > > Hi Carlos,
>> > > > >>> > >> >>     > >     >     >     >     >     > >
>> > > > >>> > >> >>     > >     >     >     >     >     > > I just noticed
>> that
>> > > if
>> > > > >>> model
>> > > > >>> > do
>> > > > >>> > >> >> not
>> > > > >>> > >> >>     > > dispatch
>> > > > >>> > >> >>     > >     > change
>> > > > >>> > >> >>     > >     >     > event -
>> > > > >>> > >> >>     > >     >     >     > your
>> > > > >>> > >> >>     > >     >     >     >     > bead
>> > > > >>> > >> >>     > >     >     >     >     >     > >
>> > > DispatchChangeOnStartup
>> > > > >>> won't
>> > > > >>> > >> work
>> > > > >>> > >> >>     > because
>> > > > >>> > >> >>     > > it
>> > > > >>> > >> >>     > >     > simply
>> > > > >>> > >> >>     > >     >     > based on
>> > > > >>> > >> >>     > >     >     >     >     > dispatching
>> > > > >>> > >> >>     > >     >     >     >     >     > > "change" event
>> > trough
>> > > > >>> model.
>> > > > >>> > >> >>     > >     >     >     >     >     > >
>> > > > >>> > >> >>     > >     >     >     >     >     > > I'm wondering
>> > whether
>> > > > it
>> > > > >>> > won't
>> > > > >>> > >> be
>> > > > >>> > >> >> enough
>> > > > >>> > >> >>     > > if that
>> > > > >>> > >> >>     > >     > bead
>> > > > >>> > >> >>     > >     >     > listen
>> > > > >>> > >> >>     > >     >     >     > for
>> > > > >>> > >> >>     > >     >     >     >     >     > > "beadsAdded"
>> (here
>> > I
>> > > > >>> think it
>> > > > >>> > >> >> should be
>> > > > >>> > >> >>
>
>

-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Re: How to discover programmatic change in Jewel List

Posted by Carlos Rovira <ca...@apache.org>.
Hi Piotr,

maybe Jewel List could need some internal changes. Don't know right now.
But good to know your experience. In my case, I have many things on my
plate now, so if other have free cycles and can take a look that'd be great
:)



El vie., 8 feb. 2019 a las 17:30, Piotr Zarzycki (<pi...@gmail.com>)
escribió:

> Hi Carlos, Greg,
>
> I checked and it looks like if I remove CHANGE event from that place - it
> is affect List. CHANGE event won't work at all. I won't touch it, but if my
> scenario is valid - future user who would like to resolve some problems
> with list and have some actions from them - may have a problem.
>
> Thanks,
> Piotr
>
> czw., 7 lut 2019 o 23:14 Piotr Zarzycki <pi...@gmail.com>
> napisał(a):
>
> > Hi Greg,
> >
> > Yes I think that is correct and I believe this is how it's working now. I
> > just bump into that. Maybe my scenario have also some reasonable
> meaning. I
> > have List which has item renderer and inside that item renderer I'm
> having
> > CheckBox.
> >
> > I want to know in general which checkbox is selected, so do not go to
> much
> > in the details.
> >
> > When you have default item renderer and click on it - You have
> > selectedIndex = 1,2 etc. Controller [1] in that case listen for click and
> > make assign to selectedIndex.
> >
> > When you click on my item renderer - click won't be received by
> > controller, cause you will simply clicking into CheckBox instead of item
> > renderer itself, so no selectedIndex, no Change event etc. I resolved it
> by
> > dispatching "itemClick" once someone is clicking onto CheckBox -
> Controller
> > receiving event and making selctedIndex additionally dispatching [1].
> User
> > receiving that Change event, but two times. By dispatching that event
> > "itemClick" I'm probably not doing anything usual - that's why I didn't
> > mention in the previous email that scenario.
> > I have resolved that double dispatch by creating my own controller where
> > CHANGE dispatch [1] is simply removed.
> >
> > Please do not think too much about my scenario and requirements - I'm
> > asking whether it even needed when you have default item renderer. IMO I
> > didn't have time too look into that myself, but maybe I will.
> >
> > I will take my controller (without change event) and simply assign to
> > default List to see what is happen - Cause my List itself is also custom
> > one. ;)
> >
> > [1] https://bit.ly/2GeQ5En
> >
> > Thanks,
> > Piotr
> >
> > czw., 7 lut 2019 o 20:44 Greg Dove <gr...@gmail.com> napisał(a):
> >
> >> Hi Piotr, Carlos,
> >>
> >> I expect to have time next week to spend on this and other tasks that I
> >> have been hoping to get to for Royale, although I expect to focus on
> >> AMFBinaryData first.
> >>
> >> Piotr, correct me if I'm wrong, but I think the general approach we got
> to
> >> was that :
> >>
> >> -the model should dispatch individual 'selectionChanged',
> >> 'dataProviderChanged', etc directly from the host component for binding
> >> support, and
> >> -user initiated changes/interaction should dispatch 'change' event,
> which
> >> can occur alongside a subset of 'selectionChanged' events, for example.
> >>
> >>
> >>
> >>
> >> On Fri, Feb 8, 2019 at 12:58 AM Piotr Zarzycki <
> piotrzarzycki21@gmail.com
> >> >
> >> wrote:
> >>
> >> > Ok I will check.
> >> >
> >> > Thanks,
> >> > Piotr
> >> >
> >> > On Thu, Feb 7, 2019, 12:40 PM Carlos Rovira <ca...@apache.org>
> >> > wrote:
> >> >
> >> > > Hi Piotr,
> >> > >
> >> > > could you check in Tour De Jewel if removing that sentence makes
> some
> >> > > regression in examples?
> >> > > (I mean example with Lists and other deviated like ComboBox that use
> >> > List)
> >> > >
> >> > > If you don't see anything I could try as well in our app and see if
> >> > there's
> >> > > some possible use case don't covered in TDJ and in that case maybe
> we
> >> can
> >> > > see if that could be refactored some way
> >> > >
> >> > > thanks!
> >> > >
> >> > > Carlos
> >> > >
> >> > >
> >> > >
> >> > > El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (<
> >> > > piotrzarzycki21@gmail.com>)
> >> > > escribió:
> >> > >
> >> > > > Hi Greg,
> >> > > >
> >> > > > I'm progressing with some application and discovered that we are
> >> > > > dispatching CHANGE event from here [1] - I'm wondering whether we
> >> > really
> >> > > > need it. Model is being update in that operation - I believe it
> >> should
> >> > be
> >> > > > enough.
> >> > > >
> >> > > > Just to make it clear there is no issue - I mean CHANGE event
> >> doesn't
> >> > > fire
> >> > > > two times etc. because of that. I didn't check whether it makes
> any
> >> > > > difference.
> >> > > >
> >> > > > [1] https://bit.ly/2GeQ5En
> >> > > >
> >> > > > Thanks,
> >> > > > Piotr
> >> > > >
> >> > > > pon., 24 gru 2018 o 11:51 Piotr Zarzycki <
> piotrzarzycki21@gmail.com
> >> >
> >> > > > napisał(a):
> >> > > >
> >> > > > > Hi Carlos,
> >> > > > >
> >> > > > > You have less events flying around the head. :)
> >> > > > >
> >> > > > > Piotr
> >> > > > >
> >> > > > > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <
> >> > carlosrovira@apache.org>
> >> > > > > wrote:
> >> > > > >
> >> > > > >> Thanks Piotr and Greg,
> >> > > > >>
> >> > > > >> I'm catching up with all the thread. I'm testing and seems all
> is
> >> > ok,
> >> > > > >> Seems
> >> > > > >> Jewel List, ComboBox, DropDownList are now much better and
> >> robust :)
> >> > > > >> Great work! Thanks for working on this! :)
> >> > > > >>
> >> > > > >> Carlos
> >> > > > >>
> >> > > > >>
> >> > > > >>
> >> > > > >>
> >> > > > >>
> >> > > > >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
> >> > > > >> piotrzarzycki21@gmail.com>)
> >> > > > >> escribió:
> >> > > > >>
> >> > > > >> > Great! More tests the better. I will switch to your branch as
> >> well
> >> > > > when
> >> > > > >> you
> >> > > > >> > make the changes.
> >> > > > >> >
> >> > > > >> > Many Thanks for help with that. Let's see what's more comes
> on
> >> the
> >> > > > >> road. :)
> >> > > > >> >
> >> > > > >> > Best,
> >> > > > >> > Piotr
> >> > > > >> >
> >> > > > >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <
> greg.dove@gmail.com>
> >> > > wrote:
> >> > > > >> >
> >> > > > >> > > I already checked this against the app that we are working
> >> on,
> >> > so
> >> > > > feel
> >> > > > >> > free
> >> > > > >> > > to merge that in if it fixes the problem you were seeing,
> >> Piotr.
> >> > > > >> > > For the more general changes with dispatching from strand
> and
> >> > > > avoiding
> >> > > > >> > > IEventDispatcher-ness , I can come back to that and try to
> >> do a
> >> > > > >> refactor
> >> > > > >> > > sweep through these changes as discussed with Alex, and the
> >> > other
> >> > > > >> > component
> >> > > > >> > > sets in a couple of weeks. But I will do that in a refactor
> >> > > branch.
> >> > > > >> I'm
> >> > > > >> > not
> >> > > > >> > > using the other component sets at the moment, and although
> I
> >> > know
> >> > > > >> there
> >> > > > >> > are
> >> > > > >> > > example projects to check against, I think checking
> against a
> >> > > > >> > 'real-world'
> >> > > > >> > > app is also important. Maybe Harbs and any any others who
> >> > perhaps
> >> > > > may
> >> > > > >> > have
> >> > > > >> > > used Basic or Express etc in actual apps will be able to
> >> verify
> >> > > > things
> >> > > > >> > for
> >> > > > >> > > those component sets in the refactor branch at the time, if
> >> they
> >> > > > have
> >> > > > >> > been
> >> > > > >> > > using them. I will make a request for others to check
> things
> >> > when
> >> > > I
> >> > > > do
> >> > > > >> > > that.
> >> > > > >> > >
> >> > > > >> > >
> >> > > > >> > >
> >> > > > >> > >
> >> > > > >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
> >> > > > >> > piotrzarzycki21@gmail.com>
> >> > > > >> > > wrote:
> >> > > > >> > >
> >> > > > >> > > > Greg,
> >> > > > >> > > >
> >> > > > >> > > > I have fixed issues with navigation in my application
> code.
> >> > I'm
> >> > > ok
> >> > > > >> with
> >> > > > >> > > > changes in that branch.
> >> > > > >> > > >
> >> > > > >> > > > Thanks for all changes!
> >> > > > >> > > > Piotr
> >> > > > >> > > >
> >> > > > >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <
> >> > > > piotrzarzycki21@gmail.com
> >> > > > >> >
> >> > > > >> > > > napisał(a):
> >> > > > >> > > >
> >> > > > >> > > > > Greg,
> >> > > > >> > > > >
> >> > > > >> > > > > In your app are you using navigation in that way?
> >> > > > >> > > > > Maybe I need to call some prevent method somewhere.
> >> > > > >> > > > >
> >> > > > >> > > > > Thanks,
> >> > > > >> > > > > Piotr
> >> > > > >> > > > >
> >> > > > >> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
> >> > > > >> > > piotrzarzycki21@gmail.com>
> >> > > > >> > > > > wrote:
> >> > > > >> > > > >
> >> > > > >> > > > >> Greg,
> >> > > > >> > > > >>
> >> > > > >> > > > >> Good news. I was able to build framework using ant and
> >> > > produce
> >> > > > >> IDE
> >> > > > >> > > > >> artifacts. Tested your changes and looks good.
> However I
> >> > see
> >> > > > >> other
> >> > > > >> > > > issue. I
> >> > > > >> > > > >> have following code [1]. When I click on link in
> >> navigation
> >> > > > (I'm
> >> > > > >> > > > listening
> >> > > > >> > > > >> on change event) - I'm trying to change view using
> >> > > > >> > > > ApplicationMainContent -
> >> > > > >> > > > >> it's navigates me to new website with new url instead
> >> > > changing
> >> > > > >> view.
> >> > > > >> > > > >>
> >> > > > >> > > > >> I need to investigate why it is happen. Apart of that
> I
> >> > > believe
> >> > > > >> we
> >> > > > >> > are
> >> > > > >> > > > ok
> >> > > > >> > > > >> with that branch.
> >> > > > >> > > > >>
> >> > > > >> > > > >> [1] https://paste.apache.org/UzJI
> >> > > > >> > > > >>
> >> > > > >> > > > >> Thanks, Piotr
> >> > > > >> > > > >>
> >> > > > >> > > > >>
> >> > > > >> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <
> greg.dove@gmail.com
> >> >
> >> > > > >> > napisał(a):
> >> > > > >> > > > >>
> >> > > > >> > > > >>> Ok Piotr, I'm not sure what is happening there. It
> does
> >> > seem
> >> > > > >> > strange
> >> > > > >> > > -
> >> > > > >> > > > >>> shell.view.royale.Shell seems like a class and
> somehow
> >> has
> >> > > org
> >> > > > >> > > > >>> <http://shell.view.royale.shell.org/
> >> > > > >> > > >.apache.royale.jewel.Application
> >> > > > >> > > > >>> appended to it.
> >> > > > >> > > > >>>
> >> > > > >> > > > >>> I don't think that is related to anything I did (and
> it
> >> > > works
> >> > > > >> fine
> >> > > > >> > > > >>> against
> >> > > > >> > > > >>> the 'real-world' app I tested against - with maven
> >> build).
> >> > > Can
> >> > > > >> you
> >> > > > >> > > > build
> >> > > > >> > > > >>> Tour de Jewel  ok?
> >> > > > >> > > > >>>
> >> > > > >> > > > >>>
> >> > > > >> > > > >>>
> >> > > > >> > > > >>>
> >> > > > >> > > > >>>
> >> > > > >> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
> >> > > > >> > > > >>> piotrzarzycki21@gmail.com>
> >> > > > >> > > > >>> wrote:
> >> > > > >> > > > >>>
> >> > > > >> > > > >>> > Hi Greg,
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> > Thanks for your changes. Unfortunately I'm not able
> >> so
> >> > far
> >> > > > >> > properly
> >> > > > >> > > > >>> build
> >> > > > >> > > > >>> > my real world app using Maven. I build Jewel module
> >> by
> >> > > > Maven,
> >> > > > >> so
> >> > > > >> > I
> >> > > > >> > > > have
> >> > > > >> > > > >>> > setup my app to be buildable with Maven.
> >> Unfortunately
> >> > I'm
> >> > > > >> > getting
> >> > > > >> > > > >>> weird
> >> > > > >> > > > >>> > exception during running app.
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError:
> Cannot
> >> > read
> >> > > > >> > property
> >> > > > >> > > > >>> > 'string' of undefined
> >> > > > >> > > > >>> >     at
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>>
> >> > > > >> > > >
> >> > > > >> > >
> >> > > > >> >
> >> > > > >>
> >> > > >
> >> > >
> >> >
> >>
> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
> >> > > > >> > > > >>> > (SimpleCSSValuesImpl.js:102)
> >> > > > >> > > > >>> >     at
> >> > > > >> > > > >>> > shell.view.royale.Shell.org
> >> > > > >> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
> >> > > > >> > > > >>> > (Application.js:311)
> >> > > > >> > > > >>> >     at shell.view.royale.Shell.org
> >> > > > >> > .apache.royale.jewel.Application
> >> > > > >> > > > [as
> >> > > > >> > > > >>> > constructor] (Application.js:46)
> >> > > > >> > > > >>> >     at Function.childCtor.base (base.js:2515)
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> > Above exception is not occurs when I'm building
> using
> >> > > > >> Nightly. I
> >> > > > >> > > > >>> probably
> >> > > > >> > > > >>> > will have to build framework by ant and prepare IDE
> >> > > > compatible
> >> > > > >> > > > >>> environment
> >> > > > >> > > > >>> > or will try to rebuild whole framework by Maven and
> >> try
> >> > > > again.
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> > Thanks, Piotr
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
> >> > > > >> > > piotrzarzycki21@gmail.com>
> >> > > > >> > > > >>> > napisał(a):
> >> > > > >> > > > >>> >
> >> > > > >> > > > >>> > > Hi Greg,
> >> > > > >> > > > >>> > >
> >> > > > >> > > > >>> > > Great news, cause I was going to look into that
> >> > > somewhere
> >> > > > >> > between
> >> > > > >> > > > >>> > > Christmas and New Year. I would be happy to test
> >> your
> >> > > > >> changes!
> >> > > > >> > Do
> >> > > > >> > > > not
> >> > > > >> > > > >>> > > hesitate push it!
> >> > > > >> > > > >>> > >
> >> > > > >> > > > >>> > > Thank you so much!
> >> > > > >> > > > >>> > > Piotr
> >> > > > >> > > > >>> > >
> >> > > > >> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <
> >> > > greg.dove@gmail.com>
> >> > > > >> > > > >>> napisał(a):
> >> > > > >> > > > >>> > >
> >> > > > >> > > > >>> > >> Piotr, Alex,
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >> fyi I found some time to spend on this today,
> and
> >> > > Piotr,
> >> > > > I
> >> > > > >> > > should
> >> > > > >> > > > be
> >> > > > >> > > > >>> > ready
> >> > > > >> > > > >>> > >> to push the changes I made to your branch
> tomorrow
> >> > > > morning
> >> > > > >> my
> >> > > > >> > > time
> >> > > > >> > > > >>> > (local
> >> > > > >> > > > >>> > >> time - GMT+13).
> >> > > > >> > > > >>> > >> It seems to be fine so far with
> 'selectionChange'
> >> for
> >> > > > >> binding
> >> > > > >> > > > based
> >> > > > >> > > > >>> on
> >> > > > >> > > > >>> > >> model changes and 'change' for class event
> meta. I
> >> > have
> >> > > > >> been
> >> > > > >> > > been
> >> > > > >> > > > >>> > testing
> >> > > > >> > > > >>> > >> so far against Tour de Jewel, but I will test
> >> against
> >> > > our
> >> > > > >> > > > real-world
> >> > > > >> > > > >>> > >> project as well before I push to your branch
> >> Piotr.
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >> -Greg
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
> >> > > > >> > greg.dove@gmail.com>
> >> > > > >> > > > >>> wrote:
> >> > > > >> > > > >>> > >>
> >> > > > >> > > > >>> > >> > Alex, I can't remember offhand, but I think we
> >> used
> >> > > > that
> >> > > > >> > once
> >> > > > >> > > in
> >> > > > >> > > > >>> only
> >> > > > >> > > > >>> > >> one
> >> > > > >> > > > >>> > >> > place, and I did it really quickly. I am sure
> >> there
> >> > > > will
> >> > > > >> be
> >> > > > >> > a
> >> > > > >> > > > way
> >> > > > >> > > > >>> to
> >> > > > >> > > > >>> > >> avoid
> >> > > > >> > > > >>> > >> > it.
> >> > > > >> > > > >>> > >> > I think the bigger issue is the way I did the
> >> > changes
> >> > > > to
> >> > > > >> the
> >> > > > >> > > > >>> model to
> >> > > > >> > > > >>> > >> > support dispatching change events for
> >> programmatic
> >> > > > >> changes,
> >> > > > >> > > > which
> >> > > > >> > > > >>> I
> >> > > > >> > > > >>> > >> think
> >> > > > >> > > > >>> > >> > Piotr was looking at.
> >> > > > >> > > > >>> > >> > Maybe I can take a look at that later today,
> >> but I
> >> > > > can't
> >> > > > >> be
> >> > > > >> > > > >>> certain.
> >> > > > >> > > > >>> > >> > The simplest fix might be to revert
> everything I
> >> > did
> >> > > > and
> >> > > > >> add
> >> > > > >> > > > >>> binding
> >> > > > >> > > > >>> > for
> >> > > > >> > > > >>> > >> > the selection changes (currently
> >> > > 'selectedIndexChanged'
> >> > > > >> and
> >> > > > >> > > > >>> > >> > 'selectedItemChanged' which I know you say
> >> could be
> >> > > > >> > > > >>> > 'selectionChanged')
> >> > > > >> > > > >>> > >> in
> >> > > > >> > > > >>> > >> > addition to 'change' (as discussed) and make
> >> sure
> >> > the
> >> > > > >> > > component
> >> > > > >> > > > is
> >> > > > >> > > > >>> > >> > dispatching those from the model (if it does
> not
> >> > > > already
> >> > > > >> do
> >> > > > >> > > so).
> >> > > > >> > > > >>> If
> >> > > > >> > > > >>> > >> > 'selectionChanged' (or whatever it is) is
> >> already
> >> > > > >> happening
> >> > > > >> > > as a
> >> > > > >> > > > >>> > result
> >> > > > >> > > > >>> > >> of
> >> > > > >> > > > >>> > >> > 'change' in addition to setter triggered
> >> changes,
> >> > > then
> >> > > > it
> >> > > > >> > > could
> >> > > > >> > > > >>> be a
> >> > > > >> > > > >>> > >> simple
> >> > > > >> > > > >>> > >> > swap for the binding event only (as discussed
> >> also)
> >> > > > >> > > > >>> > >> >
> >> > > > >> > > > >>> > >> > But this last part was also applicable to the
> >> > > wholesale
> >> > > > >> > change
> >> > > > >> > > > to
> >> > > > >> > > > >>> all
> >> > > > >> > > > >>> > >> > component sets we were discussing, not just
> >> Jewel.
> >> > > > >> > > > >>> > >> >
> >> > > > >> > > > >>> > >> >
> >> > > > >> > > > >>> > >> >
> >> > > > >> > > > >>> > >> >
> >> > > > >> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
> >> > > > >> > > > >>> <ah...@adobe.com.invalid>
> >> > > > >> > > > >>> > >> > wrote:
> >> > > > >> > > > >>> > >> >
> >> > > > >> > > > >>> > >> >> Greg, Carlos,
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >> Can one of you put together a simple test
> case
> >> > that
> >> > > > >> > > > demonstrates
> >> > > > >> > > > >>> your
> >> > > > >> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't
> >> need
> >> > > > server
> >> > > > >> > > access.
> >> > > > >> > > > >>> You
> >> > > > >> > > > >>> > >> can
> >> > > > >> > > > >>> > >> >> probably inject a dataProvider on
> >> > > applicationComplete
> >> > > > or
> >> > > > >> > have
> >> > > > >> > > > the
> >> > > > >> > > > >>> > user
> >> > > > >> > > > >>> > >> push
> >> > > > >> > > > >>> > >> >> a button if the issue is about deferred
> >> arrival of
> >> > > > >> server
> >> > > > >> > > data.
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >> IMO, we have to be more concerned about
> getting
> >> > the
> >> > > > >> > patterns
> >> > > > >> > > > >>> right
> >> > > > >> > > > >>> > >> >> regressions, and the best way to avoid
> getting
> >> > > > >> regressions
> >> > > > >> > is
> >> > > > >> > > > to
> >> > > > >> > > > >>> > >> provide a
> >> > > > >> > > > >>> > >> >> simple test case that demonstrates a problem
> in
> >> > the
> >> > > > >> > patterns.
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to
> >> be
> >> > > > >> required
> >> > > > >> > and
> >> > > > >> > > > >>> won't
> >> > > > >> > > > >>> > be
> >> > > > >> > > > >>> > >> >> part of the framework.  The usability of the
> >> > > framework
> >> > > > >> will
> >> > > > >> > > go
> >> > > > >> > > > >>> down
> >> > > > >> > > > >>> > if
> >> > > > >> > > > >>> > >> >> folks have to keep adding more and more
> >> "OnThis"
> >> > and
> >> > > > >> > "OnThat"
> >> > > > >> > > > >>> beads
> >> > > > >> > > > >>> > to
> >> > > > >> > > > >>> > >> get
> >> > > > >> > > > >>> > >> >> their app to work.  The approachability of
> the
> >> > > > >> framework in
> >> > > > >> > > > >>> terms of
> >> > > > >> > > > >>> > >> >> documentation and number of classes won't
> scale
> >> > > either
> >> > > > >> if
> >> > > > >> > we
> >> > > > >> > > > >>> don't
> >> > > > >> > > > >>> > get
> >> > > > >> > > > >>> > >> >> these patterns right.  This doesn't mean that
> >> you
> >> > > > can't
> >> > > > >> use
> >> > > > >> > > an
> >> > > > >> > > > >>> > >> "onStartup"
> >> > > > >> > > > >>> > >> >> bead in your app in order to meet some
> >> deadline,
> >> > and
> >> > > > >> share
> >> > > > >> > it
> >> > > > >> > > > >>> with
> >> > > > >> > > > >>> > >> others,
> >> > > > >> > > > >>> > >> >> but we have to be careful about what patterns
> >> we
> >> > > > >> promote in
> >> > > > >> > > the
> >> > > > >> > > > >>> SDK.
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >> My 2 cents,
> >> > > > >> > > > >>> > >> >> -Alex
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
> >> > > > >> greg.dove@gmail.com>
> >> > > > >> > > > wrote:
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>     Hi Piotr,
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>     I would be happy to work on it, and wish
> I
> >> > > could,
> >> > > > >> but
> >> > > > >> > the
> >> > > > >> > > > >>> problem
> >> > > > >> > > > >>> > >> for
> >> > > > >> > > > >>> > >> >> me at
> >> > > > >> > > > >>> > >> >>     the moment is that I can't make it a
> >> priority,
> >> > > > >> because
> >> > > > >> > > for
> >> > > > >> > > > >>> now at
> >> > > > >> > > > >>> > >> >> least it
> >> > > > >> > > > >>> > >> >>     is functioning as we need it, and there
> are
> >> > > plenty
> >> > > > >> of
> >> > > > >> > > > things
> >> > > > >> > > > >>> that
> >> > > > >> > > > >>> > >> are
> >> > > > >> > > > >>> > >> >> not
> >> > > > >> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
> >> > > > >> implementation
> >> > > > >> > as
> >> > > > >> > > it
> >> > > > >> > > > >>> > stands
> >> > > > >> > > > >>> > >> >> might
> >> > > > >> > > > >>> > >> >>     not be 'right', it does function as we
> >> need it
> >> > > to
> >> > > > >> for
> >> > > > >> > > now.
> >> > > > >> > > > I
> >> > > > >> > > > >>> > >> suspect
> >> > > > >> > > > >>> > >> >> that
> >> > > > >> > > > >>> > >> >>     is what Carlos meant when he said he was
> >> > > concerned
> >> > > > >> > about
> >> > > > >> > > > >>> > >> regressions.
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>     I have other stuff queued up to add in
> >> other
> >> > > areas
> >> > > > >> too,
> >> > > > >> > > > like
> >> > > > >> > > > >>> > >> >> AMFBinaryData
> >> > > > >> > > > >>> > >> >>     and AMFNetConnection but will need to do
> >> more
> >> > > work
> >> > > > >> to
> >> > > > >> > > > >>> generalize
> >> > > > >> > > > >>> > >> it,
> >> > > > >> > > > >>> > >> >> as I
> >> > > > >> > > > >>> > >> >>     have it these working in a way that is
> >> almost
> >> > > > >> complete,
> >> > > > >> > > but
> >> > > > >> > > > >>> > mostly
> >> > > > >> > > > >>> > >> >> focused
> >> > > > >> > > > >>> > >> >>     on what is sufficient for what Carlos
> needs
> >> > for
> >> > > > now.
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>     I hope to get some free time in early
> >> January
> >> > to
> >> > > > >> finish
> >> > > > >> > > up
> >> > > > >> > > > >>> these
> >> > > > >> > > > >>> > >> >> things.
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr
> >> > Zarzycki
> >> > > <
> >> > > > >> > > > >>> > >> >> piotrzarzycki21@gmail.com>
> >> > > > >> > > > >>> > >> >>     wrote:
> >> > > > >> > > > >>> > >> >>
> >> > > > >> > > > >>> > >> >>     > Hi Guys,
> >> > > > >> > > > >>> > >> >>     >
> >> > > > >> > > > >>> > >> >>     > I definitely need to a way of resolve
> >> that
> >> > > > >> problem. I
> >> > > > >> > > > will
> >> > > > >> > > > >>> > review
> >> > > > >> > > > >>> > >> >> emails
> >> > > > >> > > > >>> > >> >>     > tomorrow.
> >> > > > >> > > > >>> > >> >>     >
> >> > > > >> > > > >>> > >> >>     > However if you Greg would like to try
> >> > > something
> >> > > > go
> >> > > > >> > for
> >> > > > >> > > > it.
> >> > > > >> > > > >>> > Would
> >> > > > >> > > > >>> > >> be
> >> > > > >> > > > >>> > >> >> great
> >> > > > >> > > > >>> > >> >>     > if you could use my branch where
> changes
> >> > which
> >> > > > >> > removes
> >> > > > >> > > > >>> > >> dispatching
> >> > > > >> > > > >>> > >> >> "change"
> >> > > > >> > > > >>> > >> >>     > event from model are in place.
> >> > > > >> > > > >>> > >> >>     >
> >> > > > >> > > > >>> > >> >>     > Thanks, Piotr
> >> > > > >> > > > >>> > >> >>     >
> >> > > > >> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
> >> > > > >> > > > >>> <aharui@adobe.com.invalid
> >> > > > >> > > > >>> > >
> >> > > > >> > > > >>> > >> >>     > napisał(a):
> >> > > > >> > > > >>> > >> >>     >
> >> > > > >> > > > >>> > >> >>     > > Hi Greg,
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > > I haven't looked at how pervasive
> this
> >> > > change
> >> > > > >> would
> >> > > > >> > > be.
> >> > > > >> > > > >>> I'm
> >> > > > >> > > > >>> > >> >> mainly
> >> > > > >> > > > >>> > >> >>     > saying
> >> > > > >> > > > >>> > >> >>     > > that Flex worked with these
> categories
> >> of
> >> > > > events
> >> > > > >> > and
> >> > > > >> > > I
> >> > > > >> > > > >>> think
> >> > > > >> > > > >>> > >> >> Royale can
> >> > > > >> > > > >>> > >> >>     > too
> >> > > > >> > > > >>> > >> >>     > > and would eliminate the need for
> >> > > > >> > > > DispatchChangeOnStartup
> >> > > > >> > > > >>> and
> >> > > > >> > > > >>> > >> >> things like
> >> > > > >> > > > >>> > >> >>     > > that.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > > You could be right that the models
> only
> >> > need
> >> > > > to
> >> > > > >> > > > dispatch
> >> > > > >> > > > >>> > >> >> selectionChange
> >> > > > >> > > > >>> > >> >>     > > and not "change", as long as the
> >> > controllers
> >> > > > are
> >> > > > >> > > > >>> guaranteed
> >> > > > >> > > > >>> > to
> >> > > > >> > > > >>> > >> >> update the
> >> > > > >> > > > >>> > >> >>     > > model in a way that fires
> >> selectionChange.
> >> > > I
> >> > > > >> have
> >> > > > >> > > this
> >> > > > >> > > > >>> > feeling
> >> > > > >> > > > >>> > >> >> that in
> >> > > > >> > > > >>> > >> >>     > > Flex there were some backdoors for
> >> > updating
> >> > > > >> > > properties
> >> > > > >> > > > >>> > without
> >> > > > >> > > > >>> > >> >>     > dispatching
> >> > > > >> > > > >>> > >> >>     > > events and dispatching the event
> >> "later",
> >> > > but
> >> > > > I
> >> > > > >> > don't
> >> > > > >> > > > >>> think
> >> > > > >> > > > >>> > >> we've
> >> > > > >> > > > >>> > >> >> had to
> >> > > > >> > > > >>> > >> >>     > > write such code in Royale and maybe
> we
> >> > won't
> >> > > > >> have
> >> > > > >> > to
> >> > > > >> > > or
> >> > > > >> > > > >>> can't
> >> > > > >> > > > >>> > >> >> because the
> >> > > > >> > > > >>> > >> >>     > > browser will update right away in
> many
> >> > > cases.
> >> > > > >> > There
> >> > > > >> > > > were
> >> > > > >> > > > >>> > >> >> somethings you
> >> > > > >> > > > >>> > >> >>     > > could do in Flash knowing that all
> >> > rendering
> >> > > > was
> >> > > > >> > > > >>> deferred to
> >> > > > >> > > > >>> > >> frame
> >> > > > >> > > > >>> > >> >>     > > updates.  In Royale, with separate
> >> models,
> >> > > the
> >> > > > >> > > > controller
> >> > > > >> > > > >>> > code
> >> > > > >> > > > >>> > >> >> can't just
> >> > > > >> > > > >>> > >> >>     > > set the backing variable.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > > So, if you want to give it a try
> having
> >> > only
> >> > > > >> > > > >>> selectionChange
> >> > > > >> > > > >>> > as
> >> > > > >> > > > >>> > >> >> the
> >> > > > >> > > > >>> > >> >>     > > bindable event, go for it.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > > -Alex
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
> >> > > > >> > > > greg.dove@gmail.com>
> >> > > > >> > > > >>> > >> wrote:
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     Thanks Alex.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     I only looked in Basic TextInput
> >> > > because I
> >> > > > >> was
> >> > > > >> > > > >>> looking
> >> > > > >> > > > >>> > for
> >> > > > >> > > > >>> > >> a
> >> > > > >> > > > >>> > >> >> simpler
> >> > > > >> > > > >>> > >> >>     > >     example of the general case being
> >> > > > discussed.
> >> > > > >> > That
> >> > > > >> > > > >>> code
> >> > > > >> > > > >>> > >> looks
> >> > > > >> > > > >>> > >> >> like it
> >> > > > >> > > > >>> > >> >>     > > might
> >> > > > >> > > > >>> > >> >>     > >     need some work on the swf side in
> >> any
> >> > > > case.
> >> > > > >> > > > >>> > >> >>     > >     I was just looking for the
> >> > > > >> 'programmaticChange'
> >> > > > >> > > vs
> >> > > > >> > > > >>> > >> >>     > > 'userInitiatedChange'
> >> > > > >> > > > >>> > >> >>     > >     differences.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     Based on a quick look at the
> other
> >> > Basic
> >> > > > >> > classes,
> >> > > > >> > > > the
> >> > > > >> > > > >>> > >> >> conclusions
> >> > > > >> > > > >>> > >> >>     > > appear
> >> > > > >> > > > >>> > >> >>     > >     similar.  They are bindable via
> >> > 'change'
> >> > > > >> only.
> >> > > > >> > > > >>> > >> >>     > >     And the models all dispatch both
> >> > > > >> > > > >>> selectedIndexChanged and
> >> > > > >> > > > >>> > >> >>     > >     selectedItemChanged.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     So it seems like you are
> proposing
> >> > broad
> >> > > > >> > changes
> >> > > > >> > > > for
> >> > > > >> > > > >>> > >> >> everything, if
> >> > > > >> > > > >>> > >> >>     > > they
> >> > > > >> > > > >>> > >> >>     > >     are to also support binding
> changes
> >> > for
> >> > > > >> > > > programmatic
> >> > > > >> > > > >>> > >> changes?
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     For me, the change in something
> (or
> >> > > > nothing)
> >> > > > >> > > being
> >> > > > >> > > > >>> > >> 'selected'
> >> > > > >> > > > >>> > >> >>     > logically
> >> > > > >> > > > >>> > >> >>     > >     occurs as a result of either user
> >> > change
> >> > > > or
> >> > > > >> > > > >>> programmatic
> >> > > > >> > > > >>> > >> >> change. On
> >> > > > >> > > > >>> > >> >>     > > that
> >> > > > >> > > > >>> > >> >>     > >     basis would it be possible to
> have
> >> the
> >> > > > >> > > > >>> selectionChange as
> >> > > > >> > > > >>> > >> the
> >> > > > >> > > > >>> > >> >> sole
> >> > > > >> > > > >>> > >> >>     > > Binding
> >> > > > >> > > > >>> > >> >>     > >     event (which occurs from setter
> >> > induced
> >> > > > >> change
> >> > > > >> > > and
> >> > > > >> > > > >>> from
> >> > > > >> > > > >>> > >> user
> >> > > > >> > > > >>> > >> >> induced
> >> > > > >> > > > >>> > >> >>     > >     change) and the 'change' event as
> >> > > > >> > > user-interaction
> >> > > > >> > > > >>> only
> >> > > > >> > > > >>> > as
> >> > > > >> > > > >>> > >> >> the class
> >> > > > >> > > > >>> > >> >>     > > level
> >> > > > >> > > > >>> > >> >>     > >     event type (as it is now)?
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     I have not thought about this as
> >> much
> >> > as
> >> > > > you
> >> > > > >> > > (Alex
> >> > > > >> > > > >>> and
> >> > > > >> > > > >>> > >> >> others) have,
> >> > > > >> > > > >>> > >> >>     > so
> >> > > > >> > > > >>> > >> >>     > >     maybe that last suggestion does
> not
> >> > make
> >> > > > >> sense.
> >> > > > >> > > > But I
> >> > > > >> > > > >>> > >> really
> >> > > > >> > > > >>> > >> >> think
> >> > > > >> > > > >>> > >> >>     > > that for
> >> > > > >> > > > >>> > >> >>     > >     whatever does make sense it would
> >> be
> >> > > great
> >> > > > >> to
> >> > > > >> > > > settle
> >> > > > >> > > > >>> on
> >> > > > >> > > > >>> > >> >> something and
> >> > > > >> > > > >>> > >> >>     > > get
> >> > > > >> > > > >>> > >> >>     > >     it consistent for all components
> >> > asap.
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM
> >> Alex
> >> > > Harui
> >> > > > >> > > > >>> > >> >> <aharui@adobe.com.invalid
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > > wrote:
> >> > > > >> > > > >>> > >> >>     > >
> >> > > > >> > > > >>> > >> >>     > >     > Hi Greg,
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > You are correct that there is a
> >> pain
> >> > > > point
> >> > > > >> > > around
> >> > > > >> > > > >>> > binding
> >> > > > >> > > > >>> > >> >> overhead
> >> > > > >> > > > >>> > >> >>     > > and
> >> > > > >> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG
> >> way
> >> > of
> >> > > > >> adding
> >> > > > >> > > the
> >> > > > >> > > > >>> > ability
> >> > > > >> > > > >>> > >> to
> >> > > > >> > > > >>> > >> >> add
> >> > > > >> > > > >>> > >> >>     > more
> >> > > > >> > > > >>> > >> >>     > >     > binding events via beads that
> >> > doesn't
> >> > > > have
> >> > > > >> > too
> >> > > > >> > > > much
> >> > > > >> > > > >>> > >> >> overhead for
> >> > > > >> > > > >>> > >> >>     > > folks not
> >> > > > >> > > > >>> > >> >>     > >     > interested in those extra
> events.
> >> > > > >> Actually,
> >> > > > >> > > > there
> >> > > > >> > > > >>> are
> >> > > > >> > > > >>> > >> some
> >> > > > >> > > > >>> > >> >> ways
> >> > > > >> > > > >>> > >> >>     > > that are
> >> > > > >> > > > >>> > >> >>     > >     > JS-only like replacing
> >> > > > prototype-methods,
> >> > > > >> > but I
> >> > > > >> > > > >>> don't
> >> > > > >> > > > >>> > >> think
> >> > > > >> > > > >>> > >> >> we
> >> > > > >> > > > >>> > >> >>     > > should rely
> >> > > > >> > > > >>> > >> >>     > >     > on mutable class definitions.
> >>  In
> >> > > many
> >> > > > >> cases
> >> > > > >> > > we
> >> > > > >> > > > >>> make
> >> > > > >> > > > >>> > >> >> trade-offs
> >> > > > >> > > > >>> > >> >>     > and
> >> > > > >> > > > >>> > >> >>     > > Basic
> >> > > > >> > > > >>> > >> >>     > >     > ends up being what we think
> >> almost
> >> > all
> >> > > > >> folks
> >> > > > >> > > > "must
> >> > > > >> > > > >>> > have".
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > When we first started out I was
> >> > hoping
> >> > > > to
> >> > > > >> > > reduce
> >> > > > >> > > > >>> > binding
> >> > > > >> > > > >>> > >> >> overhead
> >> > > > >> > > > >>> > >> >>     > > which is
> >> > > > >> > > > >>> > >> >>     > >     > why some of the beads look like
> >> they
> >> > > do,
> >> > > > >> but
> >> > > > >> > > > these
> >> > > > >> > > > >>> > days I
> >> > > > >> > > > >>> > >> >> think it
> >> > > > >> > > > >>> > >> >>     > > is more
> >> > > > >> > > > >>> > >> >>     > >     > important to separate
> interactive
> >> > > events
> >> > > > >> from
> >> > > > >> > > > >>> > >> binding/setup
> >> > > > >> > > > >>> > >> >> events.
> >> > > > >> > > > >>> > >> >>     > > Folks
> >> > > > >> > > > >>> > >> >>     > >     > who don't use a particular
> >> binding
> >> > > event
> >> > > > >> can
> >> > > > >> > > > always
> >> > > > >> > > > >>> > >> replace
> >> > > > >> > > > >>> > >> >> the
> >> > > > >> > > > >>> > >> >>     > > model and
> >> > > > >> > > > >>> > >> >>     > >     > top-level component with a
> >> version
> >> > > > without
> >> > > > >> > > events
> >> > > > >> > > > >>> they
> >> > > > >> > > > >>> > >> are
> >> > > > >> > > > >>> > >> >> not
> >> > > > >> > > > >>> > >> >>     > > interested
> >> > > > >> > > > >>> > >> >>     > >     > in, or in the JS output, run a
> >> > > > >> post-process
> >> > > > >> > to
> >> > > > >> > > > >>> cull out
> >> > > > >> > > > >>> > >> >> metadata.
> >> > > > >> > > > >>> > >> >>     > > But
> >> > > > >> > > > >>> > >> >>     > >     > under the "almost all folks"
> >> rule, I
> >> > > > think
> >> > > > >> > > > "almost
> >> > > > >> > > > >>> all
> >> > > > >> > > > >>> > >> >> folks" don't
> >> > > > >> > > > >>> > >> >>     > > want to
> >> > > > >> > > > >>> > >> >>     > >     > run interaction handling code
> at
> >> > setup
> >> > > > >> time.
> >> > > > >> > > > >>> > Especially
> >> > > > >> > > > >>> > >> if
> >> > > > >> > > > >>> > >> >> that
> >> > > > >> > > > >>> > >> >>     > > handling
> >> > > > >> > > > >>> > >> >>     > >     > code runs any sort of animation
> >> or
> >> > > does
> >> > > > >> any
> >> > > > >> > > other
> >> > > > >> > > > >>> heavy
> >> > > > >> > > > >>> > >> >> processing.
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > I could be wrong, but I'm
> pretty
> >> > sure
> >> > > > >> that if
> >> > > > >> > > you
> >> > > > >> > > > >>> just
> >> > > > >> > > > >>> > >> take
> >> > > > >> > > > >>> > >> >> a
> >> > > > >> > > > >>> > >> >>     > > <select>
> >> > > > >> > > > >>> > >> >>     > >     > element, you can set its
> initial
> >> > > > selection
> >> > > > >> > > value
> >> > > > >> > > > >>> > without
> >> > > > >> > > > >>> > >> it
> >> > > > >> > > > >>> > >> >>     > > dispatching an
> >> > > > >> > > > >>> > >> >>     > >     > event called "change".  Then
> >> when a
> >> > > user
> >> > > > >> > > selects
> >> > > > >> > > > an
> >> > > > >> > > > >>> > item
> >> > > > >> > > > >>> > >> >> you get a
> >> > > > >> > > > >>> > >> >>     > > "change"
> >> > > > >> > > > >>> > >> >>     > >     > event.  IMO, this is why
> "change"
> >> > > should
> >> > > > >> be
> >> > > > >> > an
> >> > > > >> > > > >>> > >> interactive
> >> > > > >> > > > >>> > >> >> event
> >> > > > >> > > > >>> > >> >>     > and
> >> > > > >> > > > >>> > >> >>     > > not a
> >> > > > >> > > > >>> > >> >>     > >     > binding event.
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > So these are the reasons I
> think
> >> we
> >> > > > should
> >> > > > >> > > adjust
> >> > > > >> > > > >>> the
> >> > > > >> > > > >>> > >> basic
> >> > > > >> > > > >>> > >> >> beads
> >> > > > >> > > > >>> > >> >>     > to
> >> > > > >> > > > >>> > >> >>     > >     > separate interactive events
> from
> >> > setup
> >> > > > >> events
> >> > > > >> > > and
> >> > > > >> > > > >>> why
> >> > > > >> > > > >>> > >> >> "change" is
> >> > > > >> > > > >>> > >> >>     > an
> >> > > > >> > > > >>> > >> >>     > >     > interactive event.
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > Now, we could renew the effort
> to
> >> > make
> >> > > > >> Basic
> >> > > > >> > > the
> >> > > > >> > > > >>> truly
> >> > > > >> > > > >>> > >> >> smallest
> >> > > > >> > > > >>> > >> >>     > >     > implementation and move some of
> >> this
> >> > > > >> logic to
> >> > > > >> > > > >>> Express,
> >> > > > >> > > > >>> > >> but
> >> > > > >> > > > >>> > >> >> I keep
> >> > > > >> > > > >>> > >> >>     > > seeing
> >> > > > >> > > > >>> > >> >>     > >     > code creep into Basic to handle
> >> > > > situations
> >> > > > >> > that
> >> > > > >> > > > >>> almost
> >> > > > >> > > > >>> > >> all
> >> > > > >> > > > >>> > >> >> folks
> >> > > > >> > > > >>> > >> >>     > > need.
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > TextInput, on the other hand,
> has
> >> > been
> >> > > > an
> >> > > > >> > > > >>> exception of
> >> > > > >> > > > >>> > >> >> sorts in
> >> > > > >> > > > >>> > >> >>     > > Flex.  The
> >> > > > >> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches
> >> > "change"
> >> > > on
> >> > > > >> > > certain
> >> > > > >> > > > >>> kinds
> >> > > > >> > > > >>> > of
> >> > > > >> > > > >>> > >> >> changes.
> >> > > > >> > > > >>> > >> >>     > > So
> >> > > > >> > > > >>> > >> >>     > >     > early implementations in Royale
> >> > tried
> >> > > to
> >> > > > >> > mimic
> >> > > > >> > > > that
> >> > > > >> > > > >>> > >> >> behavior for
> >> > > > >> > > > >>> > >> >>     > > folks
> >> > > > >> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we
> >> > should
> >> > > > >> change
> >> > > > >> > > > that
> >> > > > >> > > > >>> and
> >> > > > >> > > > >>> > >> make
> >> > > > >> > > > >>> > >> >> Basic
> >> > > > >> > > > >>> > >> >>     > > TextInput
> >> > > > >> > > > >>> > >> >>     > >     > more consistent with browser
> >> > behavior.
> >> > > > >> The
> >> > > > >> > > > >>> emulation
> >> > > > >> > > > >>> > >> >> components
> >> > > > >> > > > >>> > >> >>     > can
> >> > > > >> > > > >>> > >> >>     > > mimic
> >> > > > >> > > > >>> > >> >>     > >     > the old Flex behavior.  So I
> >> think
> >> > > using
> >> > > > >> > > > TextInput
> >> > > > >> > > > >>> as
> >> > > > >> > > > >>> > >> >> precedent is
> >> > > > >> > > > >>> > >> >>     > >     > misleading.
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > Thoughts?
> >> > > > >> > > > >>> > >> >>     > >     > -Alex
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg
> >> Dove" <
> >> > > > >> > > > >>> > greg.dove@gmail.com>
> >> > > > >> > > > >>> > >> >> wrote:
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     Alex, I was giving this
> some
> >> > more
> >> > > > >> thought
> >> > > > >> > > > >>> also. I
> >> > > > >> > > > >>> > >> >> understood
> >> > > > >> > > > >>> > >> >>     > > that you
> >> > > > >> > > > >>> > >> >>     > >     > meant
> >> > > > >> > > > >>> > >> >>     > >     >     to add extra events for
> >> binding
> >> > > from
> >> > > > >> your
> >> > > > >> > > > >>> previous
> >> > > > >> > > > >>> > >> >> comments.
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     But isn't the established
> >> > pattern
> >> > > to
> >> > > > >> add
> >> > > > >> > a
> >> > > > >> > > > >>> bead to
> >> > > > >> > > > >>> > >> >> listen for
> >> > > > >> > > > >>> > >> >>     > the
> >> > > > >> > > > >>> > >> >>     > >     >     selectionChange and
> >> redispatch
> >> > it
> >> > > as
> >> > > > >> > > change?
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     At least that seems to be
> the
> >> > case
> >> > > > >> > > elsewhere
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     If I look at the code in
> >> Basic
> >> > > > >> > TextInput...
> >> > > > >> > > > >>> > >> >>     > >     >     it dispatches 'textChange'
> >> and
> >> > > > >> 'change'
> >> > > > >> > but
> >> > > > >> > > > is
> >> > > > >> > > > >>> only
> >> > > > >> > > > >>> > >> >> Bindable
> >> > > > >> > > > >>> > >> >>     > via
> >> > > > >> > > > >>> > >> >>     > >     > 'change'.
> >> > > > >> > > > >>> > >> >>     > >     >     There is effort to keep
> them
> >> > > > >> > > > distinct/separate.
> >> > > > >> > > > >>> > >> >>     > >     >     (OT: It looks like the swf
> >> side
> >> > > > needs
> >> > > > >> > some
> >> > > > >> > > > >>> > >> consistency
> >> > > > >> > > > >>> > >> >> in the
> >> > > > >> > > > >>> > >> >>     > > html
> >> > > > >> > > > >>> > >> >>     > >     > setter
> >> > > > >> > > > >>> > >> >>     > >     >     same as the text setter.)
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     So TextInput appears to
> have
> >> 2
> >> > > > >> distinct
> >> > > > >> > > > events
> >> > > > >> > > > >>> but
> >> > > > >> > > > >>> > >> only
> >> > > > >> > > > >>> > >> >> be
> >> > > > >> > > > >>> > >> >>     > > Bindable
> >> > > > >> > > > >>> > >> >>     > >     > for one
> >> > > > >> > > > >>> > >> >>     > >     >     ('change'). So I presume
> >> that to
> >> > > > make
> >> > > > >> > that
> >> > > > >> > > > >>> support
> >> > > > >> > > > >>> > >> >> programmatic
> >> > > > >> > > > >>> > >> >>     > >     > changes it
> >> > > > >> > > > >>> > >> >>     > >     >     would be by adding a bead
> to
> >> > > listen
> >> > > > to
> >> > > > >> > the
> >> > > > >> > > > >>> > >> 'textChange'
> >> > > > >> > > > >>> > >> >> and
> >> > > > >> > > > >>> > >> >>     > > redispatch
> >> > > > >> > > > >>> > >> >>     > >     > as
> >> > > > >> > > > >>> > >> >>     > >     >     'change' ?
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     Adding extra Bindable
> events
> >> > adds
> >> > > > >> weight
> >> > > > >> > > > >>> because it
> >> > > > >> > > > >>> > >> >> affects
> >> > > > >> > > > >>> > >> >>     > > binding
> >> > > > >> > > > >>> > >> >>     > >     > data,
> >> > > > >> > > > >>> > >> >>     > >     >     and creates more runtime
> >> support
> >> > > for
> >> > > > >> the
> >> > > > >> > > same
> >> > > > >> > > > >>> > feature
> >> > > > >> > > > >>> > >> >> in use
> >> > > > >> > > > >>> > >> >>     > > cases
> >> > > > >> > > > >>> > >> >>     > >     > that may
> >> > > > >> > > > >>> > >> >>     > >     >     not need it. I don't see
> how
> >> > that
> >> > > > can
> >> > > > >> be
> >> > > > >> > > > >>> > 'PAYG-ised'
> >> > > > >> > > > >>> > >> >> because
> >> > > > >> > > > >>> > >> >>     > > binding
> >> > > > >> > > > >>> > >> >>     > >     >     support for different event
> >> > types
> >> > > is
> >> > > > >> > either
> >> > > > >> > > > >>> there
> >> > > > >> > > > >>> > at
> >> > > > >> > > > >>> > >> >> compile
> >> > > > >> > > > >>> > >> >>     > > time or
> >> > > > >> > > > >>> > >> >>     > >     > it is
> >> > > > >> > > > >>> > >> >>     > >     >     not in the component. So if
> >> the
> >> > > > above
> >> > > > >> is
> >> > > > >> > > true
> >> > > > >> > > > >>> for
> >> > > > >> > > > >>> > >> >> TextInput (at
> >> > > > >> > > > >>> > >> >>     > > this
> >> > > > >> > > > >>> > >> >>     > >     > stage
> >> > > > >> > > > >>> > >> >>     > >     >     it's a guess/observation, I
> >> did
> >> > > not
> >> > > > >> try
> >> > > > >> > > this
> >> > > > >> > > > >>> yet),
> >> > > > >> > > > >>> > >> then
> >> > > > >> > > > >>> > >> >> could
> >> > > > >> > > > >>> > >> >>     > it
> >> > > > >> > > > >>> > >> >>     > > not be
> >> > > > >> > > > >>> > >> >>     > >     >     similar for selection based
> >> > > > >> components?
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     To me 'change' seems like
> >> > > something
> >> > > > >> > generic
> >> > > > >> > > > and
> >> > > > >> > > > >>> > does
> >> > > > >> > > > >>> > >> >> not sound
> >> > > > >> > > > >>> > >> >>     > >     > specific to
> >> > > > >> > > > >>> > >> >>     > >     >     being user-initiated
> change.
> >> My
> >> > > > >> > > understanding
> >> > > > >> > > > >>> is
> >> > > > >> > > > >>> > that
> >> > > > >> > > > >>> > >> >> it just
> >> > > > >> > > > >>> > >> >>     > > happens
> >> > > > >> > > > >>> > >> >>     > >     > to be
> >> > > > >> > > > >>> > >> >>     > >     >     that way by default, unless
> >> you
> >> > > > >> configure
> >> > > > >> > > it
> >> > > > >> > > > to
> >> > > > >> > > > >>> > >> include
> >> > > > >> > > > >>> > >> >>     > > programmatic
> >> > > > >> > > > >>> > >> >>     > >     >     changes via bead.
> >> > > > >> > > > >>> > >> >>     > >     >     If it is like this for
> Basic
> >> > > > >> TextInput,
> >> > > > >> > why
> >> > > > >> > > > >>> can it
> >> > > > >> > > > >>> > >> not
> >> > > > >> > > > >>> > >> >> be the
> >> > > > >> > > > >>> > >> >>     > > same for
> >> > > > >> > > > >>> > >> >>     > >     >     other components ? (
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at
> 7:32
> >> AM
> >> > > Alex
> >> > > > >> > Harui
> >> > > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> >> > > > >> > > > >>> > >> >>     > >     > wrote:
> >> > > > >> > > > >>> > >> >>     > >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> >> > > > >> > > ArrayListSelection.
> >> > > > >> > > > >>> It
> >> > > > >> > > > >>> > >> could
> >> > > > >> > > > >>> > >> >> use some
> >> > > > >> > > > >>> > >> >>     > >     >     > improvements, such as
> only
> >> > > > >> dispatching
> >> > > > >> > a
> >> > > > >> > > > >>> single
> >> > > > >> > > > >>> > >> >>     > > selectionChange event
> >> > > > >> > > > >>> > >> >>     > >     >     > instead of both
> >> > > > selectedIndexChange
> >> > > > >> and
> >> > > > >> > > > >>> > >> >> selectedItemChange.
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > Some controller should
> >> > dispatch
> >> > > > the
> >> > > > >> > > > "change"
> >> > > > >> > > > >>> > event,
> >> > > > >> > > > >>> > >> >> not the
> >> > > > >> > > > >>> > >> >>     > > model.
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> >> > List.as,
> >> > > (a
> >> > > > >> top
> >> > > > >> > > > level
> >> > > > >> > > > >>> > >> >> component).  It
> >> > > > >> > > > >>> > >> >>     > > should
> >> > > > >> > > > >>> > >> >>     > >     > have
> >> > > > >> > > > >>> > >> >>     > >     >     > bindable metadata that
> >> looks
> >> > > like
> >> > > > >> this:
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >>  [Bindable("change")]
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >>  [Bindable("selectionChange")]
> >> > > > >> > > > >>> > >> >>     > >     >     >         public function
> get
> >> > > > >> > > > >>> selectedIndex():int
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > Similar for selectedItem.
> >> The
> >> > > > >> [Event]
> >> > > > >> > > > >>> metadata
> >> > > > >> > > > >>> > for
> >> > > > >> > > > >>> > >> >> List is
> >> > > > >> > > > >>> > >> >>     > >     > correct,  It
> >> > > > >> > > > >>> > >> >>     > >     >     > should only list
> >> interactive
> >> > > > events
> >> > > > >> > like
> >> > > > >> > > > >>> "change"
> >> > > > >> > > > >>> > >> and
> >> > > > >> > > > >>> > >> >> not
> >> > > > >> > > > >>> > >> >>     > > bindable
> >> > > > >> > > > >>> > >> >>     > >     > events
> >> > > > >> > > > >>> > >> >>     > >     >     > like selectionChange.
> This
> >> > > > usually
> >> > > > >> > > > improves
> >> > > > >> > > > >>> > >> >> performance by
> >> > > > >> > > > >>> > >> >>     > not
> >> > > > >> > > > >>> > >> >>     > >     > having the
> >> > > > >> > > > >>> > >> >>     > >     >     > UI react to setup.
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > Once all of those changes
> >> are
> >> > > > made,
> >> > > > >> we
> >> > > > >> > > > should
> >> > > > >> > > > >>> > >> discuss
> >> > > > >> > > > >>> > >> >> any
> >> > > > >> > > > >>> > >> >>     > > remaining
> >> > > > >> > > > >>> > >> >>     > >     > issues.
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > My 2 cents,
> >> > > > >> > > > >>> > >> >>     > >     >     > -Alex
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM,
> >> "Piotr
> >> > > > >> > Zarzycki" <
> >> > > > >> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
> >> > > > >> > > > >>> > >> >>     > >     >     > wrote:
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     Basic
> >> ArrayListSelection
> >> > > model
> >> > > > >> > > doesn't
> >> > > > >> > > > >>> > dispatch
> >> > > > >> > > > >>> > >> >> that
> >> > > > >> > > > >>> > >> >>     > > event. I
> >> > > > >> > > > >>> > >> >>     > >     > believe
> >> > > > >> > > > >>> > >> >>     > >     >     > we
> >> > > > >> > > > >>> > >> >>     > >     >     >     don't have to do this
> >> or
> >> > > > rather
> >> > > > >> do
> >> > > > >> > > this
> >> > > > >> > > > >>> only
> >> > > > >> > > > >>> > if
> >> > > > >> > > > >>> > >> >> we really
> >> > > > >> > > > >>> > >> >>     > > need
> >> > > > >> > > > >>> > >> >>     > >     > it, for
> >> > > > >> > > > >>> > >> >>     > >     >     >     example if someone
> make
> >> > > > >> programatic
> >> > > > >> > > > >>> change of
> >> > > > >> > > > >>> > >> >>     > > selectedIndex. -
> >> > > > >> > > > >>> > >> >>     > >     > This is
> >> > > > >> > > > >>> > >> >>     > >     >     >     general problem how
> to
> >> do
> >> > > > that ?
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     If I change
> >> selectedIndex
> >> > -
> >> > > my
> >> > > > >> > model
> >> > > > >> > > > >>> dispatch
> >> > > > >> > > > >>> > >> >>     > >     > selectedInexChanged -
> >> > > > >> > > > >>> > >> >>     > >     >     > where
> >> > > > >> > > > >>> > >> >>     > >     >     >     should I catch it and
> >> > > dispatch
> >> > > > >> > > "change"
> >> > > > >> > > > >>> > event ?
> >> > > > >> > > > >>> > >> >> My though
> >> > > > >> > > > >>> > >> >>     > > are
> >> > > > >> > > > >>> > >> >>     > >     > nowhere,
> >> > > > >> > > > >>> > >> >>     > >     >     >     unless someone wanted
> >> to
> >> > do
> >> > > > that
> >> > > > >> > and
> >> > > > >> > > > >>> have a
> >> > > > >> > > > >>> > >> bead.
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o
> >> 19:08
> >> > > Alex
> >> > > > >> > Harui
> >> > > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> >> > > > >> > > > >>> > >> >>     > >     >     > napisał(a):
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     > I may not be
> >> > understanding
> >> > > > >> your
> >> > > > >> > > > >>> problem.
> >> > > > >> > > > >>> > Not
> >> > > > >> > > > >>> > >> >> all
> >> > > > >> > > > >>> > >> >>     > models
> >> > > > >> > > > >>> > >> >>     > > will
> >> > > > >> > > > >>> > >> >>     > >     >     > dispatch a
> >> > > > >> > > > >>> > >> >>     > >     >     >     > change event, but
> it
> >> is
> >> > > hard
> >> > > > >> to
> >> > > > >> > > > >>> imagine a
> >> > > > >> > > > >>> > >> >> selection
> >> > > > >> > > > >>> > >> >>     > > model that
> >> > > > >> > > > >>> > >> >>     > >     >     > doesn't.
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     > -Alex
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36
> AM,
> >> > > "Piotr
> >> > > > >> > > > Zarzycki"
> >> > > > >> > > > >>> <
> >> > > > >> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
> >> > > > >> > > > >>> > >> >>     > >     >     > wrote:
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     I will review
> >> your
> >> > > email
> >> > > > >> > again
> >> > > > >> > > > and
> >> > > > >> > > > >>> see
> >> > > > >> > > > >>> > >> what
> >> > > > >> > > > >>> > >> >> can I
> >> > > > >> > > > >>> > >> >>     > do
> >> > > > >> > > > >>> > >> >>     > > this.
> >> > > > >> > > > >>> > >> >>     > >     >     > However
> >> > > > >> > > > >>> > >> >>     > >     >     >     > this one
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     is a second
> >> problem.
> >> > > > First
> >> > > > >> > one
> >> > > > >> > > > was
> >> > > > >> > > > >>> > about
> >> > > > >> > > > >>> > >> >>     > programmatic
> >> > > > >> > > > >>> > >> >>     > >     > change
> >> > > > >> > > > >>> > >> >>     > >     >     > discover
> >> > > > >> > > > >>> > >> >>     > >     >     >     > - If
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     you are talking
> >> > about
> >> > > > >> that -
> >> > > > >> > > Let
> >> > > > >> > > > me
> >> > > > >> > > > >>> > check
> >> > > > >> > > > >>> > >> >> your
> >> > > > >> > > > >>> > >> >>     > > earlier
> >> > > > >> > > > >>> > >> >>     > >     > emails.
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     Thanks,
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     Piotr
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru
> >> 2018 o
> >> > > > 18:30
> >> > > > >> > Alex
> >> > > > >> > > > >>> Harui
> >> > > > >> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
> >> > > > >> > > > >>> > >> >>     > >     >     >     > napisał(a):
> >> > > > >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would
> >> much
> >> > > > >> rather
> >> > > > >> > see
> >> > > > >> > > > >>> energy
> >> > > > >> > > > >>> > >> >> spent on
> >> > > > >> > > > >>> > >> >>     > > trying to
> >> > > > >> > > > >>> > >> >>     > >     >     > implement the
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     > patterns I
> >> > suggested
> >> > > > >> > earlier,
> >> > > > >> > > > >>> which
> >> > > > >> > > > >>> > >> will
> >> > > > >> > > > >>> > >> >>     > hopefully
> >> > > > >> > > > >>> > >> >>     > >     > eliminate
> >> > > > >> > > > >>> > >> >>     > >     >     > the
> >> > > > >> > > > >>> > >> >>     > >     >     >     > need for
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > DispatchChangeOnStartup.
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     > -Alex
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18,
> >> 4:34
> >> > > AM,
> >> > > > >> > "Piotr
> >> > > > >> > > > >>> > Zarzycki"
> >> > > > >> > > > >>> > >> <
> >> > > > >> > > > >>> > >> >>     > >     >     >
> piotrzarzycki21@gmail.com>
> >> > > > >> > > > >>> > >> >>     > >     >     >     > wrote:
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
> >> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >> > > > >>> > >> >>     > >     >     >
> >> >
> >>
> >
> >
> > --
> >
> > Piotr Zarzycki
> >
> > Patreon: *https://www.patreon.com/piotrzarzycki
> > <https://www.patreon.com/piotrzarzycki>*
> >
>
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Re: How to discover programmatic change in Jewel List

Posted by Piotr Zarzycki <pi...@gmail.com>.
Hi Carlos, Greg,

I checked and it looks like if I remove CHANGE event from that place - it
is affect List. CHANGE event won't work at all. I won't touch it, but if my
scenario is valid - future user who would like to resolve some problems
with list and have some actions from them - may have a problem.

Thanks,
Piotr

czw., 7 lut 2019 o 23:14 Piotr Zarzycki <pi...@gmail.com>
napisał(a):

> Hi Greg,
>
> Yes I think that is correct and I believe this is how it's working now. I
> just bump into that. Maybe my scenario have also some reasonable meaning. I
> have List which has item renderer and inside that item renderer I'm having
> CheckBox.
>
> I want to know in general which checkbox is selected, so do not go to much
> in the details.
>
> When you have default item renderer and click on it - You have
> selectedIndex = 1,2 etc. Controller [1] in that case listen for click and
> make assign to selectedIndex.
>
> When you click on my item renderer - click won't be received by
> controller, cause you will simply clicking into CheckBox instead of item
> renderer itself, so no selectedIndex, no Change event etc. I resolved it by
> dispatching "itemClick" once someone is clicking onto CheckBox - Controller
> receiving event and making selctedIndex additionally dispatching [1]. User
> receiving that Change event, but two times. By dispatching that event
> "itemClick" I'm probably not doing anything usual - that's why I didn't
> mention in the previous email that scenario.
> I have resolved that double dispatch by creating my own controller where
> CHANGE dispatch [1] is simply removed.
>
> Please do not think too much about my scenario and requirements - I'm
> asking whether it even needed when you have default item renderer. IMO I
> didn't have time too look into that myself, but maybe I will.
>
> I will take my controller (without change event) and simply assign to
> default List to see what is happen - Cause my List itself is also custom
> one. ;)
>
> [1] https://bit.ly/2GeQ5En
>
> Thanks,
> Piotr
>
> czw., 7 lut 2019 o 20:44 Greg Dove <gr...@gmail.com> napisał(a):
>
>> Hi Piotr, Carlos,
>>
>> I expect to have time next week to spend on this and other tasks that I
>> have been hoping to get to for Royale, although I expect to focus on
>> AMFBinaryData first.
>>
>> Piotr, correct me if I'm wrong, but I think the general approach we got to
>> was that :
>>
>> -the model should dispatch individual 'selectionChanged',
>> 'dataProviderChanged', etc directly from the host component for binding
>> support, and
>> -user initiated changes/interaction should dispatch 'change' event, which
>> can occur alongside a subset of 'selectionChanged' events, for example.
>>
>>
>>
>>
>> On Fri, Feb 8, 2019 at 12:58 AM Piotr Zarzycki <piotrzarzycki21@gmail.com
>> >
>> wrote:
>>
>> > Ok I will check.
>> >
>> > Thanks,
>> > Piotr
>> >
>> > On Thu, Feb 7, 2019, 12:40 PM Carlos Rovira <ca...@apache.org>
>> > wrote:
>> >
>> > > Hi Piotr,
>> > >
>> > > could you check in Tour De Jewel if removing that sentence makes some
>> > > regression in examples?
>> > > (I mean example with Lists and other deviated like ComboBox that use
>> > List)
>> > >
>> > > If you don't see anything I could try as well in our app and see if
>> > there's
>> > > some possible use case don't covered in TDJ and in that case maybe we
>> can
>> > > see if that could be refactored some way
>> > >
>> > > thanks!
>> > >
>> > > Carlos
>> > >
>> > >
>> > >
>> > > El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (<
>> > > piotrzarzycki21@gmail.com>)
>> > > escribió:
>> > >
>> > > > Hi Greg,
>> > > >
>> > > > I'm progressing with some application and discovered that we are
>> > > > dispatching CHANGE event from here [1] - I'm wondering whether we
>> > really
>> > > > need it. Model is being update in that operation - I believe it
>> should
>> > be
>> > > > enough.
>> > > >
>> > > > Just to make it clear there is no issue - I mean CHANGE event
>> doesn't
>> > > fire
>> > > > two times etc. because of that. I didn't check whether it makes any
>> > > > difference.
>> > > >
>> > > > [1] https://bit.ly/2GeQ5En
>> > > >
>> > > > Thanks,
>> > > > Piotr
>> > > >
>> > > > pon., 24 gru 2018 o 11:51 Piotr Zarzycki <piotrzarzycki21@gmail.com
>> >
>> > > > napisał(a):
>> > > >
>> > > > > Hi Carlos,
>> > > > >
>> > > > > You have less events flying around the head. :)
>> > > > >
>> > > > > Piotr
>> > > > >
>> > > > > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <
>> > carlosrovira@apache.org>
>> > > > > wrote:
>> > > > >
>> > > > >> Thanks Piotr and Greg,
>> > > > >>
>> > > > >> I'm catching up with all the thread. I'm testing and seems all is
>> > ok,
>> > > > >> Seems
>> > > > >> Jewel List, ComboBox, DropDownList are now much better and
>> robust :)
>> > > > >> Great work! Thanks for working on this! :)
>> > > > >>
>> > > > >> Carlos
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
>> > > > >> piotrzarzycki21@gmail.com>)
>> > > > >> escribió:
>> > > > >>
>> > > > >> > Great! More tests the better. I will switch to your branch as
>> well
>> > > > when
>> > > > >> you
>> > > > >> > make the changes.
>> > > > >> >
>> > > > >> > Many Thanks for help with that. Let's see what's more comes on
>> the
>> > > > >> road. :)
>> > > > >> >
>> > > > >> > Best,
>> > > > >> > Piotr
>> > > > >> >
>> > > > >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <gr...@gmail.com>
>> > > wrote:
>> > > > >> >
>> > > > >> > > I already checked this against the app that we are working
>> on,
>> > so
>> > > > feel
>> > > > >> > free
>> > > > >> > > to merge that in if it fixes the problem you were seeing,
>> Piotr.
>> > > > >> > > For the more general changes with dispatching from strand and
>> > > > avoiding
>> > > > >> > > IEventDispatcher-ness , I can come back to that and try to
>> do a
>> > > > >> refactor
>> > > > >> > > sweep through these changes as discussed with Alex, and the
>> > other
>> > > > >> > component
>> > > > >> > > sets in a couple of weeks. But I will do that in a refactor
>> > > branch.
>> > > > >> I'm
>> > > > >> > not
>> > > > >> > > using the other component sets at the moment, and although I
>> > know
>> > > > >> there
>> > > > >> > are
>> > > > >> > > example projects to check against, I think checking against a
>> > > > >> > 'real-world'
>> > > > >> > > app is also important. Maybe Harbs and any any others who
>> > perhaps
>> > > > may
>> > > > >> > have
>> > > > >> > > used Basic or Express etc in actual apps will be able to
>> verify
>> > > > things
>> > > > >> > for
>> > > > >> > > those component sets in the refactor branch at the time, if
>> they
>> > > > have
>> > > > >> > been
>> > > > >> > > using them. I will make a request for others to check things
>> > when
>> > > I
>> > > > do
>> > > > >> > > that.
>> > > > >> > >
>> > > > >> > >
>> > > > >> > >
>> > > > >> > >
>> > > > >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
>> > > > >> > piotrzarzycki21@gmail.com>
>> > > > >> > > wrote:
>> > > > >> > >
>> > > > >> > > > Greg,
>> > > > >> > > >
>> > > > >> > > > I have fixed issues with navigation in my application code.
>> > I'm
>> > > ok
>> > > > >> with
>> > > > >> > > > changes in that branch.
>> > > > >> > > >
>> > > > >> > > > Thanks for all changes!
>> > > > >> > > > Piotr
>> > > > >> > > >
>> > > > >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <
>> > > > piotrzarzycki21@gmail.com
>> > > > >> >
>> > > > >> > > > napisał(a):
>> > > > >> > > >
>> > > > >> > > > > Greg,
>> > > > >> > > > >
>> > > > >> > > > > In your app are you using navigation in that way?
>> > > > >> > > > > Maybe I need to call some prevent method somewhere.
>> > > > >> > > > >
>> > > > >> > > > > Thanks,
>> > > > >> > > > > Piotr
>> > > > >> > > > >
>> > > > >> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
>> > > > >> > > piotrzarzycki21@gmail.com>
>> > > > >> > > > > wrote:
>> > > > >> > > > >
>> > > > >> > > > >> Greg,
>> > > > >> > > > >>
>> > > > >> > > > >> Good news. I was able to build framework using ant and
>> > > produce
>> > > > >> IDE
>> > > > >> > > > >> artifacts. Tested your changes and looks good. However I
>> > see
>> > > > >> other
>> > > > >> > > > issue. I
>> > > > >> > > > >> have following code [1]. When I click on link in
>> navigation
>> > > > (I'm
>> > > > >> > > > listening
>> > > > >> > > > >> on change event) - I'm trying to change view using
>> > > > >> > > > ApplicationMainContent -
>> > > > >> > > > >> it's navigates me to new website with new url instead
>> > > changing
>> > > > >> view.
>> > > > >> > > > >>
>> > > > >> > > > >> I need to investigate why it is happen. Apart of that I
>> > > believe
>> > > > >> we
>> > > > >> > are
>> > > > >> > > > ok
>> > > > >> > > > >> with that branch.
>> > > > >> > > > >>
>> > > > >> > > > >> [1] https://paste.apache.org/UzJI
>> > > > >> > > > >>
>> > > > >> > > > >> Thanks, Piotr
>> > > > >> > > > >>
>> > > > >> > > > >>
>> > > > >> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <greg.dove@gmail.com
>> >
>> > > > >> > napisał(a):
>> > > > >> > > > >>
>> > > > >> > > > >>> Ok Piotr, I'm not sure what is happening there. It does
>> > seem
>> > > > >> > strange
>> > > > >> > > -
>> > > > >> > > > >>> shell.view.royale.Shell seems like a class and somehow
>> has
>> > > org
>> > > > >> > > > >>> <http://shell.view.royale.shell.org/
>> > > > >> > > >.apache.royale.jewel.Application
>> > > > >> > > > >>> appended to it.
>> > > > >> > > > >>>
>> > > > >> > > > >>> I don't think that is related to anything I did (and it
>> > > works
>> > > > >> fine
>> > > > >> > > > >>> against
>> > > > >> > > > >>> the 'real-world' app I tested against - with maven
>> build).
>> > > Can
>> > > > >> you
>> > > > >> > > > build
>> > > > >> > > > >>> Tour de Jewel  ok?
>> > > > >> > > > >>>
>> > > > >> > > > >>>
>> > > > >> > > > >>>
>> > > > >> > > > >>>
>> > > > >> > > > >>>
>> > > > >> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
>> > > > >> > > > >>> piotrzarzycki21@gmail.com>
>> > > > >> > > > >>> wrote:
>> > > > >> > > > >>>
>> > > > >> > > > >>> > Hi Greg,
>> > > > >> > > > >>> >
>> > > > >> > > > >>> > Thanks for your changes. Unfortunately I'm not able
>> so
>> > far
>> > > > >> > properly
>> > > > >> > > > >>> build
>> > > > >> > > > >>> > my real world app using Maven. I build Jewel module
>> by
>> > > > Maven,
>> > > > >> so
>> > > > >> > I
>> > > > >> > > > have
>> > > > >> > > > >>> > setup my app to be buildable with Maven.
>> Unfortunately
>> > I'm
>> > > > >> > getting
>> > > > >> > > > >>> weird
>> > > > >> > > > >>> > exception during running app.
>> > > > >> > > > >>> >
>> > > > >> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot
>> > read
>> > > > >> > property
>> > > > >> > > > >>> > 'string' of undefined
>> > > > >> > > > >>> >     at
>> > > > >> > > > >>> >
>> > > > >> > > > >>> >
>> > > > >> > > > >>>
>> > > > >> > > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
>> > > > >> > > > >>> > (SimpleCSSValuesImpl.js:102)
>> > > > >> > > > >>> >     at
>> > > > >> > > > >>> > shell.view.royale.Shell.org
>> > > > >> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
>> > > > >> > > > >>> > (Application.js:311)
>> > > > >> > > > >>> >     at shell.view.royale.Shell.org
>> > > > >> > .apache.royale.jewel.Application
>> > > > >> > > > [as
>> > > > >> > > > >>> > constructor] (Application.js:46)
>> > > > >> > > > >>> >     at Function.childCtor.base (base.js:2515)
>> > > > >> > > > >>> >
>> > > > >> > > > >>> > Above exception is not occurs when I'm building using
>> > > > >> Nightly. I
>> > > > >> > > > >>> probably
>> > > > >> > > > >>> > will have to build framework by ant and prepare IDE
>> > > > compatible
>> > > > >> > > > >>> environment
>> > > > >> > > > >>> > or will try to rebuild whole framework by Maven and
>> try
>> > > > again.
>> > > > >> > > > >>> >
>> > > > >> > > > >>> > Thanks, Piotr
>> > > > >> > > > >>> >
>> > > > >> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
>> > > > >> > > piotrzarzycki21@gmail.com>
>> > > > >> > > > >>> > napisał(a):
>> > > > >> > > > >>> >
>> > > > >> > > > >>> > > Hi Greg,
>> > > > >> > > > >>> > >
>> > > > >> > > > >>> > > Great news, cause I was going to look into that
>> > > somewhere
>> > > > >> > between
>> > > > >> > > > >>> > > Christmas and New Year. I would be happy to test
>> your
>> > > > >> changes!
>> > > > >> > Do
>> > > > >> > > > not
>> > > > >> > > > >>> > > hesitate push it!
>> > > > >> > > > >>> > >
>> > > > >> > > > >>> > > Thank you so much!
>> > > > >> > > > >>> > > Piotr
>> > > > >> > > > >>> > >
>> > > > >> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <
>> > > greg.dove@gmail.com>
>> > > > >> > > > >>> napisał(a):
>> > > > >> > > > >>> > >
>> > > > >> > > > >>> > >> Piotr, Alex,
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >> fyi I found some time to spend on this today, and
>> > > Piotr,
>> > > > I
>> > > > >> > > should
>> > > > >> > > > be
>> > > > >> > > > >>> > ready
>> > > > >> > > > >>> > >> to push the changes I made to your branch tomorrow
>> > > > morning
>> > > > >> my
>> > > > >> > > time
>> > > > >> > > > >>> > (local
>> > > > >> > > > >>> > >> time - GMT+13).
>> > > > >> > > > >>> > >> It seems to be fine so far with 'selectionChange'
>> for
>> > > > >> binding
>> > > > >> > > > based
>> > > > >> > > > >>> on
>> > > > >> > > > >>> > >> model changes and 'change' for class event meta. I
>> > have
>> > > > >> been
>> > > > >> > > been
>> > > > >> > > > >>> > testing
>> > > > >> > > > >>> > >> so far against Tour de Jewel, but I will test
>> against
>> > > our
>> > > > >> > > > real-world
>> > > > >> > > > >>> > >> project as well before I push to your branch
>> Piotr.
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >> -Greg
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
>> > > > >> > greg.dove@gmail.com>
>> > > > >> > > > >>> wrote:
>> > > > >> > > > >>> > >>
>> > > > >> > > > >>> > >> > Alex, I can't remember offhand, but I think we
>> used
>> > > > that
>> > > > >> > once
>> > > > >> > > in
>> > > > >> > > > >>> only
>> > > > >> > > > >>> > >> one
>> > > > >> > > > >>> > >> > place, and I did it really quickly. I am sure
>> there
>> > > > will
>> > > > >> be
>> > > > >> > a
>> > > > >> > > > way
>> > > > >> > > > >>> to
>> > > > >> > > > >>> > >> avoid
>> > > > >> > > > >>> > >> > it.
>> > > > >> > > > >>> > >> > I think the bigger issue is the way I did the
>> > changes
>> > > > to
>> > > > >> the
>> > > > >> > > > >>> model to
>> > > > >> > > > >>> > >> > support dispatching change events for
>> programmatic
>> > > > >> changes,
>> > > > >> > > > which
>> > > > >> > > > >>> I
>> > > > >> > > > >>> > >> think
>> > > > >> > > > >>> > >> > Piotr was looking at.
>> > > > >> > > > >>> > >> > Maybe I can take a look at that later today,
>> but I
>> > > > can't
>> > > > >> be
>> > > > >> > > > >>> certain.
>> > > > >> > > > >>> > >> > The simplest fix might be to revert everything I
>> > did
>> > > > and
>> > > > >> add
>> > > > >> > > > >>> binding
>> > > > >> > > > >>> > for
>> > > > >> > > > >>> > >> > the selection changes (currently
>> > > 'selectedIndexChanged'
>> > > > >> and
>> > > > >> > > > >>> > >> > 'selectedItemChanged' which I know you say
>> could be
>> > > > >> > > > >>> > 'selectionChanged')
>> > > > >> > > > >>> > >> in
>> > > > >> > > > >>> > >> > addition to 'change' (as discussed) and make
>> sure
>> > the
>> > > > >> > > component
>> > > > >> > > > is
>> > > > >> > > > >>> > >> > dispatching those from the model (if it does not
>> > > > already
>> > > > >> do
>> > > > >> > > so).
>> > > > >> > > > >>> If
>> > > > >> > > > >>> > >> > 'selectionChanged' (or whatever it is) is
>> already
>> > > > >> happening
>> > > > >> > > as a
>> > > > >> > > > >>> > result
>> > > > >> > > > >>> > >> of
>> > > > >> > > > >>> > >> > 'change' in addition to setter triggered
>> changes,
>> > > then
>> > > > it
>> > > > >> > > could
>> > > > >> > > > >>> be a
>> > > > >> > > > >>> > >> simple
>> > > > >> > > > >>> > >> > swap for the binding event only (as discussed
>> also)
>> > > > >> > > > >>> > >> >
>> > > > >> > > > >>> > >> > But this last part was also applicable to the
>> > > wholesale
>> > > > >> > change
>> > > > >> > > > to
>> > > > >> > > > >>> all
>> > > > >> > > > >>> > >> > component sets we were discussing, not just
>> Jewel.
>> > > > >> > > > >>> > >> >
>> > > > >> > > > >>> > >> >
>> > > > >> > > > >>> > >> >
>> > > > >> > > > >>> > >> >
>> > > > >> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
>> > > > >> > > > >>> <ah...@adobe.com.invalid>
>> > > > >> > > > >>> > >> > wrote:
>> > > > >> > > > >>> > >> >
>> > > > >> > > > >>> > >> >> Greg, Carlos,
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >> Can one of you put together a simple test case
>> > that
>> > > > >> > > > demonstrates
>> > > > >> > > > >>> your
>> > > > >> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't
>> need
>> > > > server
>> > > > >> > > access.
>> > > > >> > > > >>> You
>> > > > >> > > > >>> > >> can
>> > > > >> > > > >>> > >> >> probably inject a dataProvider on
>> > > applicationComplete
>> > > > or
>> > > > >> > have
>> > > > >> > > > the
>> > > > >> > > > >>> > user
>> > > > >> > > > >>> > >> push
>> > > > >> > > > >>> > >> >> a button if the issue is about deferred
>> arrival of
>> > > > >> server
>> > > > >> > > data.
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >> IMO, we have to be more concerned about getting
>> > the
>> > > > >> > patterns
>> > > > >> > > > >>> right
>> > > > >> > > > >>> > >> >> regressions, and the best way to avoid getting
>> > > > >> regressions
>> > > > >> > is
>> > > > >> > > > to
>> > > > >> > > > >>> > >> provide a
>> > > > >> > > > >>> > >> >> simple test case that demonstrates a problem in
>> > the
>> > > > >> > patterns.
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to
>> be
>> > > > >> required
>> > > > >> > and
>> > > > >> > > > >>> won't
>> > > > >> > > > >>> > be
>> > > > >> > > > >>> > >> >> part of the framework.  The usability of the
>> > > framework
>> > > > >> will
>> > > > >> > > go
>> > > > >> > > > >>> down
>> > > > >> > > > >>> > if
>> > > > >> > > > >>> > >> >> folks have to keep adding more and more
>> "OnThis"
>> > and
>> > > > >> > "OnThat"
>> > > > >> > > > >>> beads
>> > > > >> > > > >>> > to
>> > > > >> > > > >>> > >> get
>> > > > >> > > > >>> > >> >> their app to work.  The approachability of the
>> > > > >> framework in
>> > > > >> > > > >>> terms of
>> > > > >> > > > >>> > >> >> documentation and number of classes won't scale
>> > > either
>> > > > >> if
>> > > > >> > we
>> > > > >> > > > >>> don't
>> > > > >> > > > >>> > get
>> > > > >> > > > >>> > >> >> these patterns right.  This doesn't mean that
>> you
>> > > > can't
>> > > > >> use
>> > > > >> > > an
>> > > > >> > > > >>> > >> "onStartup"
>> > > > >> > > > >>> > >> >> bead in your app in order to meet some
>> deadline,
>> > and
>> > > > >> share
>> > > > >> > it
>> > > > >> > > > >>> with
>> > > > >> > > > >>> > >> others,
>> > > > >> > > > >>> > >> >> but we have to be careful about what patterns
>> we
>> > > > >> promote in
>> > > > >> > > the
>> > > > >> > > > >>> SDK.
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >> My 2 cents,
>> > > > >> > > > >>> > >> >> -Alex
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
>> > > > >> greg.dove@gmail.com>
>> > > > >> > > > wrote:
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>     Hi Piotr,
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>     I would be happy to work on it, and wish I
>> > > could,
>> > > > >> but
>> > > > >> > the
>> > > > >> > > > >>> problem
>> > > > >> > > > >>> > >> for
>> > > > >> > > > >>> > >> >> me at
>> > > > >> > > > >>> > >> >>     the moment is that I can't make it a
>> priority,
>> > > > >> because
>> > > > >> > > for
>> > > > >> > > > >>> now at
>> > > > >> > > > >>> > >> >> least it
>> > > > >> > > > >>> > >> >>     is functioning as we need it, and there are
>> > > plenty
>> > > > >> of
>> > > > >> > > > things
>> > > > >> > > > >>> that
>> > > > >> > > > >>> > >> are
>> > > > >> > > > >>> > >> >> not
>> > > > >> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
>> > > > >> implementation
>> > > > >> > as
>> > > > >> > > it
>> > > > >> > > > >>> > stands
>> > > > >> > > > >>> > >> >> might
>> > > > >> > > > >>> > >> >>     not be 'right', it does function as we
>> need it
>> > > to
>> > > > >> for
>> > > > >> > > now.
>> > > > >> > > > I
>> > > > >> > > > >>> > >> suspect
>> > > > >> > > > >>> > >> >> that
>> > > > >> > > > >>> > >> >>     is what Carlos meant when he said he was
>> > > concerned
>> > > > >> > about
>> > > > >> > > > >>> > >> regressions.
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>     I have other stuff queued up to add in
>> other
>> > > areas
>> > > > >> too,
>> > > > >> > > > like
>> > > > >> > > > >>> > >> >> AMFBinaryData
>> > > > >> > > > >>> > >> >>     and AMFNetConnection but will need to do
>> more
>> > > work
>> > > > >> to
>> > > > >> > > > >>> generalize
>> > > > >> > > > >>> > >> it,
>> > > > >> > > > >>> > >> >> as I
>> > > > >> > > > >>> > >> >>     have it these working in a way that is
>> almost
>> > > > >> complete,
>> > > > >> > > but
>> > > > >> > > > >>> > mostly
>> > > > >> > > > >>> > >> >> focused
>> > > > >> > > > >>> > >> >>     on what is sufficient for what Carlos needs
>> > for
>> > > > now.
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>     I hope to get some free time in early
>> January
>> > to
>> > > > >> finish
>> > > > >> > > up
>> > > > >> > > > >>> these
>> > > > >> > > > >>> > >> >> things.
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr
>> > Zarzycki
>> > > <
>> > > > >> > > > >>> > >> >> piotrzarzycki21@gmail.com>
>> > > > >> > > > >>> > >> >>     wrote:
>> > > > >> > > > >>> > >> >>
>> > > > >> > > > >>> > >> >>     > Hi Guys,
>> > > > >> > > > >>> > >> >>     >
>> > > > >> > > > >>> > >> >>     > I definitely need to a way of resolve
>> that
>> > > > >> problem. I
>> > > > >> > > > will
>> > > > >> > > > >>> > review
>> > > > >> > > > >>> > >> >> emails
>> > > > >> > > > >>> > >> >>     > tomorrow.
>> > > > >> > > > >>> > >> >>     >
>> > > > >> > > > >>> > >> >>     > However if you Greg would like to try
>> > > something
>> > > > go
>> > > > >> > for
>> > > > >> > > > it.
>> > > > >> > > > >>> > Would
>> > > > >> > > > >>> > >> be
>> > > > >> > > > >>> > >> >> great
>> > > > >> > > > >>> > >> >>     > if you could use my branch where changes
>> > which
>> > > > >> > removes
>> > > > >> > > > >>> > >> dispatching
>> > > > >> > > > >>> > >> >> "change"
>> > > > >> > > > >>> > >> >>     > event from model are in place.
>> > > > >> > > > >>> > >> >>     >
>> > > > >> > > > >>> > >> >>     > Thanks, Piotr
>> > > > >> > > > >>> > >> >>     >
>> > > > >> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
>> > > > >> > > > >>> <aharui@adobe.com.invalid
>> > > > >> > > > >>> > >
>> > > > >> > > > >>> > >> >>     > napisał(a):
>> > > > >> > > > >>> > >> >>     >
>> > > > >> > > > >>> > >> >>     > > Hi Greg,
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > > I haven't looked at how pervasive this
>> > > change
>> > > > >> would
>> > > > >> > > be.
>> > > > >> > > > >>> I'm
>> > > > >> > > > >>> > >> >> mainly
>> > > > >> > > > >>> > >> >>     > saying
>> > > > >> > > > >>> > >> >>     > > that Flex worked with these categories
>> of
>> > > > events
>> > > > >> > and
>> > > > >> > > I
>> > > > >> > > > >>> think
>> > > > >> > > > >>> > >> >> Royale can
>> > > > >> > > > >>> > >> >>     > too
>> > > > >> > > > >>> > >> >>     > > and would eliminate the need for
>> > > > >> > > > DispatchChangeOnStartup
>> > > > >> > > > >>> and
>> > > > >> > > > >>> > >> >> things like
>> > > > >> > > > >>> > >> >>     > > that.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > > You could be right that the models only
>> > need
>> > > > to
>> > > > >> > > > dispatch
>> > > > >> > > > >>> > >> >> selectionChange
>> > > > >> > > > >>> > >> >>     > > and not "change", as long as the
>> > controllers
>> > > > are
>> > > > >> > > > >>> guaranteed
>> > > > >> > > > >>> > to
>> > > > >> > > > >>> > >> >> update the
>> > > > >> > > > >>> > >> >>     > > model in a way that fires
>> selectionChange.
>> > > I
>> > > > >> have
>> > > > >> > > this
>> > > > >> > > > >>> > feeling
>> > > > >> > > > >>> > >> >> that in
>> > > > >> > > > >>> > >> >>     > > Flex there were some backdoors for
>> > updating
>> > > > >> > > properties
>> > > > >> > > > >>> > without
>> > > > >> > > > >>> > >> >>     > dispatching
>> > > > >> > > > >>> > >> >>     > > events and dispatching the event
>> "later",
>> > > but
>> > > > I
>> > > > >> > don't
>> > > > >> > > > >>> think
>> > > > >> > > > >>> > >> we've
>> > > > >> > > > >>> > >> >> had to
>> > > > >> > > > >>> > >> >>     > > write such code in Royale and maybe we
>> > won't
>> > > > >> have
>> > > > >> > to
>> > > > >> > > or
>> > > > >> > > > >>> can't
>> > > > >> > > > >>> > >> >> because the
>> > > > >> > > > >>> > >> >>     > > browser will update right away in many
>> > > cases.
>> > > > >> > There
>> > > > >> > > > were
>> > > > >> > > > >>> > >> >> somethings you
>> > > > >> > > > >>> > >> >>     > > could do in Flash knowing that all
>> > rendering
>> > > > was
>> > > > >> > > > >>> deferred to
>> > > > >> > > > >>> > >> frame
>> > > > >> > > > >>> > >> >>     > > updates.  In Royale, with separate
>> models,
>> > > the
>> > > > >> > > > controller
>> > > > >> > > > >>> > code
>> > > > >> > > > >>> > >> >> can't just
>> > > > >> > > > >>> > >> >>     > > set the backing variable.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > > So, if you want to give it a try having
>> > only
>> > > > >> > > > >>> selectionChange
>> > > > >> > > > >>> > as
>> > > > >> > > > >>> > >> >> the
>> > > > >> > > > >>> > >> >>     > > bindable event, go for it.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > > -Alex
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
>> > > > >> > > > greg.dove@gmail.com>
>> > > > >> > > > >>> > >> wrote:
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     Thanks Alex.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     I only looked in Basic TextInput
>> > > because I
>> > > > >> was
>> > > > >> > > > >>> looking
>> > > > >> > > > >>> > for
>> > > > >> > > > >>> > >> a
>> > > > >> > > > >>> > >> >> simpler
>> > > > >> > > > >>> > >> >>     > >     example of the general case being
>> > > > discussed.
>> > > > >> > That
>> > > > >> > > > >>> code
>> > > > >> > > > >>> > >> looks
>> > > > >> > > > >>> > >> >> like it
>> > > > >> > > > >>> > >> >>     > > might
>> > > > >> > > > >>> > >> >>     > >     need some work on the swf side in
>> any
>> > > > case.
>> > > > >> > > > >>> > >> >>     > >     I was just looking for the
>> > > > >> 'programmaticChange'
>> > > > >> > > vs
>> > > > >> > > > >>> > >> >>     > > 'userInitiatedChange'
>> > > > >> > > > >>> > >> >>     > >     differences.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     Based on a quick look at the other
>> > Basic
>> > > > >> > classes,
>> > > > >> > > > the
>> > > > >> > > > >>> > >> >> conclusions
>> > > > >> > > > >>> > >> >>     > > appear
>> > > > >> > > > >>> > >> >>     > >     similar.  They are bindable via
>> > 'change'
>> > > > >> only.
>> > > > >> > > > >>> > >> >>     > >     And the models all dispatch both
>> > > > >> > > > >>> selectedIndexChanged and
>> > > > >> > > > >>> > >> >>     > >     selectedItemChanged.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     So it seems like you are proposing
>> > broad
>> > > > >> > changes
>> > > > >> > > > for
>> > > > >> > > > >>> > >> >> everything, if
>> > > > >> > > > >>> > >> >>     > > they
>> > > > >> > > > >>> > >> >>     > >     are to also support binding changes
>> > for
>> > > > >> > > > programmatic
>> > > > >> > > > >>> > >> changes?
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     For me, the change in something (or
>> > > > nothing)
>> > > > >> > > being
>> > > > >> > > > >>> > >> 'selected'
>> > > > >> > > > >>> > >> >>     > logically
>> > > > >> > > > >>> > >> >>     > >     occurs as a result of either user
>> > change
>> > > > or
>> > > > >> > > > >>> programmatic
>> > > > >> > > > >>> > >> >> change. On
>> > > > >> > > > >>> > >> >>     > > that
>> > > > >> > > > >>> > >> >>     > >     basis would it be possible to have
>> the
>> > > > >> > > > >>> selectionChange as
>> > > > >> > > > >>> > >> the
>> > > > >> > > > >>> > >> >> sole
>> > > > >> > > > >>> > >> >>     > > Binding
>> > > > >> > > > >>> > >> >>     > >     event (which occurs from setter
>> > induced
>> > > > >> change
>> > > > >> > > and
>> > > > >> > > > >>> from
>> > > > >> > > > >>> > >> user
>> > > > >> > > > >>> > >> >> induced
>> > > > >> > > > >>> > >> >>     > >     change) and the 'change' event as
>> > > > >> > > user-interaction
>> > > > >> > > > >>> only
>> > > > >> > > > >>> > as
>> > > > >> > > > >>> > >> >> the class
>> > > > >> > > > >>> > >> >>     > > level
>> > > > >> > > > >>> > >> >>     > >     event type (as it is now)?
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     I have not thought about this as
>> much
>> > as
>> > > > you
>> > > > >> > > (Alex
>> > > > >> > > > >>> and
>> > > > >> > > > >>> > >> >> others) have,
>> > > > >> > > > >>> > >> >>     > so
>> > > > >> > > > >>> > >> >>     > >     maybe that last suggestion does not
>> > make
>> > > > >> sense.
>> > > > >> > > > But I
>> > > > >> > > > >>> > >> really
>> > > > >> > > > >>> > >> >> think
>> > > > >> > > > >>> > >> >>     > > that for
>> > > > >> > > > >>> > >> >>     > >     whatever does make sense it would
>> be
>> > > great
>> > > > >> to
>> > > > >> > > > settle
>> > > > >> > > > >>> on
>> > > > >> > > > >>> > >> >> something and
>> > > > >> > > > >>> > >> >>     > > get
>> > > > >> > > > >>> > >> >>     > >     it consistent for all components
>> > asap.
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM
>> Alex
>> > > Harui
>> > > > >> > > > >>> > >> >> <aharui@adobe.com.invalid
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > > wrote:
>> > > > >> > > > >>> > >> >>     > >
>> > > > >> > > > >>> > >> >>     > >     > Hi Greg,
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > You are correct that there is a
>> pain
>> > > > point
>> > > > >> > > around
>> > > > >> > > > >>> > binding
>> > > > >> > > > >>> > >> >> overhead
>> > > > >> > > > >>> > >> >>     > > and
>> > > > >> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG
>> way
>> > of
>> > > > >> adding
>> > > > >> > > the
>> > > > >> > > > >>> > ability
>> > > > >> > > > >>> > >> to
>> > > > >> > > > >>> > >> >> add
>> > > > >> > > > >>> > >> >>     > more
>> > > > >> > > > >>> > >> >>     > >     > binding events via beads that
>> > doesn't
>> > > > have
>> > > > >> > too
>> > > > >> > > > much
>> > > > >> > > > >>> > >> >> overhead for
>> > > > >> > > > >>> > >> >>     > > folks not
>> > > > >> > > > >>> > >> >>     > >     > interested in those extra events.
>> > > > >> Actually,
>> > > > >> > > > there
>> > > > >> > > > >>> are
>> > > > >> > > > >>> > >> some
>> > > > >> > > > >>> > >> >> ways
>> > > > >> > > > >>> > >> >>     > > that are
>> > > > >> > > > >>> > >> >>     > >     > JS-only like replacing
>> > > > prototype-methods,
>> > > > >> > but I
>> > > > >> > > > >>> don't
>> > > > >> > > > >>> > >> think
>> > > > >> > > > >>> > >> >> we
>> > > > >> > > > >>> > >> >>     > > should rely
>> > > > >> > > > >>> > >> >>     > >     > on mutable class definitions.
>>  In
>> > > many
>> > > > >> cases
>> > > > >> > > we
>> > > > >> > > > >>> make
>> > > > >> > > > >>> > >> >> trade-offs
>> > > > >> > > > >>> > >> >>     > and
>> > > > >> > > > >>> > >> >>     > > Basic
>> > > > >> > > > >>> > >> >>     > >     > ends up being what we think
>> almost
>> > all
>> > > > >> folks
>> > > > >> > > > "must
>> > > > >> > > > >>> > have".
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > When we first started out I was
>> > hoping
>> > > > to
>> > > > >> > > reduce
>> > > > >> > > > >>> > binding
>> > > > >> > > > >>> > >> >> overhead
>> > > > >> > > > >>> > >> >>     > > which is
>> > > > >> > > > >>> > >> >>     > >     > why some of the beads look like
>> they
>> > > do,
>> > > > >> but
>> > > > >> > > > these
>> > > > >> > > > >>> > days I
>> > > > >> > > > >>> > >> >> think it
>> > > > >> > > > >>> > >> >>     > > is more
>> > > > >> > > > >>> > >> >>     > >     > important to separate interactive
>> > > events
>> > > > >> from
>> > > > >> > > > >>> > >> binding/setup
>> > > > >> > > > >>> > >> >> events.
>> > > > >> > > > >>> > >> >>     > > Folks
>> > > > >> > > > >>> > >> >>     > >     > who don't use a particular
>> binding
>> > > event
>> > > > >> can
>> > > > >> > > > always
>> > > > >> > > > >>> > >> replace
>> > > > >> > > > >>> > >> >> the
>> > > > >> > > > >>> > >> >>     > > model and
>> > > > >> > > > >>> > >> >>     > >     > top-level component with a
>> version
>> > > > without
>> > > > >> > > events
>> > > > >> > > > >>> they
>> > > > >> > > > >>> > >> are
>> > > > >> > > > >>> > >> >> not
>> > > > >> > > > >>> > >> >>     > > interested
>> > > > >> > > > >>> > >> >>     > >     > in, or in the JS output, run a
>> > > > >> post-process
>> > > > >> > to
>> > > > >> > > > >>> cull out
>> > > > >> > > > >>> > >> >> metadata.
>> > > > >> > > > >>> > >> >>     > > But
>> > > > >> > > > >>> > >> >>     > >     > under the "almost all folks"
>> rule, I
>> > > > think
>> > > > >> > > > "almost
>> > > > >> > > > >>> all
>> > > > >> > > > >>> > >> >> folks" don't
>> > > > >> > > > >>> > >> >>     > > want to
>> > > > >> > > > >>> > >> >>     > >     > run interaction handling code at
>> > setup
>> > > > >> time.
>> > > > >> > > > >>> > Especially
>> > > > >> > > > >>> > >> if
>> > > > >> > > > >>> > >> >> that
>> > > > >> > > > >>> > >> >>     > > handling
>> > > > >> > > > >>> > >> >>     > >     > code runs any sort of animation
>> or
>> > > does
>> > > > >> any
>> > > > >> > > other
>> > > > >> > > > >>> heavy
>> > > > >> > > > >>> > >> >> processing.
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > I could be wrong, but I'm pretty
>> > sure
>> > > > >> that if
>> > > > >> > > you
>> > > > >> > > > >>> just
>> > > > >> > > > >>> > >> take
>> > > > >> > > > >>> > >> >> a
>> > > > >> > > > >>> > >> >>     > > <select>
>> > > > >> > > > >>> > >> >>     > >     > element, you can set its initial
>> > > > selection
>> > > > >> > > value
>> > > > >> > > > >>> > without
>> > > > >> > > > >>> > >> it
>> > > > >> > > > >>> > >> >>     > > dispatching an
>> > > > >> > > > >>> > >> >>     > >     > event called "change".  Then
>> when a
>> > > user
>> > > > >> > > selects
>> > > > >> > > > an
>> > > > >> > > > >>> > item
>> > > > >> > > > >>> > >> >> you get a
>> > > > >> > > > >>> > >> >>     > > "change"
>> > > > >> > > > >>> > >> >>     > >     > event.  IMO, this is why "change"
>> > > should
>> > > > >> be
>> > > > >> > an
>> > > > >> > > > >>> > >> interactive
>> > > > >> > > > >>> > >> >> event
>> > > > >> > > > >>> > >> >>     > and
>> > > > >> > > > >>> > >> >>     > > not a
>> > > > >> > > > >>> > >> >>     > >     > binding event.
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > So these are the reasons I think
>> we
>> > > > should
>> > > > >> > > adjust
>> > > > >> > > > >>> the
>> > > > >> > > > >>> > >> basic
>> > > > >> > > > >>> > >> >> beads
>> > > > >> > > > >>> > >> >>     > to
>> > > > >> > > > >>> > >> >>     > >     > separate interactive events from
>> > setup
>> > > > >> events
>> > > > >> > > and
>> > > > >> > > > >>> why
>> > > > >> > > > >>> > >> >> "change" is
>> > > > >> > > > >>> > >> >>     > an
>> > > > >> > > > >>> > >> >>     > >     > interactive event.
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > Now, we could renew the effort to
>> > make
>> > > > >> Basic
>> > > > >> > > the
>> > > > >> > > > >>> truly
>> > > > >> > > > >>> > >> >> smallest
>> > > > >> > > > >>> > >> >>     > >     > implementation and move some of
>> this
>> > > > >> logic to
>> > > > >> > > > >>> Express,
>> > > > >> > > > >>> > >> but
>> > > > >> > > > >>> > >> >> I keep
>> > > > >> > > > >>> > >> >>     > > seeing
>> > > > >> > > > >>> > >> >>     > >     > code creep into Basic to handle
>> > > > situations
>> > > > >> > that
>> > > > >> > > > >>> almost
>> > > > >> > > > >>> > >> all
>> > > > >> > > > >>> > >> >> folks
>> > > > >> > > > >>> > >> >>     > > need.
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > TextInput, on the other hand, has
>> > been
>> > > > an
>> > > > >> > > > >>> exception of
>> > > > >> > > > >>> > >> >> sorts in
>> > > > >> > > > >>> > >> >>     > > Flex.  The
>> > > > >> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches
>> > "change"
>> > > on
>> > > > >> > > certain
>> > > > >> > > > >>> kinds
>> > > > >> > > > >>> > of
>> > > > >> > > > >>> > >> >> changes.
>> > > > >> > > > >>> > >> >>     > > So
>> > > > >> > > > >>> > >> >>     > >     > early implementations in Royale
>> > tried
>> > > to
>> > > > >> > mimic
>> > > > >> > > > that
>> > > > >> > > > >>> > >> >> behavior for
>> > > > >> > > > >>> > >> >>     > > folks
>> > > > >> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we
>> > should
>> > > > >> change
>> > > > >> > > > that
>> > > > >> > > > >>> and
>> > > > >> > > > >>> > >> make
>> > > > >> > > > >>> > >> >> Basic
>> > > > >> > > > >>> > >> >>     > > TextInput
>> > > > >> > > > >>> > >> >>     > >     > more consistent with browser
>> > behavior.
>> > > > >> The
>> > > > >> > > > >>> emulation
>> > > > >> > > > >>> > >> >> components
>> > > > >> > > > >>> > >> >>     > can
>> > > > >> > > > >>> > >> >>     > > mimic
>> > > > >> > > > >>> > >> >>     > >     > the old Flex behavior.  So I
>> think
>> > > using
>> > > > >> > > > TextInput
>> > > > >> > > > >>> as
>> > > > >> > > > >>> > >> >> precedent is
>> > > > >> > > > >>> > >> >>     > >     > misleading.
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > Thoughts?
>> > > > >> > > > >>> > >> >>     > >     > -Alex
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg
>> Dove" <
>> > > > >> > > > >>> > greg.dove@gmail.com>
>> > > > >> > > > >>> > >> >> wrote:
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     Alex, I was giving this some
>> > more
>> > > > >> thought
>> > > > >> > > > >>> also. I
>> > > > >> > > > >>> > >> >> understood
>> > > > >> > > > >>> > >> >>     > > that you
>> > > > >> > > > >>> > >> >>     > >     > meant
>> > > > >> > > > >>> > >> >>     > >     >     to add extra events for
>> binding
>> > > from
>> > > > >> your
>> > > > >> > > > >>> previous
>> > > > >> > > > >>> > >> >> comments.
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     But isn't the established
>> > pattern
>> > > to
>> > > > >> add
>> > > > >> > a
>> > > > >> > > > >>> bead to
>> > > > >> > > > >>> > >> >> listen for
>> > > > >> > > > >>> > >> >>     > the
>> > > > >> > > > >>> > >> >>     > >     >     selectionChange and
>> redispatch
>> > it
>> > > as
>> > > > >> > > change?
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     At least that seems to be the
>> > case
>> > > > >> > > elsewhere
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     If I look at the code in
>> Basic
>> > > > >> > TextInput...
>> > > > >> > > > >>> > >> >>     > >     >     it dispatches 'textChange'
>> and
>> > > > >> 'change'
>> > > > >> > but
>> > > > >> > > > is
>> > > > >> > > > >>> only
>> > > > >> > > > >>> > >> >> Bindable
>> > > > >> > > > >>> > >> >>     > via
>> > > > >> > > > >>> > >> >>     > >     > 'change'.
>> > > > >> > > > >>> > >> >>     > >     >     There is effort to keep them
>> > > > >> > > > distinct/separate.
>> > > > >> > > > >>> > >> >>     > >     >     (OT: It looks like the swf
>> side
>> > > > needs
>> > > > >> > some
>> > > > >> > > > >>> > >> consistency
>> > > > >> > > > >>> > >> >> in the
>> > > > >> > > > >>> > >> >>     > > html
>> > > > >> > > > >>> > >> >>     > >     > setter
>> > > > >> > > > >>> > >> >>     > >     >     same as the text setter.)
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     So TextInput appears to have
>> 2
>> > > > >> distinct
>> > > > >> > > > events
>> > > > >> > > > >>> but
>> > > > >> > > > >>> > >> only
>> > > > >> > > > >>> > >> >> be
>> > > > >> > > > >>> > >> >>     > > Bindable
>> > > > >> > > > >>> > >> >>     > >     > for one
>> > > > >> > > > >>> > >> >>     > >     >     ('change'). So I presume
>> that to
>> > > > make
>> > > > >> > that
>> > > > >> > > > >>> support
>> > > > >> > > > >>> > >> >> programmatic
>> > > > >> > > > >>> > >> >>     > >     > changes it
>> > > > >> > > > >>> > >> >>     > >     >     would be by adding a bead to
>> > > listen
>> > > > to
>> > > > >> > the
>> > > > >> > > > >>> > >> 'textChange'
>> > > > >> > > > >>> > >> >> and
>> > > > >> > > > >>> > >> >>     > > redispatch
>> > > > >> > > > >>> > >> >>     > >     > as
>> > > > >> > > > >>> > >> >>     > >     >     'change' ?
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     Adding extra Bindable events
>> > adds
>> > > > >> weight
>> > > > >> > > > >>> because it
>> > > > >> > > > >>> > >> >> affects
>> > > > >> > > > >>> > >> >>     > > binding
>> > > > >> > > > >>> > >> >>     > >     > data,
>> > > > >> > > > >>> > >> >>     > >     >     and creates more runtime
>> support
>> > > for
>> > > > >> the
>> > > > >> > > same
>> > > > >> > > > >>> > feature
>> > > > >> > > > >>> > >> >> in use
>> > > > >> > > > >>> > >> >>     > > cases
>> > > > >> > > > >>> > >> >>     > >     > that may
>> > > > >> > > > >>> > >> >>     > >     >     not need it. I don't see how
>> > that
>> > > > can
>> > > > >> be
>> > > > >> > > > >>> > 'PAYG-ised'
>> > > > >> > > > >>> > >> >> because
>> > > > >> > > > >>> > >> >>     > > binding
>> > > > >> > > > >>> > >> >>     > >     >     support for different event
>> > types
>> > > is
>> > > > >> > either
>> > > > >> > > > >>> there
>> > > > >> > > > >>> > at
>> > > > >> > > > >>> > >> >> compile
>> > > > >> > > > >>> > >> >>     > > time or
>> > > > >> > > > >>> > >> >>     > >     > it is
>> > > > >> > > > >>> > >> >>     > >     >     not in the component. So if
>> the
>> > > > above
>> > > > >> is
>> > > > >> > > true
>> > > > >> > > > >>> for
>> > > > >> > > > >>> > >> >> TextInput (at
>> > > > >> > > > >>> > >> >>     > > this
>> > > > >> > > > >>> > >> >>     > >     > stage
>> > > > >> > > > >>> > >> >>     > >     >     it's a guess/observation, I
>> did
>> > > not
>> > > > >> try
>> > > > >> > > this
>> > > > >> > > > >>> yet),
>> > > > >> > > > >>> > >> then
>> > > > >> > > > >>> > >> >> could
>> > > > >> > > > >>> > >> >>     > it
>> > > > >> > > > >>> > >> >>     > > not be
>> > > > >> > > > >>> > >> >>     > >     >     similar for selection based
>> > > > >> components?
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     To me 'change' seems like
>> > > something
>> > > > >> > generic
>> > > > >> > > > and
>> > > > >> > > > >>> > does
>> > > > >> > > > >>> > >> >> not sound
>> > > > >> > > > >>> > >> >>     > >     > specific to
>> > > > >> > > > >>> > >> >>     > >     >     being user-initiated change.
>> My
>> > > > >> > > understanding
>> > > > >> > > > >>> is
>> > > > >> > > > >>> > that
>> > > > >> > > > >>> > >> >> it just
>> > > > >> > > > >>> > >> >>     > > happens
>> > > > >> > > > >>> > >> >>     > >     > to be
>> > > > >> > > > >>> > >> >>     > >     >     that way by default, unless
>> you
>> > > > >> configure
>> > > > >> > > it
>> > > > >> > > > to
>> > > > >> > > > >>> > >> include
>> > > > >> > > > >>> > >> >>     > > programmatic
>> > > > >> > > > >>> > >> >>     > >     >     changes via bead.
>> > > > >> > > > >>> > >> >>     > >     >     If it is like this for Basic
>> > > > >> TextInput,
>> > > > >> > why
>> > > > >> > > > >>> can it
>> > > > >> > > > >>> > >> not
>> > > > >> > > > >>> > >> >> be the
>> > > > >> > > > >>> > >> >>     > > same for
>> > > > >> > > > >>> > >> >>     > >     >     other components ? (
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32
>> AM
>> > > Alex
>> > > > >> > Harui
>> > > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
>> > > > >> > > > >>> > >> >>     > >     > wrote:
>> > > > >> > > > >>> > >> >>     > >     >
>> > > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
>> > > > >> > > ArrayListSelection.
>> > > > >> > > > >>> It
>> > > > >> > > > >>> > >> could
>> > > > >> > > > >>> > >> >> use some
>> > > > >> > > > >>> > >> >>     > >     >     > improvements, such as only
>> > > > >> dispatching
>> > > > >> > a
>> > > > >> > > > >>> single
>> > > > >> > > > >>> > >> >>     > > selectionChange event
>> > > > >> > > > >>> > >> >>     > >     >     > instead of both
>> > > > selectedIndexChange
>> > > > >> and
>> > > > >> > > > >>> > >> >> selectedItemChange.
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     > Some controller should
>> > dispatch
>> > > > the
>> > > > >> > > > "change"
>> > > > >> > > > >>> > event,
>> > > > >> > > > >>> > >> >> not the
>> > > > >> > > > >>> > >> >>     > > model.
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
>> > List.as,
>> > > (a
>> > > > >> top
>> > > > >> > > > level
>> > > > >> > > > >>> > >> >> component).  It
>> > > > >> > > > >>> > >> >>     > > should
>> > > > >> > > > >>> > >> >>     > >     > have
>> > > > >> > > > >>> > >> >>     > >     >     > bindable metadata that
>> looks
>> > > like
>> > > > >> this:
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >
>>  [Bindable("change")]
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >>  [Bindable("selectionChange")]
>> > > > >> > > > >>> > >> >>     > >     >     >         public function get
>> > > > >> > > > >>> selectedIndex():int
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     > Similar for selectedItem.
>> The
>> > > > >> [Event]
>> > > > >> > > > >>> metadata
>> > > > >> > > > >>> > for
>> > > > >> > > > >>> > >> >> List is
>> > > > >> > > > >>> > >> >>     > >     > correct,  It
>> > > > >> > > > >>> > >> >>     > >     >     > should only list
>> interactive
>> > > > events
>> > > > >> > like
>> > > > >> > > > >>> "change"
>> > > > >> > > > >>> > >> and
>> > > > >> > > > >>> > >> >> not
>> > > > >> > > > >>> > >> >>     > > bindable
>> > > > >> > > > >>> > >> >>     > >     > events
>> > > > >> > > > >>> > >> >>     > >     >     > like selectionChange.  This
>> > > > usually
>> > > > >> > > > improves
>> > > > >> > > > >>> > >> >> performance by
>> > > > >> > > > >>> > >> >>     > not
>> > > > >> > > > >>> > >> >>     > >     > having the
>> > > > >> > > > >>> > >> >>     > >     >     > UI react to setup.
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     > Once all of those changes
>> are
>> > > > made,
>> > > > >> we
>> > > > >> > > > should
>> > > > >> > > > >>> > >> discuss
>> > > > >> > > > >>> > >> >> any
>> > > > >> > > > >>> > >> >>     > > remaining
>> > > > >> > > > >>> > >> >>     > >     > issues.
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     > My 2 cents,
>> > > > >> > > > >>> > >> >>     > >     >     > -Alex
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM,
>> "Piotr
>> > > > >> > Zarzycki" <
>> > > > >> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
>> > > > >> > > > >>> > >> >>     > >     >     > wrote:
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     Basic
>> ArrayListSelection
>> > > model
>> > > > >> > > doesn't
>> > > > >> > > > >>> > dispatch
>> > > > >> > > > >>> > >> >> that
>> > > > >> > > > >>> > >> >>     > > event. I
>> > > > >> > > > >>> > >> >>     > >     > believe
>> > > > >> > > > >>> > >> >>     > >     >     > we
>> > > > >> > > > >>> > >> >>     > >     >     >     don't have to do this
>> or
>> > > > rather
>> > > > >> do
>> > > > >> > > this
>> > > > >> > > > >>> only
>> > > > >> > > > >>> > if
>> > > > >> > > > >>> > >> >> we really
>> > > > >> > > > >>> > >> >>     > > need
>> > > > >> > > > >>> > >> >>     > >     > it, for
>> > > > >> > > > >>> > >> >>     > >     >     >     example if someone make
>> > > > >> programatic
>> > > > >> > > > >>> change of
>> > > > >> > > > >>> > >> >>     > > selectedIndex. -
>> > > > >> > > > >>> > >> >>     > >     > This is
>> > > > >> > > > >>> > >> >>     > >     >     >     general problem how to
>> do
>> > > > that ?
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     If I change
>> selectedIndex
>> > -
>> > > my
>> > > > >> > model
>> > > > >> > > > >>> dispatch
>> > > > >> > > > >>> > >> >>     > >     > selectedInexChanged -
>> > > > >> > > > >>> > >> >>     > >     >     > where
>> > > > >> > > > >>> > >> >>     > >     >     >     should I catch it and
>> > > dispatch
>> > > > >> > > "change"
>> > > > >> > > > >>> > event ?
>> > > > >> > > > >>> > >> >> My though
>> > > > >> > > > >>> > >> >>     > > are
>> > > > >> > > > >>> > >> >>     > >     > nowhere,
>> > > > >> > > > >>> > >> >>     > >     >     >     unless someone wanted
>> to
>> > do
>> > > > that
>> > > > >> > and
>> > > > >> > > > >>> have a
>> > > > >> > > > >>> > >> bead.
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o
>> 19:08
>> > > Alex
>> > > > >> > Harui
>> > > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
>> > > > >> > > > >>> > >> >>     > >     >     > napisał(a):
>> > > > >> > > > >>> > >> >>     > >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     > I may not be
>> > understanding
>> > > > >> your
>> > > > >> > > > >>> problem.
>> > > > >> > > > >>> > Not
>> > > > >> > > > >>> > >> >> all
>> > > > >> > > > >>> > >> >>     > models
>> > > > >> > > > >>> > >> >>     > > will
>> > > > >> > > > >>> > >> >>     > >     >     > dispatch a
>> > > > >> > > > >>> > >> >>     > >     >     >     > change event, but it
>> is
>> > > hard
>> > > > >> to
>> > > > >> > > > >>> imagine a
>> > > > >> > > > >>> > >> >> selection
>> > > > >> > > > >>> > >> >>     > > model that
>> > > > >> > > > >>> > >> >>     > >     >     > doesn't.
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     > -Alex
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM,
>> > > "Piotr
>> > > > >> > > > Zarzycki"
>> > > > >> > > > >>> <
>> > > > >> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
>> > > > >> > > > >>> > >> >>     > >     >     > wrote:
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     I will review
>> your
>> > > email
>> > > > >> > again
>> > > > >> > > > and
>> > > > >> > > > >>> see
>> > > > >> > > > >>> > >> what
>> > > > >> > > > >>> > >> >> can I
>> > > > >> > > > >>> > >> >>     > do
>> > > > >> > > > >>> > >> >>     > > this.
>> > > > >> > > > >>> > >> >>     > >     >     > However
>> > > > >> > > > >>> > >> >>     > >     >     >     > this one
>> > > > >> > > > >>> > >> >>     > >     >     >     >     is a second
>> problem.
>> > > > First
>> > > > >> > one
>> > > > >> > > > was
>> > > > >> > > > >>> > about
>> > > > >> > > > >>> > >> >>     > programmatic
>> > > > >> > > > >>> > >> >>     > >     > change
>> > > > >> > > > >>> > >> >>     > >     >     > discover
>> > > > >> > > > >>> > >> >>     > >     >     >     > - If
>> > > > >> > > > >>> > >> >>     > >     >     >     >     you are talking
>> > about
>> > > > >> that -
>> > > > >> > > Let
>> > > > >> > > > me
>> > > > >> > > > >>> > check
>> > > > >> > > > >>> > >> >> your
>> > > > >> > > > >>> > >> >>     > > earlier
>> > > > >> > > > >>> > >> >>     > >     > emails.
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     Thanks,
>> > > > >> > > > >>> > >> >>     > >     >     >     >     Piotr
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru
>> 2018 o
>> > > > 18:30
>> > > > >> > Alex
>> > > > >> > > > >>> Harui
>> > > > >> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
>> > > > >> > > > >>> > >> >>     > >     >     >     > napisał(a):
>> > > > >> > > > >>> > >> >>     > >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would
>> much
>> > > > >> rather
>> > > > >> > see
>> > > > >> > > > >>> energy
>> > > > >> > > > >>> > >> >> spent on
>> > > > >> > > > >>> > >> >>     > > trying to
>> > > > >> > > > >>> > >> >>     > >     >     > implement the
>> > > > >> > > > >>> > >> >>     > >     >     >     >     > patterns I
>> > suggested
>> > > > >> > earlier,
>> > > > >> > > > >>> which
>> > > > >> > > > >>> > >> will
>> > > > >> > > > >>> > >> >>     > hopefully
>> > > > >> > > > >>> > >> >>     > >     > eliminate
>> > > > >> > > > >>> > >> >>     > >     >     > the
>> > > > >> > > > >>> > >> >>     > >     >     >     > need for
>> > > > >> > > > >>> > >> >>     > >     >     >     >     >
>> > > > DispatchChangeOnStartup.
>> > > > >> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
>> > > > >> > > > >>> > >> >>     > >     >     >     >     > -Alex
>> > > > >> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18,
>> 4:34
>> > > AM,
>> > > > >> > "Piotr
>> > > > >> > > > >>> > Zarzycki"
>> > > > >> > > > >>> > >> <
>> > > > >> > > > >>> > >> >>     > >     >     > piotrzarzycki21@gmail.com>
>> > > > >> > > > >>> > >> >>     > >     >     >     > wrote:
>> > > > >> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
>> > > > >> > > > >>> > >> >>     > >     >     >     >     >
>> > > > >> > > > >>> > >> >>     > >     >     >
>> >
>>
>
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>


-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Re: How to discover programmatic change in Jewel List

Posted by Piotr Zarzycki <pi...@gmail.com>.
Hi Greg,

Yes I think that is correct and I believe this is how it's working now. I
just bump into that. Maybe my scenario have also some reasonable meaning. I
have List which has item renderer and inside that item renderer I'm having
CheckBox.

I want to know in general which checkbox is selected, so do not go to much
in the details.

When you have default item renderer and click on it - You have
selectedIndex = 1,2 etc. Controller [1] in that case listen for click and
make assign to selectedIndex.

When you click on my item renderer - click won't be received by controller,
cause you will simply clicking into CheckBox instead of item renderer
itself, so no selectedIndex, no Change event etc. I resolved it by
dispatching "itemClick" once someone is clicking onto CheckBox - Controller
receiving event and making selctedIndex additionally dispatching [1]. User
receiving that Change event, but two times. By dispatching that event
"itemClick" I'm probably not doing anything usual - that's why I didn't
mention in the previous email that scenario.
I have resolved that double dispatch by creating my own controller where
CHANGE dispatch [1] is simply removed.

Please do not think too much about my scenario and requirements - I'm
asking whether it even needed when you have default item renderer. IMO I
didn't have time too look into that myself, but maybe I will.

I will take my controller (without change event) and simply assign to
default List to see what is happen - Cause my List itself is also custom
one. ;)

[1] https://bit.ly/2GeQ5En

Thanks,
Piotr

czw., 7 lut 2019 o 20:44 Greg Dove <gr...@gmail.com> napisał(a):

> Hi Piotr, Carlos,
>
> I expect to have time next week to spend on this and other tasks that I
> have been hoping to get to for Royale, although I expect to focus on
> AMFBinaryData first.
>
> Piotr, correct me if I'm wrong, but I think the general approach we got to
> was that :
>
> -the model should dispatch individual 'selectionChanged',
> 'dataProviderChanged', etc directly from the host component for binding
> support, and
> -user initiated changes/interaction should dispatch 'change' event, which
> can occur alongside a subset of 'selectionChanged' events, for example.
>
>
>
>
> On Fri, Feb 8, 2019 at 12:58 AM Piotr Zarzycki <pi...@gmail.com>
> wrote:
>
> > Ok I will check.
> >
> > Thanks,
> > Piotr
> >
> > On Thu, Feb 7, 2019, 12:40 PM Carlos Rovira <ca...@apache.org>
> > wrote:
> >
> > > Hi Piotr,
> > >
> > > could you check in Tour De Jewel if removing that sentence makes some
> > > regression in examples?
> > > (I mean example with Lists and other deviated like ComboBox that use
> > List)
> > >
> > > If you don't see anything I could try as well in our app and see if
> > there's
> > > some possible use case don't covered in TDJ and in that case maybe we
> can
> > > see if that could be refactored some way
> > >
> > > thanks!
> > >
> > > Carlos
> > >
> > >
> > >
> > > El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (<
> > > piotrzarzycki21@gmail.com>)
> > > escribió:
> > >
> > > > Hi Greg,
> > > >
> > > > I'm progressing with some application and discovered that we are
> > > > dispatching CHANGE event from here [1] - I'm wondering whether we
> > really
> > > > need it. Model is being update in that operation - I believe it
> should
> > be
> > > > enough.
> > > >
> > > > Just to make it clear there is no issue - I mean CHANGE event doesn't
> > > fire
> > > > two times etc. because of that. I didn't check whether it makes any
> > > > difference.
> > > >
> > > > [1] https://bit.ly/2GeQ5En
> > > >
> > > > Thanks,
> > > > Piotr
> > > >
> > > > pon., 24 gru 2018 o 11:51 Piotr Zarzycki <pi...@gmail.com>
> > > > napisał(a):
> > > >
> > > > > Hi Carlos,
> > > > >
> > > > > You have less events flying around the head. :)
> > > > >
> > > > > Piotr
> > > > >
> > > > > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <
> > carlosrovira@apache.org>
> > > > > wrote:
> > > > >
> > > > >> Thanks Piotr and Greg,
> > > > >>
> > > > >> I'm catching up with all the thread. I'm testing and seems all is
> > ok,
> > > > >> Seems
> > > > >> Jewel List, ComboBox, DropDownList are now much better and robust
> :)
> > > > >> Great work! Thanks for working on this! :)
> > > > >>
> > > > >> Carlos
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
> > > > >> piotrzarzycki21@gmail.com>)
> > > > >> escribió:
> > > > >>
> > > > >> > Great! More tests the better. I will switch to your branch as
> well
> > > > when
> > > > >> you
> > > > >> > make the changes.
> > > > >> >
> > > > >> > Many Thanks for help with that. Let's see what's more comes on
> the
> > > > >> road. :)
> > > > >> >
> > > > >> > Best,
> > > > >> > Piotr
> > > > >> >
> > > > >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <gr...@gmail.com>
> > > wrote:
> > > > >> >
> > > > >> > > I already checked this against the app that we are working on,
> > so
> > > > feel
> > > > >> > free
> > > > >> > > to merge that in if it fixes the problem you were seeing,
> Piotr.
> > > > >> > > For the more general changes with dispatching from strand and
> > > > avoiding
> > > > >> > > IEventDispatcher-ness , I can come back to that and try to do
> a
> > > > >> refactor
> > > > >> > > sweep through these changes as discussed with Alex, and the
> > other
> > > > >> > component
> > > > >> > > sets in a couple of weeks. But I will do that in a refactor
> > > branch.
> > > > >> I'm
> > > > >> > not
> > > > >> > > using the other component sets at the moment, and although I
> > know
> > > > >> there
> > > > >> > are
> > > > >> > > example projects to check against, I think checking against a
> > > > >> > 'real-world'
> > > > >> > > app is also important. Maybe Harbs and any any others who
> > perhaps
> > > > may
> > > > >> > have
> > > > >> > > used Basic or Express etc in actual apps will be able to
> verify
> > > > things
> > > > >> > for
> > > > >> > > those component sets in the refactor branch at the time, if
> they
> > > > have
> > > > >> > been
> > > > >> > > using them. I will make a request for others to check things
> > when
> > > I
> > > > do
> > > > >> > > that.
> > > > >> > >
> > > > >> > >
> > > > >> > >
> > > > >> > >
> > > > >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
> > > > >> > piotrzarzycki21@gmail.com>
> > > > >> > > wrote:
> > > > >> > >
> > > > >> > > > Greg,
> > > > >> > > >
> > > > >> > > > I have fixed issues with navigation in my application code.
> > I'm
> > > ok
> > > > >> with
> > > > >> > > > changes in that branch.
> > > > >> > > >
> > > > >> > > > Thanks for all changes!
> > > > >> > > > Piotr
> > > > >> > > >
> > > > >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <
> > > > piotrzarzycki21@gmail.com
> > > > >> >
> > > > >> > > > napisał(a):
> > > > >> > > >
> > > > >> > > > > Greg,
> > > > >> > > > >
> > > > >> > > > > In your app are you using navigation in that way?
> > > > >> > > > > Maybe I need to call some prevent method somewhere.
> > > > >> > > > >
> > > > >> > > > > Thanks,
> > > > >> > > > > Piotr
> > > > >> > > > >
> > > > >> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
> > > > >> > > piotrzarzycki21@gmail.com>
> > > > >> > > > > wrote:
> > > > >> > > > >
> > > > >> > > > >> Greg,
> > > > >> > > > >>
> > > > >> > > > >> Good news. I was able to build framework using ant and
> > > produce
> > > > >> IDE
> > > > >> > > > >> artifacts. Tested your changes and looks good. However I
> > see
> > > > >> other
> > > > >> > > > issue. I
> > > > >> > > > >> have following code [1]. When I click on link in
> navigation
> > > > (I'm
> > > > >> > > > listening
> > > > >> > > > >> on change event) - I'm trying to change view using
> > > > >> > > > ApplicationMainContent -
> > > > >> > > > >> it's navigates me to new website with new url instead
> > > changing
> > > > >> view.
> > > > >> > > > >>
> > > > >> > > > >> I need to investigate why it is happen. Apart of that I
> > > believe
> > > > >> we
> > > > >> > are
> > > > >> > > > ok
> > > > >> > > > >> with that branch.
> > > > >> > > > >>
> > > > >> > > > >> [1] https://paste.apache.org/UzJI
> > > > >> > > > >>
> > > > >> > > > >> Thanks, Piotr
> > > > >> > > > >>
> > > > >> > > > >>
> > > > >> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <gr...@gmail.com>
> > > > >> > napisał(a):
> > > > >> > > > >>
> > > > >> > > > >>> Ok Piotr, I'm not sure what is happening there. It does
> > seem
> > > > >> > strange
> > > > >> > > -
> > > > >> > > > >>> shell.view.royale.Shell seems like a class and somehow
> has
> > > org
> > > > >> > > > >>> <http://shell.view.royale.shell.org/
> > > > >> > > >.apache.royale.jewel.Application
> > > > >> > > > >>> appended to it.
> > > > >> > > > >>>
> > > > >> > > > >>> I don't think that is related to anything I did (and it
> > > works
> > > > >> fine
> > > > >> > > > >>> against
> > > > >> > > > >>> the 'real-world' app I tested against - with maven
> build).
> > > Can
> > > > >> you
> > > > >> > > > build
> > > > >> > > > >>> Tour de Jewel  ok?
> > > > >> > > > >>>
> > > > >> > > > >>>
> > > > >> > > > >>>
> > > > >> > > > >>>
> > > > >> > > > >>>
> > > > >> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
> > > > >> > > > >>> piotrzarzycki21@gmail.com>
> > > > >> > > > >>> wrote:
> > > > >> > > > >>>
> > > > >> > > > >>> > Hi Greg,
> > > > >> > > > >>> >
> > > > >> > > > >>> > Thanks for your changes. Unfortunately I'm not able so
> > far
> > > > >> > properly
> > > > >> > > > >>> build
> > > > >> > > > >>> > my real world app using Maven. I build Jewel module by
> > > > Maven,
> > > > >> so
> > > > >> > I
> > > > >> > > > have
> > > > >> > > > >>> > setup my app to be buildable with Maven. Unfortunately
> > I'm
> > > > >> > getting
> > > > >> > > > >>> weird
> > > > >> > > > >>> > exception during running app.
> > > > >> > > > >>> >
> > > > >> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot
> > read
> > > > >> > property
> > > > >> > > > >>> > 'string' of undefined
> > > > >> > > > >>> >     at
> > > > >> > > > >>> >
> > > > >> > > > >>> >
> > > > >> > > > >>>
> > > > >> > > >
> > > > >> > >
> > > > >> >
> > > > >>
> > > >
> > >
> >
> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
> > > > >> > > > >>> > (SimpleCSSValuesImpl.js:102)
> > > > >> > > > >>> >     at
> > > > >> > > > >>> > shell.view.royale.Shell.org
> > > > >> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
> > > > >> > > > >>> > (Application.js:311)
> > > > >> > > > >>> >     at shell.view.royale.Shell.org
> > > > >> > .apache.royale.jewel.Application
> > > > >> > > > [as
> > > > >> > > > >>> > constructor] (Application.js:46)
> > > > >> > > > >>> >     at Function.childCtor.base (base.js:2515)
> > > > >> > > > >>> >
> > > > >> > > > >>> > Above exception is not occurs when I'm building using
> > > > >> Nightly. I
> > > > >> > > > >>> probably
> > > > >> > > > >>> > will have to build framework by ant and prepare IDE
> > > > compatible
> > > > >> > > > >>> environment
> > > > >> > > > >>> > or will try to rebuild whole framework by Maven and
> try
> > > > again.
> > > > >> > > > >>> >
> > > > >> > > > >>> > Thanks, Piotr
> > > > >> > > > >>> >
> > > > >> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
> > > > >> > > piotrzarzycki21@gmail.com>
> > > > >> > > > >>> > napisał(a):
> > > > >> > > > >>> >
> > > > >> > > > >>> > > Hi Greg,
> > > > >> > > > >>> > >
> > > > >> > > > >>> > > Great news, cause I was going to look into that
> > > somewhere
> > > > >> > between
> > > > >> > > > >>> > > Christmas and New Year. I would be happy to test
> your
> > > > >> changes!
> > > > >> > Do
> > > > >> > > > not
> > > > >> > > > >>> > > hesitate push it!
> > > > >> > > > >>> > >
> > > > >> > > > >>> > > Thank you so much!
> > > > >> > > > >>> > > Piotr
> > > > >> > > > >>> > >
> > > > >> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <
> > > greg.dove@gmail.com>
> > > > >> > > > >>> napisał(a):
> > > > >> > > > >>> > >
> > > > >> > > > >>> > >> Piotr, Alex,
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >> fyi I found some time to spend on this today, and
> > > Piotr,
> > > > I
> > > > >> > > should
> > > > >> > > > be
> > > > >> > > > >>> > ready
> > > > >> > > > >>> > >> to push the changes I made to your branch tomorrow
> > > > morning
> > > > >> my
> > > > >> > > time
> > > > >> > > > >>> > (local
> > > > >> > > > >>> > >> time - GMT+13).
> > > > >> > > > >>> > >> It seems to be fine so far with 'selectionChange'
> for
> > > > >> binding
> > > > >> > > > based
> > > > >> > > > >>> on
> > > > >> > > > >>> > >> model changes and 'change' for class event meta. I
> > have
> > > > >> been
> > > > >> > > been
> > > > >> > > > >>> > testing
> > > > >> > > > >>> > >> so far against Tour de Jewel, but I will test
> against
> > > our
> > > > >> > > > real-world
> > > > >> > > > >>> > >> project as well before I push to your branch Piotr.
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >> -Greg
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
> > > > >> > greg.dove@gmail.com>
> > > > >> > > > >>> wrote:
> > > > >> > > > >>> > >>
> > > > >> > > > >>> > >> > Alex, I can't remember offhand, but I think we
> used
> > > > that
> > > > >> > once
> > > > >> > > in
> > > > >> > > > >>> only
> > > > >> > > > >>> > >> one
> > > > >> > > > >>> > >> > place, and I did it really quickly. I am sure
> there
> > > > will
> > > > >> be
> > > > >> > a
> > > > >> > > > way
> > > > >> > > > >>> to
> > > > >> > > > >>> > >> avoid
> > > > >> > > > >>> > >> > it.
> > > > >> > > > >>> > >> > I think the bigger issue is the way I did the
> > changes
> > > > to
> > > > >> the
> > > > >> > > > >>> model to
> > > > >> > > > >>> > >> > support dispatching change events for
> programmatic
> > > > >> changes,
> > > > >> > > > which
> > > > >> > > > >>> I
> > > > >> > > > >>> > >> think
> > > > >> > > > >>> > >> > Piotr was looking at.
> > > > >> > > > >>> > >> > Maybe I can take a look at that later today, but
> I
> > > > can't
> > > > >> be
> > > > >> > > > >>> certain.
> > > > >> > > > >>> > >> > The simplest fix might be to revert everything I
> > did
> > > > and
> > > > >> add
> > > > >> > > > >>> binding
> > > > >> > > > >>> > for
> > > > >> > > > >>> > >> > the selection changes (currently
> > > 'selectedIndexChanged'
> > > > >> and
> > > > >> > > > >>> > >> > 'selectedItemChanged' which I know you say could
> be
> > > > >> > > > >>> > 'selectionChanged')
> > > > >> > > > >>> > >> in
> > > > >> > > > >>> > >> > addition to 'change' (as discussed) and make sure
> > the
> > > > >> > > component
> > > > >> > > > is
> > > > >> > > > >>> > >> > dispatching those from the model (if it does not
> > > > already
> > > > >> do
> > > > >> > > so).
> > > > >> > > > >>> If
> > > > >> > > > >>> > >> > 'selectionChanged' (or whatever it is) is already
> > > > >> happening
> > > > >> > > as a
> > > > >> > > > >>> > result
> > > > >> > > > >>> > >> of
> > > > >> > > > >>> > >> > 'change' in addition to setter triggered changes,
> > > then
> > > > it
> > > > >> > > could
> > > > >> > > > >>> be a
> > > > >> > > > >>> > >> simple
> > > > >> > > > >>> > >> > swap for the binding event only (as discussed
> also)
> > > > >> > > > >>> > >> >
> > > > >> > > > >>> > >> > But this last part was also applicable to the
> > > wholesale
> > > > >> > change
> > > > >> > > > to
> > > > >> > > > >>> all
> > > > >> > > > >>> > >> > component sets we were discussing, not just
> Jewel.
> > > > >> > > > >>> > >> >
> > > > >> > > > >>> > >> >
> > > > >> > > > >>> > >> >
> > > > >> > > > >>> > >> >
> > > > >> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
> > > > >> > > > >>> <ah...@adobe.com.invalid>
> > > > >> > > > >>> > >> > wrote:
> > > > >> > > > >>> > >> >
> > > > >> > > > >>> > >> >> Greg, Carlos,
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >> Can one of you put together a simple test case
> > that
> > > > >> > > > demonstrates
> > > > >> > > > >>> your
> > > > >> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't need
> > > > server
> > > > >> > > access.
> > > > >> > > > >>> You
> > > > >> > > > >>> > >> can
> > > > >> > > > >>> > >> >> probably inject a dataProvider on
> > > applicationComplete
> > > > or
> > > > >> > have
> > > > >> > > > the
> > > > >> > > > >>> > user
> > > > >> > > > >>> > >> push
> > > > >> > > > >>> > >> >> a button if the issue is about deferred arrival
> of
> > > > >> server
> > > > >> > > data.
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >> IMO, we have to be more concerned about getting
> > the
> > > > >> > patterns
> > > > >> > > > >>> right
> > > > >> > > > >>> > >> >> regressions, and the best way to avoid getting
> > > > >> regressions
> > > > >> > is
> > > > >> > > > to
> > > > >> > > > >>> > >> provide a
> > > > >> > > > >>> > >> >> simple test case that demonstrates a problem in
> > the
> > > > >> > patterns.
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to be
> > > > >> required
> > > > >> > and
> > > > >> > > > >>> won't
> > > > >> > > > >>> > be
> > > > >> > > > >>> > >> >> part of the framework.  The usability of the
> > > framework
> > > > >> will
> > > > >> > > go
> > > > >> > > > >>> down
> > > > >> > > > >>> > if
> > > > >> > > > >>> > >> >> folks have to keep adding more and more "OnThis"
> > and
> > > > >> > "OnThat"
> > > > >> > > > >>> beads
> > > > >> > > > >>> > to
> > > > >> > > > >>> > >> get
> > > > >> > > > >>> > >> >> their app to work.  The approachability of the
> > > > >> framework in
> > > > >> > > > >>> terms of
> > > > >> > > > >>> > >> >> documentation and number of classes won't scale
> > > either
> > > > >> if
> > > > >> > we
> > > > >> > > > >>> don't
> > > > >> > > > >>> > get
> > > > >> > > > >>> > >> >> these patterns right.  This doesn't mean that
> you
> > > > can't
> > > > >> use
> > > > >> > > an
> > > > >> > > > >>> > >> "onStartup"
> > > > >> > > > >>> > >> >> bead in your app in order to meet some deadline,
> > and
> > > > >> share
> > > > >> > it
> > > > >> > > > >>> with
> > > > >> > > > >>> > >> others,
> > > > >> > > > >>> > >> >> but we have to be careful about what patterns we
> > > > >> promote in
> > > > >> > > the
> > > > >> > > > >>> SDK.
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >> My 2 cents,
> > > > >> > > > >>> > >> >> -Alex
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
> > > > >> greg.dove@gmail.com>
> > > > >> > > > wrote:
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>     Hi Piotr,
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>     I would be happy to work on it, and wish I
> > > could,
> > > > >> but
> > > > >> > the
> > > > >> > > > >>> problem
> > > > >> > > > >>> > >> for
> > > > >> > > > >>> > >> >> me at
> > > > >> > > > >>> > >> >>     the moment is that I can't make it a
> priority,
> > > > >> because
> > > > >> > > for
> > > > >> > > > >>> now at
> > > > >> > > > >>> > >> >> least it
> > > > >> > > > >>> > >> >>     is functioning as we need it, and there are
> > > plenty
> > > > >> of
> > > > >> > > > things
> > > > >> > > > >>> that
> > > > >> > > > >>> > >> are
> > > > >> > > > >>> > >> >> not
> > > > >> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
> > > > >> implementation
> > > > >> > as
> > > > >> > > it
> > > > >> > > > >>> > stands
> > > > >> > > > >>> > >> >> might
> > > > >> > > > >>> > >> >>     not be 'right', it does function as we need
> it
> > > to
> > > > >> for
> > > > >> > > now.
> > > > >> > > > I
> > > > >> > > > >>> > >> suspect
> > > > >> > > > >>> > >> >> that
> > > > >> > > > >>> > >> >>     is what Carlos meant when he said he was
> > > concerned
> > > > >> > about
> > > > >> > > > >>> > >> regressions.
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>     I have other stuff queued up to add in other
> > > areas
> > > > >> too,
> > > > >> > > > like
> > > > >> > > > >>> > >> >> AMFBinaryData
> > > > >> > > > >>> > >> >>     and AMFNetConnection but will need to do
> more
> > > work
> > > > >> to
> > > > >> > > > >>> generalize
> > > > >> > > > >>> > >> it,
> > > > >> > > > >>> > >> >> as I
> > > > >> > > > >>> > >> >>     have it these working in a way that is
> almost
> > > > >> complete,
> > > > >> > > but
> > > > >> > > > >>> > mostly
> > > > >> > > > >>> > >> >> focused
> > > > >> > > > >>> > >> >>     on what is sufficient for what Carlos needs
> > for
> > > > now.
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>     I hope to get some free time in early
> January
> > to
> > > > >> finish
> > > > >> > > up
> > > > >> > > > >>> these
> > > > >> > > > >>> > >> >> things.
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr
> > Zarzycki
> > > <
> > > > >> > > > >>> > >> >> piotrzarzycki21@gmail.com>
> > > > >> > > > >>> > >> >>     wrote:
> > > > >> > > > >>> > >> >>
> > > > >> > > > >>> > >> >>     > Hi Guys,
> > > > >> > > > >>> > >> >>     >
> > > > >> > > > >>> > >> >>     > I definitely need to a way of resolve that
> > > > >> problem. I
> > > > >> > > > will
> > > > >> > > > >>> > review
> > > > >> > > > >>> > >> >> emails
> > > > >> > > > >>> > >> >>     > tomorrow.
> > > > >> > > > >>> > >> >>     >
> > > > >> > > > >>> > >> >>     > However if you Greg would like to try
> > > something
> > > > go
> > > > >> > for
> > > > >> > > > it.
> > > > >> > > > >>> > Would
> > > > >> > > > >>> > >> be
> > > > >> > > > >>> > >> >> great
> > > > >> > > > >>> > >> >>     > if you could use my branch where changes
> > which
> > > > >> > removes
> > > > >> > > > >>> > >> dispatching
> > > > >> > > > >>> > >> >> "change"
> > > > >> > > > >>> > >> >>     > event from model are in place.
> > > > >> > > > >>> > >> >>     >
> > > > >> > > > >>> > >> >>     > Thanks, Piotr
> > > > >> > > > >>> > >> >>     >
> > > > >> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
> > > > >> > > > >>> <aharui@adobe.com.invalid
> > > > >> > > > >>> > >
> > > > >> > > > >>> > >> >>     > napisał(a):
> > > > >> > > > >>> > >> >>     >
> > > > >> > > > >>> > >> >>     > > Hi Greg,
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > > I haven't looked at how pervasive this
> > > change
> > > > >> would
> > > > >> > > be.
> > > > >> > > > >>> I'm
> > > > >> > > > >>> > >> >> mainly
> > > > >> > > > >>> > >> >>     > saying
> > > > >> > > > >>> > >> >>     > > that Flex worked with these categories
> of
> > > > events
> > > > >> > and
> > > > >> > > I
> > > > >> > > > >>> think
> > > > >> > > > >>> > >> >> Royale can
> > > > >> > > > >>> > >> >>     > too
> > > > >> > > > >>> > >> >>     > > and would eliminate the need for
> > > > >> > > > DispatchChangeOnStartup
> > > > >> > > > >>> and
> > > > >> > > > >>> > >> >> things like
> > > > >> > > > >>> > >> >>     > > that.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > > You could be right that the models only
> > need
> > > > to
> > > > >> > > > dispatch
> > > > >> > > > >>> > >> >> selectionChange
> > > > >> > > > >>> > >> >>     > > and not "change", as long as the
> > controllers
> > > > are
> > > > >> > > > >>> guaranteed
> > > > >> > > > >>> > to
> > > > >> > > > >>> > >> >> update the
> > > > >> > > > >>> > >> >>     > > model in a way that fires
> selectionChange.
> > > I
> > > > >> have
> > > > >> > > this
> > > > >> > > > >>> > feeling
> > > > >> > > > >>> > >> >> that in
> > > > >> > > > >>> > >> >>     > > Flex there were some backdoors for
> > updating
> > > > >> > > properties
> > > > >> > > > >>> > without
> > > > >> > > > >>> > >> >>     > dispatching
> > > > >> > > > >>> > >> >>     > > events and dispatching the event
> "later",
> > > but
> > > > I
> > > > >> > don't
> > > > >> > > > >>> think
> > > > >> > > > >>> > >> we've
> > > > >> > > > >>> > >> >> had to
> > > > >> > > > >>> > >> >>     > > write such code in Royale and maybe we
> > won't
> > > > >> have
> > > > >> > to
> > > > >> > > or
> > > > >> > > > >>> can't
> > > > >> > > > >>> > >> >> because the
> > > > >> > > > >>> > >> >>     > > browser will update right away in many
> > > cases.
> > > > >> > There
> > > > >> > > > were
> > > > >> > > > >>> > >> >> somethings you
> > > > >> > > > >>> > >> >>     > > could do in Flash knowing that all
> > rendering
> > > > was
> > > > >> > > > >>> deferred to
> > > > >> > > > >>> > >> frame
> > > > >> > > > >>> > >> >>     > > updates.  In Royale, with separate
> models,
> > > the
> > > > >> > > > controller
> > > > >> > > > >>> > code
> > > > >> > > > >>> > >> >> can't just
> > > > >> > > > >>> > >> >>     > > set the backing variable.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > > So, if you want to give it a try having
> > only
> > > > >> > > > >>> selectionChange
> > > > >> > > > >>> > as
> > > > >> > > > >>> > >> >> the
> > > > >> > > > >>> > >> >>     > > bindable event, go for it.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > > -Alex
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
> > > > >> > > > greg.dove@gmail.com>
> > > > >> > > > >>> > >> wrote:
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     Thanks Alex.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     I only looked in Basic TextInput
> > > because I
> > > > >> was
> > > > >> > > > >>> looking
> > > > >> > > > >>> > for
> > > > >> > > > >>> > >> a
> > > > >> > > > >>> > >> >> simpler
> > > > >> > > > >>> > >> >>     > >     example of the general case being
> > > > discussed.
> > > > >> > That
> > > > >> > > > >>> code
> > > > >> > > > >>> > >> looks
> > > > >> > > > >>> > >> >> like it
> > > > >> > > > >>> > >> >>     > > might
> > > > >> > > > >>> > >> >>     > >     need some work on the swf side in
> any
> > > > case.
> > > > >> > > > >>> > >> >>     > >     I was just looking for the
> > > > >> 'programmaticChange'
> > > > >> > > vs
> > > > >> > > > >>> > >> >>     > > 'userInitiatedChange'
> > > > >> > > > >>> > >> >>     > >     differences.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     Based on a quick look at the other
> > Basic
> > > > >> > classes,
> > > > >> > > > the
> > > > >> > > > >>> > >> >> conclusions
> > > > >> > > > >>> > >> >>     > > appear
> > > > >> > > > >>> > >> >>     > >     similar.  They are bindable via
> > 'change'
> > > > >> only.
> > > > >> > > > >>> > >> >>     > >     And the models all dispatch both
> > > > >> > > > >>> selectedIndexChanged and
> > > > >> > > > >>> > >> >>     > >     selectedItemChanged.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     So it seems like you are proposing
> > broad
> > > > >> > changes
> > > > >> > > > for
> > > > >> > > > >>> > >> >> everything, if
> > > > >> > > > >>> > >> >>     > > they
> > > > >> > > > >>> > >> >>     > >     are to also support binding changes
> > for
> > > > >> > > > programmatic
> > > > >> > > > >>> > >> changes?
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     For me, the change in something (or
> > > > nothing)
> > > > >> > > being
> > > > >> > > > >>> > >> 'selected'
> > > > >> > > > >>> > >> >>     > logically
> > > > >> > > > >>> > >> >>     > >     occurs as a result of either user
> > change
> > > > or
> > > > >> > > > >>> programmatic
> > > > >> > > > >>> > >> >> change. On
> > > > >> > > > >>> > >> >>     > > that
> > > > >> > > > >>> > >> >>     > >     basis would it be possible to have
> the
> > > > >> > > > >>> selectionChange as
> > > > >> > > > >>> > >> the
> > > > >> > > > >>> > >> >> sole
> > > > >> > > > >>> > >> >>     > > Binding
> > > > >> > > > >>> > >> >>     > >     event (which occurs from setter
> > induced
> > > > >> change
> > > > >> > > and
> > > > >> > > > >>> from
> > > > >> > > > >>> > >> user
> > > > >> > > > >>> > >> >> induced
> > > > >> > > > >>> > >> >>     > >     change) and the 'change' event as
> > > > >> > > user-interaction
> > > > >> > > > >>> only
> > > > >> > > > >>> > as
> > > > >> > > > >>> > >> >> the class
> > > > >> > > > >>> > >> >>     > > level
> > > > >> > > > >>> > >> >>     > >     event type (as it is now)?
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     I have not thought about this as
> much
> > as
> > > > you
> > > > >> > > (Alex
> > > > >> > > > >>> and
> > > > >> > > > >>> > >> >> others) have,
> > > > >> > > > >>> > >> >>     > so
> > > > >> > > > >>> > >> >>     > >     maybe that last suggestion does not
> > make
> > > > >> sense.
> > > > >> > > > But I
> > > > >> > > > >>> > >> really
> > > > >> > > > >>> > >> >> think
> > > > >> > > > >>> > >> >>     > > that for
> > > > >> > > > >>> > >> >>     > >     whatever does make sense it would be
> > > great
> > > > >> to
> > > > >> > > > settle
> > > > >> > > > >>> on
> > > > >> > > > >>> > >> >> something and
> > > > >> > > > >>> > >> >>     > > get
> > > > >> > > > >>> > >> >>     > >     it consistent for all components
> > asap.
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM Alex
> > > Harui
> > > > >> > > > >>> > >> >> <aharui@adobe.com.invalid
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > > wrote:
> > > > >> > > > >>> > >> >>     > >
> > > > >> > > > >>> > >> >>     > >     > Hi Greg,
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > You are correct that there is a
> pain
> > > > point
> > > > >> > > around
> > > > >> > > > >>> > binding
> > > > >> > > > >>> > >> >> overhead
> > > > >> > > > >>> > >> >>     > > and
> > > > >> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG way
> > of
> > > > >> adding
> > > > >> > > the
> > > > >> > > > >>> > ability
> > > > >> > > > >>> > >> to
> > > > >> > > > >>> > >> >> add
> > > > >> > > > >>> > >> >>     > more
> > > > >> > > > >>> > >> >>     > >     > binding events via beads that
> > doesn't
> > > > have
> > > > >> > too
> > > > >> > > > much
> > > > >> > > > >>> > >> >> overhead for
> > > > >> > > > >>> > >> >>     > > folks not
> > > > >> > > > >>> > >> >>     > >     > interested in those extra events.
> > > > >> Actually,
> > > > >> > > > there
> > > > >> > > > >>> are
> > > > >> > > > >>> > >> some
> > > > >> > > > >>> > >> >> ways
> > > > >> > > > >>> > >> >>     > > that are
> > > > >> > > > >>> > >> >>     > >     > JS-only like replacing
> > > > prototype-methods,
> > > > >> > but I
> > > > >> > > > >>> don't
> > > > >> > > > >>> > >> think
> > > > >> > > > >>> > >> >> we
> > > > >> > > > >>> > >> >>     > > should rely
> > > > >> > > > >>> > >> >>     > >     > on mutable class definitions.   In
> > > many
> > > > >> cases
> > > > >> > > we
> > > > >> > > > >>> make
> > > > >> > > > >>> > >> >> trade-offs
> > > > >> > > > >>> > >> >>     > and
> > > > >> > > > >>> > >> >>     > > Basic
> > > > >> > > > >>> > >> >>     > >     > ends up being what we think almost
> > all
> > > > >> folks
> > > > >> > > > "must
> > > > >> > > > >>> > have".
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > When we first started out I was
> > hoping
> > > > to
> > > > >> > > reduce
> > > > >> > > > >>> > binding
> > > > >> > > > >>> > >> >> overhead
> > > > >> > > > >>> > >> >>     > > which is
> > > > >> > > > >>> > >> >>     > >     > why some of the beads look like
> they
> > > do,
> > > > >> but
> > > > >> > > > these
> > > > >> > > > >>> > days I
> > > > >> > > > >>> > >> >> think it
> > > > >> > > > >>> > >> >>     > > is more
> > > > >> > > > >>> > >> >>     > >     > important to separate interactive
> > > events
> > > > >> from
> > > > >> > > > >>> > >> binding/setup
> > > > >> > > > >>> > >> >> events.
> > > > >> > > > >>> > >> >>     > > Folks
> > > > >> > > > >>> > >> >>     > >     > who don't use a particular binding
> > > event
> > > > >> can
> > > > >> > > > always
> > > > >> > > > >>> > >> replace
> > > > >> > > > >>> > >> >> the
> > > > >> > > > >>> > >> >>     > > model and
> > > > >> > > > >>> > >> >>     > >     > top-level component with a version
> > > > without
> > > > >> > > events
> > > > >> > > > >>> they
> > > > >> > > > >>> > >> are
> > > > >> > > > >>> > >> >> not
> > > > >> > > > >>> > >> >>     > > interested
> > > > >> > > > >>> > >> >>     > >     > in, or in the JS output, run a
> > > > >> post-process
> > > > >> > to
> > > > >> > > > >>> cull out
> > > > >> > > > >>> > >> >> metadata.
> > > > >> > > > >>> > >> >>     > > But
> > > > >> > > > >>> > >> >>     > >     > under the "almost all folks"
> rule, I
> > > > think
> > > > >> > > > "almost
> > > > >> > > > >>> all
> > > > >> > > > >>> > >> >> folks" don't
> > > > >> > > > >>> > >> >>     > > want to
> > > > >> > > > >>> > >> >>     > >     > run interaction handling code at
> > setup
> > > > >> time.
> > > > >> > > > >>> > Especially
> > > > >> > > > >>> > >> if
> > > > >> > > > >>> > >> >> that
> > > > >> > > > >>> > >> >>     > > handling
> > > > >> > > > >>> > >> >>     > >     > code runs any sort of animation or
> > > does
> > > > >> any
> > > > >> > > other
> > > > >> > > > >>> heavy
> > > > >> > > > >>> > >> >> processing.
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > I could be wrong, but I'm pretty
> > sure
> > > > >> that if
> > > > >> > > you
> > > > >> > > > >>> just
> > > > >> > > > >>> > >> take
> > > > >> > > > >>> > >> >> a
> > > > >> > > > >>> > >> >>     > > <select>
> > > > >> > > > >>> > >> >>     > >     > element, you can set its initial
> > > > selection
> > > > >> > > value
> > > > >> > > > >>> > without
> > > > >> > > > >>> > >> it
> > > > >> > > > >>> > >> >>     > > dispatching an
> > > > >> > > > >>> > >> >>     > >     > event called "change".  Then when
> a
> > > user
> > > > >> > > selects
> > > > >> > > > an
> > > > >> > > > >>> > item
> > > > >> > > > >>> > >> >> you get a
> > > > >> > > > >>> > >> >>     > > "change"
> > > > >> > > > >>> > >> >>     > >     > event.  IMO, this is why "change"
> > > should
> > > > >> be
> > > > >> > an
> > > > >> > > > >>> > >> interactive
> > > > >> > > > >>> > >> >> event
> > > > >> > > > >>> > >> >>     > and
> > > > >> > > > >>> > >> >>     > > not a
> > > > >> > > > >>> > >> >>     > >     > binding event.
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > So these are the reasons I think
> we
> > > > should
> > > > >> > > adjust
> > > > >> > > > >>> the
> > > > >> > > > >>> > >> basic
> > > > >> > > > >>> > >> >> beads
> > > > >> > > > >>> > >> >>     > to
> > > > >> > > > >>> > >> >>     > >     > separate interactive events from
> > setup
> > > > >> events
> > > > >> > > and
> > > > >> > > > >>> why
> > > > >> > > > >>> > >> >> "change" is
> > > > >> > > > >>> > >> >>     > an
> > > > >> > > > >>> > >> >>     > >     > interactive event.
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > Now, we could renew the effort to
> > make
> > > > >> Basic
> > > > >> > > the
> > > > >> > > > >>> truly
> > > > >> > > > >>> > >> >> smallest
> > > > >> > > > >>> > >> >>     > >     > implementation and move some of
> this
> > > > >> logic to
> > > > >> > > > >>> Express,
> > > > >> > > > >>> > >> but
> > > > >> > > > >>> > >> >> I keep
> > > > >> > > > >>> > >> >>     > > seeing
> > > > >> > > > >>> > >> >>     > >     > code creep into Basic to handle
> > > > situations
> > > > >> > that
> > > > >> > > > >>> almost
> > > > >> > > > >>> > >> all
> > > > >> > > > >>> > >> >> folks
> > > > >> > > > >>> > >> >>     > > need.
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > TextInput, on the other hand, has
> > been
> > > > an
> > > > >> > > > >>> exception of
> > > > >> > > > >>> > >> >> sorts in
> > > > >> > > > >>> > >> >>     > > Flex.  The
> > > > >> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches
> > "change"
> > > on
> > > > >> > > certain
> > > > >> > > > >>> kinds
> > > > >> > > > >>> > of
> > > > >> > > > >>> > >> >> changes.
> > > > >> > > > >>> > >> >>     > > So
> > > > >> > > > >>> > >> >>     > >     > early implementations in Royale
> > tried
> > > to
> > > > >> > mimic
> > > > >> > > > that
> > > > >> > > > >>> > >> >> behavior for
> > > > >> > > > >>> > >> >>     > > folks
> > > > >> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we
> > should
> > > > >> change
> > > > >> > > > that
> > > > >> > > > >>> and
> > > > >> > > > >>> > >> make
> > > > >> > > > >>> > >> >> Basic
> > > > >> > > > >>> > >> >>     > > TextInput
> > > > >> > > > >>> > >> >>     > >     > more consistent with browser
> > behavior.
> > > > >> The
> > > > >> > > > >>> emulation
> > > > >> > > > >>> > >> >> components
> > > > >> > > > >>> > >> >>     > can
> > > > >> > > > >>> > >> >>     > > mimic
> > > > >> > > > >>> > >> >>     > >     > the old Flex behavior.  So I think
> > > using
> > > > >> > > > TextInput
> > > > >> > > > >>> as
> > > > >> > > > >>> > >> >> precedent is
> > > > >> > > > >>> > >> >>     > >     > misleading.
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > Thoughts?
> > > > >> > > > >>> > >> >>     > >     > -Alex
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg
> Dove" <
> > > > >> > > > >>> > greg.dove@gmail.com>
> > > > >> > > > >>> > >> >> wrote:
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     Alex, I was giving this some
> > more
> > > > >> thought
> > > > >> > > > >>> also. I
> > > > >> > > > >>> > >> >> understood
> > > > >> > > > >>> > >> >>     > > that you
> > > > >> > > > >>> > >> >>     > >     > meant
> > > > >> > > > >>> > >> >>     > >     >     to add extra events for
> binding
> > > from
> > > > >> your
> > > > >> > > > >>> previous
> > > > >> > > > >>> > >> >> comments.
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     But isn't the established
> > pattern
> > > to
> > > > >> add
> > > > >> > a
> > > > >> > > > >>> bead to
> > > > >> > > > >>> > >> >> listen for
> > > > >> > > > >>> > >> >>     > the
> > > > >> > > > >>> > >> >>     > >     >     selectionChange and redispatch
> > it
> > > as
> > > > >> > > change?
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     At least that seems to be the
> > case
> > > > >> > > elsewhere
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     If I look at the code in Basic
> > > > >> > TextInput...
> > > > >> > > > >>> > >> >>     > >     >     it dispatches 'textChange' and
> > > > >> 'change'
> > > > >> > but
> > > > >> > > > is
> > > > >> > > > >>> only
> > > > >> > > > >>> > >> >> Bindable
> > > > >> > > > >>> > >> >>     > via
> > > > >> > > > >>> > >> >>     > >     > 'change'.
> > > > >> > > > >>> > >> >>     > >     >     There is effort to keep them
> > > > >> > > > distinct/separate.
> > > > >> > > > >>> > >> >>     > >     >     (OT: It looks like the swf
> side
> > > > needs
> > > > >> > some
> > > > >> > > > >>> > >> consistency
> > > > >> > > > >>> > >> >> in the
> > > > >> > > > >>> > >> >>     > > html
> > > > >> > > > >>> > >> >>     > >     > setter
> > > > >> > > > >>> > >> >>     > >     >     same as the text setter.)
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     So TextInput appears to have 2
> > > > >> distinct
> > > > >> > > > events
> > > > >> > > > >>> but
> > > > >> > > > >>> > >> only
> > > > >> > > > >>> > >> >> be
> > > > >> > > > >>> > >> >>     > > Bindable
> > > > >> > > > >>> > >> >>     > >     > for one
> > > > >> > > > >>> > >> >>     > >     >     ('change'). So I presume that
> to
> > > > make
> > > > >> > that
> > > > >> > > > >>> support
> > > > >> > > > >>> > >> >> programmatic
> > > > >> > > > >>> > >> >>     > >     > changes it
> > > > >> > > > >>> > >> >>     > >     >     would be by adding a bead to
> > > listen
> > > > to
> > > > >> > the
> > > > >> > > > >>> > >> 'textChange'
> > > > >> > > > >>> > >> >> and
> > > > >> > > > >>> > >> >>     > > redispatch
> > > > >> > > > >>> > >> >>     > >     > as
> > > > >> > > > >>> > >> >>     > >     >     'change' ?
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     Adding extra Bindable events
> > adds
> > > > >> weight
> > > > >> > > > >>> because it
> > > > >> > > > >>> > >> >> affects
> > > > >> > > > >>> > >> >>     > > binding
> > > > >> > > > >>> > >> >>     > >     > data,
> > > > >> > > > >>> > >> >>     > >     >     and creates more runtime
> support
> > > for
> > > > >> the
> > > > >> > > same
> > > > >> > > > >>> > feature
> > > > >> > > > >>> > >> >> in use
> > > > >> > > > >>> > >> >>     > > cases
> > > > >> > > > >>> > >> >>     > >     > that may
> > > > >> > > > >>> > >> >>     > >     >     not need it. I don't see how
> > that
> > > > can
> > > > >> be
> > > > >> > > > >>> > 'PAYG-ised'
> > > > >> > > > >>> > >> >> because
> > > > >> > > > >>> > >> >>     > > binding
> > > > >> > > > >>> > >> >>     > >     >     support for different event
> > types
> > > is
> > > > >> > either
> > > > >> > > > >>> there
> > > > >> > > > >>> > at
> > > > >> > > > >>> > >> >> compile
> > > > >> > > > >>> > >> >>     > > time or
> > > > >> > > > >>> > >> >>     > >     > it is
> > > > >> > > > >>> > >> >>     > >     >     not in the component. So if
> the
> > > > above
> > > > >> is
> > > > >> > > true
> > > > >> > > > >>> for
> > > > >> > > > >>> > >> >> TextInput (at
> > > > >> > > > >>> > >> >>     > > this
> > > > >> > > > >>> > >> >>     > >     > stage
> > > > >> > > > >>> > >> >>     > >     >     it's a guess/observation, I
> did
> > > not
> > > > >> try
> > > > >> > > this
> > > > >> > > > >>> yet),
> > > > >> > > > >>> > >> then
> > > > >> > > > >>> > >> >> could
> > > > >> > > > >>> > >> >>     > it
> > > > >> > > > >>> > >> >>     > > not be
> > > > >> > > > >>> > >> >>     > >     >     similar for selection based
> > > > >> components?
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     To me 'change' seems like
> > > something
> > > > >> > generic
> > > > >> > > > and
> > > > >> > > > >>> > does
> > > > >> > > > >>> > >> >> not sound
> > > > >> > > > >>> > >> >>     > >     > specific to
> > > > >> > > > >>> > >> >>     > >     >     being user-initiated change.
> My
> > > > >> > > understanding
> > > > >> > > > >>> is
> > > > >> > > > >>> > that
> > > > >> > > > >>> > >> >> it just
> > > > >> > > > >>> > >> >>     > > happens
> > > > >> > > > >>> > >> >>     > >     > to be
> > > > >> > > > >>> > >> >>     > >     >     that way by default, unless
> you
> > > > >> configure
> > > > >> > > it
> > > > >> > > > to
> > > > >> > > > >>> > >> include
> > > > >> > > > >>> > >> >>     > > programmatic
> > > > >> > > > >>> > >> >>     > >     >     changes via bead.
> > > > >> > > > >>> > >> >>     > >     >     If it is like this for Basic
> > > > >> TextInput,
> > > > >> > why
> > > > >> > > > >>> can it
> > > > >> > > > >>> > >> not
> > > > >> > > > >>> > >> >> be the
> > > > >> > > > >>> > >> >>     > > same for
> > > > >> > > > >>> > >> >>     > >     >     other components ? (
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32
> AM
> > > Alex
> > > > >> > Harui
> > > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> > > > >> > > > >>> > >> >>     > >     > wrote:
> > > > >> > > > >>> > >> >>     > >     >
> > > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> > > > >> > > ArrayListSelection.
> > > > >> > > > >>> It
> > > > >> > > > >>> > >> could
> > > > >> > > > >>> > >> >> use some
> > > > >> > > > >>> > >> >>     > >     >     > improvements, such as only
> > > > >> dispatching
> > > > >> > a
> > > > >> > > > >>> single
> > > > >> > > > >>> > >> >>     > > selectionChange event
> > > > >> > > > >>> > >> >>     > >     >     > instead of both
> > > > selectedIndexChange
> > > > >> and
> > > > >> > > > >>> > >> >> selectedItemChange.
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     > Some controller should
> > dispatch
> > > > the
> > > > >> > > > "change"
> > > > >> > > > >>> > event,
> > > > >> > > > >>> > >> >> not the
> > > > >> > > > >>> > >> >>     > > model.
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> > List.as,
> > > (a
> > > > >> top
> > > > >> > > > level
> > > > >> > > > >>> > >> >> component).  It
> > > > >> > > > >>> > >> >>     > > should
> > > > >> > > > >>> > >> >>     > >     > have
> > > > >> > > > >>> > >> >>     > >     >     > bindable metadata that looks
> > > like
> > > > >> this:
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >         [Bindable("change")]
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >>  [Bindable("selectionChange")]
> > > > >> > > > >>> > >> >>     > >     >     >         public function get
> > > > >> > > > >>> selectedIndex():int
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     > Similar for selectedItem.
> The
> > > > >> [Event]
> > > > >> > > > >>> metadata
> > > > >> > > > >>> > for
> > > > >> > > > >>> > >> >> List is
> > > > >> > > > >>> > >> >>     > >     > correct,  It
> > > > >> > > > >>> > >> >>     > >     >     > should only list interactive
> > > > events
> > > > >> > like
> > > > >> > > > >>> "change"
> > > > >> > > > >>> > >> and
> > > > >> > > > >>> > >> >> not
> > > > >> > > > >>> > >> >>     > > bindable
> > > > >> > > > >>> > >> >>     > >     > events
> > > > >> > > > >>> > >> >>     > >     >     > like selectionChange.  This
> > > > usually
> > > > >> > > > improves
> > > > >> > > > >>> > >> >> performance by
> > > > >> > > > >>> > >> >>     > not
> > > > >> > > > >>> > >> >>     > >     > having the
> > > > >> > > > >>> > >> >>     > >     >     > UI react to setup.
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     > Once all of those changes
> are
> > > > made,
> > > > >> we
> > > > >> > > > should
> > > > >> > > > >>> > >> discuss
> > > > >> > > > >>> > >> >> any
> > > > >> > > > >>> > >> >>     > > remaining
> > > > >> > > > >>> > >> >>     > >     > issues.
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     > My 2 cents,
> > > > >> > > > >>> > >> >>     > >     >     > -Alex
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM,
> "Piotr
> > > > >> > Zarzycki" <
> > > > >> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
> > > > >> > > > >>> > >> >>     > >     >     > wrote:
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     Basic ArrayListSelection
> > > model
> > > > >> > > doesn't
> > > > >> > > > >>> > dispatch
> > > > >> > > > >>> > >> >> that
> > > > >> > > > >>> > >> >>     > > event. I
> > > > >> > > > >>> > >> >>     > >     > believe
> > > > >> > > > >>> > >> >>     > >     >     > we
> > > > >> > > > >>> > >> >>     > >     >     >     don't have to do this or
> > > > rather
> > > > >> do
> > > > >> > > this
> > > > >> > > > >>> only
> > > > >> > > > >>> > if
> > > > >> > > > >>> > >> >> we really
> > > > >> > > > >>> > >> >>     > > need
> > > > >> > > > >>> > >> >>     > >     > it, for
> > > > >> > > > >>> > >> >>     > >     >     >     example if someone make
> > > > >> programatic
> > > > >> > > > >>> change of
> > > > >> > > > >>> > >> >>     > > selectedIndex. -
> > > > >> > > > >>> > >> >>     > >     > This is
> > > > >> > > > >>> > >> >>     > >     >     >     general problem how to
> do
> > > > that ?
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     If I change
> selectedIndex
> > -
> > > my
> > > > >> > model
> > > > >> > > > >>> dispatch
> > > > >> > > > >>> > >> >>     > >     > selectedInexChanged -
> > > > >> > > > >>> > >> >>     > >     >     > where
> > > > >> > > > >>> > >> >>     > >     >     >     should I catch it and
> > > dispatch
> > > > >> > > "change"
> > > > >> > > > >>> > event ?
> > > > >> > > > >>> > >> >> My though
> > > > >> > > > >>> > >> >>     > > are
> > > > >> > > > >>> > >> >>     > >     > nowhere,
> > > > >> > > > >>> > >> >>     > >     >     >     unless someone wanted to
> > do
> > > > that
> > > > >> > and
> > > > >> > > > >>> have a
> > > > >> > > > >>> > >> bead.
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o
> 19:08
> > > Alex
> > > > >> > Harui
> > > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> > > > >> > > > >>> > >> >>     > >     >     > napisał(a):
> > > > >> > > > >>> > >> >>     > >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     > I may not be
> > understanding
> > > > >> your
> > > > >> > > > >>> problem.
> > > > >> > > > >>> > Not
> > > > >> > > > >>> > >> >> all
> > > > >> > > > >>> > >> >>     > models
> > > > >> > > > >>> > >> >>     > > will
> > > > >> > > > >>> > >> >>     > >     >     > dispatch a
> > > > >> > > > >>> > >> >>     > >     >     >     > change event, but it
> is
> > > hard
> > > > >> to
> > > > >> > > > >>> imagine a
> > > > >> > > > >>> > >> >> selection
> > > > >> > > > >>> > >> >>     > > model that
> > > > >> > > > >>> > >> >>     > >     >     > doesn't.
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     > -Alex
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM,
> > > "Piotr
> > > > >> > > > Zarzycki"
> > > > >> > > > >>> <
> > > > >> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
> > > > >> > > > >>> > >> >>     > >     >     > wrote:
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     I will review your
> > > email
> > > > >> > again
> > > > >> > > > and
> > > > >> > > > >>> see
> > > > >> > > > >>> > >> what
> > > > >> > > > >>> > >> >> can I
> > > > >> > > > >>> > >> >>     > do
> > > > >> > > > >>> > >> >>     > > this.
> > > > >> > > > >>> > >> >>     > >     >     > However
> > > > >> > > > >>> > >> >>     > >     >     >     > this one
> > > > >> > > > >>> > >> >>     > >     >     >     >     is a second
> problem.
> > > > First
> > > > >> > one
> > > > >> > > > was
> > > > >> > > > >>> > about
> > > > >> > > > >>> > >> >>     > programmatic
> > > > >> > > > >>> > >> >>     > >     > change
> > > > >> > > > >>> > >> >>     > >     >     > discover
> > > > >> > > > >>> > >> >>     > >     >     >     > - If
> > > > >> > > > >>> > >> >>     > >     >     >     >     you are talking
> > about
> > > > >> that -
> > > > >> > > Let
> > > > >> > > > me
> > > > >> > > > >>> > check
> > > > >> > > > >>> > >> >> your
> > > > >> > > > >>> > >> >>     > > earlier
> > > > >> > > > >>> > >> >>     > >     > emails.
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     Thanks,
> > > > >> > > > >>> > >> >>     > >     >     >     >     Piotr
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru 2018
> o
> > > > 18:30
> > > > >> > Alex
> > > > >> > > > >>> Harui
> > > > >> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
> > > > >> > > > >>> > >> >>     > >     >     >     > napisał(a):
> > > > >> > > > >>> > >> >>     > >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would
> much
> > > > >> rather
> > > > >> > see
> > > > >> > > > >>> energy
> > > > >> > > > >>> > >> >> spent on
> > > > >> > > > >>> > >> >>     > > trying to
> > > > >> > > > >>> > >> >>     > >     >     > implement the
> > > > >> > > > >>> > >> >>     > >     >     >     >     > patterns I
> > suggested
> > > > >> > earlier,
> > > > >> > > > >>> which
> > > > >> > > > >>> > >> will
> > > > >> > > > >>> > >> >>     > hopefully
> > > > >> > > > >>> > >> >>     > >     > eliminate
> > > > >> > > > >>> > >> >>     > >     >     > the
> > > > >> > > > >>> > >> >>     > >     >     >     > need for
> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > > DispatchChangeOnStartup.
> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
> > > > >> > > > >>> > >> >>     > >     >     >     >     > -Alex
> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18,
> 4:34
> > > AM,
> > > > >> > "Piotr
> > > > >> > > > >>> > Zarzycki"
> > > > >> > > > >>> > >> <
> > > > >> > > > >>> > >> >>     > >     >     > piotrzarzycki21@gmail.com>
> > > > >> > > > >>> > >> >>     > >     >     >     > wrote:
> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
> > > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > > >> > > > >>> > >> >>     > >     >     >
> >
>


-- 

Piotr Zarzycki

Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Re: How to discover programmatic change in Jewel List

Posted by Greg Dove <gr...@gmail.com>.
Hi Piotr, Carlos,

I expect to have time next week to spend on this and other tasks that I
have been hoping to get to for Royale, although I expect to focus on
AMFBinaryData first.

Piotr, correct me if I'm wrong, but I think the general approach we got to
was that :

-the model should dispatch individual 'selectionChanged',
'dataProviderChanged', etc directly from the host component for binding
support, and
-user initiated changes/interaction should dispatch 'change' event, which
can occur alongside a subset of 'selectionChanged' events, for example.




On Fri, Feb 8, 2019 at 12:58 AM Piotr Zarzycki <pi...@gmail.com>
wrote:

> Ok I will check.
>
> Thanks,
> Piotr
>
> On Thu, Feb 7, 2019, 12:40 PM Carlos Rovira <ca...@apache.org>
> wrote:
>
> > Hi Piotr,
> >
> > could you check in Tour De Jewel if removing that sentence makes some
> > regression in examples?
> > (I mean example with Lists and other deviated like ComboBox that use
> List)
> >
> > If you don't see anything I could try as well in our app and see if
> there's
> > some possible use case don't covered in TDJ and in that case maybe we can
> > see if that could be refactored some way
> >
> > thanks!
> >
> > Carlos
> >
> >
> >
> > El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (<
> > piotrzarzycki21@gmail.com>)
> > escribió:
> >
> > > Hi Greg,
> > >
> > > I'm progressing with some application and discovered that we are
> > > dispatching CHANGE event from here [1] - I'm wondering whether we
> really
> > > need it. Model is being update in that operation - I believe it should
> be
> > > enough.
> > >
> > > Just to make it clear there is no issue - I mean CHANGE event doesn't
> > fire
> > > two times etc. because of that. I didn't check whether it makes any
> > > difference.
> > >
> > > [1] https://bit.ly/2GeQ5En
> > >
> > > Thanks,
> > > Piotr
> > >
> > > pon., 24 gru 2018 o 11:51 Piotr Zarzycki <pi...@gmail.com>
> > > napisał(a):
> > >
> > > > Hi Carlos,
> > > >
> > > > You have less events flying around the head. :)
> > > >
> > > > Piotr
> > > >
> > > > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <
> carlosrovira@apache.org>
> > > > wrote:
> > > >
> > > >> Thanks Piotr and Greg,
> > > >>
> > > >> I'm catching up with all the thread. I'm testing and seems all is
> ok,
> > > >> Seems
> > > >> Jewel List, ComboBox, DropDownList are now much better and robust :)
> > > >> Great work! Thanks for working on this! :)
> > > >>
> > > >> Carlos
> > > >>
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
> > > >> piotrzarzycki21@gmail.com>)
> > > >> escribió:
> > > >>
> > > >> > Great! More tests the better. I will switch to your branch as well
> > > when
> > > >> you
> > > >> > make the changes.
> > > >> >
> > > >> > Many Thanks for help with that. Let's see what's more comes on the
> > > >> road. :)
> > > >> >
> > > >> > Best,
> > > >> > Piotr
> > > >> >
> > > >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <gr...@gmail.com>
> > wrote:
> > > >> >
> > > >> > > I already checked this against the app that we are working on,
> so
> > > feel
> > > >> > free
> > > >> > > to merge that in if it fixes the problem you were seeing, Piotr.
> > > >> > > For the more general changes with dispatching from strand and
> > > avoiding
> > > >> > > IEventDispatcher-ness , I can come back to that and try to do a
> > > >> refactor
> > > >> > > sweep through these changes as discussed with Alex, and the
> other
> > > >> > component
> > > >> > > sets in a couple of weeks. But I will do that in a refactor
> > branch.
> > > >> I'm
> > > >> > not
> > > >> > > using the other component sets at the moment, and although I
> know
> > > >> there
> > > >> > are
> > > >> > > example projects to check against, I think checking against a
> > > >> > 'real-world'
> > > >> > > app is also important. Maybe Harbs and any any others who
> perhaps
> > > may
> > > >> > have
> > > >> > > used Basic or Express etc in actual apps will be able to verify
> > > things
> > > >> > for
> > > >> > > those component sets in the refactor branch at the time, if they
> > > have
> > > >> > been
> > > >> > > using them. I will make a request for others to check things
> when
> > I
> > > do
> > > >> > > that.
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
> > > >> > piotrzarzycki21@gmail.com>
> > > >> > > wrote:
> > > >> > >
> > > >> > > > Greg,
> > > >> > > >
> > > >> > > > I have fixed issues with navigation in my application code.
> I'm
> > ok
> > > >> with
> > > >> > > > changes in that branch.
> > > >> > > >
> > > >> > > > Thanks for all changes!
> > > >> > > > Piotr
> > > >> > > >
> > > >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <
> > > piotrzarzycki21@gmail.com
> > > >> >
> > > >> > > > napisał(a):
> > > >> > > >
> > > >> > > > > Greg,
> > > >> > > > >
> > > >> > > > > In your app are you using navigation in that way?
> > > >> > > > > Maybe I need to call some prevent method somewhere.
> > > >> > > > >
> > > >> > > > > Thanks,
> > > >> > > > > Piotr
> > > >> > > > >
> > > >> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
> > > >> > > piotrzarzycki21@gmail.com>
> > > >> > > > > wrote:
> > > >> > > > >
> > > >> > > > >> Greg,
> > > >> > > > >>
> > > >> > > > >> Good news. I was able to build framework using ant and
> > produce
> > > >> IDE
> > > >> > > > >> artifacts. Tested your changes and looks good. However I
> see
> > > >> other
> > > >> > > > issue. I
> > > >> > > > >> have following code [1]. When I click on link in navigation
> > > (I'm
> > > >> > > > listening
> > > >> > > > >> on change event) - I'm trying to change view using
> > > >> > > > ApplicationMainContent -
> > > >> > > > >> it's navigates me to new website with new url instead
> > changing
> > > >> view.
> > > >> > > > >>
> > > >> > > > >> I need to investigate why it is happen. Apart of that I
> > believe
> > > >> we
> > > >> > are
> > > >> > > > ok
> > > >> > > > >> with that branch.
> > > >> > > > >>
> > > >> > > > >> [1] https://paste.apache.org/UzJI
> > > >> > > > >>
> > > >> > > > >> Thanks, Piotr
> > > >> > > > >>
> > > >> > > > >>
> > > >> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <gr...@gmail.com>
> > > >> > napisał(a):
> > > >> > > > >>
> > > >> > > > >>> Ok Piotr, I'm not sure what is happening there. It does
> seem
> > > >> > strange
> > > >> > > -
> > > >> > > > >>> shell.view.royale.Shell seems like a class and somehow has
> > org
> > > >> > > > >>> <http://shell.view.royale.shell.org/
> > > >> > > >.apache.royale.jewel.Application
> > > >> > > > >>> appended to it.
> > > >> > > > >>>
> > > >> > > > >>> I don't think that is related to anything I did (and it
> > works
> > > >> fine
> > > >> > > > >>> against
> > > >> > > > >>> the 'real-world' app I tested against - with maven build).
> > Can
> > > >> you
> > > >> > > > build
> > > >> > > > >>> Tour de Jewel  ok?
> > > >> > > > >>>
> > > >> > > > >>>
> > > >> > > > >>>
> > > >> > > > >>>
> > > >> > > > >>>
> > > >> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
> > > >> > > > >>> piotrzarzycki21@gmail.com>
> > > >> > > > >>> wrote:
> > > >> > > > >>>
> > > >> > > > >>> > Hi Greg,
> > > >> > > > >>> >
> > > >> > > > >>> > Thanks for your changes. Unfortunately I'm not able so
> far
> > > >> > properly
> > > >> > > > >>> build
> > > >> > > > >>> > my real world app using Maven. I build Jewel module by
> > > Maven,
> > > >> so
> > > >> > I
> > > >> > > > have
> > > >> > > > >>> > setup my app to be buildable with Maven. Unfortunately
> I'm
> > > >> > getting
> > > >> > > > >>> weird
> > > >> > > > >>> > exception during running app.
> > > >> > > > >>> >
> > > >> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot
> read
> > > >> > property
> > > >> > > > >>> > 'string' of undefined
> > > >> > > > >>> >     at
> > > >> > > > >>> >
> > > >> > > > >>> >
> > > >> > > > >>>
> > > >> > > >
> > > >> > >
> > > >> >
> > > >>
> > >
> >
> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
> > > >> > > > >>> > (SimpleCSSValuesImpl.js:102)
> > > >> > > > >>> >     at
> > > >> > > > >>> > shell.view.royale.Shell.org
> > > >> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
> > > >> > > > >>> > (Application.js:311)
> > > >> > > > >>> >     at shell.view.royale.Shell.org
> > > >> > .apache.royale.jewel.Application
> > > >> > > > [as
> > > >> > > > >>> > constructor] (Application.js:46)
> > > >> > > > >>> >     at Function.childCtor.base (base.js:2515)
> > > >> > > > >>> >
> > > >> > > > >>> > Above exception is not occurs when I'm building using
> > > >> Nightly. I
> > > >> > > > >>> probably
> > > >> > > > >>> > will have to build framework by ant and prepare IDE
> > > compatible
> > > >> > > > >>> environment
> > > >> > > > >>> > or will try to rebuild whole framework by Maven and try
> > > again.
> > > >> > > > >>> >
> > > >> > > > >>> > Thanks, Piotr
> > > >> > > > >>> >
> > > >> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
> > > >> > > piotrzarzycki21@gmail.com>
> > > >> > > > >>> > napisał(a):
> > > >> > > > >>> >
> > > >> > > > >>> > > Hi Greg,
> > > >> > > > >>> > >
> > > >> > > > >>> > > Great news, cause I was going to look into that
> > somewhere
> > > >> > between
> > > >> > > > >>> > > Christmas and New Year. I would be happy to test your
> > > >> changes!
> > > >> > Do
> > > >> > > > not
> > > >> > > > >>> > > hesitate push it!
> > > >> > > > >>> > >
> > > >> > > > >>> > > Thank you so much!
> > > >> > > > >>> > > Piotr
> > > >> > > > >>> > >
> > > >> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <
> > greg.dove@gmail.com>
> > > >> > > > >>> napisał(a):
> > > >> > > > >>> > >
> > > >> > > > >>> > >> Piotr, Alex,
> > > >> > > > >>> > >>
> > > >> > > > >>> > >> fyi I found some time to spend on this today, and
> > Piotr,
> > > I
> > > >> > > should
> > > >> > > > be
> > > >> > > > >>> > ready
> > > >> > > > >>> > >> to push the changes I made to your branch tomorrow
> > > morning
> > > >> my
> > > >> > > time
> > > >> > > > >>> > (local
> > > >> > > > >>> > >> time - GMT+13).
> > > >> > > > >>> > >> It seems to be fine so far with 'selectionChange' for
> > > >> binding
> > > >> > > > based
> > > >> > > > >>> on
> > > >> > > > >>> > >> model changes and 'change' for class event meta. I
> have
> > > >> been
> > > >> > > been
> > > >> > > > >>> > testing
> > > >> > > > >>> > >> so far against Tour de Jewel, but I will test against
> > our
> > > >> > > > real-world
> > > >> > > > >>> > >> project as well before I push to your branch Piotr.
> > > >> > > > >>> > >>
> > > >> > > > >>> > >> -Greg
> > > >> > > > >>> > >>
> > > >> > > > >>> > >>
> > > >> > > > >>> > >>
> > > >> > > > >>> > >>
> > > >> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
> > > >> > greg.dove@gmail.com>
> > > >> > > > >>> wrote:
> > > >> > > > >>> > >>
> > > >> > > > >>> > >> > Alex, I can't remember offhand, but I think we used
> > > that
> > > >> > once
> > > >> > > in
> > > >> > > > >>> only
> > > >> > > > >>> > >> one
> > > >> > > > >>> > >> > place, and I did it really quickly. I am sure there
> > > will
> > > >> be
> > > >> > a
> > > >> > > > way
> > > >> > > > >>> to
> > > >> > > > >>> > >> avoid
> > > >> > > > >>> > >> > it.
> > > >> > > > >>> > >> > I think the bigger issue is the way I did the
> changes
> > > to
> > > >> the
> > > >> > > > >>> model to
> > > >> > > > >>> > >> > support dispatching change events for programmatic
> > > >> changes,
> > > >> > > > which
> > > >> > > > >>> I
> > > >> > > > >>> > >> think
> > > >> > > > >>> > >> > Piotr was looking at.
> > > >> > > > >>> > >> > Maybe I can take a look at that later today, but I
> > > can't
> > > >> be
> > > >> > > > >>> certain.
> > > >> > > > >>> > >> > The simplest fix might be to revert everything I
> did
> > > and
> > > >> add
> > > >> > > > >>> binding
> > > >> > > > >>> > for
> > > >> > > > >>> > >> > the selection changes (currently
> > 'selectedIndexChanged'
> > > >> and
> > > >> > > > >>> > >> > 'selectedItemChanged' which I know you say could be
> > > >> > > > >>> > 'selectionChanged')
> > > >> > > > >>> > >> in
> > > >> > > > >>> > >> > addition to 'change' (as discussed) and make sure
> the
> > > >> > > component
> > > >> > > > is
> > > >> > > > >>> > >> > dispatching those from the model (if it does not
> > > already
> > > >> do
> > > >> > > so).
> > > >> > > > >>> If
> > > >> > > > >>> > >> > 'selectionChanged' (or whatever it is) is already
> > > >> happening
> > > >> > > as a
> > > >> > > > >>> > result
> > > >> > > > >>> > >> of
> > > >> > > > >>> > >> > 'change' in addition to setter triggered changes,
> > then
> > > it
> > > >> > > could
> > > >> > > > >>> be a
> > > >> > > > >>> > >> simple
> > > >> > > > >>> > >> > swap for the binding event only (as discussed also)
> > > >> > > > >>> > >> >
> > > >> > > > >>> > >> > But this last part was also applicable to the
> > wholesale
> > > >> > change
> > > >> > > > to
> > > >> > > > >>> all
> > > >> > > > >>> > >> > component sets we were discussing, not just Jewel.
> > > >> > > > >>> > >> >
> > > >> > > > >>> > >> >
> > > >> > > > >>> > >> >
> > > >> > > > >>> > >> >
> > > >> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
> > > >> > > > >>> <ah...@adobe.com.invalid>
> > > >> > > > >>> > >> > wrote:
> > > >> > > > >>> > >> >
> > > >> > > > >>> > >> >> Greg, Carlos,
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >> Can one of you put together a simple test case
> that
> > > >> > > > demonstrates
> > > >> > > > >>> your
> > > >> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't need
> > > server
> > > >> > > access.
> > > >> > > > >>> You
> > > >> > > > >>> > >> can
> > > >> > > > >>> > >> >> probably inject a dataProvider on
> > applicationComplete
> > > or
> > > >> > have
> > > >> > > > the
> > > >> > > > >>> > user
> > > >> > > > >>> > >> push
> > > >> > > > >>> > >> >> a button if the issue is about deferred arrival of
> > > >> server
> > > >> > > data.
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >> IMO, we have to be more concerned about getting
> the
> > > >> > patterns
> > > >> > > > >>> right
> > > >> > > > >>> > >> >> regressions, and the best way to avoid getting
> > > >> regressions
> > > >> > is
> > > >> > > > to
> > > >> > > > >>> > >> provide a
> > > >> > > > >>> > >> >> simple test case that demonstrates a problem in
> the
> > > >> > patterns.
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to be
> > > >> required
> > > >> > and
> > > >> > > > >>> won't
> > > >> > > > >>> > be
> > > >> > > > >>> > >> >> part of the framework.  The usability of the
> > framework
> > > >> will
> > > >> > > go
> > > >> > > > >>> down
> > > >> > > > >>> > if
> > > >> > > > >>> > >> >> folks have to keep adding more and more "OnThis"
> and
> > > >> > "OnThat"
> > > >> > > > >>> beads
> > > >> > > > >>> > to
> > > >> > > > >>> > >> get
> > > >> > > > >>> > >> >> their app to work.  The approachability of the
> > > >> framework in
> > > >> > > > >>> terms of
> > > >> > > > >>> > >> >> documentation and number of classes won't scale
> > either
> > > >> if
> > > >> > we
> > > >> > > > >>> don't
> > > >> > > > >>> > get
> > > >> > > > >>> > >> >> these patterns right.  This doesn't mean that you
> > > can't
> > > >> use
> > > >> > > an
> > > >> > > > >>> > >> "onStartup"
> > > >> > > > >>> > >> >> bead in your app in order to meet some deadline,
> and
> > > >> share
> > > >> > it
> > > >> > > > >>> with
> > > >> > > > >>> > >> others,
> > > >> > > > >>> > >> >> but we have to be careful about what patterns we
> > > >> promote in
> > > >> > > the
> > > >> > > > >>> SDK.
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >> My 2 cents,
> > > >> > > > >>> > >> >> -Alex
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
> > > >> greg.dove@gmail.com>
> > > >> > > > wrote:
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>     Hi Piotr,
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>     I would be happy to work on it, and wish I
> > could,
> > > >> but
> > > >> > the
> > > >> > > > >>> problem
> > > >> > > > >>> > >> for
> > > >> > > > >>> > >> >> me at
> > > >> > > > >>> > >> >>     the moment is that I can't make it a priority,
> > > >> because
> > > >> > > for
> > > >> > > > >>> now at
> > > >> > > > >>> > >> >> least it
> > > >> > > > >>> > >> >>     is functioning as we need it, and there are
> > plenty
> > > >> of
> > > >> > > > things
> > > >> > > > >>> that
> > > >> > > > >>> > >> are
> > > >> > > > >>> > >> >> not
> > > >> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
> > > >> implementation
> > > >> > as
> > > >> > > it
> > > >> > > > >>> > stands
> > > >> > > > >>> > >> >> might
> > > >> > > > >>> > >> >>     not be 'right', it does function as we need it
> > to
> > > >> for
> > > >> > > now.
> > > >> > > > I
> > > >> > > > >>> > >> suspect
> > > >> > > > >>> > >> >> that
> > > >> > > > >>> > >> >>     is what Carlos meant when he said he was
> > concerned
> > > >> > about
> > > >> > > > >>> > >> regressions.
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>     I have other stuff queued up to add in other
> > areas
> > > >> too,
> > > >> > > > like
> > > >> > > > >>> > >> >> AMFBinaryData
> > > >> > > > >>> > >> >>     and AMFNetConnection but will need to do more
> > work
> > > >> to
> > > >> > > > >>> generalize
> > > >> > > > >>> > >> it,
> > > >> > > > >>> > >> >> as I
> > > >> > > > >>> > >> >>     have it these working in a way that is almost
> > > >> complete,
> > > >> > > but
> > > >> > > > >>> > mostly
> > > >> > > > >>> > >> >> focused
> > > >> > > > >>> > >> >>     on what is sufficient for what Carlos needs
> for
> > > now.
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>     I hope to get some free time in early January
> to
> > > >> finish
> > > >> > > up
> > > >> > > > >>> these
> > > >> > > > >>> > >> >> things.
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr
> Zarzycki
> > <
> > > >> > > > >>> > >> >> piotrzarzycki21@gmail.com>
> > > >> > > > >>> > >> >>     wrote:
> > > >> > > > >>> > >> >>
> > > >> > > > >>> > >> >>     > Hi Guys,
> > > >> > > > >>> > >> >>     >
> > > >> > > > >>> > >> >>     > I definitely need to a way of resolve that
> > > >> problem. I
> > > >> > > > will
> > > >> > > > >>> > review
> > > >> > > > >>> > >> >> emails
> > > >> > > > >>> > >> >>     > tomorrow.
> > > >> > > > >>> > >> >>     >
> > > >> > > > >>> > >> >>     > However if you Greg would like to try
> > something
> > > go
> > > >> > for
> > > >> > > > it.
> > > >> > > > >>> > Would
> > > >> > > > >>> > >> be
> > > >> > > > >>> > >> >> great
> > > >> > > > >>> > >> >>     > if you could use my branch where changes
> which
> > > >> > removes
> > > >> > > > >>> > >> dispatching
> > > >> > > > >>> > >> >> "change"
> > > >> > > > >>> > >> >>     > event from model are in place.
> > > >> > > > >>> > >> >>     >
> > > >> > > > >>> > >> >>     > Thanks, Piotr
> > > >> > > > >>> > >> >>     >
> > > >> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
> > > >> > > > >>> <aharui@adobe.com.invalid
> > > >> > > > >>> > >
> > > >> > > > >>> > >> >>     > napisał(a):
> > > >> > > > >>> > >> >>     >
> > > >> > > > >>> > >> >>     > > Hi Greg,
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > > I haven't looked at how pervasive this
> > change
> > > >> would
> > > >> > > be.
> > > >> > > > >>> I'm
> > > >> > > > >>> > >> >> mainly
> > > >> > > > >>> > >> >>     > saying
> > > >> > > > >>> > >> >>     > > that Flex worked with these categories of
> > > events
> > > >> > and
> > > >> > > I
> > > >> > > > >>> think
> > > >> > > > >>> > >> >> Royale can
> > > >> > > > >>> > >> >>     > too
> > > >> > > > >>> > >> >>     > > and would eliminate the need for
> > > >> > > > DispatchChangeOnStartup
> > > >> > > > >>> and
> > > >> > > > >>> > >> >> things like
> > > >> > > > >>> > >> >>     > > that.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > > You could be right that the models only
> need
> > > to
> > > >> > > > dispatch
> > > >> > > > >>> > >> >> selectionChange
> > > >> > > > >>> > >> >>     > > and not "change", as long as the
> controllers
> > > are
> > > >> > > > >>> guaranteed
> > > >> > > > >>> > to
> > > >> > > > >>> > >> >> update the
> > > >> > > > >>> > >> >>     > > model in a way that fires selectionChange.
> > I
> > > >> have
> > > >> > > this
> > > >> > > > >>> > feeling
> > > >> > > > >>> > >> >> that in
> > > >> > > > >>> > >> >>     > > Flex there were some backdoors for
> updating
> > > >> > > properties
> > > >> > > > >>> > without
> > > >> > > > >>> > >> >>     > dispatching
> > > >> > > > >>> > >> >>     > > events and dispatching the event "later",
> > but
> > > I
> > > >> > don't
> > > >> > > > >>> think
> > > >> > > > >>> > >> we've
> > > >> > > > >>> > >> >> had to
> > > >> > > > >>> > >> >>     > > write such code in Royale and maybe we
> won't
> > > >> have
> > > >> > to
> > > >> > > or
> > > >> > > > >>> can't
> > > >> > > > >>> > >> >> because the
> > > >> > > > >>> > >> >>     > > browser will update right away in many
> > cases.
> > > >> > There
> > > >> > > > were
> > > >> > > > >>> > >> >> somethings you
> > > >> > > > >>> > >> >>     > > could do in Flash knowing that all
> rendering
> > > was
> > > >> > > > >>> deferred to
> > > >> > > > >>> > >> frame
> > > >> > > > >>> > >> >>     > > updates.  In Royale, with separate models,
> > the
> > > >> > > > controller
> > > >> > > > >>> > code
> > > >> > > > >>> > >> >> can't just
> > > >> > > > >>> > >> >>     > > set the backing variable.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > > So, if you want to give it a try having
> only
> > > >> > > > >>> selectionChange
> > > >> > > > >>> > as
> > > >> > > > >>> > >> >> the
> > > >> > > > >>> > >> >>     > > bindable event, go for it.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > > -Alex
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
> > > >> > > > greg.dove@gmail.com>
> > > >> > > > >>> > >> wrote:
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     Thanks Alex.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     I only looked in Basic TextInput
> > because I
> > > >> was
> > > >> > > > >>> looking
> > > >> > > > >>> > for
> > > >> > > > >>> > >> a
> > > >> > > > >>> > >> >> simpler
> > > >> > > > >>> > >> >>     > >     example of the general case being
> > > discussed.
> > > >> > That
> > > >> > > > >>> code
> > > >> > > > >>> > >> looks
> > > >> > > > >>> > >> >> like it
> > > >> > > > >>> > >> >>     > > might
> > > >> > > > >>> > >> >>     > >     need some work on the swf side in any
> > > case.
> > > >> > > > >>> > >> >>     > >     I was just looking for the
> > > >> 'programmaticChange'
> > > >> > > vs
> > > >> > > > >>> > >> >>     > > 'userInitiatedChange'
> > > >> > > > >>> > >> >>     > >     differences.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     Based on a quick look at the other
> Basic
> > > >> > classes,
> > > >> > > > the
> > > >> > > > >>> > >> >> conclusions
> > > >> > > > >>> > >> >>     > > appear
> > > >> > > > >>> > >> >>     > >     similar.  They are bindable via
> 'change'
> > > >> only.
> > > >> > > > >>> > >> >>     > >     And the models all dispatch both
> > > >> > > > >>> selectedIndexChanged and
> > > >> > > > >>> > >> >>     > >     selectedItemChanged.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     So it seems like you are proposing
> broad
> > > >> > changes
> > > >> > > > for
> > > >> > > > >>> > >> >> everything, if
> > > >> > > > >>> > >> >>     > > they
> > > >> > > > >>> > >> >>     > >     are to also support binding changes
> for
> > > >> > > > programmatic
> > > >> > > > >>> > >> changes?
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     For me, the change in something (or
> > > nothing)
> > > >> > > being
> > > >> > > > >>> > >> 'selected'
> > > >> > > > >>> > >> >>     > logically
> > > >> > > > >>> > >> >>     > >     occurs as a result of either user
> change
> > > or
> > > >> > > > >>> programmatic
> > > >> > > > >>> > >> >> change. On
> > > >> > > > >>> > >> >>     > > that
> > > >> > > > >>> > >> >>     > >     basis would it be possible to have the
> > > >> > > > >>> selectionChange as
> > > >> > > > >>> > >> the
> > > >> > > > >>> > >> >> sole
> > > >> > > > >>> > >> >>     > > Binding
> > > >> > > > >>> > >> >>     > >     event (which occurs from setter
> induced
> > > >> change
> > > >> > > and
> > > >> > > > >>> from
> > > >> > > > >>> > >> user
> > > >> > > > >>> > >> >> induced
> > > >> > > > >>> > >> >>     > >     change) and the 'change' event as
> > > >> > > user-interaction
> > > >> > > > >>> only
> > > >> > > > >>> > as
> > > >> > > > >>> > >> >> the class
> > > >> > > > >>> > >> >>     > > level
> > > >> > > > >>> > >> >>     > >     event type (as it is now)?
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     I have not thought about this as much
> as
> > > you
> > > >> > > (Alex
> > > >> > > > >>> and
> > > >> > > > >>> > >> >> others) have,
> > > >> > > > >>> > >> >>     > so
> > > >> > > > >>> > >> >>     > >     maybe that last suggestion does not
> make
> > > >> sense.
> > > >> > > > But I
> > > >> > > > >>> > >> really
> > > >> > > > >>> > >> >> think
> > > >> > > > >>> > >> >>     > > that for
> > > >> > > > >>> > >> >>     > >     whatever does make sense it would be
> > great
> > > >> to
> > > >> > > > settle
> > > >> > > > >>> on
> > > >> > > > >>> > >> >> something and
> > > >> > > > >>> > >> >>     > > get
> > > >> > > > >>> > >> >>     > >     it consistent for all components
> asap.
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM Alex
> > Harui
> > > >> > > > >>> > >> >> <aharui@adobe.com.invalid
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > > wrote:
> > > >> > > > >>> > >> >>     > >
> > > >> > > > >>> > >> >>     > >     > Hi Greg,
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > You are correct that there is a pain
> > > point
> > > >> > > around
> > > >> > > > >>> > binding
> > > >> > > > >>> > >> >> overhead
> > > >> > > > >>> > >> >>     > > and
> > > >> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG way
> of
> > > >> adding
> > > >> > > the
> > > >> > > > >>> > ability
> > > >> > > > >>> > >> to
> > > >> > > > >>> > >> >> add
> > > >> > > > >>> > >> >>     > more
> > > >> > > > >>> > >> >>     > >     > binding events via beads that
> doesn't
> > > have
> > > >> > too
> > > >> > > > much
> > > >> > > > >>> > >> >> overhead for
> > > >> > > > >>> > >> >>     > > folks not
> > > >> > > > >>> > >> >>     > >     > interested in those extra events.
> > > >> Actually,
> > > >> > > > there
> > > >> > > > >>> are
> > > >> > > > >>> > >> some
> > > >> > > > >>> > >> >> ways
> > > >> > > > >>> > >> >>     > > that are
> > > >> > > > >>> > >> >>     > >     > JS-only like replacing
> > > prototype-methods,
> > > >> > but I
> > > >> > > > >>> don't
> > > >> > > > >>> > >> think
> > > >> > > > >>> > >> >> we
> > > >> > > > >>> > >> >>     > > should rely
> > > >> > > > >>> > >> >>     > >     > on mutable class definitions.   In
> > many
> > > >> cases
> > > >> > > we
> > > >> > > > >>> make
> > > >> > > > >>> > >> >> trade-offs
> > > >> > > > >>> > >> >>     > and
> > > >> > > > >>> > >> >>     > > Basic
> > > >> > > > >>> > >> >>     > >     > ends up being what we think almost
> all
> > > >> folks
> > > >> > > > "must
> > > >> > > > >>> > have".
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > When we first started out I was
> hoping
> > > to
> > > >> > > reduce
> > > >> > > > >>> > binding
> > > >> > > > >>> > >> >> overhead
> > > >> > > > >>> > >> >>     > > which is
> > > >> > > > >>> > >> >>     > >     > why some of the beads look like they
> > do,
> > > >> but
> > > >> > > > these
> > > >> > > > >>> > days I
> > > >> > > > >>> > >> >> think it
> > > >> > > > >>> > >> >>     > > is more
> > > >> > > > >>> > >> >>     > >     > important to separate interactive
> > events
> > > >> from
> > > >> > > > >>> > >> binding/setup
> > > >> > > > >>> > >> >> events.
> > > >> > > > >>> > >> >>     > > Folks
> > > >> > > > >>> > >> >>     > >     > who don't use a particular binding
> > event
> > > >> can
> > > >> > > > always
> > > >> > > > >>> > >> replace
> > > >> > > > >>> > >> >> the
> > > >> > > > >>> > >> >>     > > model and
> > > >> > > > >>> > >> >>     > >     > top-level component with a version
> > > without
> > > >> > > events
> > > >> > > > >>> they
> > > >> > > > >>> > >> are
> > > >> > > > >>> > >> >> not
> > > >> > > > >>> > >> >>     > > interested
> > > >> > > > >>> > >> >>     > >     > in, or in the JS output, run a
> > > >> post-process
> > > >> > to
> > > >> > > > >>> cull out
> > > >> > > > >>> > >> >> metadata.
> > > >> > > > >>> > >> >>     > > But
> > > >> > > > >>> > >> >>     > >     > under the "almost all folks" rule, I
> > > think
> > > >> > > > "almost
> > > >> > > > >>> all
> > > >> > > > >>> > >> >> folks" don't
> > > >> > > > >>> > >> >>     > > want to
> > > >> > > > >>> > >> >>     > >     > run interaction handling code at
> setup
> > > >> time.
> > > >> > > > >>> > Especially
> > > >> > > > >>> > >> if
> > > >> > > > >>> > >> >> that
> > > >> > > > >>> > >> >>     > > handling
> > > >> > > > >>> > >> >>     > >     > code runs any sort of animation or
> > does
> > > >> any
> > > >> > > other
> > > >> > > > >>> heavy
> > > >> > > > >>> > >> >> processing.
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > I could be wrong, but I'm pretty
> sure
> > > >> that if
> > > >> > > you
> > > >> > > > >>> just
> > > >> > > > >>> > >> take
> > > >> > > > >>> > >> >> a
> > > >> > > > >>> > >> >>     > > <select>
> > > >> > > > >>> > >> >>     > >     > element, you can set its initial
> > > selection
> > > >> > > value
> > > >> > > > >>> > without
> > > >> > > > >>> > >> it
> > > >> > > > >>> > >> >>     > > dispatching an
> > > >> > > > >>> > >> >>     > >     > event called "change".  Then when a
> > user
> > > >> > > selects
> > > >> > > > an
> > > >> > > > >>> > item
> > > >> > > > >>> > >> >> you get a
> > > >> > > > >>> > >> >>     > > "change"
> > > >> > > > >>> > >> >>     > >     > event.  IMO, this is why "change"
> > should
> > > >> be
> > > >> > an
> > > >> > > > >>> > >> interactive
> > > >> > > > >>> > >> >> event
> > > >> > > > >>> > >> >>     > and
> > > >> > > > >>> > >> >>     > > not a
> > > >> > > > >>> > >> >>     > >     > binding event.
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > So these are the reasons I think we
> > > should
> > > >> > > adjust
> > > >> > > > >>> the
> > > >> > > > >>> > >> basic
> > > >> > > > >>> > >> >> beads
> > > >> > > > >>> > >> >>     > to
> > > >> > > > >>> > >> >>     > >     > separate interactive events from
> setup
> > > >> events
> > > >> > > and
> > > >> > > > >>> why
> > > >> > > > >>> > >> >> "change" is
> > > >> > > > >>> > >> >>     > an
> > > >> > > > >>> > >> >>     > >     > interactive event.
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > Now, we could renew the effort to
> make
> > > >> Basic
> > > >> > > the
> > > >> > > > >>> truly
> > > >> > > > >>> > >> >> smallest
> > > >> > > > >>> > >> >>     > >     > implementation and move some of this
> > > >> logic to
> > > >> > > > >>> Express,
> > > >> > > > >>> > >> but
> > > >> > > > >>> > >> >> I keep
> > > >> > > > >>> > >> >>     > > seeing
> > > >> > > > >>> > >> >>     > >     > code creep into Basic to handle
> > > situations
> > > >> > that
> > > >> > > > >>> almost
> > > >> > > > >>> > >> all
> > > >> > > > >>> > >> >> folks
> > > >> > > > >>> > >> >>     > > need.
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > TextInput, on the other hand, has
> been
> > > an
> > > >> > > > >>> exception of
> > > >> > > > >>> > >> >> sorts in
> > > >> > > > >>> > >> >>     > > Flex.  The
> > > >> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches
> "change"
> > on
> > > >> > > certain
> > > >> > > > >>> kinds
> > > >> > > > >>> > of
> > > >> > > > >>> > >> >> changes.
> > > >> > > > >>> > >> >>     > > So
> > > >> > > > >>> > >> >>     > >     > early implementations in Royale
> tried
> > to
> > > >> > mimic
> > > >> > > > that
> > > >> > > > >>> > >> >> behavior for
> > > >> > > > >>> > >> >>     > > folks
> > > >> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we
> should
> > > >> change
> > > >> > > > that
> > > >> > > > >>> and
> > > >> > > > >>> > >> make
> > > >> > > > >>> > >> >> Basic
> > > >> > > > >>> > >> >>     > > TextInput
> > > >> > > > >>> > >> >>     > >     > more consistent with browser
> behavior.
> > > >> The
> > > >> > > > >>> emulation
> > > >> > > > >>> > >> >> components
> > > >> > > > >>> > >> >>     > can
> > > >> > > > >>> > >> >>     > > mimic
> > > >> > > > >>> > >> >>     > >     > the old Flex behavior.  So I think
> > using
> > > >> > > > TextInput
> > > >> > > > >>> as
> > > >> > > > >>> > >> >> precedent is
> > > >> > > > >>> > >> >>     > >     > misleading.
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > Thoughts?
> > > >> > > > >>> > >> >>     > >     > -Alex
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg Dove" <
> > > >> > > > >>> > greg.dove@gmail.com>
> > > >> > > > >>> > >> >> wrote:
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     Alex, I was giving this some
> more
> > > >> thought
> > > >> > > > >>> also. I
> > > >> > > > >>> > >> >> understood
> > > >> > > > >>> > >> >>     > > that you
> > > >> > > > >>> > >> >>     > >     > meant
> > > >> > > > >>> > >> >>     > >     >     to add extra events for binding
> > from
> > > >> your
> > > >> > > > >>> previous
> > > >> > > > >>> > >> >> comments.
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     But isn't the established
> pattern
> > to
> > > >> add
> > > >> > a
> > > >> > > > >>> bead to
> > > >> > > > >>> > >> >> listen for
> > > >> > > > >>> > >> >>     > the
> > > >> > > > >>> > >> >>     > >     >     selectionChange and redispatch
> it
> > as
> > > >> > > change?
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     At least that seems to be the
> case
> > > >> > > elsewhere
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     If I look at the code in Basic
> > > >> > TextInput...
> > > >> > > > >>> > >> >>     > >     >     it dispatches 'textChange' and
> > > >> 'change'
> > > >> > but
> > > >> > > > is
> > > >> > > > >>> only
> > > >> > > > >>> > >> >> Bindable
> > > >> > > > >>> > >> >>     > via
> > > >> > > > >>> > >> >>     > >     > 'change'.
> > > >> > > > >>> > >> >>     > >     >     There is effort to keep them
> > > >> > > > distinct/separate.
> > > >> > > > >>> > >> >>     > >     >     (OT: It looks like the swf side
> > > needs
> > > >> > some
> > > >> > > > >>> > >> consistency
> > > >> > > > >>> > >> >> in the
> > > >> > > > >>> > >> >>     > > html
> > > >> > > > >>> > >> >>     > >     > setter
> > > >> > > > >>> > >> >>     > >     >     same as the text setter.)
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     So TextInput appears to have 2
> > > >> distinct
> > > >> > > > events
> > > >> > > > >>> but
> > > >> > > > >>> > >> only
> > > >> > > > >>> > >> >> be
> > > >> > > > >>> > >> >>     > > Bindable
> > > >> > > > >>> > >> >>     > >     > for one
> > > >> > > > >>> > >> >>     > >     >     ('change'). So I presume that to
> > > make
> > > >> > that
> > > >> > > > >>> support
> > > >> > > > >>> > >> >> programmatic
> > > >> > > > >>> > >> >>     > >     > changes it
> > > >> > > > >>> > >> >>     > >     >     would be by adding a bead to
> > listen
> > > to
> > > >> > the
> > > >> > > > >>> > >> 'textChange'
> > > >> > > > >>> > >> >> and
> > > >> > > > >>> > >> >>     > > redispatch
> > > >> > > > >>> > >> >>     > >     > as
> > > >> > > > >>> > >> >>     > >     >     'change' ?
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     Adding extra Bindable events
> adds
> > > >> weight
> > > >> > > > >>> because it
> > > >> > > > >>> > >> >> affects
> > > >> > > > >>> > >> >>     > > binding
> > > >> > > > >>> > >> >>     > >     > data,
> > > >> > > > >>> > >> >>     > >     >     and creates more runtime support
> > for
> > > >> the
> > > >> > > same
> > > >> > > > >>> > feature
> > > >> > > > >>> > >> >> in use
> > > >> > > > >>> > >> >>     > > cases
> > > >> > > > >>> > >> >>     > >     > that may
> > > >> > > > >>> > >> >>     > >     >     not need it. I don't see how
> that
> > > can
> > > >> be
> > > >> > > > >>> > 'PAYG-ised'
> > > >> > > > >>> > >> >> because
> > > >> > > > >>> > >> >>     > > binding
> > > >> > > > >>> > >> >>     > >     >     support for different event
> types
> > is
> > > >> > either
> > > >> > > > >>> there
> > > >> > > > >>> > at
> > > >> > > > >>> > >> >> compile
> > > >> > > > >>> > >> >>     > > time or
> > > >> > > > >>> > >> >>     > >     > it is
> > > >> > > > >>> > >> >>     > >     >     not in the component. So if the
> > > above
> > > >> is
> > > >> > > true
> > > >> > > > >>> for
> > > >> > > > >>> > >> >> TextInput (at
> > > >> > > > >>> > >> >>     > > this
> > > >> > > > >>> > >> >>     > >     > stage
> > > >> > > > >>> > >> >>     > >     >     it's a guess/observation, I did
> > not
> > > >> try
> > > >> > > this
> > > >> > > > >>> yet),
> > > >> > > > >>> > >> then
> > > >> > > > >>> > >> >> could
> > > >> > > > >>> > >> >>     > it
> > > >> > > > >>> > >> >>     > > not be
> > > >> > > > >>> > >> >>     > >     >     similar for selection based
> > > >> components?
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     To me 'change' seems like
> > something
> > > >> > generic
> > > >> > > > and
> > > >> > > > >>> > does
> > > >> > > > >>> > >> >> not sound
> > > >> > > > >>> > >> >>     > >     > specific to
> > > >> > > > >>> > >> >>     > >     >     being user-initiated change. My
> > > >> > > understanding
> > > >> > > > >>> is
> > > >> > > > >>> > that
> > > >> > > > >>> > >> >> it just
> > > >> > > > >>> > >> >>     > > happens
> > > >> > > > >>> > >> >>     > >     > to be
> > > >> > > > >>> > >> >>     > >     >     that way by default, unless you
> > > >> configure
> > > >> > > it
> > > >> > > > to
> > > >> > > > >>> > >> include
> > > >> > > > >>> > >> >>     > > programmatic
> > > >> > > > >>> > >> >>     > >     >     changes via bead.
> > > >> > > > >>> > >> >>     > >     >     If it is like this for Basic
> > > >> TextInput,
> > > >> > why
> > > >> > > > >>> can it
> > > >> > > > >>> > >> not
> > > >> > > > >>> > >> >> be the
> > > >> > > > >>> > >> >>     > > same for
> > > >> > > > >>> > >> >>     > >     >     other components ? (
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32 AM
> > Alex
> > > >> > Harui
> > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> > > >> > > > >>> > >> >>     > >     > wrote:
> > > >> > > > >>> > >> >>     > >     >
> > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> > > >> > > ArrayListSelection.
> > > >> > > > >>> It
> > > >> > > > >>> > >> could
> > > >> > > > >>> > >> >> use some
> > > >> > > > >>> > >> >>     > >     >     > improvements, such as only
> > > >> dispatching
> > > >> > a
> > > >> > > > >>> single
> > > >> > > > >>> > >> >>     > > selectionChange event
> > > >> > > > >>> > >> >>     > >     >     > instead of both
> > > selectedIndexChange
> > > >> and
> > > >> > > > >>> > >> >> selectedItemChange.
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     > Some controller should
> dispatch
> > > the
> > > >> > > > "change"
> > > >> > > > >>> > event,
> > > >> > > > >>> > >> >> not the
> > > >> > > > >>> > >> >>     > > model.
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> List.as,
> > (a
> > > >> top
> > > >> > > > level
> > > >> > > > >>> > >> >> component).  It
> > > >> > > > >>> > >> >>     > > should
> > > >> > > > >>> > >> >>     > >     > have
> > > >> > > > >>> > >> >>     > >     >     > bindable metadata that looks
> > like
> > > >> this:
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     >         [Bindable("change")]
> > > >> > > > >>> > >> >>     > >     >     >
> > > >>  [Bindable("selectionChange")]
> > > >> > > > >>> > >> >>     > >     >     >         public function get
> > > >> > > > >>> selectedIndex():int
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     > Similar for selectedItem.  The
> > > >> [Event]
> > > >> > > > >>> metadata
> > > >> > > > >>> > for
> > > >> > > > >>> > >> >> List is
> > > >> > > > >>> > >> >>     > >     > correct,  It
> > > >> > > > >>> > >> >>     > >     >     > should only list interactive
> > > events
> > > >> > like
> > > >> > > > >>> "change"
> > > >> > > > >>> > >> and
> > > >> > > > >>> > >> >> not
> > > >> > > > >>> > >> >>     > > bindable
> > > >> > > > >>> > >> >>     > >     > events
> > > >> > > > >>> > >> >>     > >     >     > like selectionChange.  This
> > > usually
> > > >> > > > improves
> > > >> > > > >>> > >> >> performance by
> > > >> > > > >>> > >> >>     > not
> > > >> > > > >>> > >> >>     > >     > having the
> > > >> > > > >>> > >> >>     > >     >     > UI react to setup.
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     > Once all of those changes are
> > > made,
> > > >> we
> > > >> > > > should
> > > >> > > > >>> > >> discuss
> > > >> > > > >>> > >> >> any
> > > >> > > > >>> > >> >>     > > remaining
> > > >> > > > >>> > >> >>     > >     > issues.
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     > My 2 cents,
> > > >> > > > >>> > >> >>     > >     >     > -Alex
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM, "Piotr
> > > >> > Zarzycki" <
> > > >> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
> > > >> > > > >>> > >> >>     > >     >     > wrote:
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     Basic ArrayListSelection
> > model
> > > >> > > doesn't
> > > >> > > > >>> > dispatch
> > > >> > > > >>> > >> >> that
> > > >> > > > >>> > >> >>     > > event. I
> > > >> > > > >>> > >> >>     > >     > believe
> > > >> > > > >>> > >> >>     > >     >     > we
> > > >> > > > >>> > >> >>     > >     >     >     don't have to do this or
> > > rather
> > > >> do
> > > >> > > this
> > > >> > > > >>> only
> > > >> > > > >>> > if
> > > >> > > > >>> > >> >> we really
> > > >> > > > >>> > >> >>     > > need
> > > >> > > > >>> > >> >>     > >     > it, for
> > > >> > > > >>> > >> >>     > >     >     >     example if someone make
> > > >> programatic
> > > >> > > > >>> change of
> > > >> > > > >>> > >> >>     > > selectedIndex. -
> > > >> > > > >>> > >> >>     > >     > This is
> > > >> > > > >>> > >> >>     > >     >     >     general problem how to do
> > > that ?
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     If I change selectedIndex
> -
> > my
> > > >> > model
> > > >> > > > >>> dispatch
> > > >> > > > >>> > >> >>     > >     > selectedInexChanged -
> > > >> > > > >>> > >> >>     > >     >     > where
> > > >> > > > >>> > >> >>     > >     >     >     should I catch it and
> > dispatch
> > > >> > > "change"
> > > >> > > > >>> > event ?
> > > >> > > > >>> > >> >> My though
> > > >> > > > >>> > >> >>     > > are
> > > >> > > > >>> > >> >>     > >     > nowhere,
> > > >> > > > >>> > >> >>     > >     >     >     unless someone wanted to
> do
> > > that
> > > >> > and
> > > >> > > > >>> have a
> > > >> > > > >>> > >> bead.
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o 19:08
> > Alex
> > > >> > Harui
> > > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> > > >> > > > >>> > >> >>     > >     >     > napisał(a):
> > > >> > > > >>> > >> >>     > >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     > I may not be
> understanding
> > > >> your
> > > >> > > > >>> problem.
> > > >> > > > >>> > Not
> > > >> > > > >>> > >> >> all
> > > >> > > > >>> > >> >>     > models
> > > >> > > > >>> > >> >>     > > will
> > > >> > > > >>> > >> >>     > >     >     > dispatch a
> > > >> > > > >>> > >> >>     > >     >     >     > change event, but it is
> > hard
> > > >> to
> > > >> > > > >>> imagine a
> > > >> > > > >>> > >> >> selection
> > > >> > > > >>> > >> >>     > > model that
> > > >> > > > >>> > >> >>     > >     >     > doesn't.
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     > -Alex
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM,
> > "Piotr
> > > >> > > > Zarzycki"
> > > >> > > > >>> <
> > > >> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
> > > >> > > > >>> > >> >>     > >     >     > wrote:
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     I will review your
> > email
> > > >> > again
> > > >> > > > and
> > > >> > > > >>> see
> > > >> > > > >>> > >> what
> > > >> > > > >>> > >> >> can I
> > > >> > > > >>> > >> >>     > do
> > > >> > > > >>> > >> >>     > > this.
> > > >> > > > >>> > >> >>     > >     >     > However
> > > >> > > > >>> > >> >>     > >     >     >     > this one
> > > >> > > > >>> > >> >>     > >     >     >     >     is a second problem.
> > > First
> > > >> > one
> > > >> > > > was
> > > >> > > > >>> > about
> > > >> > > > >>> > >> >>     > programmatic
> > > >> > > > >>> > >> >>     > >     > change
> > > >> > > > >>> > >> >>     > >     >     > discover
> > > >> > > > >>> > >> >>     > >     >     >     > - If
> > > >> > > > >>> > >> >>     > >     >     >     >     you are talking
> about
> > > >> that -
> > > >> > > Let
> > > >> > > > me
> > > >> > > > >>> > check
> > > >> > > > >>> > >> >> your
> > > >> > > > >>> > >> >>     > > earlier
> > > >> > > > >>> > >> >>     > >     > emails.
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     Thanks,
> > > >> > > > >>> > >> >>     > >     >     >     >     Piotr
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru 2018 o
> > > 18:30
> > > >> > Alex
> > > >> > > > >>> Harui
> > > >> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
> > > >> > > > >>> > >> >>     > >     >     >     > napisał(a):
> > > >> > > > >>> > >> >>     > >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would much
> > > >> rather
> > > >> > see
> > > >> > > > >>> energy
> > > >> > > > >>> > >> >> spent on
> > > >> > > > >>> > >> >>     > > trying to
> > > >> > > > >>> > >> >>     > >     >     > implement the
> > > >> > > > >>> > >> >>     > >     >     >     >     > patterns I
> suggested
> > > >> > earlier,
> > > >> > > > >>> which
> > > >> > > > >>> > >> will
> > > >> > > > >>> > >> >>     > hopefully
> > > >> > > > >>> > >> >>     > >     > eliminate
> > > >> > > > >>> > >> >>     > >     >     > the
> > > >> > > > >>> > >> >>     > >     >     >     > need for
> > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > DispatchChangeOnStartup.
> > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
> > > >> > > > >>> > >> >>     > >     >     >     >     > -Alex
> > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18, 4:34
> > AM,
> > > >> > "Piotr
> > > >> > > > >>> > Zarzycki"
> > > >> > > > >>> > >> <
> > > >> > > > >>> > >> >>     > >     >     > piotrzarzycki21@gmail.com>
> > > >> > > > >>> > >> >>     > >     >     >     > wrote:
> > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
> > > >> > > > >>> > >> >>     > >     >     >     >     >
> > > >> > > > >>> > >> >>     > >     >     >
>

Re: How to discover programmatic change in Jewel List

Posted by Piotr Zarzycki <pi...@gmail.com>.
Ok I will check.

Thanks,
Piotr

On Thu, Feb 7, 2019, 12:40 PM Carlos Rovira <ca...@apache.org> wrote:

> Hi Piotr,
>
> could you check in Tour De Jewel if removing that sentence makes some
> regression in examples?
> (I mean example with Lists and other deviated like ComboBox that use List)
>
> If you don't see anything I could try as well in our app and see if there's
> some possible use case don't covered in TDJ and in that case maybe we can
> see if that could be refactored some way
>
> thanks!
>
> Carlos
>
>
>
> El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (<
> piotrzarzycki21@gmail.com>)
> escribió:
>
> > Hi Greg,
> >
> > I'm progressing with some application and discovered that we are
> > dispatching CHANGE event from here [1] - I'm wondering whether we really
> > need it. Model is being update in that operation - I believe it should be
> > enough.
> >
> > Just to make it clear there is no issue - I mean CHANGE event doesn't
> fire
> > two times etc. because of that. I didn't check whether it makes any
> > difference.
> >
> > [1] https://bit.ly/2GeQ5En
> >
> > Thanks,
> > Piotr
> >
> > pon., 24 gru 2018 o 11:51 Piotr Zarzycki <pi...@gmail.com>
> > napisał(a):
> >
> > > Hi Carlos,
> > >
> > > You have less events flying around the head. :)
> > >
> > > Piotr
> > >
> > > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <ca...@apache.org>
> > > wrote:
> > >
> > >> Thanks Piotr and Greg,
> > >>
> > >> I'm catching up with all the thread. I'm testing and seems all is ok,
> > >> Seems
> > >> Jewel List, ComboBox, DropDownList are now much better and robust :)
> > >> Great work! Thanks for working on this! :)
> > >>
> > >> Carlos
> > >>
> > >>
> > >>
> > >>
> > >>
> > >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
> > >> piotrzarzycki21@gmail.com>)
> > >> escribió:
> > >>
> > >> > Great! More tests the better. I will switch to your branch as well
> > when
> > >> you
> > >> > make the changes.
> > >> >
> > >> > Many Thanks for help with that. Let's see what's more comes on the
> > >> road. :)
> > >> >
> > >> > Best,
> > >> > Piotr
> > >> >
> > >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <gr...@gmail.com>
> wrote:
> > >> >
> > >> > > I already checked this against the app that we are working on, so
> > feel
> > >> > free
> > >> > > to merge that in if it fixes the problem you were seeing, Piotr.
> > >> > > For the more general changes with dispatching from strand and
> > avoiding
> > >> > > IEventDispatcher-ness , I can come back to that and try to do a
> > >> refactor
> > >> > > sweep through these changes as discussed with Alex, and the other
> > >> > component
> > >> > > sets in a couple of weeks. But I will do that in a refactor
> branch.
> > >> I'm
> > >> > not
> > >> > > using the other component sets at the moment, and although I know
> > >> there
> > >> > are
> > >> > > example projects to check against, I think checking against a
> > >> > 'real-world'
> > >> > > app is also important. Maybe Harbs and any any others who perhaps
> > may
> > >> > have
> > >> > > used Basic or Express etc in actual apps will be able to verify
> > things
> > >> > for
> > >> > > those component sets in the refactor branch at the time, if they
> > have
> > >> > been
> > >> > > using them. I will make a request for others to check things when
> I
> > do
> > >> > > that.
> > >> > >
> > >> > >
> > >> > >
> > >> > >
> > >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
> > >> > piotrzarzycki21@gmail.com>
> > >> > > wrote:
> > >> > >
> > >> > > > Greg,
> > >> > > >
> > >> > > > I have fixed issues with navigation in my application code. I'm
> ok
> > >> with
> > >> > > > changes in that branch.
> > >> > > >
> > >> > > > Thanks for all changes!
> > >> > > > Piotr
> > >> > > >
> > >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <
> > piotrzarzycki21@gmail.com
> > >> >
> > >> > > > napisał(a):
> > >> > > >
> > >> > > > > Greg,
> > >> > > > >
> > >> > > > > In your app are you using navigation in that way?
> > >> > > > > Maybe I need to call some prevent method somewhere.
> > >> > > > >
> > >> > > > > Thanks,
> > >> > > > > Piotr
> > >> > > > >
> > >> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
> > >> > > piotrzarzycki21@gmail.com>
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > >> Greg,
> > >> > > > >>
> > >> > > > >> Good news. I was able to build framework using ant and
> produce
> > >> IDE
> > >> > > > >> artifacts. Tested your changes and looks good. However I see
> > >> other
> > >> > > > issue. I
> > >> > > > >> have following code [1]. When I click on link in navigation
> > (I'm
> > >> > > > listening
> > >> > > > >> on change event) - I'm trying to change view using
> > >> > > > ApplicationMainContent -
> > >> > > > >> it's navigates me to new website with new url instead
> changing
> > >> view.
> > >> > > > >>
> > >> > > > >> I need to investigate why it is happen. Apart of that I
> believe
> > >> we
> > >> > are
> > >> > > > ok
> > >> > > > >> with that branch.
> > >> > > > >>
> > >> > > > >> [1] https://paste.apache.org/UzJI
> > >> > > > >>
> > >> > > > >> Thanks, Piotr
> > >> > > > >>
> > >> > > > >>
> > >> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <gr...@gmail.com>
> > >> > napisał(a):
> > >> > > > >>
> > >> > > > >>> Ok Piotr, I'm not sure what is happening there. It does seem
> > >> > strange
> > >> > > -
> > >> > > > >>> shell.view.royale.Shell seems like a class and somehow has
> org
> > >> > > > >>> <http://shell.view.royale.shell.org/
> > >> > > >.apache.royale.jewel.Application
> > >> > > > >>> appended to it.
> > >> > > > >>>
> > >> > > > >>> I don't think that is related to anything I did (and it
> works
> > >> fine
> > >> > > > >>> against
> > >> > > > >>> the 'real-world' app I tested against - with maven build).
> Can
> > >> you
> > >> > > > build
> > >> > > > >>> Tour de Jewel  ok?
> > >> > > > >>>
> > >> > > > >>>
> > >> > > > >>>
> > >> > > > >>>
> > >> > > > >>>
> > >> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
> > >> > > > >>> piotrzarzycki21@gmail.com>
> > >> > > > >>> wrote:
> > >> > > > >>>
> > >> > > > >>> > Hi Greg,
> > >> > > > >>> >
> > >> > > > >>> > Thanks for your changes. Unfortunately I'm not able so far
> > >> > properly
> > >> > > > >>> build
> > >> > > > >>> > my real world app using Maven. I build Jewel module by
> > Maven,
> > >> so
> > >> > I
> > >> > > > have
> > >> > > > >>> > setup my app to be buildable with Maven. Unfortunately I'm
> > >> > getting
> > >> > > > >>> weird
> > >> > > > >>> > exception during running app.
> > >> > > > >>> >
> > >> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot read
> > >> > property
> > >> > > > >>> > 'string' of undefined
> > >> > > > >>> >     at
> > >> > > > >>> >
> > >> > > > >>> >
> > >> > > > >>>
> > >> > > >
> > >> > >
> > >> >
> > >>
> >
> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
> > >> > > > >>> > (SimpleCSSValuesImpl.js:102)
> > >> > > > >>> >     at
> > >> > > > >>> > shell.view.royale.Shell.org
> > >> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
> > >> > > > >>> > (Application.js:311)
> > >> > > > >>> >     at shell.view.royale.Shell.org
> > >> > .apache.royale.jewel.Application
> > >> > > > [as
> > >> > > > >>> > constructor] (Application.js:46)
> > >> > > > >>> >     at Function.childCtor.base (base.js:2515)
> > >> > > > >>> >
> > >> > > > >>> > Above exception is not occurs when I'm building using
> > >> Nightly. I
> > >> > > > >>> probably
> > >> > > > >>> > will have to build framework by ant and prepare IDE
> > compatible
> > >> > > > >>> environment
> > >> > > > >>> > or will try to rebuild whole framework by Maven and try
> > again.
> > >> > > > >>> >
> > >> > > > >>> > Thanks, Piotr
> > >> > > > >>> >
> > >> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
> > >> > > piotrzarzycki21@gmail.com>
> > >> > > > >>> > napisał(a):
> > >> > > > >>> >
> > >> > > > >>> > > Hi Greg,
> > >> > > > >>> > >
> > >> > > > >>> > > Great news, cause I was going to look into that
> somewhere
> > >> > between
> > >> > > > >>> > > Christmas and New Year. I would be happy to test your
> > >> changes!
> > >> > Do
> > >> > > > not
> > >> > > > >>> > > hesitate push it!
> > >> > > > >>> > >
> > >> > > > >>> > > Thank you so much!
> > >> > > > >>> > > Piotr
> > >> > > > >>> > >
> > >> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <
> greg.dove@gmail.com>
> > >> > > > >>> napisał(a):
> > >> > > > >>> > >
> > >> > > > >>> > >> Piotr, Alex,
> > >> > > > >>> > >>
> > >> > > > >>> > >> fyi I found some time to spend on this today, and
> Piotr,
> > I
> > >> > > should
> > >> > > > be
> > >> > > > >>> > ready
> > >> > > > >>> > >> to push the changes I made to your branch tomorrow
> > morning
> > >> my
> > >> > > time
> > >> > > > >>> > (local
> > >> > > > >>> > >> time - GMT+13).
> > >> > > > >>> > >> It seems to be fine so far with 'selectionChange' for
> > >> binding
> > >> > > > based
> > >> > > > >>> on
> > >> > > > >>> > >> model changes and 'change' for class event meta. I have
> > >> been
> > >> > > been
> > >> > > > >>> > testing
> > >> > > > >>> > >> so far against Tour de Jewel, but I will test against
> our
> > >> > > > real-world
> > >> > > > >>> > >> project as well before I push to your branch Piotr.
> > >> > > > >>> > >>
> > >> > > > >>> > >> -Greg
> > >> > > > >>> > >>
> > >> > > > >>> > >>
> > >> > > > >>> > >>
> > >> > > > >>> > >>
> > >> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
> > >> > greg.dove@gmail.com>
> > >> > > > >>> wrote:
> > >> > > > >>> > >>
> > >> > > > >>> > >> > Alex, I can't remember offhand, but I think we used
> > that
> > >> > once
> > >> > > in
> > >> > > > >>> only
> > >> > > > >>> > >> one
> > >> > > > >>> > >> > place, and I did it really quickly. I am sure there
> > will
> > >> be
> > >> > a
> > >> > > > way
> > >> > > > >>> to
> > >> > > > >>> > >> avoid
> > >> > > > >>> > >> > it.
> > >> > > > >>> > >> > I think the bigger issue is the way I did the changes
> > to
> > >> the
> > >> > > > >>> model to
> > >> > > > >>> > >> > support dispatching change events for programmatic
> > >> changes,
> > >> > > > which
> > >> > > > >>> I
> > >> > > > >>> > >> think
> > >> > > > >>> > >> > Piotr was looking at.
> > >> > > > >>> > >> > Maybe I can take a look at that later today, but I
> > can't
> > >> be
> > >> > > > >>> certain.
> > >> > > > >>> > >> > The simplest fix might be to revert everything I did
> > and
> > >> add
> > >> > > > >>> binding
> > >> > > > >>> > for
> > >> > > > >>> > >> > the selection changes (currently
> 'selectedIndexChanged'
> > >> and
> > >> > > > >>> > >> > 'selectedItemChanged' which I know you say could be
> > >> > > > >>> > 'selectionChanged')
> > >> > > > >>> > >> in
> > >> > > > >>> > >> > addition to 'change' (as discussed) and make sure the
> > >> > > component
> > >> > > > is
> > >> > > > >>> > >> > dispatching those from the model (if it does not
> > already
> > >> do
> > >> > > so).
> > >> > > > >>> If
> > >> > > > >>> > >> > 'selectionChanged' (or whatever it is) is already
> > >> happening
> > >> > > as a
> > >> > > > >>> > result
> > >> > > > >>> > >> of
> > >> > > > >>> > >> > 'change' in addition to setter triggered changes,
> then
> > it
> > >> > > could
> > >> > > > >>> be a
> > >> > > > >>> > >> simple
> > >> > > > >>> > >> > swap for the binding event only (as discussed also)
> > >> > > > >>> > >> >
> > >> > > > >>> > >> > But this last part was also applicable to the
> wholesale
> > >> > change
> > >> > > > to
> > >> > > > >>> all
> > >> > > > >>> > >> > component sets we were discussing, not just Jewel.
> > >> > > > >>> > >> >
> > >> > > > >>> > >> >
> > >> > > > >>> > >> >
> > >> > > > >>> > >> >
> > >> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
> > >> > > > >>> <ah...@adobe.com.invalid>
> > >> > > > >>> > >> > wrote:
> > >> > > > >>> > >> >
> > >> > > > >>> > >> >> Greg, Carlos,
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >> Can one of you put together a simple test case that
> > >> > > > demonstrates
> > >> > > > >>> your
> > >> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't need
> > server
> > >> > > access.
> > >> > > > >>> You
> > >> > > > >>> > >> can
> > >> > > > >>> > >> >> probably inject a dataProvider on
> applicationComplete
> > or
> > >> > have
> > >> > > > the
> > >> > > > >>> > user
> > >> > > > >>> > >> push
> > >> > > > >>> > >> >> a button if the issue is about deferred arrival of
> > >> server
> > >> > > data.
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >> IMO, we have to be more concerned about getting the
> > >> > patterns
> > >> > > > >>> right
> > >> > > > >>> > >> >> regressions, and the best way to avoid getting
> > >> regressions
> > >> > is
> > >> > > > to
> > >> > > > >>> > >> provide a
> > >> > > > >>> > >> >> simple test case that demonstrates a problem in the
> > >> > patterns.
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to be
> > >> required
> > >> > and
> > >> > > > >>> won't
> > >> > > > >>> > be
> > >> > > > >>> > >> >> part of the framework.  The usability of the
> framework
> > >> will
> > >> > > go
> > >> > > > >>> down
> > >> > > > >>> > if
> > >> > > > >>> > >> >> folks have to keep adding more and more "OnThis" and
> > >> > "OnThat"
> > >> > > > >>> beads
> > >> > > > >>> > to
> > >> > > > >>> > >> get
> > >> > > > >>> > >> >> their app to work.  The approachability of the
> > >> framework in
> > >> > > > >>> terms of
> > >> > > > >>> > >> >> documentation and number of classes won't scale
> either
> > >> if
> > >> > we
> > >> > > > >>> don't
> > >> > > > >>> > get
> > >> > > > >>> > >> >> these patterns right.  This doesn't mean that you
> > can't
> > >> use
> > >> > > an
> > >> > > > >>> > >> "onStartup"
> > >> > > > >>> > >> >> bead in your app in order to meet some deadline, and
> > >> share
> > >> > it
> > >> > > > >>> with
> > >> > > > >>> > >> others,
> > >> > > > >>> > >> >> but we have to be careful about what patterns we
> > >> promote in
> > >> > > the
> > >> > > > >>> SDK.
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >> My 2 cents,
> > >> > > > >>> > >> >> -Alex
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
> > >> greg.dove@gmail.com>
> > >> > > > wrote:
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>     Hi Piotr,
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>     I would be happy to work on it, and wish I
> could,
> > >> but
> > >> > the
> > >> > > > >>> problem
> > >> > > > >>> > >> for
> > >> > > > >>> > >> >> me at
> > >> > > > >>> > >> >>     the moment is that I can't make it a priority,
> > >> because
> > >> > > for
> > >> > > > >>> now at
> > >> > > > >>> > >> >> least it
> > >> > > > >>> > >> >>     is functioning as we need it, and there are
> plenty
> > >> of
> > >> > > > things
> > >> > > > >>> that
> > >> > > > >>> > >> are
> > >> > > > >>> > >> >> not
> > >> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
> > >> implementation
> > >> > as
> > >> > > it
> > >> > > > >>> > stands
> > >> > > > >>> > >> >> might
> > >> > > > >>> > >> >>     not be 'right', it does function as we need it
> to
> > >> for
> > >> > > now.
> > >> > > > I
> > >> > > > >>> > >> suspect
> > >> > > > >>> > >> >> that
> > >> > > > >>> > >> >>     is what Carlos meant when he said he was
> concerned
> > >> > about
> > >> > > > >>> > >> regressions.
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>     I have other stuff queued up to add in other
> areas
> > >> too,
> > >> > > > like
> > >> > > > >>> > >> >> AMFBinaryData
> > >> > > > >>> > >> >>     and AMFNetConnection but will need to do more
> work
> > >> to
> > >> > > > >>> generalize
> > >> > > > >>> > >> it,
> > >> > > > >>> > >> >> as I
> > >> > > > >>> > >> >>     have it these working in a way that is almost
> > >> complete,
> > >> > > but
> > >> > > > >>> > mostly
> > >> > > > >>> > >> >> focused
> > >> > > > >>> > >> >>     on what is sufficient for what Carlos needs for
> > now.
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>     I hope to get some free time in early January to
> > >> finish
> > >> > > up
> > >> > > > >>> these
> > >> > > > >>> > >> >> things.
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr Zarzycki
> <
> > >> > > > >>> > >> >> piotrzarzycki21@gmail.com>
> > >> > > > >>> > >> >>     wrote:
> > >> > > > >>> > >> >>
> > >> > > > >>> > >> >>     > Hi Guys,
> > >> > > > >>> > >> >>     >
> > >> > > > >>> > >> >>     > I definitely need to a way of resolve that
> > >> problem. I
> > >> > > > will
> > >> > > > >>> > review
> > >> > > > >>> > >> >> emails
> > >> > > > >>> > >> >>     > tomorrow.
> > >> > > > >>> > >> >>     >
> > >> > > > >>> > >> >>     > However if you Greg would like to try
> something
> > go
> > >> > for
> > >> > > > it.
> > >> > > > >>> > Would
> > >> > > > >>> > >> be
> > >> > > > >>> > >> >> great
> > >> > > > >>> > >> >>     > if you could use my branch where changes which
> > >> > removes
> > >> > > > >>> > >> dispatching
> > >> > > > >>> > >> >> "change"
> > >> > > > >>> > >> >>     > event from model are in place.
> > >> > > > >>> > >> >>     >
> > >> > > > >>> > >> >>     > Thanks, Piotr
> > >> > > > >>> > >> >>     >
> > >> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
> > >> > > > >>> <aharui@adobe.com.invalid
> > >> > > > >>> > >
> > >> > > > >>> > >> >>     > napisał(a):
> > >> > > > >>> > >> >>     >
> > >> > > > >>> > >> >>     > > Hi Greg,
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > > I haven't looked at how pervasive this
> change
> > >> would
> > >> > > be.
> > >> > > > >>> I'm
> > >> > > > >>> > >> >> mainly
> > >> > > > >>> > >> >>     > saying
> > >> > > > >>> > >> >>     > > that Flex worked with these categories of
> > events
> > >> > and
> > >> > > I
> > >> > > > >>> think
> > >> > > > >>> > >> >> Royale can
> > >> > > > >>> > >> >>     > too
> > >> > > > >>> > >> >>     > > and would eliminate the need for
> > >> > > > DispatchChangeOnStartup
> > >> > > > >>> and
> > >> > > > >>> > >> >> things like
> > >> > > > >>> > >> >>     > > that.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > > You could be right that the models only need
> > to
> > >> > > > dispatch
> > >> > > > >>> > >> >> selectionChange
> > >> > > > >>> > >> >>     > > and not "change", as long as the controllers
> > are
> > >> > > > >>> guaranteed
> > >> > > > >>> > to
> > >> > > > >>> > >> >> update the
> > >> > > > >>> > >> >>     > > model in a way that fires selectionChange.
> I
> > >> have
> > >> > > this
> > >> > > > >>> > feeling
> > >> > > > >>> > >> >> that in
> > >> > > > >>> > >> >>     > > Flex there were some backdoors for updating
> > >> > > properties
> > >> > > > >>> > without
> > >> > > > >>> > >> >>     > dispatching
> > >> > > > >>> > >> >>     > > events and dispatching the event "later",
> but
> > I
> > >> > don't
> > >> > > > >>> think
> > >> > > > >>> > >> we've
> > >> > > > >>> > >> >> had to
> > >> > > > >>> > >> >>     > > write such code in Royale and maybe we won't
> > >> have
> > >> > to
> > >> > > or
> > >> > > > >>> can't
> > >> > > > >>> > >> >> because the
> > >> > > > >>> > >> >>     > > browser will update right away in many
> cases.
> > >> > There
> > >> > > > were
> > >> > > > >>> > >> >> somethings you
> > >> > > > >>> > >> >>     > > could do in Flash knowing that all rendering
> > was
> > >> > > > >>> deferred to
> > >> > > > >>> > >> frame
> > >> > > > >>> > >> >>     > > updates.  In Royale, with separate models,
> the
> > >> > > > controller
> > >> > > > >>> > code
> > >> > > > >>> > >> >> can't just
> > >> > > > >>> > >> >>     > > set the backing variable.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > > So, if you want to give it a try having only
> > >> > > > >>> selectionChange
> > >> > > > >>> > as
> > >> > > > >>> > >> >> the
> > >> > > > >>> > >> >>     > > bindable event, go for it.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > > -Alex
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
> > >> > > > greg.dove@gmail.com>
> > >> > > > >>> > >> wrote:
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     Thanks Alex.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     I only looked in Basic TextInput
> because I
> > >> was
> > >> > > > >>> looking
> > >> > > > >>> > for
> > >> > > > >>> > >> a
> > >> > > > >>> > >> >> simpler
> > >> > > > >>> > >> >>     > >     example of the general case being
> > discussed.
> > >> > That
> > >> > > > >>> code
> > >> > > > >>> > >> looks
> > >> > > > >>> > >> >> like it
> > >> > > > >>> > >> >>     > > might
> > >> > > > >>> > >> >>     > >     need some work on the swf side in any
> > case.
> > >> > > > >>> > >> >>     > >     I was just looking for the
> > >> 'programmaticChange'
> > >> > > vs
> > >> > > > >>> > >> >>     > > 'userInitiatedChange'
> > >> > > > >>> > >> >>     > >     differences.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     Based on a quick look at the other Basic
> > >> > classes,
> > >> > > > the
> > >> > > > >>> > >> >> conclusions
> > >> > > > >>> > >> >>     > > appear
> > >> > > > >>> > >> >>     > >     similar.  They are bindable via 'change'
> > >> only.
> > >> > > > >>> > >> >>     > >     And the models all dispatch both
> > >> > > > >>> selectedIndexChanged and
> > >> > > > >>> > >> >>     > >     selectedItemChanged.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     So it seems like you are proposing broad
> > >> > changes
> > >> > > > for
> > >> > > > >>> > >> >> everything, if
> > >> > > > >>> > >> >>     > > they
> > >> > > > >>> > >> >>     > >     are to also support binding changes for
> > >> > > > programmatic
> > >> > > > >>> > >> changes?
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     For me, the change in something (or
> > nothing)
> > >> > > being
> > >> > > > >>> > >> 'selected'
> > >> > > > >>> > >> >>     > logically
> > >> > > > >>> > >> >>     > >     occurs as a result of either user change
> > or
> > >> > > > >>> programmatic
> > >> > > > >>> > >> >> change. On
> > >> > > > >>> > >> >>     > > that
> > >> > > > >>> > >> >>     > >     basis would it be possible to have the
> > >> > > > >>> selectionChange as
> > >> > > > >>> > >> the
> > >> > > > >>> > >> >> sole
> > >> > > > >>> > >> >>     > > Binding
> > >> > > > >>> > >> >>     > >     event (which occurs from setter induced
> > >> change
> > >> > > and
> > >> > > > >>> from
> > >> > > > >>> > >> user
> > >> > > > >>> > >> >> induced
> > >> > > > >>> > >> >>     > >     change) and the 'change' event as
> > >> > > user-interaction
> > >> > > > >>> only
> > >> > > > >>> > as
> > >> > > > >>> > >> >> the class
> > >> > > > >>> > >> >>     > > level
> > >> > > > >>> > >> >>     > >     event type (as it is now)?
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     I have not thought about this as much as
> > you
> > >> > > (Alex
> > >> > > > >>> and
> > >> > > > >>> > >> >> others) have,
> > >> > > > >>> > >> >>     > so
> > >> > > > >>> > >> >>     > >     maybe that last suggestion does not make
> > >> sense.
> > >> > > > But I
> > >> > > > >>> > >> really
> > >> > > > >>> > >> >> think
> > >> > > > >>> > >> >>     > > that for
> > >> > > > >>> > >> >>     > >     whatever does make sense it would be
> great
> > >> to
> > >> > > > settle
> > >> > > > >>> on
> > >> > > > >>> > >> >> something and
> > >> > > > >>> > >> >>     > > get
> > >> > > > >>> > >> >>     > >     it consistent for all components  asap.
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM Alex
> Harui
> > >> > > > >>> > >> >> <aharui@adobe.com.invalid
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > > wrote:
> > >> > > > >>> > >> >>     > >
> > >> > > > >>> > >> >>     > >     > Hi Greg,
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > You are correct that there is a pain
> > point
> > >> > > around
> > >> > > > >>> > binding
> > >> > > > >>> > >> >> overhead
> > >> > > > >>> > >> >>     > > and
> > >> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG way of
> > >> adding
> > >> > > the
> > >> > > > >>> > ability
> > >> > > > >>> > >> to
> > >> > > > >>> > >> >> add
> > >> > > > >>> > >> >>     > more
> > >> > > > >>> > >> >>     > >     > binding events via beads that doesn't
> > have
> > >> > too
> > >> > > > much
> > >> > > > >>> > >> >> overhead for
> > >> > > > >>> > >> >>     > > folks not
> > >> > > > >>> > >> >>     > >     > interested in those extra events.
> > >> Actually,
> > >> > > > there
> > >> > > > >>> are
> > >> > > > >>> > >> some
> > >> > > > >>> > >> >> ways
> > >> > > > >>> > >> >>     > > that are
> > >> > > > >>> > >> >>     > >     > JS-only like replacing
> > prototype-methods,
> > >> > but I
> > >> > > > >>> don't
> > >> > > > >>> > >> think
> > >> > > > >>> > >> >> we
> > >> > > > >>> > >> >>     > > should rely
> > >> > > > >>> > >> >>     > >     > on mutable class definitions.   In
> many
> > >> cases
> > >> > > we
> > >> > > > >>> make
> > >> > > > >>> > >> >> trade-offs
> > >> > > > >>> > >> >>     > and
> > >> > > > >>> > >> >>     > > Basic
> > >> > > > >>> > >> >>     > >     > ends up being what we think almost all
> > >> folks
> > >> > > > "must
> > >> > > > >>> > have".
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > When we first started out I was hoping
> > to
> > >> > > reduce
> > >> > > > >>> > binding
> > >> > > > >>> > >> >> overhead
> > >> > > > >>> > >> >>     > > which is
> > >> > > > >>> > >> >>     > >     > why some of the beads look like they
> do,
> > >> but
> > >> > > > these
> > >> > > > >>> > days I
> > >> > > > >>> > >> >> think it
> > >> > > > >>> > >> >>     > > is more
> > >> > > > >>> > >> >>     > >     > important to separate interactive
> events
> > >> from
> > >> > > > >>> > >> binding/setup
> > >> > > > >>> > >> >> events.
> > >> > > > >>> > >> >>     > > Folks
> > >> > > > >>> > >> >>     > >     > who don't use a particular binding
> event
> > >> can
> > >> > > > always
> > >> > > > >>> > >> replace
> > >> > > > >>> > >> >> the
> > >> > > > >>> > >> >>     > > model and
> > >> > > > >>> > >> >>     > >     > top-level component with a version
> > without
> > >> > > events
> > >> > > > >>> they
> > >> > > > >>> > >> are
> > >> > > > >>> > >> >> not
> > >> > > > >>> > >> >>     > > interested
> > >> > > > >>> > >> >>     > >     > in, or in the JS output, run a
> > >> post-process
> > >> > to
> > >> > > > >>> cull out
> > >> > > > >>> > >> >> metadata.
> > >> > > > >>> > >> >>     > > But
> > >> > > > >>> > >> >>     > >     > under the "almost all folks" rule, I
> > think
> > >> > > > "almost
> > >> > > > >>> all
> > >> > > > >>> > >> >> folks" don't
> > >> > > > >>> > >> >>     > > want to
> > >> > > > >>> > >> >>     > >     > run interaction handling code at setup
> > >> time.
> > >> > > > >>> > Especially
> > >> > > > >>> > >> if
> > >> > > > >>> > >> >> that
> > >> > > > >>> > >> >>     > > handling
> > >> > > > >>> > >> >>     > >     > code runs any sort of animation or
> does
> > >> any
> > >> > > other
> > >> > > > >>> heavy
> > >> > > > >>> > >> >> processing.
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > I could be wrong, but I'm pretty sure
> > >> that if
> > >> > > you
> > >> > > > >>> just
> > >> > > > >>> > >> take
> > >> > > > >>> > >> >> a
> > >> > > > >>> > >> >>     > > <select>
> > >> > > > >>> > >> >>     > >     > element, you can set its initial
> > selection
> > >> > > value
> > >> > > > >>> > without
> > >> > > > >>> > >> it
> > >> > > > >>> > >> >>     > > dispatching an
> > >> > > > >>> > >> >>     > >     > event called "change".  Then when a
> user
> > >> > > selects
> > >> > > > an
> > >> > > > >>> > item
> > >> > > > >>> > >> >> you get a
> > >> > > > >>> > >> >>     > > "change"
> > >> > > > >>> > >> >>     > >     > event.  IMO, this is why "change"
> should
> > >> be
> > >> > an
> > >> > > > >>> > >> interactive
> > >> > > > >>> > >> >> event
> > >> > > > >>> > >> >>     > and
> > >> > > > >>> > >> >>     > > not a
> > >> > > > >>> > >> >>     > >     > binding event.
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > So these are the reasons I think we
> > should
> > >> > > adjust
> > >> > > > >>> the
> > >> > > > >>> > >> basic
> > >> > > > >>> > >> >> beads
> > >> > > > >>> > >> >>     > to
> > >> > > > >>> > >> >>     > >     > separate interactive events from setup
> > >> events
> > >> > > and
> > >> > > > >>> why
> > >> > > > >>> > >> >> "change" is
> > >> > > > >>> > >> >>     > an
> > >> > > > >>> > >> >>     > >     > interactive event.
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > Now, we could renew the effort to make
> > >> Basic
> > >> > > the
> > >> > > > >>> truly
> > >> > > > >>> > >> >> smallest
> > >> > > > >>> > >> >>     > >     > implementation and move some of this
> > >> logic to
> > >> > > > >>> Express,
> > >> > > > >>> > >> but
> > >> > > > >>> > >> >> I keep
> > >> > > > >>> > >> >>     > > seeing
> > >> > > > >>> > >> >>     > >     > code creep into Basic to handle
> > situations
> > >> > that
> > >> > > > >>> almost
> > >> > > > >>> > >> all
> > >> > > > >>> > >> >> folks
> > >> > > > >>> > >> >>     > > need.
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > TextInput, on the other hand, has been
> > an
> > >> > > > >>> exception of
> > >> > > > >>> > >> >> sorts in
> > >> > > > >>> > >> >>     > > Flex.  The
> > >> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches "change"
> on
> > >> > > certain
> > >> > > > >>> kinds
> > >> > > > >>> > of
> > >> > > > >>> > >> >> changes.
> > >> > > > >>> > >> >>     > > So
> > >> > > > >>> > >> >>     > >     > early implementations in Royale tried
> to
> > >> > mimic
> > >> > > > that
> > >> > > > >>> > >> >> behavior for
> > >> > > > >>> > >> >>     > > folks
> > >> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we should
> > >> change
> > >> > > > that
> > >> > > > >>> and
> > >> > > > >>> > >> make
> > >> > > > >>> > >> >> Basic
> > >> > > > >>> > >> >>     > > TextInput
> > >> > > > >>> > >> >>     > >     > more consistent with browser behavior.
> > >> The
> > >> > > > >>> emulation
> > >> > > > >>> > >> >> components
> > >> > > > >>> > >> >>     > can
> > >> > > > >>> > >> >>     > > mimic
> > >> > > > >>> > >> >>     > >     > the old Flex behavior.  So I think
> using
> > >> > > > TextInput
> > >> > > > >>> as
> > >> > > > >>> > >> >> precedent is
> > >> > > > >>> > >> >>     > >     > misleading.
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > Thoughts?
> > >> > > > >>> > >> >>     > >     > -Alex
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg Dove" <
> > >> > > > >>> > greg.dove@gmail.com>
> > >> > > > >>> > >> >> wrote:
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     Alex, I was giving this some more
> > >> thought
> > >> > > > >>> also. I
> > >> > > > >>> > >> >> understood
> > >> > > > >>> > >> >>     > > that you
> > >> > > > >>> > >> >>     > >     > meant
> > >> > > > >>> > >> >>     > >     >     to add extra events for binding
> from
> > >> your
> > >> > > > >>> previous
> > >> > > > >>> > >> >> comments.
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     But isn't the established pattern
> to
> > >> add
> > >> > a
> > >> > > > >>> bead to
> > >> > > > >>> > >> >> listen for
> > >> > > > >>> > >> >>     > the
> > >> > > > >>> > >> >>     > >     >     selectionChange and redispatch it
> as
> > >> > > change?
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     At least that seems to be the case
> > >> > > elsewhere
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     If I look at the code in Basic
> > >> > TextInput...
> > >> > > > >>> > >> >>     > >     >     it dispatches 'textChange' and
> > >> 'change'
> > >> > but
> > >> > > > is
> > >> > > > >>> only
> > >> > > > >>> > >> >> Bindable
> > >> > > > >>> > >> >>     > via
> > >> > > > >>> > >> >>     > >     > 'change'.
> > >> > > > >>> > >> >>     > >     >     There is effort to keep them
> > >> > > > distinct/separate.
> > >> > > > >>> > >> >>     > >     >     (OT: It looks like the swf side
> > needs
> > >> > some
> > >> > > > >>> > >> consistency
> > >> > > > >>> > >> >> in the
> > >> > > > >>> > >> >>     > > html
> > >> > > > >>> > >> >>     > >     > setter
> > >> > > > >>> > >> >>     > >     >     same as the text setter.)
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     So TextInput appears to have 2
> > >> distinct
> > >> > > > events
> > >> > > > >>> but
> > >> > > > >>> > >> only
> > >> > > > >>> > >> >> be
> > >> > > > >>> > >> >>     > > Bindable
> > >> > > > >>> > >> >>     > >     > for one
> > >> > > > >>> > >> >>     > >     >     ('change'). So I presume that to
> > make
> > >> > that
> > >> > > > >>> support
> > >> > > > >>> > >> >> programmatic
> > >> > > > >>> > >> >>     > >     > changes it
> > >> > > > >>> > >> >>     > >     >     would be by adding a bead to
> listen
> > to
> > >> > the
> > >> > > > >>> > >> 'textChange'
> > >> > > > >>> > >> >> and
> > >> > > > >>> > >> >>     > > redispatch
> > >> > > > >>> > >> >>     > >     > as
> > >> > > > >>> > >> >>     > >     >     'change' ?
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     Adding extra Bindable events adds
> > >> weight
> > >> > > > >>> because it
> > >> > > > >>> > >> >> affects
> > >> > > > >>> > >> >>     > > binding
> > >> > > > >>> > >> >>     > >     > data,
> > >> > > > >>> > >> >>     > >     >     and creates more runtime support
> for
> > >> the
> > >> > > same
> > >> > > > >>> > feature
> > >> > > > >>> > >> >> in use
> > >> > > > >>> > >> >>     > > cases
> > >> > > > >>> > >> >>     > >     > that may
> > >> > > > >>> > >> >>     > >     >     not need it. I don't see how that
> > can
> > >> be
> > >> > > > >>> > 'PAYG-ised'
> > >> > > > >>> > >> >> because
> > >> > > > >>> > >> >>     > > binding
> > >> > > > >>> > >> >>     > >     >     support for different event types
> is
> > >> > either
> > >> > > > >>> there
> > >> > > > >>> > at
> > >> > > > >>> > >> >> compile
> > >> > > > >>> > >> >>     > > time or
> > >> > > > >>> > >> >>     > >     > it is
> > >> > > > >>> > >> >>     > >     >     not in the component. So if the
> > above
> > >> is
> > >> > > true
> > >> > > > >>> for
> > >> > > > >>> > >> >> TextInput (at
> > >> > > > >>> > >> >>     > > this
> > >> > > > >>> > >> >>     > >     > stage
> > >> > > > >>> > >> >>     > >     >     it's a guess/observation, I did
> not
> > >> try
> > >> > > this
> > >> > > > >>> yet),
> > >> > > > >>> > >> then
> > >> > > > >>> > >> >> could
> > >> > > > >>> > >> >>     > it
> > >> > > > >>> > >> >>     > > not be
> > >> > > > >>> > >> >>     > >     >     similar for selection based
> > >> components?
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     To me 'change' seems like
> something
> > >> > generic
> > >> > > > and
> > >> > > > >>> > does
> > >> > > > >>> > >> >> not sound
> > >> > > > >>> > >> >>     > >     > specific to
> > >> > > > >>> > >> >>     > >     >     being user-initiated change. My
> > >> > > understanding
> > >> > > > >>> is
> > >> > > > >>> > that
> > >> > > > >>> > >> >> it just
> > >> > > > >>> > >> >>     > > happens
> > >> > > > >>> > >> >>     > >     > to be
> > >> > > > >>> > >> >>     > >     >     that way by default, unless you
> > >> configure
> > >> > > it
> > >> > > > to
> > >> > > > >>> > >> include
> > >> > > > >>> > >> >>     > > programmatic
> > >> > > > >>> > >> >>     > >     >     changes via bead.
> > >> > > > >>> > >> >>     > >     >     If it is like this for Basic
> > >> TextInput,
> > >> > why
> > >> > > > >>> can it
> > >> > > > >>> > >> not
> > >> > > > >>> > >> >> be the
> > >> > > > >>> > >> >>     > > same for
> > >> > > > >>> > >> >>     > >     >     other components ? (
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32 AM
> Alex
> > >> > Harui
> > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> > >> > > > >>> > >> >>     > >     > wrote:
> > >> > > > >>> > >> >>     > >     >
> > >> > > > >>> > >> >>     > >     >     > I took a quick look at
> > >> > > ArrayListSelection.
> > >> > > > >>> It
> > >> > > > >>> > >> could
> > >> > > > >>> > >> >> use some
> > >> > > > >>> > >> >>     > >     >     > improvements, such as only
> > >> dispatching
> > >> > a
> > >> > > > >>> single
> > >> > > > >>> > >> >>     > > selectionChange event
> > >> > > > >>> > >> >>     > >     >     > instead of both
> > selectedIndexChange
> > >> and
> > >> > > > >>> > >> >> selectedItemChange.
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     > Some controller should dispatch
> > the
> > >> > > > "change"
> > >> > > > >>> > event,
> > >> > > > >>> > >> >> not the
> > >> > > > >>> > >> >>     > > model.
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     > I took a quick look at List.as,
> (a
> > >> top
> > >> > > > level
> > >> > > > >>> > >> >> component).  It
> > >> > > > >>> > >> >>     > > should
> > >> > > > >>> > >> >>     > >     > have
> > >> > > > >>> > >> >>     > >     >     > bindable metadata that looks
> like
> > >> this:
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     >         [Bindable("change")]
> > >> > > > >>> > >> >>     > >     >     >
> > >>  [Bindable("selectionChange")]
> > >> > > > >>> > >> >>     > >     >     >         public function get
> > >> > > > >>> selectedIndex():int
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     > Similar for selectedItem.  The
> > >> [Event]
> > >> > > > >>> metadata
> > >> > > > >>> > for
> > >> > > > >>> > >> >> List is
> > >> > > > >>> > >> >>     > >     > correct,  It
> > >> > > > >>> > >> >>     > >     >     > should only list interactive
> > events
> > >> > like
> > >> > > > >>> "change"
> > >> > > > >>> > >> and
> > >> > > > >>> > >> >> not
> > >> > > > >>> > >> >>     > > bindable
> > >> > > > >>> > >> >>     > >     > events
> > >> > > > >>> > >> >>     > >     >     > like selectionChange.  This
> > usually
> > >> > > > improves
> > >> > > > >>> > >> >> performance by
> > >> > > > >>> > >> >>     > not
> > >> > > > >>> > >> >>     > >     > having the
> > >> > > > >>> > >> >>     > >     >     > UI react to setup.
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     > Once all of those changes are
> > made,
> > >> we
> > >> > > > should
> > >> > > > >>> > >> discuss
> > >> > > > >>> > >> >> any
> > >> > > > >>> > >> >>     > > remaining
> > >> > > > >>> > >> >>     > >     > issues.
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     > My 2 cents,
> > >> > > > >>> > >> >>     > >     >     > -Alex
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM, "Piotr
> > >> > Zarzycki" <
> > >> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
> > >> > > > >>> > >> >>     > >     >     > wrote:
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     >     Basic ArrayListSelection
> model
> > >> > > doesn't
> > >> > > > >>> > dispatch
> > >> > > > >>> > >> >> that
> > >> > > > >>> > >> >>     > > event. I
> > >> > > > >>> > >> >>     > >     > believe
> > >> > > > >>> > >> >>     > >     >     > we
> > >> > > > >>> > >> >>     > >     >     >     don't have to do this or
> > rather
> > >> do
> > >> > > this
> > >> > > > >>> only
> > >> > > > >>> > if
> > >> > > > >>> > >> >> we really
> > >> > > > >>> > >> >>     > > need
> > >> > > > >>> > >> >>     > >     > it, for
> > >> > > > >>> > >> >>     > >     >     >     example if someone make
> > >> programatic
> > >> > > > >>> change of
> > >> > > > >>> > >> >>     > > selectedIndex. -
> > >> > > > >>> > >> >>     > >     > This is
> > >> > > > >>> > >> >>     > >     >     >     general problem how to do
> > that ?
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     >     If I change selectedIndex -
> my
> > >> > model
> > >> > > > >>> dispatch
> > >> > > > >>> > >> >>     > >     > selectedInexChanged -
> > >> > > > >>> > >> >>     > >     >     > where
> > >> > > > >>> > >> >>     > >     >     >     should I catch it and
> dispatch
> > >> > > "change"
> > >> > > > >>> > event ?
> > >> > > > >>> > >> >> My though
> > >> > > > >>> > >> >>     > > are
> > >> > > > >>> > >> >>     > >     > nowhere,
> > >> > > > >>> > >> >>     > >     >     >     unless someone wanted to do
> > that
> > >> > and
> > >> > > > >>> have a
> > >> > > > >>> > >> bead.
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o 19:08
> Alex
> > >> > Harui
> > >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> > >> > > > >>> > >> >>     > >     >     > napisał(a):
> > >> > > > >>> > >> >>     > >     >     >
> > >> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     > I may not be understanding
> > >> your
> > >> > > > >>> problem.
> > >> > > > >>> > Not
> > >> > > > >>> > >> >> all
> > >> > > > >>> > >> >>     > models
> > >> > > > >>> > >> >>     > > will
> > >> > > > >>> > >> >>     > >     >     > dispatch a
> > >> > > > >>> > >> >>     > >     >     >     > change event, but it is
> hard
> > >> to
> > >> > > > >>> imagine a
> > >> > > > >>> > >> >> selection
> > >> > > > >>> > >> >>     > > model that
> > >> > > > >>> > >> >>     > >     >     > doesn't.
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     > -Alex
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM,
> "Piotr
> > >> > > > Zarzycki"
> > >> > > > >>> <
> > >> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
> > >> > > > >>> > >> >>     > >     >     > wrote:
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     I will review your
> email
> > >> > again
> > >> > > > and
> > >> > > > >>> see
> > >> > > > >>> > >> what
> > >> > > > >>> > >> >> can I
> > >> > > > >>> > >> >>     > do
> > >> > > > >>> > >> >>     > > this.
> > >> > > > >>> > >> >>     > >     >     > However
> > >> > > > >>> > >> >>     > >     >     >     > this one
> > >> > > > >>> > >> >>     > >     >     >     >     is a second problem.
> > First
> > >> > one
> > >> > > > was
> > >> > > > >>> > about
> > >> > > > >>> > >> >>     > programmatic
> > >> > > > >>> > >> >>     > >     > change
> > >> > > > >>> > >> >>     > >     >     > discover
> > >> > > > >>> > >> >>     > >     >     >     > - If
> > >> > > > >>> > >> >>     > >     >     >     >     you are talking about
> > >> that -
> > >> > > Let
> > >> > > > me
> > >> > > > >>> > check
> > >> > > > >>> > >> >> your
> > >> > > > >>> > >> >>     > > earlier
> > >> > > > >>> > >> >>     > >     > emails.
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     Thanks,
> > >> > > > >>> > >> >>     > >     >     >     >     Piotr
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru 2018 o
> > 18:30
> > >> > Alex
> > >> > > > >>> Harui
> > >> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
> > >> > > > >>> > >> >>     > >     >     >     > napisał(a):
> > >> > > > >>> > >> >>     > >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would much
> > >> rather
> > >> > see
> > >> > > > >>> energy
> > >> > > > >>> > >> >> spent on
> > >> > > > >>> > >> >>     > > trying to
> > >> > > > >>> > >> >>     > >     >     > implement the
> > >> > > > >>> > >> >>     > >     >     >     >     > patterns I suggested
> > >> > earlier,
> > >> > > > >>> which
> > >> > > > >>> > >> will
> > >> > > > >>> > >> >>     > hopefully
> > >> > > > >>> > >> >>     > >     > eliminate
> > >> > > > >>> > >> >>     > >     >     > the
> > >> > > > >>> > >> >>     > >     >     >     > need for
> > >> > > > >>> > >> >>     > >     >     >     >     >
> > DispatchChangeOnStartup.
> > >> > > > >>> > >> >>     > >     >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
> > >> > > > >>> > >> >>     > >     >     >     >     > -Alex
> > >> > > > >>> > >> >>     > >     >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18, 4:34
> AM,
> > >> > "Piotr
> > >> > > > >>> > Zarzycki"
> > >> > > > >>> > >> <
> > >> > > > >>> > >> >>     > >     >     > piotrzarzycki21@gmail.com>
> > >> > > > >>> > >> >>     > >     >     >     > wrote:
> > >> > > > >>> > >> >>     > >     >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
> > >> > > > >>> > >> >>     > >     >     >     >     >
> > >> > > > >>> > >> >>     > >     >     >

Re: How to discover programmatic change in Jewel List

Posted by Carlos Rovira <ca...@apache.org>.
Hi Piotr,

could you check in Tour De Jewel if removing that sentence makes some
regression in examples?
(I mean example with Lists and other deviated like ComboBox that use List)

If you don't see anything I could try as well in our app and see if there's
some possible use case don't covered in TDJ and in that case maybe we can
see if that could be refactored some way

thanks!

Carlos



El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (<pi...@gmail.com>)
escribió:

> Hi Greg,
>
> I'm progressing with some application and discovered that we are
> dispatching CHANGE event from here [1] - I'm wondering whether we really
> need it. Model is being update in that operation - I believe it should be
> enough.
>
> Just to make it clear there is no issue - I mean CHANGE event doesn't fire
> two times etc. because of that. I didn't check whether it makes any
> difference.
>
> [1] https://bit.ly/2GeQ5En
>
> Thanks,
> Piotr
>
> pon., 24 gru 2018 o 11:51 Piotr Zarzycki <pi...@gmail.com>
> napisał(a):
>
> > Hi Carlos,
> >
> > You have less events flying around the head. :)
> >
> > Piotr
> >
> > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira <ca...@apache.org>
> > wrote:
> >
> >> Thanks Piotr and Greg,
> >>
> >> I'm catching up with all the thread. I'm testing and seems all is ok,
> >> Seems
> >> Jewel List, ComboBox, DropDownList are now much better and robust :)
> >> Great work! Thanks for working on this! :)
> >>
> >> Carlos
> >>
> >>
> >>
> >>
> >>
> >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (<
> >> piotrzarzycki21@gmail.com>)
> >> escribió:
> >>
> >> > Great! More tests the better. I will switch to your branch as well
> when
> >> you
> >> > make the changes.
> >> >
> >> > Many Thanks for help with that. Let's see what's more comes on the
> >> road. :)
> >> >
> >> > Best,
> >> > Piotr
> >> >
> >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <gr...@gmail.com> wrote:
> >> >
> >> > > I already checked this against the app that we are working on, so
> feel
> >> > free
> >> > > to merge that in if it fixes the problem you were seeing, Piotr.
> >> > > For the more general changes with dispatching from strand and
> avoiding
> >> > > IEventDispatcher-ness , I can come back to that and try to do a
> >> refactor
> >> > > sweep through these changes as discussed with Alex, and the other
> >> > component
> >> > > sets in a couple of weeks. But I will do that in a refactor branch.
> >> I'm
> >> > not
> >> > > using the other component sets at the moment, and although I know
> >> there
> >> > are
> >> > > example projects to check against, I think checking against a
> >> > 'real-world'
> >> > > app is also important. Maybe Harbs and any any others who perhaps
> may
> >> > have
> >> > > used Basic or Express etc in actual apps will be able to verify
> things
> >> > for
> >> > > those component sets in the refactor branch at the time, if they
> have
> >> > been
> >> > > using them. I will make a request for others to check things when I
> do
> >> > > that.
> >> > >
> >> > >
> >> > >
> >> > >
> >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki <
> >> > piotrzarzycki21@gmail.com>
> >> > > wrote:
> >> > >
> >> > > > Greg,
> >> > > >
> >> > > > I have fixed issues with navigation in my application code. I'm ok
> >> with
> >> > > > changes in that branch.
> >> > > >
> >> > > > Thanks for all changes!
> >> > > > Piotr
> >> > > >
> >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki <
> piotrzarzycki21@gmail.com
> >> >
> >> > > > napisał(a):
> >> > > >
> >> > > > > Greg,
> >> > > > >
> >> > > > > In your app are you using navigation in that way?
> >> > > > > Maybe I need to call some prevent method somewhere.
> >> > > > >
> >> > > > > Thanks,
> >> > > > > Piotr
> >> > > > >
> >> > > > > On Sat, Dec 22, 2018, 9:57 AM Piotr Zarzycki <
> >> > > piotrzarzycki21@gmail.com>
> >> > > > > wrote:
> >> > > > >
> >> > > > >> Greg,
> >> > > > >>
> >> > > > >> Good news. I was able to build framework using ant and produce
> >> IDE
> >> > > > >> artifacts. Tested your changes and looks good. However I see
> >> other
> >> > > > issue. I
> >> > > > >> have following code [1]. When I click on link in navigation
> (I'm
> >> > > > listening
> >> > > > >> on change event) - I'm trying to change view using
> >> > > > ApplicationMainContent -
> >> > > > >> it's navigates me to new website with new url instead changing
> >> view.
> >> > > > >>
> >> > > > >> I need to investigate why it is happen. Apart of that I believe
> >> we
> >> > are
> >> > > > ok
> >> > > > >> with that branch.
> >> > > > >>
> >> > > > >> [1] https://paste.apache.org/UzJI
> >> > > > >>
> >> > > > >> Thanks, Piotr
> >> > > > >>
> >> > > > >>
> >> > > > >> pt., 21 gru 2018 o 09:29 Greg Dove <gr...@gmail.com>
> >> > napisał(a):
> >> > > > >>
> >> > > > >>> Ok Piotr, I'm not sure what is happening there. It does seem
> >> > strange
> >> > > -
> >> > > > >>> shell.view.royale.Shell seems like a class and somehow has org
> >> > > > >>> <http://shell.view.royale.shell.org/
> >> > > >.apache.royale.jewel.Application
> >> > > > >>> appended to it.
> >> > > > >>>
> >> > > > >>> I don't think that is related to anything I did (and it works
> >> fine
> >> > > > >>> against
> >> > > > >>> the 'real-world' app I tested against - with maven build). Can
> >> you
> >> > > > build
> >> > > > >>> Tour de Jewel  ok?
> >> > > > >>>
> >> > > > >>>
> >> > > > >>>
> >> > > > >>>
> >> > > > >>>
> >> > > > >>> On Fri, Dec 21, 2018 at 9:04 PM Piotr Zarzycki <
> >> > > > >>> piotrzarzycki21@gmail.com>
> >> > > > >>> wrote:
> >> > > > >>>
> >> > > > >>> > Hi Greg,
> >> > > > >>> >
> >> > > > >>> > Thanks for your changes. Unfortunately I'm not able so far
> >> > properly
> >> > > > >>> build
> >> > > > >>> > my real world app using Maven. I build Jewel module by
> Maven,
> >> so
> >> > I
> >> > > > have
> >> > > > >>> > setup my app to be buildable with Maven. Unfortunately I'm
> >> > getting
> >> > > > >>> weird
> >> > > > >>> > exception during running app.
> >> > > > >>> >
> >> > > > >>> > SimpleCSSValuesImpl.js:102 Uncaught TypeError: Cannot read
> >> > property
> >> > > > >>> > 'string' of undefined
> >> > > > >>> >     at
> >> > > > >>> >
> >> > > > >>> >
> >> > > > >>>
> >> > > >
> >> > >
> >> >
> >>
> org.apache.royale.core.AllCSSValuesImpl.org.apache.royale.core.SimpleCSSValuesImpl.init
> >> > > > >>> > (SimpleCSSValuesImpl.js:102)
> >> > > > >>> >     at
> >> > > > >>> > shell.view.royale.Shell.org
> >> > > > >>> > .apache.royale.jewel.Application.set__valuesImpl
> >> > > > >>> > (Application.js:311)
> >> > > > >>> >     at shell.view.royale.Shell.org
> >> > .apache.royale.jewel.Application
> >> > > > [as
> >> > > > >>> > constructor] (Application.js:46)
> >> > > > >>> >     at Function.childCtor.base (base.js:2515)
> >> > > > >>> >
> >> > > > >>> > Above exception is not occurs when I'm building using
> >> Nightly. I
> >> > > > >>> probably
> >> > > > >>> > will have to build framework by ant and prepare IDE
> compatible
> >> > > > >>> environment
> >> > > > >>> > or will try to rebuild whole framework by Maven and try
> again.
> >> > > > >>> >
> >> > > > >>> > Thanks, Piotr
> >> > > > >>> >
> >> > > > >>> > czw., 20 gru 2018 o 10:49 Piotr Zarzycki <
> >> > > piotrzarzycki21@gmail.com>
> >> > > > >>> > napisał(a):
> >> > > > >>> >
> >> > > > >>> > > Hi Greg,
> >> > > > >>> > >
> >> > > > >>> > > Great news, cause I was going to look into that somewhere
> >> > between
> >> > > > >>> > > Christmas and New Year. I would be happy to test your
> >> changes!
> >> > Do
> >> > > > not
> >> > > > >>> > > hesitate push it!
> >> > > > >>> > >
> >> > > > >>> > > Thank you so much!
> >> > > > >>> > > Piotr
> >> > > > >>> > >
> >> > > > >>> > > czw., 20 gru 2018 o 10:39 Greg Dove <gr...@gmail.com>
> >> > > > >>> napisał(a):
> >> > > > >>> > >
> >> > > > >>> > >> Piotr, Alex,
> >> > > > >>> > >>
> >> > > > >>> > >> fyi I found some time to spend on this today, and Piotr,
> I
> >> > > should
> >> > > > be
> >> > > > >>> > ready
> >> > > > >>> > >> to push the changes I made to your branch tomorrow
> morning
> >> my
> >> > > time
> >> > > > >>> > (local
> >> > > > >>> > >> time - GMT+13).
> >> > > > >>> > >> It seems to be fine so far with 'selectionChange' for
> >> binding
> >> > > > based
> >> > > > >>> on
> >> > > > >>> > >> model changes and 'change' for class event meta. I have
> >> been
> >> > > been
> >> > > > >>> > testing
> >> > > > >>> > >> so far against Tour de Jewel, but I will test against our
> >> > > > real-world
> >> > > > >>> > >> project as well before I push to your branch Piotr.
> >> > > > >>> > >>
> >> > > > >>> > >> -Greg
> >> > > > >>> > >>
> >> > > > >>> > >>
> >> > > > >>> > >>
> >> > > > >>> > >>
> >> > > > >>> > >> On Wed, Dec 19, 2018 at 7:45 AM Greg Dove <
> >> > greg.dove@gmail.com>
> >> > > > >>> wrote:
> >> > > > >>> > >>
> >> > > > >>> > >> > Alex, I can't remember offhand, but I think we used
> that
> >> > once
> >> > > in
> >> > > > >>> only
> >> > > > >>> > >> one
> >> > > > >>> > >> > place, and I did it really quickly. I am sure there
> will
> >> be
> >> > a
> >> > > > way
> >> > > > >>> to
> >> > > > >>> > >> avoid
> >> > > > >>> > >> > it.
> >> > > > >>> > >> > I think the bigger issue is the way I did the changes
> to
> >> the
> >> > > > >>> model to
> >> > > > >>> > >> > support dispatching change events for programmatic
> >> changes,
> >> > > > which
> >> > > > >>> I
> >> > > > >>> > >> think
> >> > > > >>> > >> > Piotr was looking at.
> >> > > > >>> > >> > Maybe I can take a look at that later today, but I
> can't
> >> be
> >> > > > >>> certain.
> >> > > > >>> > >> > The simplest fix might be to revert everything I did
> and
> >> add
> >> > > > >>> binding
> >> > > > >>> > for
> >> > > > >>> > >> > the selection changes (currently 'selectedIndexChanged'
> >> and
> >> > > > >>> > >> > 'selectedItemChanged' which I know you say could be
> >> > > > >>> > 'selectionChanged')
> >> > > > >>> > >> in
> >> > > > >>> > >> > addition to 'change' (as discussed) and make sure the
> >> > > component
> >> > > > is
> >> > > > >>> > >> > dispatching those from the model (if it does not
> already
> >> do
> >> > > so).
> >> > > > >>> If
> >> > > > >>> > >> > 'selectionChanged' (or whatever it is) is already
> >> happening
> >> > > as a
> >> > > > >>> > result
> >> > > > >>> > >> of
> >> > > > >>> > >> > 'change' in addition to setter triggered changes, then
> it
> >> > > could
> >> > > > >>> be a
> >> > > > >>> > >> simple
> >> > > > >>> > >> > swap for the binding event only (as discussed also)
> >> > > > >>> > >> >
> >> > > > >>> > >> > But this last part was also applicable to the wholesale
> >> > change
> >> > > > to
> >> > > > >>> all
> >> > > > >>> > >> > component sets we were discussing, not just Jewel.
> >> > > > >>> > >> >
> >> > > > >>> > >> >
> >> > > > >>> > >> >
> >> > > > >>> > >> >
> >> > > > >>> > >> > On Wed, Dec 19, 2018 at 7:17 AM Alex Harui
> >> > > > >>> <ah...@adobe.com.invalid>
> >> > > > >>> > >> > wrote:
> >> > > > >>> > >> >
> >> > > > >>> > >> >> Greg, Carlos,
> >> > > > >>> > >> >>
> >> > > > >>> > >> >> Can one of you put together a simple test case that
> >> > > > demonstrates
> >> > > > >>> your
> >> > > > >>> > >> >> need for this "OnStartup" bead?  It doesn't need
> server
> >> > > access.
> >> > > > >>> You
> >> > > > >>> > >> can
> >> > > > >>> > >> >> probably inject a dataProvider on applicationComplete
> or
> >> > have
> >> > > > the
> >> > > > >>> > user
> >> > > > >>> > >> push
> >> > > > >>> > >> >> a button if the issue is about deferred arrival of
> >> server
> >> > > data.
> >> > > > >>> > >> >>
> >> > > > >>> > >> >> IMO, we have to be more concerned about getting the
> >> > patterns
> >> > > > >>> right
> >> > > > >>> > >> >> regressions, and the best way to avoid getting
> >> regressions
> >> > is
> >> > > > to
> >> > > > >>> > >> provide a
> >> > > > >>> > >> >> simple test case that demonstrates a problem in the
> >> > patterns.
> >> > > > >>> > >> >>
> >> > > > >>> > >> >> Hopefully, "OnStartup" beads are not going to be
> >> required
> >> > and
> >> > > > >>> won't
> >> > > > >>> > be
> >> > > > >>> > >> >> part of the framework.  The usability of the framework
> >> will
> >> > > go
> >> > > > >>> down
> >> > > > >>> > if
> >> > > > >>> > >> >> folks have to keep adding more and more "OnThis" and
> >> > "OnThat"
> >> > > > >>> beads
> >> > > > >>> > to
> >> > > > >>> > >> get
> >> > > > >>> > >> >> their app to work.  The approachability of the
> >> framework in
> >> > > > >>> terms of
> >> > > > >>> > >> >> documentation and number of classes won't scale either
> >> if
> >> > we
> >> > > > >>> don't
> >> > > > >>> > get
> >> > > > >>> > >> >> these patterns right.  This doesn't mean that you
> can't
> >> use
> >> > > an
> >> > > > >>> > >> "onStartup"
> >> > > > >>> > >> >> bead in your app in order to meet some deadline, and
> >> share
> >> > it
> >> > > > >>> with
> >> > > > >>> > >> others,
> >> > > > >>> > >> >> but we have to be careful about what patterns we
> >> promote in
> >> > > the
> >> > > > >>> SDK.
> >> > > > >>> > >> >>
> >> > > > >>> > >> >> My 2 cents,
> >> > > > >>> > >> >> -Alex
> >> > > > >>> > >> >>
> >> > > > >>> > >> >> On 12/18/18, 12:17 AM, "Greg Dove" <
> >> greg.dove@gmail.com>
> >> > > > wrote:
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>     Hi Piotr,
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>     I would be happy to work on it, and wish I could,
> >> but
> >> > the
> >> > > > >>> problem
> >> > > > >>> > >> for
> >> > > > >>> > >> >> me at
> >> > > > >>> > >> >>     the moment is that I can't make it a priority,
> >> because
> >> > > for
> >> > > > >>> now at
> >> > > > >>> > >> >> least it
> >> > > > >>> > >> >>     is functioning as we need it, and there are plenty
> >> of
> >> > > > things
> >> > > > >>> that
> >> > > > >>> > >> are
> >> > > > >>> > >> >> not
> >> > > > >>> > >> >>     (mostly unrelated to Jewel). While the
> >> implementation
> >> > as
> >> > > it
> >> > > > >>> > stands
> >> > > > >>> > >> >> might
> >> > > > >>> > >> >>     not be 'right', it does function as we need it to
> >> for
> >> > > now.
> >> > > > I
> >> > > > >>> > >> suspect
> >> > > > >>> > >> >> that
> >> > > > >>> > >> >>     is what Carlos meant when he said he was concerned
> >> > about
> >> > > > >>> > >> regressions.
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>     I have other stuff queued up to add in other areas
> >> too,
> >> > > > like
> >> > > > >>> > >> >> AMFBinaryData
> >> > > > >>> > >> >>     and AMFNetConnection but will need to do more work
> >> to
> >> > > > >>> generalize
> >> > > > >>> > >> it,
> >> > > > >>> > >> >> as I
> >> > > > >>> > >> >>     have it these working in a way that is almost
> >> complete,
> >> > > but
> >> > > > >>> > mostly
> >> > > > >>> > >> >> focused
> >> > > > >>> > >> >>     on what is sufficient for what Carlos needs for
> now.
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>     I hope to get some free time in early January to
> >> finish
> >> > > up
> >> > > > >>> these
> >> > > > >>> > >> >> things.
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>     On Tue, Dec 18, 2018 at 11:53 AM Piotr Zarzycki <
> >> > > > >>> > >> >> piotrzarzycki21@gmail.com>
> >> > > > >>> > >> >>     wrote:
> >> > > > >>> > >> >>
> >> > > > >>> > >> >>     > Hi Guys,
> >> > > > >>> > >> >>     >
> >> > > > >>> > >> >>     > I definitely need to a way of resolve that
> >> problem. I
> >> > > > will
> >> > > > >>> > review
> >> > > > >>> > >> >> emails
> >> > > > >>> > >> >>     > tomorrow.
> >> > > > >>> > >> >>     >
> >> > > > >>> > >> >>     > However if you Greg would like to try something
> go
> >> > for
> >> > > > it.
> >> > > > >>> > Would
> >> > > > >>> > >> be
> >> > > > >>> > >> >> great
> >> > > > >>> > >> >>     > if you could use my branch where changes which
> >> > removes
> >> > > > >>> > >> dispatching
> >> > > > >>> > >> >> "change"
> >> > > > >>> > >> >>     > event from model are in place.
> >> > > > >>> > >> >>     >
> >> > > > >>> > >> >>     > Thanks, Piotr
> >> > > > >>> > >> >>     >
> >> > > > >>> > >> >>     > pon., 17 gru 2018 o 23:46 Alex Harui
> >> > > > >>> <aharui@adobe.com.invalid
> >> > > > >>> > >
> >> > > > >>> > >> >>     > napisał(a):
> >> > > > >>> > >> >>     >
> >> > > > >>> > >> >>     > > Hi Greg,
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > > I haven't looked at how pervasive this change
> >> would
> >> > > be.
> >> > > > >>> I'm
> >> > > > >>> > >> >> mainly
> >> > > > >>> > >> >>     > saying
> >> > > > >>> > >> >>     > > that Flex worked with these categories of
> events
> >> > and
> >> > > I
> >> > > > >>> think
> >> > > > >>> > >> >> Royale can
> >> > > > >>> > >> >>     > too
> >> > > > >>> > >> >>     > > and would eliminate the need for
> >> > > > DispatchChangeOnStartup
> >> > > > >>> and
> >> > > > >>> > >> >> things like
> >> > > > >>> > >> >>     > > that.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > > You could be right that the models only need
> to
> >> > > > dispatch
> >> > > > >>> > >> >> selectionChange
> >> > > > >>> > >> >>     > > and not "change", as long as the controllers
> are
> >> > > > >>> guaranteed
> >> > > > >>> > to
> >> > > > >>> > >> >> update the
> >> > > > >>> > >> >>     > > model in a way that fires selectionChange.  I
> >> have
> >> > > this
> >> > > > >>> > feeling
> >> > > > >>> > >> >> that in
> >> > > > >>> > >> >>     > > Flex there were some backdoors for updating
> >> > > properties
> >> > > > >>> > without
> >> > > > >>> > >> >>     > dispatching
> >> > > > >>> > >> >>     > > events and dispatching the event "later", but
> I
> >> > don't
> >> > > > >>> think
> >> > > > >>> > >> we've
> >> > > > >>> > >> >> had to
> >> > > > >>> > >> >>     > > write such code in Royale and maybe we won't
> >> have
> >> > to
> >> > > or
> >> > > > >>> can't
> >> > > > >>> > >> >> because the
> >> > > > >>> > >> >>     > > browser will update right away in many cases.
> >> > There
> >> > > > were
> >> > > > >>> > >> >> somethings you
> >> > > > >>> > >> >>     > > could do in Flash knowing that all rendering
> was
> >> > > > >>> deferred to
> >> > > > >>> > >> frame
> >> > > > >>> > >> >>     > > updates.  In Royale, with separate models, the
> >> > > > controller
> >> > > > >>> > code
> >> > > > >>> > >> >> can't just
> >> > > > >>> > >> >>     > > set the backing variable.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > > So, if you want to give it a try having only
> >> > > > >>> selectionChange
> >> > > > >>> > as
> >> > > > >>> > >> >> the
> >> > > > >>> > >> >>     > > bindable event, go for it.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > > -Alex
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > > On 12/17/18, 12:35 PM, "Greg Dove" <
> >> > > > greg.dove@gmail.com>
> >> > > > >>> > >> wrote:
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     Thanks Alex.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     I only looked in Basic TextInput because I
> >> was
> >> > > > >>> looking
> >> > > > >>> > for
> >> > > > >>> > >> a
> >> > > > >>> > >> >> simpler
> >> > > > >>> > >> >>     > >     example of the general case being
> discussed.
> >> > That
> >> > > > >>> code
> >> > > > >>> > >> looks
> >> > > > >>> > >> >> like it
> >> > > > >>> > >> >>     > > might
> >> > > > >>> > >> >>     > >     need some work on the swf side in any
> case.
> >> > > > >>> > >> >>     > >     I was just looking for the
> >> 'programmaticChange'
> >> > > vs
> >> > > > >>> > >> >>     > > 'userInitiatedChange'
> >> > > > >>> > >> >>     > >     differences.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     Based on a quick look at the other Basic
> >> > classes,
> >> > > > the
> >> > > > >>> > >> >> conclusions
> >> > > > >>> > >> >>     > > appear
> >> > > > >>> > >> >>     > >     similar.  They are bindable via 'change'
> >> only.
> >> > > > >>> > >> >>     > >     And the models all dispatch both
> >> > > > >>> selectedIndexChanged and
> >> > > > >>> > >> >>     > >     selectedItemChanged.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     So it seems like you are proposing broad
> >> > changes
> >> > > > for
> >> > > > >>> > >> >> everything, if
> >> > > > >>> > >> >>     > > they
> >> > > > >>> > >> >>     > >     are to also support binding changes for
> >> > > > programmatic
> >> > > > >>> > >> changes?
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     For me, the change in something (or
> nothing)
> >> > > being
> >> > > > >>> > >> 'selected'
> >> > > > >>> > >> >>     > logically
> >> > > > >>> > >> >>     > >     occurs as a result of either user change
> or
> >> > > > >>> programmatic
> >> > > > >>> > >> >> change. On
> >> > > > >>> > >> >>     > > that
> >> > > > >>> > >> >>     > >     basis would it be possible to have the
> >> > > > >>> selectionChange as
> >> > > > >>> > >> the
> >> > > > >>> > >> >> sole
> >> > > > >>> > >> >>     > > Binding
> >> > > > >>> > >> >>     > >     event (which occurs from setter induced
> >> change
> >> > > and
> >> > > > >>> from
> >> > > > >>> > >> user
> >> > > > >>> > >> >> induced
> >> > > > >>> > >> >>     > >     change) and the 'change' event as
> >> > > user-interaction
> >> > > > >>> only
> >> > > > >>> > as
> >> > > > >>> > >> >> the class
> >> > > > >>> > >> >>     > > level
> >> > > > >>> > >> >>     > >     event type (as it is now)?
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     I have not thought about this as much as
> you
> >> > > (Alex
> >> > > > >>> and
> >> > > > >>> > >> >> others) have,
> >> > > > >>> > >> >>     > so
> >> > > > >>> > >> >>     > >     maybe that last suggestion does not make
> >> sense.
> >> > > > But I
> >> > > > >>> > >> really
> >> > > > >>> > >> >> think
> >> > > > >>> > >> >>     > > that for
> >> > > > >>> > >> >>     > >     whatever does make sense it would be great
> >> to
> >> > > > settle
> >> > > > >>> on
> >> > > > >>> > >> >> something and
> >> > > > >>> > >> >>     > > get
> >> > > > >>> > >> >>     > >     it consistent for all components  asap.
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     On Tue, Dec 18, 2018 at 8:43 AM Alex Harui
> >> > > > >>> > >> >> <aharui@adobe.com.invalid
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > > wrote:
> >> > > > >>> > >> >>     > >
> >> > > > >>> > >> >>     > >     > Hi Greg,
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > You are correct that there is a pain
> point
> >> > > around
> >> > > > >>> > binding
> >> > > > >>> > >> >> overhead
> >> > > > >>> > >> >>     > > and
> >> > > > >>> > >> >>     > >     > PAYG.  I can't think of a PAYG way of
> >> adding
> >> > > the
> >> > > > >>> > ability
> >> > > > >>> > >> to
> >> > > > >>> > >> >> add
> >> > > > >>> > >> >>     > more
> >> > > > >>> > >> >>     > >     > binding events via beads that doesn't
> have
> >> > too
> >> > > > much
> >> > > > >>> > >> >> overhead for
> >> > > > >>> > >> >>     > > folks not
> >> > > > >>> > >> >>     > >     > interested in those extra events.
> >> Actually,
> >> > > > there
> >> > > > >>> are
> >> > > > >>> > >> some
> >> > > > >>> > >> >> ways
> >> > > > >>> > >> >>     > > that are
> >> > > > >>> > >> >>     > >     > JS-only like replacing
> prototype-methods,
> >> > but I
> >> > > > >>> don't
> >> > > > >>> > >> think
> >> > > > >>> > >> >> we
> >> > > > >>> > >> >>     > > should rely
> >> > > > >>> > >> >>     > >     > on mutable class definitions.   In many
> >> cases
> >> > > we
> >> > > > >>> make
> >> > > > >>> > >> >> trade-offs
> >> > > > >>> > >> >>     > and
> >> > > > >>> > >> >>     > > Basic
> >> > > > >>> > >> >>     > >     > ends up being what we think almost all
> >> folks
> >> > > > "must
> >> > > > >>> > have".
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > When we first started out I was hoping
> to
> >> > > reduce
> >> > > > >>> > binding
> >> > > > >>> > >> >> overhead
> >> > > > >>> > >> >>     > > which is
> >> > > > >>> > >> >>     > >     > why some of the beads look like they do,
> >> but
> >> > > > these
> >> > > > >>> > days I
> >> > > > >>> > >> >> think it
> >> > > > >>> > >> >>     > > is more
> >> > > > >>> > >> >>     > >     > important to separate interactive events
> >> from
> >> > > > >>> > >> binding/setup
> >> > > > >>> > >> >> events.
> >> > > > >>> > >> >>     > > Folks
> >> > > > >>> > >> >>     > >     > who don't use a particular binding event
> >> can
> >> > > > always
> >> > > > >>> > >> replace
> >> > > > >>> > >> >> the
> >> > > > >>> > >> >>     > > model and
> >> > > > >>> > >> >>     > >     > top-level component with a version
> without
> >> > > events
> >> > > > >>> they
> >> > > > >>> > >> are
> >> > > > >>> > >> >> not
> >> > > > >>> > >> >>     > > interested
> >> > > > >>> > >> >>     > >     > in, or in the JS output, run a
> >> post-process
> >> > to
> >> > > > >>> cull out
> >> > > > >>> > >> >> metadata.
> >> > > > >>> > >> >>     > > But
> >> > > > >>> > >> >>     > >     > under the "almost all folks" rule, I
> think
> >> > > > "almost
> >> > > > >>> all
> >> > > > >>> > >> >> folks" don't
> >> > > > >>> > >> >>     > > want to
> >> > > > >>> > >> >>     > >     > run interaction handling code at setup
> >> time.
> >> > > > >>> > Especially
> >> > > > >>> > >> if
> >> > > > >>> > >> >> that
> >> > > > >>> > >> >>     > > handling
> >> > > > >>> > >> >>     > >     > code runs any sort of animation or does
> >> any
> >> > > other
> >> > > > >>> heavy
> >> > > > >>> > >> >> processing.
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > I could be wrong, but I'm pretty sure
> >> that if
> >> > > you
> >> > > > >>> just
> >> > > > >>> > >> take
> >> > > > >>> > >> >> a
> >> > > > >>> > >> >>     > > <select>
> >> > > > >>> > >> >>     > >     > element, you can set its initial
> selection
> >> > > value
> >> > > > >>> > without
> >> > > > >>> > >> it
> >> > > > >>> > >> >>     > > dispatching an
> >> > > > >>> > >> >>     > >     > event called "change".  Then when a user
> >> > > selects
> >> > > > an
> >> > > > >>> > item
> >> > > > >>> > >> >> you get a
> >> > > > >>> > >> >>     > > "change"
> >> > > > >>> > >> >>     > >     > event.  IMO, this is why "change" should
> >> be
> >> > an
> >> > > > >>> > >> interactive
> >> > > > >>> > >> >> event
> >> > > > >>> > >> >>     > and
> >> > > > >>> > >> >>     > > not a
> >> > > > >>> > >> >>     > >     > binding event.
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > So these are the reasons I think we
> should
> >> > > adjust
> >> > > > >>> the
> >> > > > >>> > >> basic
> >> > > > >>> > >> >> beads
> >> > > > >>> > >> >>     > to
> >> > > > >>> > >> >>     > >     > separate interactive events from setup
> >> events
> >> > > and
> >> > > > >>> why
> >> > > > >>> > >> >> "change" is
> >> > > > >>> > >> >>     > an
> >> > > > >>> > >> >>     > >     > interactive event.
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > Now, we could renew the effort to make
> >> Basic
> >> > > the
> >> > > > >>> truly
> >> > > > >>> > >> >> smallest
> >> > > > >>> > >> >>     > >     > implementation and move some of this
> >> logic to
> >> > > > >>> Express,
> >> > > > >>> > >> but
> >> > > > >>> > >> >> I keep
> >> > > > >>> > >> >>     > > seeing
> >> > > > >>> > >> >>     > >     > code creep into Basic to handle
> situations
> >> > that
> >> > > > >>> almost
> >> > > > >>> > >> all
> >> > > > >>> > >> >> folks
> >> > > > >>> > >> >>     > > need.
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > TextInput, on the other hand, has been
> an
> >> > > > >>> exception of
> >> > > > >>> > >> >> sorts in
> >> > > > >>> > >> >>     > > Flex.  The
> >> > > > >>> > >> >>     > >     > Flash/AIR runtime dispatches "change" on
> >> > > certain
> >> > > > >>> kinds
> >> > > > >>> > of
> >> > > > >>> > >> >> changes.
> >> > > > >>> > >> >>     > > So
> >> > > > >>> > >> >>     > >     > early implementations in Royale tried to
> >> > mimic
> >> > > > that
> >> > > > >>> > >> >> behavior for
> >> > > > >>> > >> >>     > > folks
> >> > > > >>> > >> >>     > >     > coming from Flex.  But maybe we should
> >> change
> >> > > > that
> >> > > > >>> and
> >> > > > >>> > >> make
> >> > > > >>> > >> >> Basic
> >> > > > >>> > >> >>     > > TextInput
> >> > > > >>> > >> >>     > >     > more consistent with browser behavior.
> >> The
> >> > > > >>> emulation
> >> > > > >>> > >> >> components
> >> > > > >>> > >> >>     > can
> >> > > > >>> > >> >>     > > mimic
> >> > > > >>> > >> >>     > >     > the old Flex behavior.  So I think using
> >> > > > TextInput
> >> > > > >>> as
> >> > > > >>> > >> >> precedent is
> >> > > > >>> > >> >>     > >     > misleading.
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > Thoughts?
> >> > > > >>> > >> >>     > >     > -Alex
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     > On 12/17/18, 10:55 AM, "Greg Dove" <
> >> > > > >>> > greg.dove@gmail.com>
> >> > > > >>> > >> >> wrote:
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     Alex, I was giving this some more
> >> thought
> >> > > > >>> also. I
> >> > > > >>> > >> >> understood
> >> > > > >>> > >> >>     > > that you
> >> > > > >>> > >> >>     > >     > meant
> >> > > > >>> > >> >>     > >     >     to add extra events for binding from
> >> your
> >> > > > >>> previous
> >> > > > >>> > >> >> comments.
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     But isn't the established pattern to
> >> add
> >> > a
> >> > > > >>> bead to
> >> > > > >>> > >> >> listen for
> >> > > > >>> > >> >>     > the
> >> > > > >>> > >> >>     > >     >     selectionChange and redispatch it as
> >> > > change?
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     At least that seems to be the case
> >> > > elsewhere
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     If I look at the code in Basic
> >> > TextInput...
> >> > > > >>> > >> >>     > >     >     it dispatches 'textChange' and
> >> 'change'
> >> > but
> >> > > > is
> >> > > > >>> only
> >> > > > >>> > >> >> Bindable
> >> > > > >>> > >> >>     > via
> >> > > > >>> > >> >>     > >     > 'change'.
> >> > > > >>> > >> >>     > >     >     There is effort to keep them
> >> > > > distinct/separate.
> >> > > > >>> > >> >>     > >     >     (OT: It looks like the swf side
> needs
> >> > some
> >> > > > >>> > >> consistency
> >> > > > >>> > >> >> in the
> >> > > > >>> > >> >>     > > html
> >> > > > >>> > >> >>     > >     > setter
> >> > > > >>> > >> >>     > >     >     same as the text setter.)
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     So TextInput appears to have 2
> >> distinct
> >> > > > events
> >> > > > >>> but
> >> > > > >>> > >> only
> >> > > > >>> > >> >> be
> >> > > > >>> > >> >>     > > Bindable
> >> > > > >>> > >> >>     > >     > for one
> >> > > > >>> > >> >>     > >     >     ('change'). So I presume that to
> make
> >> > that
> >> > > > >>> support
> >> > > > >>> > >> >> programmatic
> >> > > > >>> > >> >>     > >     > changes it
> >> > > > >>> > >> >>     > >     >     would be by adding a bead to listen
> to
> >> > the
> >> > > > >>> > >> 'textChange'
> >> > > > >>> > >> >> and
> >> > > > >>> > >> >>     > > redispatch
> >> > > > >>> > >> >>     > >     > as
> >> > > > >>> > >> >>     > >     >     'change' ?
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     Adding extra Bindable events adds
> >> weight
> >> > > > >>> because it
> >> > > > >>> > >> >> affects
> >> > > > >>> > >> >>     > > binding
> >> > > > >>> > >> >>     > >     > data,
> >> > > > >>> > >> >>     > >     >     and creates more runtime support for
> >> the
> >> > > same
> >> > > > >>> > feature
> >> > > > >>> > >> >> in use
> >> > > > >>> > >> >>     > > cases
> >> > > > >>> > >> >>     > >     > that may
> >> > > > >>> > >> >>     > >     >     not need it. I don't see how that
> can
> >> be
> >> > > > >>> > 'PAYG-ised'
> >> > > > >>> > >> >> because
> >> > > > >>> > >> >>     > > binding
> >> > > > >>> > >> >>     > >     >     support for different event types is
> >> > either
> >> > > > >>> there
> >> > > > >>> > at
> >> > > > >>> > >> >> compile
> >> > > > >>> > >> >>     > > time or
> >> > > > >>> > >> >>     > >     > it is
> >> > > > >>> > >> >>     > >     >     not in the component. So if the
> above
> >> is
> >> > > true
> >> > > > >>> for
> >> > > > >>> > >> >> TextInput (at
> >> > > > >>> > >> >>     > > this
> >> > > > >>> > >> >>     > >     > stage
> >> > > > >>> > >> >>     > >     >     it's a guess/observation, I did not
> >> try
> >> > > this
> >> > > > >>> yet),
> >> > > > >>> > >> then
> >> > > > >>> > >> >> could
> >> > > > >>> > >> >>     > it
> >> > > > >>> > >> >>     > > not be
> >> > > > >>> > >> >>     > >     >     similar for selection based
> >> components?
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     To me 'change' seems like something
> >> > generic
> >> > > > and
> >> > > > >>> > does
> >> > > > >>> > >> >> not sound
> >> > > > >>> > >> >>     > >     > specific to
> >> > > > >>> > >> >>     > >     >     being user-initiated change. My
> >> > > understanding
> >> > > > >>> is
> >> > > > >>> > that
> >> > > > >>> > >> >> it just
> >> > > > >>> > >> >>     > > happens
> >> > > > >>> > >> >>     > >     > to be
> >> > > > >>> > >> >>     > >     >     that way by default, unless you
> >> configure
> >> > > it
> >> > > > to
> >> > > > >>> > >> include
> >> > > > >>> > >> >>     > > programmatic
> >> > > > >>> > >> >>     > >     >     changes via bead.
> >> > > > >>> > >> >>     > >     >     If it is like this for Basic
> >> TextInput,
> >> > why
> >> > > > >>> can it
> >> > > > >>> > >> not
> >> > > > >>> > >> >> be the
> >> > > > >>> > >> >>     > > same for
> >> > > > >>> > >> >>     > >     >     other components ? (
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     On Tue, Dec 18, 2018 at 7:32 AM Alex
> >> > Harui
> >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> >> > > > >>> > >> >>     > >     > wrote:
> >> > > > >>> > >> >>     > >     >
> >> > > > >>> > >> >>     > >     >     > I took a quick look at
> >> > > ArrayListSelection.
> >> > > > >>> It
> >> > > > >>> > >> could
> >> > > > >>> > >> >> use some
> >> > > > >>> > >> >>     > >     >     > improvements, such as only
> >> dispatching
> >> > a
> >> > > > >>> single
> >> > > > >>> > >> >>     > > selectionChange event
> >> > > > >>> > >> >>     > >     >     > instead of both
> selectedIndexChange
> >> and
> >> > > > >>> > >> >> selectedItemChange.
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     > Some controller should dispatch
> the
> >> > > > "change"
> >> > > > >>> > event,
> >> > > > >>> > >> >> not the
> >> > > > >>> > >> >>     > > model.
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     > I took a quick look at List.as, (a
> >> top
> >> > > > level
> >> > > > >>> > >> >> component).  It
> >> > > > >>> > >> >>     > > should
> >> > > > >>> > >> >>     > >     > have
> >> > > > >>> > >> >>     > >     >     > bindable metadata that looks like
> >> this:
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     >         [Bindable("change")]
> >> > > > >>> > >> >>     > >     >     >
> >>  [Bindable("selectionChange")]
> >> > > > >>> > >> >>     > >     >     >         public function get
> >> > > > >>> selectedIndex():int
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     > Similar for selectedItem.  The
> >> [Event]
> >> > > > >>> metadata
> >> > > > >>> > for
> >> > > > >>> > >> >> List is
> >> > > > >>> > >> >>     > >     > correct,  It
> >> > > > >>> > >> >>     > >     >     > should only list interactive
> events
> >> > like
> >> > > > >>> "change"
> >> > > > >>> > >> and
> >> > > > >>> > >> >> not
> >> > > > >>> > >> >>     > > bindable
> >> > > > >>> > >> >>     > >     > events
> >> > > > >>> > >> >>     > >     >     > like selectionChange.  This
> usually
> >> > > > improves
> >> > > > >>> > >> >> performance by
> >> > > > >>> > >> >>     > not
> >> > > > >>> > >> >>     > >     > having the
> >> > > > >>> > >> >>     > >     >     > UI react to setup.
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     > Once all of those changes are
> made,
> >> we
> >> > > > should
> >> > > > >>> > >> discuss
> >> > > > >>> > >> >> any
> >> > > > >>> > >> >>     > > remaining
> >> > > > >>> > >> >>     > >     > issues.
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     > My 2 cents,
> >> > > > >>> > >> >>     > >     >     > -Alex
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     > On 12/17/18, 10:14 AM, "Piotr
> >> > Zarzycki" <
> >> > > > >>> > >> >>     > > piotrzarzycki21@gmail.com>
> >> > > > >>> > >> >>     > >     >     > wrote:
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     >     Basic ArrayListSelection model
> >> > > doesn't
> >> > > > >>> > dispatch
> >> > > > >>> > >> >> that
> >> > > > >>> > >> >>     > > event. I
> >> > > > >>> > >> >>     > >     > believe
> >> > > > >>> > >> >>     > >     >     > we
> >> > > > >>> > >> >>     > >     >     >     don't have to do this or
> rather
> >> do
> >> > > this
> >> > > > >>> only
> >> > > > >>> > if
> >> > > > >>> > >> >> we really
> >> > > > >>> > >> >>     > > need
> >> > > > >>> > >> >>     > >     > it, for
> >> > > > >>> > >> >>     > >     >     >     example if someone make
> >> programatic
> >> > > > >>> change of
> >> > > > >>> > >> >>     > > selectedIndex. -
> >> > > > >>> > >> >>     > >     > This is
> >> > > > >>> > >> >>     > >     >     >     general problem how to do
> that ?
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     >     If I change selectedIndex - my
> >> > model
> >> > > > >>> dispatch
> >> > > > >>> > >> >>     > >     > selectedInexChanged -
> >> > > > >>> > >> >>     > >     >     > where
> >> > > > >>> > >> >>     > >     >     >     should I catch it and dispatch
> >> > > "change"
> >> > > > >>> > event ?
> >> > > > >>> > >> >> My though
> >> > > > >>> > >> >>     > > are
> >> > > > >>> > >> >>     > >     > nowhere,
> >> > > > >>> > >> >>     > >     >     >     unless someone wanted to do
> that
> >> > and
> >> > > > >>> have a
> >> > > > >>> > >> bead.
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     >     pon., 17 gru 2018 o 19:08 Alex
> >> > Harui
> >> > > > >>> > >> >>     > > <ah...@adobe.com.invalid>
> >> > > > >>> > >> >>     > >     >     > napisał(a):
> >> > > > >>> > >> >>     > >     >     >
> >> > > > >>> > >> >>     > >     >     >     > Hi Piotr,
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     > I may not be understanding
> >> your
> >> > > > >>> problem.
> >> > > > >>> > Not
> >> > > > >>> > >> >> all
> >> > > > >>> > >> >>     > models
> >> > > > >>> > >> >>     > > will
> >> > > > >>> > >> >>     > >     >     > dispatch a
> >> > > > >>> > >> >>     > >     >     >     > change event, but it is hard
> >> to
> >> > > > >>> imagine a
> >> > > > >>> > >> >> selection
> >> > > > >>> > >> >>     > > model that
> >> > > > >>> > >> >>     > >     >     > doesn't.
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     > -Alex
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     > On 12/17/18, 9:36 AM, "Piotr
> >> > > > Zarzycki"
> >> > > > >>> <
> >> > > > >>> > >> >>     > >     > piotrzarzycki21@gmail.com>
> >> > > > >>> > >> >>     > >     >     > wrote:
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     I will review your email
> >> > again
> >> > > > and
> >> > > > >>> see
> >> > > > >>> > >> what
> >> > > > >>> > >> >> can I
> >> > > > >>> > >> >>     > do
> >> > > > >>> > >> >>     > > this.
> >> > > > >>> > >> >>     > >     >     > However
> >> > > > >>> > >> >>     > >     >     >     > this one
> >> > > > >>> > >> >>     > >     >     >     >     is a second problem.
> First
> >> > one
> >> > > > was
> >> > > > >>> > about
> >> > > > >>> > >> >>     > programmatic
> >> > > > >>> > >> >>     > >     > change
> >> > > > >>> > >> >>     > >     >     > discover
> >> > > > >>> > >> >>     > >     >     >     > - If
> >> > > > >>> > >> >>     > >     >     >     >     you are talking about
> >> that -
> >> > > Let
> >> > > > me
> >> > > > >>> > check
> >> > > > >>> > >> >> your
> >> > > > >>> > >> >>     > > earlier
> >> > > > >>> > >> >>     > >     > emails.
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     Thanks,
> >> > > > >>> > >> >>     > >     >     >     >     Piotr
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     pon., 17 gru 2018 o
> 18:30
> >> > Alex
> >> > > > >>> Harui
> >> > > > >>> > >> >>     > >     > <ah...@adobe.com.invalid>
> >> > > > >>> > >> >>     > >     >     >     > napisał(a):
> >> > > > >>> > >> >>     > >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     > FWIW, I would much
> >> rather
> >> > see
> >> > > > >>> energy
> >> > > > >>> > >> >> spent on
> >> > > > >>> > >> >>     > > trying to
> >> > > > >>> > >> >>     > >     >     > implement the
> >> > > > >>> > >> >>     > >     >     >     >     > patterns I suggested
> >> > earlier,
> >> > > > >>> which
> >> > > > >>> > >> will
> >> > > > >>> > >> >>     > hopefully
> >> > > > >>> > >> >>     > >     > eliminate
> >> > > > >>> > >> >>     > >     >     > the
> >> > > > >>> > >> >>     > >     >     >     > need for
> >> > > > >>> > >> >>     > >     >     >     >     >
> DispatchChangeOnStartup.
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     > My 2 cents,
> >> > > > >>> > >> >>     > >     >     >     >     > -Alex
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     > On 12/17/18, 4:34 AM,
> >> > "Piotr
> >> > > > >>> > Zarzycki"
> >> > > > >>> > >> <
> >> > > > >>> > >> >>     > >     >     > piotrzarzycki21@gmail.com>
> >> > > > >>> > >> >>     > >     >     >     > wrote:
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     Carlos,
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     I don't understand
> >> this
> >> > > > >>> sentence
> >> > > > >>> > >> -> "
> >> > > > >>> > >> >> If not
> >> > > > >>> > >> >>     > > we can
> >> > > > >>> > >> >>     > >     > get
> >> > > > >>> > >> >>     > >     >     > involved
> >> > > > >>> > >> >>     > >     >     >     > in
> >> > > > >>> > >> >>     > >     >     >     >     > pursues
> >> > > > >>> > >> >>     > >     >     >     >     >     problems
> >> > > > >>> > >> >>     > >     >     >     >     >     that are not
> real."
> >> -
> >> > > What
> >> > > > >>> do you
> >> > > > >>> > >> >> mean here ?
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     Ok I can wait for
> >> Alex
> >> > > > >>> review.
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     However your
> review
> >> and
> >> > > > look
> >> > > > >>> into
> >> > > > >>> > >> >> above
> >> > > > >>> > >> >>     > problem
> >> > > > >>> > >> >>     > >     > doesn't
> >> > > > >>> > >> >>     > >     >     > need
> >> > > > >>> > >> >>     > >     >     >     > Alex's
> >> > > > >>> > >> >>     > >     >     >     >     >     attention. This
> bead
> >> > > > >>> > >> >>     > (DispatchChangeOnStartup)
> >> > > > >>> > >> >>     > >     > probably
> >> > > > >>> > >> >>     > >     >     > won't
> >> > > > >>> > >> >>     > >     >     >     > work
> >> > > > >>> > >> >>     > >     >     >     >     > doesn't
> >> > > > >>> > >> >>     > >     >     >     >     >     matter if we fix
> >> > > > programmatic
> >> > > > >>> > >> change
> >> > > > >>> > >> >> or not.
> >> > > > >>> > >> >>     > -
> >> > > > >>> > >> >>     > >     > Unless I
> >> > > > >>> > >> >>     > >     >     > bring
> >> > > > >>> > >> >>     > >     >     >     > back
> >> > > > >>> > >> >>     > >     >     >     >     >     dispatching
> "change"
> >> > > event
> >> > > > >>> from
> >> > > > >>> > >> model
> >> > > > >>> > >> >> - which
> >> > > > >>> > >> >>     > > rather
> >> > > > >>> > >> >>     > >     > is not
> >> > > > >>> > >> >>     > >     >     >     >     > recommended in
> >> > > > >>> > >> >>     > >     >     >     >     >     previous
> discussion.
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     Thanks, Piotr
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     pon., 17 gru 2018
> o
> >> > 13:14
> >> > > > >>> Carlos
> >> > > > >>> > >> >> Rovira <
> >> > > > >>> > >> >>     > >     >     > carlosrovira@apache.org
> >> > > > >>> > >> >>     > >     >     >     > >
> >> > > > >>> > >> >>     > >     >     >     >     >     napisał(a):
> >> > > > >>> > >> >>     > >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     > Hi Piotr,
> >> > > > >>> > >> >>     > >     >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     > I think we
> should
> >> > solve
> >> > > > >>> first
> >> > > > >>> > the
> >> > > > >>> > >> >>     > programatic
> >> > > > >>> > >> >>     > >     > change so
> >> > > > >>> > >> >>     > >     >     > I can
> >> > > > >>> > >> >>     > >     >     >     > test
> >> > > > >>> > >> >>     > >     >     >     >     > the
> >> > > > >>> > >> >>     > >     >     >     >     >     > branch and see
> >> > > > >>> regressions. If
> >> > > > >>> > >> not
> >> > > > >>> > >> >> we can
> >> > > > >>> > >> >>     > get
> >> > > > >>> > >> >>     > >     > involved in
> >> > > > >>> > >> >>     > >     >     >     > pursues
> >> > > > >>> > >> >>     > >     >     >     >     > problems
> >> > > > >>> > >> >>     > >     >     >     >     >     > that are not
> >> real. I
> >> > > > think
> >> > > > >>> Alex
> >> > > > >>> > >> >> missed this
> >> > > > >>> > >> >>     > >     > discussion.
> >> > > > >>> > >> >>     > >     >     > I'll
> >> > > > >>> > >> >>     > >     >     >     > point
> >> > > > >>> > >> >>     > >     >     >     >     > him in
> >> > > > >>> > >> >>     > >     >     >     >     >     > this thread to
> >> see if
> >> > > he
> >> > > > >>> can
> >> > > > >>> > give
> >> > > > >>> > >> >> his
> >> > > > >>> > >> >>     > opinion
> >> > > > >>> > >> >>     > >     > about the
> >> > > > >>> > >> >>     > >     >     > ways
> >> > > > >>> > >> >>     > >     >     >     > you
> >> > > > >>> > >> >>     > >     >     >     >     > proposed
> >> > > > >>> > >> >>     > >     >     >     >     >     > in the initial
> >> thread
> >> > > > >>> email.
> >> > > > >>> > >> >>     > >     >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     > Thanks!
> >> > > > >>> > >> >>     > >     >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     > El lun., 17 dic.
> >> > 2018 a
> >> > > > las
> >> > > > >>> > >> 10:57,
> >> > > > >>> > >> >> Piotr
> >> > > > >>> > >> >>     > > Zarzycki
> >> > > > >>> > >> >>     > >     > (<
> >> > > > >>> > >> >>     > >     >     >     >     >     >
> >> > > > piotrzarzycki21@gmail.com
> >> > > > >>> >)
> >> > > > >>> > >> >> escribió:
> >> > > > >>> > >> >>     > >     >     >     >     >     >
> >> > > > >>> > >> >>     > >     >     >     >     >     > > Hi Carlos,
> >> > > > >>> > >> >>     > >     >     >     >     >     > >
> >> > > > >>> > >> >>     > >     >     >     >     >     > > I just noticed
> >> that
> >> > > if
> >> > > > >>> model
> >> > > > >>> > do
> >> > > > >>> > >> >> not
> >> > > > >>> > >> >>     > > dispatch
> >> > > > >>> > >> >>     > >     > change
> >> > > > >>> > >> >>     > >     >     > event -
> >> > > > >>> > >> >>     > >     >     >     > your
> >> > > > >>> > >> >>     > >     >     >     >     > bead
> >> > > > >>> > >> >>     > >     >     >     >     >     > >
> >> > > DispatchChangeOnStartup
> >> > > > >>> won't
> >> > > > >>> > >> work
> >> > > > >>> > >> >>     > because
> >> > > > >>> > >> >>     > > it
> >> > > > >>> > >> >>     > >     > simply
> >> > > > >>> > >> >>     > >     >     > based on
> >> > > > >>> > >> >>     > >     >     >     >     > dispatching
> >> > > > >>> > >> >>     > >     >     >     >     >     > > "change" event
> >> > trough
> >> > > > >>> model.
> >> > > > >>> > >> >>     > >     >     >     >     >     > >
> >> > > > >>> > >> >>     > >     >     >     >     >     > > I'm wondering
> >> > whether
> >> > > > it
> >> > > > >>> > won't
> >> > > > >>> > >> be
> >> > > > >>> > >> >> enough
> >> > > > >>> > >> >>     > > if that
> >> > > > >>> > >> >>     > >     > bead
> >> > > > >>> > >> >>     > >     >     > listen
> >> > > > >>> > >> >>     > >     >     >     > for
> >> > > > >>> > >> >>     > >     >     >     >     >     > > "beadsAdded"
> >> (here
> >> > I
> >> > > > >>> think it
> >> > > > >>> > >> >> should be
> >> > > > >>> > >> >>
> >
> >
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>


-- 
Carlos Rovira
http://about.me/carlosrovira