I’m not sure if I still made the 0.9.2 release. If not, I’ll change the ASDoc version. If yes, I need to add it to the release notes.
FYI, I switched my app to using the ApplicationParametersCaseInsensitiveBead (considering I don’t want the params to be case sensitive ApplicationParametersBead should be similar) and it’s working exactly as I’d expect. Here’s a distilled example of how to use it: <js:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:js="library://ns.apache.org/royale/basic"> <js:beads> <js:ApplicationParametersCaseInsensitive id="parameters" /> </js:beads> <js:initialView> <views:InitialView/> </js:initialView> </js:Application> And assuming “app" is a reference to your main class you can get values like this: var myVal:String = app.parameters.getValue("some_val”); Harbs > On Mar 10, 2018, at 11:39 PM, [email protected] wrote: > > This is an automated email from the ASF dual-hosted git repository. > > harbs pushed a commit to branch develop > in repository https://gitbox.apache.org/repos/asf/royale-asjs.git > > > The following commit(s) were added to refs/heads/develop by this push: > new a52284c Added beads for app url parameters > a52284c is described below > > commit a52284cfd826b8e1a385e0e72a976fd55a2c9bf1 > Author: Harbs <[email protected]> > AuthorDate: Sat Mar 10 23:39:17 2018 +0200 > > Added beads for app url parameters > --- > .../Basic/src/main/resources/basic-manifest.xml | 3 + > .../royale/html/beads/ApplicationParametersBead.as | 90 +++++++++++++++++++++ > .../ApplicationParametersCaseInsensitiveBead.as | 92 ++++++++++++++++++++++ > 3 files changed, 185 insertions(+) > > diff --git a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml > b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml > index fff4af8..a201ea1 100644 > --- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml > +++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml > @@ -93,6 +93,9 @@ > <component id="SingleSelectionContainerBead" > class="org.apache.royale.html.beads.SingleSelectionContainerBead" /> > <!--<component id="MultilineTextFieldView" > class="org.apache.royale.html.beads.MultilineTextFieldView"/>--> > > + <component id="ApplicationParameters" > class="org.apache.royale.html.beads.ApplicationParametersBead"/> > + <component id="ApplicationParametersCaseInsensitive" > class="org.apache.royale.html.beads.ApplicationParametersCaseInsensitiveBead"/> > + > <component id="SimpleAlert" class="org.apache.royale.html.SimpleAlert"/> > <component id="Alert" class="org.apache.royale.html.Alert"/> > <component id="Spinner" class="org.apache.royale.html.Spinner"/> > diff --git > a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ApplicationParametersBead.as > > b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ApplicationParametersBead.as > new file mode 100644 > index 0000000..aa78c3e > --- /dev/null > +++ > b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ApplicationParametersBead.as > @@ -0,0 +1,90 @@ > +//////////////////////////////////////////////////////////////////////////////// > +// > +// Licensed to the Apache Software Foundation (ASF) under one or more > +// contributor license agreements. See the NOTICE file distributed with > +// this work for additional information regarding copyright ownership. > +// The ASF licenses this file to You under the Apache License, Version 2.0 > +// (the "Licens"); you may not use this file except in compliance with > +// the License. You may obtain a copy of the License at > +// > +// http://www.apache.org/licenses/LICENSE-2.0 > +// > +// Unless required by applicable law or agreed to in writing, software > +// distributed under the License is distributed on an "AS IS" BASIS, > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > +// See the License for the specific language governing permissions and > +// limitations under the License. > +// > +//////////////////////////////////////////////////////////////////////////////// > +package org.apache.royale.html.beads > +{ > + > + import org.apache.royale.core.IBead; > + import org.apache.royale.core.IStrand; > + > + /** > + * The ApplicationParametersBead is used to get URL parameter values > specified when loading an application. > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion Royale 0.9.2 > + */ > + public class ApplicationParametersBead implements IBead > + { > + public function ApplicationParametersBead() > + { > + > + } > + > + protected var _strand:IStrand; > + > + /** > + * @copy org.apache.royale.core.IBead#strand > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion Royale 0.9.2 > + */ > + public function set strand(value:IStrand):void > + { > + _strand = value; > + _urlVars = {}; > + > + COMPILE::JS > + { > + var query:String = location.search.substring(1); > + if(query) > + { > + var vars:Array = query.split("&"); > + for (var i:int=0;i<vars.length;i++) { > + var pair:Array = vars[i].split("="); > + _urlVars[pair[0]] = decodeURIComponent(pair[1]); > + } > + } > + } > + > + COMPILE::SWF > + { > + //TODO SWF implementation > + } > + > + } > + > + private var _urlVars:Object; > + > + /** > + * Returns the value of the specified URL parameter. > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion Royale 0.9.2 > + */ > + public function getValue(parameter:String):String > + { > + return _urlVars[parameter]; > + } > + > + } > +} > \ No newline at end of file > diff --git > a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ApplicationParametersCaseInsensitiveBead.as > > b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ApplicationParametersCaseInsensitiveBead.as > new file mode 100644 > index 0000000..39a385b > --- /dev/null > +++ > b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/ApplicationParametersCaseInsensitiveBead.as > @@ -0,0 +1,92 @@ > +//////////////////////////////////////////////////////////////////////////////// > +// > +// Licensed to the Apache Software Foundation (ASF) under one or more > +// contributor license agreements. See the NOTICE file distributed with > +// this work for additional information regarding copyright ownership. > +// The ASF licenses this file to You under the Apache License, Version 2.0 > +// (the "Licens"); you may not use this file except in compliance with > +// the License. You may obtain a copy of the License at > +// > +// http://www.apache.org/licenses/LICENSE-2.0 > +// > +// Unless required by applicable law or agreed to in writing, software > +// distributed under the License is distributed on an "AS IS" BASIS, > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. > +// See the License for the specific language governing permissions and > +// limitations under the License. > +// > +//////////////////////////////////////////////////////////////////////////////// > +package org.apache.royale.html.beads > +{ > + > + import org.apache.royale.core.IBead; > + import org.apache.royale.core.IStrand; > + > + /** > + * The ApplicationParametersCaseInsensitiveBead is used to get URL > parameter values specified > + * when loading an application. It's different than the > ApplicationParametersBead > + * in that URL parameter keys are case insensitive. > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion Royale 0.9.2 > + */ > + public class ApplicationParametersCaseInsensitiveBead implements IBead > + { > + public function ApplicationParametersCaseInsensitiveBead() > + { > + > + } > + > + protected var _strand:IStrand; > + > + /** > + * @copy org.apache.royale.core.IBead#strand > + * > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion Royale 0.9.2 > + */ > + public function set strand(value:IStrand):void > + { > + _strand = value; > + _urlVars = {}; > + > + COMPILE::JS > + { > + var query:String = location.search.substring(1); > + if(query) > + { > + var vars:Array = query.split("&"); > + for (var i:int=0;i<vars.length;i++) { > + var pair:Array = vars[i].split("="); > + _urlVars[pair[0].toLowerCase()] = > decodeURIComponent(pair[1]); > + } > + } > + } > + > + COMPILE::SWF > + { > + //TODO SWF implementation > + } > + > + } > + > + private var _urlVars:Object; > + > + /** > + * Returns the value of the specified URL parameter. > + * @langversion 3.0 > + * @playerversion Flash 10.2 > + * @playerversion AIR 2.6 > + * @productversion Royale 0.9.2 > + */ > + public function getValue(parameter:String):String > + { > + return _urlVars[parameter.toLowerCase()]; > + } > + > + } > +} > \ No newline at end of file > > -- > To stop receiving notification emails like this one, please contact > [email protected].
