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 <[email protected]>
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 <[email protected]>
> 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 <[email protected]> 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 <
>>> [email protected]>
>>> 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 <[email protected]>
>>> > 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 <[email protected]>
>>> 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 <[email protected]>
>>> 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
>>> <[email protected]>
>>> > >> > 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" <[email protected]> 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 <
>>> > >> >> [email protected]>
>>> > >> >>     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
>>> <[email protected]
>>> > >
>>> > >> >>     > 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" <[email protected]>
>>> > >> 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
>>> > >> >> <[email protected]
>>> > >> >>     > >
>>> > >> >>     > > 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" <
>>> > [email protected]>
>>> > >> >> 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
>>> > >> >>     > > <[email protected]>
>>> > >> >>     > >     > 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" <
>>> > >> >>     > > [email protected]>
>>> > >> >>     > >     >     > 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
>>> > >> >>     > > <[email protected]>
>>> > >> >>     > >     >     > 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"
>>> <
>>> > >> >>     > >     > [email protected]>
>>> > >> >>     > >     >     > 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
>>> > >> >>     > >     > <[email protected]>
>>> > >> >>     > >     >     >     > 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"
>>> > >> <
>>> > >> >>     > >     >     > [email protected]>
>>> > >> >>     > >     >     >     > 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 <
>>> > >> >>     > >     >     > [email protected]
>>> > >> >>     > >     >     >     > >
>>> > >> >>     > >     >     >     >     >     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
>>> > >> >>     > >     > (<
>>> > >> >>     > >     >     >     >     >     > [email protected]
>>> >)
>>> > >> >> 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
>>> > >> >>     > >     > registered for
>>> > >> >>     > >     >     >     >     > "initComplete"
>>> > >> >>     > >     >     >     >     >     > > instead) and dispatch
>>> change
>>> > >> >> event once.
>>> > >> >>     > I
>>> > >> >>     > > made
>>> > >> >>     > >     > the
>>> > >> >>     > >     >     > changes
>>> > >> >>     > >     >     >     > to
>>> > >> >>     > >     >     >     >     > that bead,
>>> > >> >>     > >     >     >     >     >     > > but I don't have scenario
>>> > which
>>> > >> >> you are
>>> > >> >>     > > using it.
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > >  Will you be able to
>>> test my
>>> > >> >> changes on
>>> > >> >>     > > your
>>> > >> >>     > >     >     > application end
>>> > >> >>     > >     >     >     > using
>>> > >> >>     > >     >     >     >     > my
>>> > >> >>     > >     >     >     >     >     > > branch ? Above changes
>>> are
>>> > not
>>> > >> >> fully
>>> > >> >>     > > related to
>>> > >> >>     > >     > what
>>> > >> >>     > >     >     > we are
>>> > >> >>     > >     >     >     >     > discussing
>>> > >> >>     > >     >     >     >     >     > > here, so programmatic
>>> change
>>> > >> >> still won't
>>> > >> >>     > > work
>>> > >> >>     > >     > yet.
>>> > >> >>     > >     >     > Please
>>> > >> >>     > >     >     >     > review
>>> > >> >>     > >     >     >     >     > those
>>> > >> >>     > >     >     >     >     >     > > changes as well [1]
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > Those new changes are
>>> just to
>>> > >> >> check
>>> > >> >>     > > whether I
>>> > >> >>     > >     > won't
>>> > >> >>     > >     >     > break
>>> > >> >>     > >     >     >     > any of
>>> > >> >>     > >     >     >     >     > your
>>> > >> >>     > >     >     >     >     >     > > functionality on
>>> startup. I
>>> > >> will
>>> > >> >> move for
>>> > >> >>     > >     > creating
>>> > >> >>     > >     >     > bead for
>>> > >> >>     > >     >     >     >     > discovering
>>> > >> >>     > >     >     >     >     >     > > programmatic changes, but
>>> > first
>>> > >> >> would
>>> > >> >>     > like
>>> > >> >>     > > to
>>> > >> >>     > >     > know
>>> > >> >>     > >     >     > whether
>>> > >> >>     > >     >     >     > till now
>>> > >> >>     > >     >     >     >     >     > > everything is working
>>> fine.
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > [1]
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Fcommit%2F14f6354e037e5854900ef5620581f6914bd604c4&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284003207&amp;sdata=ceIkx4wphA1rgpPQ1yLQEIac6MJ4HSwKxIS7nmbC3Gg%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > Thanks, Piotr
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > pt., 14 gru 2018 o 19:55
>>> > Carlos
>>> > >> >> Rovira <
>>> > >> >>     > >     >     >     > [email protected]>
>>> > >> >>     > >     >     >     >     >     > > napisał(a):
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > > Hi Piotr,
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > after check example
>>> code,
>>> > we
>>> > >> >> have:
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > <j:ComboBox
>>> > >> >> id="watchmenComboBox"
>>> > >> >>     > >     >     >     >     >
>>> dataProvider="{listModel.watchmen}">
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >>  ...
>>> > >> >>     > >     >     >     >     >     > > > then NS:
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > <j:NumericStepper
>>> > >> >>     > >     >     >     >
>>> > valueChange="watchmenComboBox.selectedIndex =
>>> > >> >>     > >     >     >     >     >     > > > event.target.value"
>>> > >> minimum="0"
>>> > >> >>     > > maximum="5"/>
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > and finally
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > <j:Label
>>> > >> >> id="watchmenComboBoxResult"
>>> > >> >>     > > html=
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     > "{describeItem(watchmenComboBox.selectedItem)}"/>
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > I think right now
>>> works as
>>> > >> >> expected,
>>> > >> >>     > > since the
>>> > >> >>     > >     >     > change is
>>> > >> >>     > >     >     >     >     > programatic
>>> > >> >>     > >     >     >     >     >     > (is
>>> > >> >>     > >     >     >     >     >     > > > not the user clicking
>>> in
>>> > the
>>> > >> >> combo list
>>> > >> >>     > > and
>>> > >> >>     > >     > selecting
>>> > >> >>     > >     >     >     > other item
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > So I think a bead
>>> should be
>>> > >> >> better in
>>> > >> >>     > > this
>>> > >> >>     > >     > case, that
>>> > >> >>     > >     >     >     > takes care
>>> > >> >>     > >     >     >     >     > of
>>> > >> >>     > >     >     >     >     >     > this
>>> > >> >>     > >     >     >     >     >     > > > behavior.
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > I'm interested in Alex
>>> > >> response
>>> > >> >> about
>>> > >> >>     > > how to
>>> > >> >>     > >     > handle
>>> > >> >>     > >     >     > it
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > Thanks Piotr for
>>> working on
>>> > >> this
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > Carlos
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > El vie., 14 dic. 2018
>>> a las
>>> > >> >> 17:02,
>>> > >> >>     > Piotr
>>> > >> >>     > >     > Zarzycki (<
>>> > >> >>     > >     >     >     >     >     > > >
>>> [email protected]
>>> > >)
>>> > >> >> escribió:
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > > Hi Carlos,
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > I have created issue
>>> [1]
>>> > >> and
>>> > >> >> branch
>>> > >> >>     > > [2] for
>>> > >> >>     > >     >     > problem with
>>> > >> >>     > >     >     >     > double
>>> > >> >>     > >     >     >     >     >     > > dispatch
>>> > >> >>     > >     >     >     >     >     > > > > "change" event.
>>> > >> >>     > >     >     >     >     >     > > > > I have pushed changes
>>> > when
>>> > >> I'm
>>> > >> >>     > > removing from
>>> > >> >>     > >     >     >     >     > ArrayListSelectionModel
>>> > >> >>     > >     >     >     >     >     > > > > dispatch of change
>>> event.
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > Above action
>>> successfully
>>> > >> fix
>>> > >> >> however
>>> > >> >>     > > like I
>>> > >> >>     > >     >     > thought it's
>>> > >> >>     > >     >     >     >     > introduces
>>> > >> >>     > >     >     >     >     >     > > > > another one which I
>>> would
>>> > >> >> like to
>>> > >> >>     > > discuss
>>> > >> >>     > >     > how to
>>> > >> >>     > >     >     > fix. I
>>> > >> >>     > >     >     >     > have
>>> > >> >>     > >     >     >     >     > deployed
>>> > >> >>     > >     >     >     >     >     > > > > temporary Tour De
>>> Jewel
>>> > >> here
>>> > >> >> [3] in
>>> > >> >>     > > order to
>>> > >> >>     > >     > show
>>> > >> >>     > >     >     > you
>>> > >> >>     > >     >     >     > and to
>>> > >> >>     > >     >     >     >     > others
>>> > >> >>     > >     >     >     >     >     > > that
>>> > >> >>     > >     >     >     >     >     > > > > issue.
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > *New Issue:*
>>> > >> >>     > >     >     >     >     >     > > > > When you go to
>>> ComboBox
>>> > and
>>> > >> >> try to
>>> > >> >>     > > change
>>> > >> >>     > >     >     > selectedIndex
>>> > >> >>     > >     >     >     > using
>>> > >> >>     > >     >     >     >     >     > > > > NumericStepper it
>>> will
>>> > >> >> successfully
>>> > >> >>     > > change
>>> > >> >>     > >     >     > selectedItem
>>> > >> >>     > >     >     >     > in
>>> > >> >>     > >     >     >     >     > ComboBox.
>>> > >> >>     > >     >     >     >     >     > > > > Unfortunately label
>>> on
>>> > the
>>> > >> >> right
>>> > >> >>     > sight
>>> > >> >>     > > of
>>> > >> >>     > >     > ComboBox
>>> > >> >>     > >     >     > won't
>>> > >> >>     > >     >     >     > be
>>> > >> >>     > >     >     >     >     > updated.
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > *Question is:*
>>> > >> >>     > >     >     >     >     >     > > > > How should be
>>> implemented
>>> > >> >> discover of
>>> > >> >>     > >     > programmatic
>>> > >> >>     > >     >     >     > change of
>>> > >> >>     > >     >     >     >     >     > > > selectedIndex
>>> > >> >>     > >     >     >     >     >     > > > > and selectedItem ?
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > *I see following
>>> > options:*
>>> > >> >>     > >     >     >     >     >     > > > > 1) We should listen
>>> on
>>> > >> events
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >> selectedIndexChanged/selectedItemChanged
>>> > >> >>     > >     >     >     >     >     > > > and
>>> > >> >>     > >     >     >     >     >     > > > > dispatch "change"
>>> from
>>> > >> >> components
>>> > >> >>     > View
>>> > >> >>     > > bead.
>>> > >> >>     > >     > In
>>> > >> >>     > >     >     > this way
>>> > >> >>     > >     >     >     > we
>>> > >> >>     > >     >     >     >     > have to
>>> > >> >>     > >     >     >     >     >     > > take
>>> > >> >>     > >     >     >     >     >     > > > > into account places
>>> where
>>> > >> >> "we" as a
>>> > >> >>     > > component
>>> > >> >>     > >     >     > setup those
>>> > >> >>     > >     >     >     >     > properties
>>> > >> >>     > >     >     >     >     >     > > > > internally - In that
>>> case
>>> > >> >>     > >     > "selectedIndexChanged"
>>> > >> >>     > >     >     > and
>>> > >> >>     > >     >     >     >     >     > > > "selectedItemChanged"
>>> > >> >>     > >     >     >     >     >     > > > > event shouldn't be
>>> > >> dispatch.
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > 2) Create separate
>>> bead
>>> > >> which
>>> > >> >> allows
>>> > >> >>     > > discover
>>> > >> >>     > >     >     >     > programmatic
>>> > >> >>     > >     >     >     >     > change of
>>> > >> >>     > >     >     >     >     >     > > > > selectedIndex and
>>> > >> >> selectedItem- cause
>>> > >> >>     > > not
>>> > >> >>     > >     > everyone
>>> > >> >>     > >     >     >     > wanted to
>>> > >> >>     > >     >     >     >     > have at
>>> > >> >>     > >     >     >     >     >     > > all
>>> > >> >>     > >     >     >     >     >     > > > > programmatic change
>>> event
>>> > >> in
>>> > >> >> the
>>> > >> >>     > > component -
>>> > >> >>     > >     >     > probably
>>> > >> >>     > >     >     >     > most of
>>> > >> >>     > >     >     >     >     > the
>>> > >> >>     > >     >     >     >     >     > cases
>>> > >> >>     > >     >     >     >     >     > > > > will be opposite.
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > What others think
>>> about
>>> > >> that ?
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > [1]
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Fissues%2F353&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=i2ZNUl1KvL60iqlZt888Q0aowpNvTaVnyQqgFGAvCVs%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > > > > [2]
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-asjs%2Ftree%2Fbugfix%2Fissue_353_double_dispatch_of_change_event_in_Jewel_List&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BewtJrgepDQvKgQxx4MtI3tpyoedNnwsjPFtmnfzY2A%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > > > > [3]
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftranspiledactionscript.com%2Fdev%2Froyale%2F%23&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=uCD2RJp2iFdW9%2BHjScGeJKaR87qaAT6%2FUDvAgOYAk5Y%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > Thanks,
>>> > >> >>     > >     >     >     >     >     > > > > --
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > Piotr Zarzycki
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > > > Patreon: *
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > > > > <
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     > >*
>>> > >> >>     > >     >     >     >     >     > > > >
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > > > --
>>> > >> >>     > >     >     >     >     >     > > > Carlos Rovira
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=J1FV%2B%2B98n8X%2B63fllpZNMqVxwGiWKMZxcVmVWiQQq8w%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > > >
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > --
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > Piotr Zarzycki
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     > > Patreon: *
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     > > <
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=%2BYYs6ucuVcxDBnsY%2BjPWNAhKsLBVTYWQLbIO%2F6iaze0%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     > >*
>>> > >> >>     > >     >     >     >     >     > >
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >>     > >     >     >     >     >     > --
>>> > >> >>     > >     >     >     >     >     > Carlos Rovira
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284013217&amp;sdata=J1FV%2B%2B98n8X%2B63fllpZNMqVxwGiWKMZxcVmVWiQQq8w%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >     >     --
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >     >     Piotr Zarzycki
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >     >     Patreon: *
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     >     <
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     > >*
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >     >     --
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >     >     Piotr Zarzycki
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >     >     Patreon: *
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
>>> > >> >>     > >     >     >     >     <
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
>>> > >> >>     > >     >     >     > >*
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >     >     --
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >     >     Piotr Zarzycki
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >     >     Patreon: *
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
>>> > >> >>     > >     >     >     <
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0
>>> > >> >>     > >     >     > >*
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >     >
>>> > >> >>     > >     >
>>> > >> >>     > >     >
>>> > >> >>     > >     >
>>> > >> >>     > >
>>> > >> >>     > >
>>> > >> >>     > >
>>> > >> >>     >
>>> > >> >>     > --
>>> > >> >>     >
>>> > >> >>     > Piotr Zarzycki
>>> > >> >>     >
>>> > >> >>     > Patreon: *
>>> > >> >>
>>> > >>
>>> >
>>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fp
>>> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Ca945ffe445614a538d4d08d664c13319%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636807178284023226&amp;sdata=mrx6J9BeewcazF%2F6FE8xAZlfCB72VZC15zgvIOP1JEg%3D&amp;reserved=0>
>>
>>

-- 

Piotr Zarzycki

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

Reply via email to