FWIW, I’d like to write a version of a router which allows for more declarative syntax for routing to components.
Something like this: <Router> <beads> <ComponentRouting> <ComponentRoute component=“LayoutsPlayGround” state=“layouts_panel” title=“Layouts”/> <ComponentRoute component=“GridPlayGround” state=“grid_panel” title=“Grids”/> <ComponentRoute component=“ButtonBarPlayGround” state=“button_panel” title=“Button Bar”/> etc... </ComponentRouting> </beads> </Router> > On Jan 21, 2020, at 11:20 PM, Harbs <[email protected]> wrote: > > To see what I mean about href links, check out this page and click on a link: > http://spectrum-royale/SpectrumBrowser/bin/js-debug/#!link > <http://spectrum-royale/SpectrumBrowser/bin/js-debug/#!link> > > Then use the side panel to navigate to the same pages. > >> On Jan 21, 2020, at 11:18 PM, Harbs <[email protected] >> <mailto:[email protected]>> wrote: >> >> The problem is the href in the <a> element in the nav. The hash is being >> changed to “#" after the router redirects. >> >> You need to handle routing in one of two ways (and not both). >> 1. Use setState() >> 2. Use href links >> >> To do #1, you need to remove the href from the <a> elements (or use >> something else such as a div or li). >> >> If you use href links, the logic of actually switching the views should be >> handled by the router, so for example in Card, the href should be >> #card_panel or #!card_panel. >> >> Then setNavSelection will work. >> >> The downside of the second method is that I’m not sure how to set the title. >> Maybe that should be a separate method that can be called. >> >>> On Jan 21, 2020, at 8:48 PM, Carlos Rovira <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> Hi Harbs, >>> >>> this paste is the MainContent.mxml from TDJ with the changes I tried: >>> >>> https://paste.apache.org/ez6aq <https://paste.apache.org/ez6aq> >>> >>> You can override whole file in your local and try to compile to see >>> results. I'm sure you'll get the right way to work for your code. >>> >>> Thanks >>> >>> Carlos >>> >>> >>> >>> El mar., 21 ene. 2020 a las 19:31, Harbs (<[email protected]>) escribió: >>> >>>> Oops. I thought this email went out yesterday… >>>> >>>> I have very little time today. >>>> >>>> Can you show me the code you tried? >>>> >>>>> On Jan 20, 2020, at 8:01 PM, Carlos Rovira <[email protected]> >>>> wrote: >>>>> >>>>> Hi Harbs, >>>>> >>>>> thanks for adding this. I think it will deserve some blog example, since >>>> is >>>>> something people requested in social media. >>>>> Can you please add it to Tour De Jewel? I tried but, I get two problems: >>>>> 1.- back/forth buttons are not working >>>>> 2.- previous button seems to register more than once the same state. >>>>> Thanks >>>>> >>>>> Carlos >>>>> >>>>> >>>>> El lun., 20 ene. 2020 a las 14:38, Harbs (<[email protected]>) >>>> escribió: >>>>> >>>>>> I don’t remember how deep linking worked, but the concept is similar. >>>>>> Routing is the modern term. >>>>>> >>>>>> FWIW, here’s an article on routing strategies vis a vis url paths: >>>>>> https://codecraft.tv/courses/angular/routing/routing-strategies/ < >>>>>> https://codecraft.tv/courses/angular/routing/routing-strategies/> >>>>>> >>>>>>> On Jan 20, 2020, at 3:33 PM, Andrew Wetmore <[email protected]> >>>> wrote: >>>>>>> >>>>>>> Thanks for this. In what way is this different from deep linking in >>>> Flex, >>>>>>> apart from the name? >>>>>>> >>>>>>> On Mon, Jan 20, 2020 at 8:30 AM Harbs <[email protected] <mailto: >>>>>> [email protected]>> wrote: >>>>>>> >>>>>>>> Not sure what you’re looking for. I tried to document the class as >>>> best >>>>>> as >>>>>>>> I could: >>>>>>>> >>>>>>>> >>>>>> >>>> https://github.com/apache/royale-asjs/blob/6cbc5559bcc99bf2ceb3e033747ca3680b3b0d91/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/Router.as >>>>>> < >>>>>> >>>> https://github.com/apache/royale-asjs/blob/6cbc5559bcc99bf2ceb3e033747ca3680b3b0d91/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/Router.as >>>>>>> >>>>>>>> < >>>>>>>> >>>>>> >>>> https://github.com/apache/royale-asjs/blob/6cbc5559bcc99bf2ceb3e033747ca3680b3b0d91/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/Router.as >>>>>> < >>>>>> >>>> https://github.com/apache/royale-asjs/blob/6cbc5559bcc99bf2ceb3e033747ca3680b3b0d91/frameworks/projects/Basic/src/main/royale/org/apache/royale/routing/Router.as >>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> * “Routing” uses the browser history APIs to allow forward and back >>>>>>>> navigation. >>>>>>>> * When the hash of a URL is changed, the router dispatches an event >>>>>>>> * The state of the strand component can be automatically synced to the >>>>>>>> Router routeState.state value. >>>>>>>> * The application can call either setState() to add a point to the >>>>>> browser >>>>>>>> history, or: >>>>>>>> * call renderState() to add a point and trigger a state change in the >>>>>> app >>>>>>>> (i.e. diapatch an event fro the browser) >>>>>>>> >>>>>>>> Helpful? >>>>>>>> >>>>>>>> Some JS frameworks let you declaratively declare routes for a router, >>>>>> that >>>>>>>> might be something worth looking into, but I was not sure what that >>>>>> would >>>>>>>> look like in Royale. >>>>>>>> >>>>>>>>> On Jan 20, 2020, at 3:22 PM, Andrew Wetmore <[email protected]> >>>>>> wrote: >>>>>>>>> >>>>>>>>> @harbs, would you have a chance to blurt out some text about >>>> "routing", >>>>>>>> and >>>>>>>>> especially how and where it differs from "deep linking" in Flex? We >>>>>> need >>>>>>>>> some documentation about this and I thought I knew where I was going >>>> to >>>>>>>> go >>>>>>>>> with it until I saw this as an example of routing. >>>>>>>>> >>>>>>>>> Does not have to be finished text....bullet points and pointers would >>>>>> be >>>>>>>>> fine. I can then rework it for the help docs. >>>>>>>>> >>>>>>>>> Thanks! >>>>>>>>> >>>>>>>>> On Mon, Jan 20, 2020 at 8:09 AM Harbs <[email protected]> wrote: >>>>>>>>> >>>>>>>>>> It’s declared here: >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>> https://github.com/unhurdle/spectrum-royale/blob/master/SpectrumBrowser/src/view/MainView.mxml#L213 >>>>>>>>>> >>>>>>>>>> And used here: >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>> https://github.com/unhurdle/spectrum-royale/blob/master/SpectrumBrowser/src/view/MainView.mxml#L131 >>>>>>>>>> >>>>>>>>>> here: >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>> https://github.com/unhurdle/spectrum-royale/blob/master/SpectrumBrowser/src/view/MainView.mxml#L167 >>>>>>>>>> >>>>>>>>>> and here: >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>> >>>> https://github.com/unhurdle/spectrum-royale/blob/master/SpectrumBrowser/src/models/Theme.as#L20 >>>>>>>>>> >>>>>>>>>>> On Jan 20, 2020, at 3:03 PM, Harbs <[email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>> I created a Router bead which I’m now using in the demo app. >>>>>>>>>>> >>>>>>>>>>> Here’s two very different states: >>>>>>>>>>> >>>>>>>>>>> >>>> https://unhurdle.github.io/spectrum-royale/#!combobox?colorstop=dark >>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/#!asset_list >>>>>>>>>>> >>>>>>>>>>> Router supports”state”, paths and parameters. >>>>>>>>>>> >>>>>>>>>>> The demo app is using state and parameters. >>>>>>>>>>> >>>>>>>>>>> Harbs >>>>>>>>>>> >>>>>>>>>>>> On Jan 20, 2020, at 10:54 AM, Carlos Rovira < >>>>>> [email protected]> >>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> Hi Harbs, >>>>>>>>>>>> >>>>>>>>>>>> about routing, I expect urls will be more like permalinks without >>>>>> the >>>>>>>>>> need >>>>>>>>>>>> of !# chars. Is this possible? >>>>>>>>>>>> >>>>>>>>>>>> This: >>>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/bar_loader >>>>>>>>>>>> >>>>>>>>>>>> instead of this: >>>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/#!bar_loader >>>>>>>>>>>> >>>>>>>>>>>> And have it as a library "Routing" that we could use. >>>>>>>>>>>> As any other framework out there, is something that they support >>>>>> with >>>>>>>>>> some >>>>>>>>>>>> API, and I think is one of the things we already don't offer. >>>>>>>>>>>> Would be great to have for 1.0, since is something people will >>>> want >>>>>>>> very >>>>>>>>>>>> soon in their tests for sure. >>>>>>>>>>>> >>>>>>>>>>>> What do you think? >>>>>>>>>>>> >>>>>>>>>>>> Carlos >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> El lun., 20 ene. 2020 a las 7:31, Harbs (<[email protected]>) >>>>>>>>>> escribió: >>>>>>>>>>>> >>>>>>>>>>>>> Good catch. Thanks! >>>>>>>>>>>>> >>>>>>>>>>>>>> On Jan 20, 2020, at 1:52 AM, Andrew Wetmore < >>>> [email protected]> >>>>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>> Small thing, but I think the code example for "Avatar" is >>>>>> reversed, >>>>>>>>>>>>>> implying that the first of the two images is disabled rather >>>> than >>>>>>>> the >>>>>>>>>>>>>> second. >>>>>>>>>>>>>> >>>>>>>>>>>>>> On Sun, Jan 19, 2020 at 6:42 PM Harbs <[email protected]> >>>>>>>> wrote: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> FYI, I just added routing to the demo app. It was pretty >>>>>> painless, >>>>>>>>>>>>>>> although I’d like to make it even simpler… >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/#!bar_loader < >>>>>>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/#!bar_loader> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Jan 15, 2020, at 7:08 PM, Harbs <[email protected]> >>>>>> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> FYI, I just updated the project readme with a link to the demo >>>>>> and >>>>>>>>>> some >>>>>>>>>>>>>>> markup to show what a full Royale app looks like: >>>>>>>>>>>>>>>> https://github.com/unhurdle/spectrum-royale < >>>>>>>>>>>>>>> https://github.com/unhurdle/spectrum-royale> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Jan 13, 2020, at 1:30 AM, Harbs <[email protected] >>>>>>>> <mailto: >>>>>>>>>>>>>>> [email protected]>> wrote: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> FYI, I’ve been working on filling out a demo the Spectrum >>>>>> Royale >>>>>>>>>>>>>>> components: >>>>>>>>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/ < >>>>>>>>>>>>>>> https://unhurdle.github.io/spectrum-royale/> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I’m going to be filling them out over the next week… >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Harbs >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> Andrew Wetmore >>>>>>>>>>>>>> >>>>>>>>>>>>>> http://cottage14.blogspot.com/ >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Carlos Rovira >>>>>>>>>>>> http://about.me/carlosrovira >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Andrew Wetmore >>>>>>>>> >>>>>>>>> http://cottage14.blogspot.com/ >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Andrew Wetmore >>>>>>> >>>>>>> http://cottage14.blogspot.com/ <http://cottage14.blogspot.com/> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Carlos Rovira >>>>> http://about.me/carlosrovira >>>> >>>> >>> >>> -- >>> Carlos Rovira >>> http://about.me/carlosrovira >> >
