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%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://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*

Reply via email to