Hi Carlos, Greg, I checked and it looks like if I remove CHANGE event from that place - it is affect List. CHANGE event won't work at all. I won't touch it, but if my scenario is valid - future user who would like to resolve some problems with list and have some actions from them - may have a problem.
Thanks, Piotr czw., 7 lut 2019 o 23:14 Piotr Zarzycki <[email protected]> napisał(a): > Hi Greg, > > Yes I think that is correct and I believe this is how it's working now. I > just bump into that. Maybe my scenario have also some reasonable meaning. I > have List which has item renderer and inside that item renderer I'm having > CheckBox. > > I want to know in general which checkbox is selected, so do not go to much > in the details. > > When you have default item renderer and click on it - You have > selectedIndex = 1,2 etc. Controller [1] in that case listen for click and > make assign to selectedIndex. > > When you click on my item renderer - click won't be received by > controller, cause you will simply clicking into CheckBox instead of item > renderer itself, so no selectedIndex, no Change event etc. I resolved it by > dispatching "itemClick" once someone is clicking onto CheckBox - Controller > receiving event and making selctedIndex additionally dispatching [1]. User > receiving that Change event, but two times. By dispatching that event > "itemClick" I'm probably not doing anything usual - that's why I didn't > mention in the previous email that scenario. > I have resolved that double dispatch by creating my own controller where > CHANGE dispatch [1] is simply removed. > > Please do not think too much about my scenario and requirements - I'm > asking whether it even needed when you have default item renderer. IMO I > didn't have time too look into that myself, but maybe I will. > > I will take my controller (without change event) and simply assign to > default List to see what is happen - Cause my List itself is also custom > one. ;) > > [1] https://bit.ly/2GeQ5En > > Thanks, > Piotr > > czw., 7 lut 2019 o 20:44 Greg Dove <[email protected]> napisał(a): > >> Hi Piotr, Carlos, >> >> I expect to have time next week to spend on this and other tasks that I >> have been hoping to get to for Royale, although I expect to focus on >> AMFBinaryData first. >> >> Piotr, correct me if I'm wrong, but I think the general approach we got to >> was that : >> >> -the model should dispatch individual 'selectionChanged', >> 'dataProviderChanged', etc directly from the host component for binding >> support, and >> -user initiated changes/interaction should dispatch 'change' event, which >> can occur alongside a subset of 'selectionChanged' events, for example. >> >> >> >> >> On Fri, Feb 8, 2019 at 12:58 AM Piotr Zarzycki <[email protected] >> > >> wrote: >> >> > Ok I will check. >> > >> > Thanks, >> > Piotr >> > >> > On Thu, Feb 7, 2019, 12:40 PM Carlos Rovira <[email protected]> >> > wrote: >> > >> > > Hi Piotr, >> > > >> > > could you check in Tour De Jewel if removing that sentence makes some >> > > regression in examples? >> > > (I mean example with Lists and other deviated like ComboBox that use >> > List) >> > > >> > > If you don't see anything I could try as well in our app and see if >> > there's >> > > some possible use case don't covered in TDJ and in that case maybe we >> can >> > > see if that could be refactored some way >> > > >> > > thanks! >> > > >> > > Carlos >> > > >> > > >> > > >> > > El jue., 7 feb. 2019 a las 11:02, Piotr Zarzycki (< >> > > [email protected]>) >> > > escribió: >> > > >> > > > Hi Greg, >> > > > >> > > > I'm progressing with some application and discovered that we are >> > > > dispatching CHANGE event from here [1] - I'm wondering whether we >> > really >> > > > need it. Model is being update in that operation - I believe it >> should >> > be >> > > > enough. >> > > > >> > > > Just to make it clear there is no issue - I mean CHANGE event >> doesn't >> > > fire >> > > > two times etc. because of that. I didn't check whether it makes any >> > > > difference. >> > > > >> > > > [1] https://bit.ly/2GeQ5En >> > > > >> > > > Thanks, >> > > > Piotr >> > > > >> > > > pon., 24 gru 2018 o 11:51 Piotr Zarzycki <[email protected] >> > >> > > > napisał(a): >> > > > >> > > > > Hi Carlos, >> > > > > >> > > > > You have less events flying around the head. :) >> > > > > >> > > > > Piotr >> > > > > >> > > > > On Mon, Dec 24, 2018, 11:32 AM Carlos Rovira < >> > [email protected]> >> > > > > wrote: >> > > > > >> > > > >> Thanks Piotr and Greg, >> > > > >> >> > > > >> I'm catching up with all the thread. I'm testing and seems all is >> > ok, >> > > > >> Seems >> > > > >> Jewel List, ComboBox, DropDownList are now much better and >> robust :) >> > > > >> Great work! Thanks for working on this! :) >> > > > >> >> > > > >> Carlos >> > > > >> >> > > > >> >> > > > >> >> > > > >> >> > > > >> >> > > > >> El dom., 23 dic. 2018 a las 9:16, Piotr Zarzycki (< >> > > > >> [email protected]>) >> > > > >> escribió: >> > > > >> >> > > > >> > Great! More tests the better. I will switch to your branch as >> well >> > > > when >> > > > >> you >> > > > >> > make the changes. >> > > > >> > >> > > > >> > Many Thanks for help with that. Let's see what's more comes on >> the >> > > > >> road. :) >> > > > >> > >> > > > >> > Best, >> > > > >> > Piotr >> > > > >> > >> > > > >> > On Sat, Dec 22, 2018, 11:23 PM Greg Dove <[email protected]> >> > > wrote: >> > > > >> > >> > > > >> > > I already checked this against the app that we are working >> on, >> > so >> > > > feel >> > > > >> > free >> > > > >> > > to merge that in if it fixes the problem you were seeing, >> Piotr. >> > > > >> > > For the more general changes with dispatching from strand and >> > > > avoiding >> > > > >> > > IEventDispatcher-ness , I can come back to that and try to >> do a >> > > > >> refactor >> > > > >> > > sweep through these changes as discussed with Alex, and the >> > other >> > > > >> > component >> > > > >> > > sets in a couple of weeks. But I will do that in a refactor >> > > branch. >> > > > >> I'm >> > > > >> > not >> > > > >> > > using the other component sets at the moment, and although I >> > know >> > > > >> there >> > > > >> > are >> > > > >> > > example projects to check against, I think checking against a >> > > > >> > 'real-world' >> > > > >> > > app is also important. Maybe Harbs and any any others who >> > perhaps >> > > > may >> > > > >> > have >> > > > >> > > used Basic or Express etc in actual apps will be able to >> verify >> > > > things >> > > > >> > for >> > > > >> > > those component sets in the refactor branch at the time, if >> they >> > > > have >> > > > >> > been >> > > > >> > > using them. I will make a request for others to check things >> > when >> > > I >> > > > do >> > > > >> > > that. >> > > > >> > > >> > > > >> > > >> > > > >> > > >> > > > >> > > >> > > > >> > > On Sun, Dec 23, 2018 at 1:22 AM Piotr Zarzycki < >> > > > >> > [email protected]> >> > > > >> > > wrote: >> > > > >> > > >> > > > >> > > > Greg, >> > > > >> > > > >> > > > >> > > > I have fixed issues with navigation in my application code. >> > I'm >> > > ok >> > > > >> with >> > > > >> > > > changes in that branch. >> > > > >> > > > >> > > > >> > > > Thanks for all changes! >> > > > >> > > > Piotr >> > > > >> > > > >> > > > >> > > > sob., 22 gru 2018 o 10:18 Piotr Zarzycki < >> > > > [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, >> > > > >> > > > >>> > >> >> > > > > > > >> > > > >> > > > >>> > >> >> > > > > >> > >> > > > -- > > Piotr Zarzycki > > Patreon: *https://www.patreon.com/piotrzarzycki > <https://www.patreon.com/piotrzarzycki>* > -- Piotr Zarzycki Patreon: *https://www.patreon.com/piotrzarzycki <https://www.patreon.com/piotrzarzycki>*
