The jQuery JS files do not get injected - you have to do it manually. I will check in my sample today and the instructions are in the main app.mxml file.
--peter On 5/9/13 5:04 PM, "Alex Harui" <aha...@adobe.com> wrote: >Excellent. > >One question though: if you took out jquery.Application, how do the Jquery >JS files get injected? > >-Alex > > >On 5/9/13 1:33 PM, "p...@apache.org" <p...@apache.org> wrote: > >> Updated Branches: >> refs/heads/develop 0991467eb -> 114aeec95 >> >> >> RadioButtons for jQuery. RadioButtons cannot be programmatically added >>due to >> a known jQuery bug (documented in the RadioButton.js file). >> >> >> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo >> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/114aeec9 >> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/114aeec9 >> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/114aeec9 >> >> Branch: refs/heads/develop >> Commit: 114aeec95635a765abc6e527517de984cd2dfadd >> Parents: 0991467 >> Author: Peter Ent <p...@apache.org> >> Authored: Thu May 9 16:33:01 2013 -0400 >> Committer: Peter Ent <p...@apache.org> >> Committed: Thu May 9 16:33:01 2013 -0400 >> >> ---------------------------------------------------------------------- >> frameworks/as/jquery-manifest.xml | 1 - >> .../apache/flex/html/staticControls/RadioButton.as | 6 + >> .../as/src/org/apache/flex/jquery/Application.as | 43 ---- >> .../flex/jquery/staticControls/RadioButton.as | 4 + >> .../org/apache/flex/html/staticControls/Label.js | 14 ++ >> .../apache/flex/html/staticControls/RadioButton.js | 16 ++ >> .../src/org/apache/flex/jquery/Application.js | 114 ----------- >> .../flex/jquery/staticControls/RadioButton.js | 158 >>++++++++++++--- >> 8 files changed, 169 insertions(+), 187 deletions(-) >> ---------------------------------------------------------------------- >> >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/as/j >> query-manifest.xml >> ---------------------------------------------------------------------- >> diff --git a/frameworks/as/jquery-manifest.xml >> b/frameworks/as/jquery-manifest.xml >> index cdb9dd5..d760aff 100644 >> --- a/frameworks/as/jquery-manifest.xml >> +++ b/frameworks/as/jquery-manifest.xml >> @@ -21,7 +21,6 @@ >> >> <componentPackage> >> >> - <component id="Application" >>class="org.apache.flex.jquery.Application"/> >> <component id="TextButton" >> class="org.apache.flex.jquery.staticControls.TextButton"/> >> <component id="CheckBox" >> class="org.apache.flex.jquery.staticControls.CheckBox"/> >> <component id="RadioButton" >> class="org.apache.flex.jquery.staticControls.RadioButton"/> >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/as/s >> rc/org/apache/flex/html/staticControls/RadioButton.as >> ---------------------------------------------------------------------- >> diff --git >> a/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as >> b/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as >> index 0aee02b..a6caf5b 100644 >> --- >>a/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as >> +++ >>b/frameworks/as/src/org/apache/flex/html/staticControls/RadioButton.as >> @@ -19,6 +19,7 @@ >> package org.apache.flex.html.staticControls >> { >> import flash.display.DisplayObject; >> + import flash.display.DisplayObjectContainer; >> import flash.display.SimpleButton; >> import flash.events.MouseEvent; >> import flash.utils.Dictionary; >> @@ -111,6 +112,11 @@ package org.apache.flex.html.staticControls >> IValueToggleButtonModel(model).selectedValue = >> newValue; >> } >> >> + public function >>addToParent(p:DisplayObjectContainer):void >> + { >> + p.addChild(this); >> + } >> + >> public function initModel():void >> { >> if (getBeadByType(IValueToggleButtonModel) == >>null) >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/as/s >> rc/org/apache/flex/jquery/Application.as >> ---------------------------------------------------------------------- >> diff --git a/frameworks/as/src/org/apache/flex/jquery/Application.as >> b/frameworks/as/src/org/apache/flex/jquery/Application.as >> deleted file mode 100644 >> index 5801d07..0000000 >> --- a/frameworks/as/src/org/apache/flex/jquery/Application.as >> +++ /dev/null >> @@ -1,43 +0,0 @@ >> >>-//////////////////////////////////////////////////////////////////////// >>///// >> /// >> -// >> -// 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 "License"); 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.flex.jquery >> -{ >> - import flash.display.Sprite; >> - import flash.display.StageAlign; >> - import flash.display.StageScaleMode; >> - import flash.events.IOErrorEvent; >> - >> - import org.apache.flex.core.Application; >> - import org.apache.flex.core.IFlexInfo; >> - import org.apache.flex.events.Event; >> - import org.apache.flex.utils.MXMLDataInterpreter; >> - >> - //-------------------------------------- >> - // Events >> - //-------------------------------------- >> - >> - /** >> - * Dispatched at startup. >> - */ >> - [Event(name="initialize", type="org.apache.flex.events.Event")] >> - >> - public class Application extends org.apache.flex.core.Application >> implements IFlexInfo >> - { >> - } >> -} >> \ No newline at end of file >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/as/s >> rc/org/apache/flex/jquery/staticControls/RadioButton.as >> ---------------------------------------------------------------------- >> diff --git >> a/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as >> b/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as >> index a94739a..aac1ad5 100644 >> --- >>a/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as >> +++ >>b/frameworks/as/src/org/apache/flex/jquery/staticControls/RadioButton.as >> @@ -22,5 +22,9 @@ package org.apache.flex.jquery.staticControls >> >> public class RadioButton extends >> org.apache.flex.html.staticControls.RadioButton >> { >> + override public function initModel():void >> + { >> + super.initModel(); >> + } >> } >> } >> \ No newline at end of file >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/js/F >> lexJS/src/org/apache/flex/html/staticControls/Label.js >> ---------------------------------------------------------------------- >> diff --git >> a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/Label.js >> b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/Label.js >> index 875607a..55d1361 100644 >> --- >>a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/Label.js >> +++ >>b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/Label.js >> @@ -40,6 +40,20 @@ >> org.apache.flex.html.staticControls.Label.prototype.addToParent = >>function(p) >> { >> this.positioner = this.element; >> }; >> >> +/** >> + * @expose >> + * @this {org.apache.flex.html.staticControls.Label} >> + */ >> +org.apache.flex.html.staticControls.Label.prototype.initModel = >>function() { >> +}; >> +/** >> + * @expose >> + * @this {org.apache.flex.html.staticControls.Label} >> + */ >> +org.apache.flex.html.staticControls.Label.prototype.initSkin = >>function() { >> + >> +}; >> + >> >> /** >> * @expose >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/js/F >> lexJS/src/org/apache/flex/html/staticControls/RadioButton.js >> ---------------------------------------------------------------------- >> diff --git >> >>a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/RadioButto >>n.js >> >>b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/RadioButto >>n.js >> index fb657b2..e8f67d6 100644 >> --- >> >>a/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/RadioButto >>n.js >> +++ >> >>b/frameworks/js/FlexJS/src/org/apache/flex/html/staticControls/RadioButto >>n.js >> @@ -51,6 +51,22 @@ >> org.apache.flex.html.staticControls.RadioButton.prototype.addToParent = >> rb.flexjs_wrapper = this; >> }; >> >> +/** >> + * @expose >> + * @this {org.apache.flex.html.staticControls.RadioButton} >> + */ >> +org.apache.flex.html.staticControls.RadioButton.prototype.initModel = >> +function() { >> +}; >> + >> +/** >> + * @expose >> + * @this {org.apache.flex.html.staticControls.RadioButton} >> + */ >> +org.apache.flex.html.staticControls.RadioButton.prototype.initSkin = >> +function() { >> +}; >> + >> >> /** >> * @expose >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/js/F >> lexJS/src/org/apache/flex/jquery/Application.js >> ---------------------------------------------------------------------- >> diff --git >>a/frameworks/js/FlexJS/src/org/apache/flex/jquery/Application.js >> b/frameworks/js/FlexJS/src/org/apache/flex/jquery/Application.js >> deleted file mode 100644 >> index e6eb0f8..0000000 >> --- a/frameworks/js/FlexJS/src/org/apache/flex/jquery/Application.js >> +++ /dev/null >> @@ -1,114 +0,0 @@ >> -/** >> - * Licensed under the Apache License, Version 2.0 (the "License"); >> - * 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. >> - */ >> - >> -// ------------------------------------------------------------------ >> -// jQuery >> -// ------------------------------------------------------------------ >> - >> -// (erikdebruin) do these have to be in the global namespace? >> -var head, link, mainjs, uijs; >> - >> -// Bring in the jQuery sources. You can use the minified versions for >> -// better performance. >> -mainjs = document.createElement('script'); >> -/** @type {Object} */ mainjs.src = >>'http://code.jquery.com/jquery-1.9.1.js'; >> -document.head.appendChild(mainjs); >> - >> -uijs = document.createElement('script'); >> -/** @type {Object} */ uijs.src = >> - 'http://code.jquery.com/ui/1.10.2/jquery-ui.js'; >> -document.head.appendChild(uijs); >> - >> -// create a stylesheet link to the corresponding jquery theme file. >> -head = document.getElementsByTagName('head')[0]; >> -link = document.createElement('link'); >> -/** @type {Object} */ link.id = 'jquerycss'; >> -/** @type {Object} */ link.rel = 'stylesheet'; >> -/** @type {Object} */ link.type = 'text/css'; >> -/** @type {Object} */ link.href = >> - 'http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css'; >> -/** @type {Object} */ link.media = 'all'; >> -head.appendChild(link); >> - >> -// ------------------------------------------------------------------ >> -// end jQuery >> -// ------------------------------------------------------------------ >> - >> -goog.provide('org.apache.flex.jquery.Application'); >> - >> -goog.require('org.apache.flex.core.HTMLElementWrapper'); >> -goog.require('org.apache.flex.utils.MXMLDataInterpreter'); >> - >> - >> - >> -/** >> - * @constructor >> - * @extends {org.apache.flex.core.HTMLElementWrapper} >> - */ >> -org.apache.flex.jquery.Application = function() { >> - goog.base(this); >> - >> -}; >> -goog.inherits(org.apache.flex.jquery.Application, >> - org.apache.flex.core.HTMLElementWrapper); >> - >> - >> -/** >> - * @expose >> - * @type {Object} >> - */ >> -org.apache.flex.jquery.Application.prototype.controller = null; >> - >> - >> -/** >> - * @expose >> - * @type {org.apache.flex.core.ViewBase} >> - */ >> -org.apache.flex.jquery.Application.prototype.initialView = null; >> - >> - >> -/** >> - * @expose >> - * @type {org.apache.flex.events.EventDispatcher} >> - */ >> -org.apache.flex.jquery.Application.prototype.model = null; >> - >> - >> -/** >> - * @expose >> - * @type {org.apache.flex.core.SimpleValuesImpl} >> - */ >> -org.apache.flex.jquery.Application.prototype.valuesImpl = null; >> - >> - >> -/** >> - * @expose >> - * @this {org.apache.flex.jquery.Application} >> - */ >> -org.apache.flex.jquery.Application.prototype.start = function() { >> - var evt, i, n, q; >> - >> - this.element = document.getElementsByTagName('body')[0]; >> - >> - >>org.apache.flex.utils.MXMLDataInterpreter.generateMXMLProperties(this, >> - this.get_MXMLProperties()); >> - >> - this.dispatchEvent('initialize'); >> - >> - this.initialView.addToParent(this.element); >> - this.initialView.initUI(this.model); >> - >> - this.dispatchEvent('viewChanged'); >> -}; >> - >> >> >>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/114aeec9/frameworks >>/js/F >> lexJS/src/org/apache/flex/jquery/staticControls/RadioButton.js >> ---------------------------------------------------------------------- >> diff --git >> >>a/frameworks/js/FlexJS/src/org/apache/flex/jquery/staticControls/RadioBut >>ton.j >> s >> >b/frameworks/js/FlexJS/src/org/apache/flex/jquery/staticControls/RadioButt >on.j> >s >> index 35d2371..db85bf9 100644 >> --- >> >a/frameworks/js/FlexJS/src/org/apache/flex/jquery/staticControls/RadioButt >on.j> >s >> +++ >> >b/frameworks/js/FlexJS/src/org/apache/flex/jquery/staticControls/RadioButt >on.j> >s >> @@ -16,39 +16,114 @@ >> goog.provide('org.apache.flex.jquery.staticControls.RadioButton'); >> >> goog.require('org.apache.flex.core.UIBase'); >> >> - >> - >> /** >> * @constructor >> * @extends {org.apache.flex.core.UIBase} >> */ >> org.apache.flex.jquery.staticControls.RadioButton = function() { >> + >> goog.base(this); >> + >> + org.apache.flex.core.UIBase.call(this); >> + org.apache.flex.jquery.staticControls.RadioButton.radioCounter++; >> }; >> goog.inherits(org.apache.flex.jquery.staticControls.RadioButton, >> org.apache.flex.core.UIBase); >> >> >> /** >> + * @expose >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + * The name of the radioGroup. >> + */ >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.radioGroupNa >>me; >> + >> +/** >> + * @expose >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + * Used to provide ids to the radio buttons. >> + */ >> +org.apache.flex.jquery.staticControls.RadioButton.radioCounter = 0; >> + >> +/** >> + * @expose >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + * Used to manage groups on the radio buttons. >> + */ >> +org.apache.flex.jquery.staticControls.RadioButton.groups = { }; >> + >> +/** >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + * Flag to make sure the event handler is set only once. >> + */ >> +org.apache.flex.jquery.staticControls.RadioButton.groupHandlerSet = >>false; >> + >> +/** >> * @override >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @param {Object} p The parent element. >> */ >> >>org.apache.flex.jquery.staticControls.RadioButton.prototype.addToParent = >> function(p) { >> - var rb; >> >> - this.element = document.createElement('label'); >> + var input = document.createElement('input'); >> + input.type = 'radio'; >> + input.name = 'radio'; >> + input.id = >> 'radio'+org.apache.flex.jquery.staticControls.RadioButton.radioCounter; >> + >> + var label = document.createElement('label'); >> + label.htmlFor = input.id; >> + >> + p.appendChild(input); >> + p.appendChild(label); >> + >> + this.element = input; >> + this.labelFor = label; >> >> - rb = document.createElement('input'); >> - rb.type = 'radio'; >> - $(rb).button(); >> - this.element.appendChild(rb); >> - this.element.appendChild(document.createTextNode('radio button')); >> + this.positioner = this.element; >> +}; >> >> - p.appendChild(this.element); >> +/** >> + * @override >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + * @param {Object} doc the document for this item >> + */ >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.setDocument >>= >> +function(doc, id) { >> + if( ! >> org.apache.flex.jquery.staticControls.RadioButton.groupHandlerSet ) { >> + >> org.apache.flex.jquery.staticControls.RadioButton.groupHandlerSet = >>true; >> + >> doc.addEventListener("initComplete",goog.bind(this.initCompleteHandler, >> this)); >> + } >> +} >> >> - this.positioner = this.element; >> +/** >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + * @param {Event} event The event. >> + */ >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.initComplete >>Handl >> er = >> +function(event) { >> + var divtags = >> org.apache.flex.jquery.staticControls.RadioButton.groups; >> + for(var name in divtags) >> + { >> + var div = divtags[name]; >> + $(div).buttonset(); >> + } >> +} >> + >> +/** >> + * @expose >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + */ >> +org.apache.flex.jquery.staticControls.RadioButton.prototype.initModel = >> +function() { >> +}; >> + >> +/** >> + * @expose >> + * @this {org.apache.flex.jquery.staticControls.RadioButton} >> + */ >> +org.apache.flex.jquery.staticControls.RadioButton.prototype.initSkin = >> +function() { >> }; >> >> >> @@ -57,9 +132,8 @@ >> org.apache.flex.jquery.staticControls.RadioButton.prototype.addToParent >>= >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @return {string} The groupName getter. >> */ >> >>-org.apache.flex.jquery.staticControls.RadioButton.prototype.get_groupNam >>e = >> - function() { >> - return this.element.childNodes.item(0).name; >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.get_groupNam >>e = >> function() { >> + return this.radioGroupName; >> }; >> >> >> @@ -68,9 +142,39 @@ >> >>org.apache.flex.jquery.staticControls.RadioButton.prototype.get_groupName >> = >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @param {string} value The groupName setter. >> */ >> >>-org.apache.flex.jquery.staticControls.RadioButton.prototype.set_groupNam >>e = >> - function(value) { >> - this.element.childNodes.item(0).name = value; >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.set_groupNam >>e = >> function(value) { >> + >> +/* >> + * NOTE: Ideally when a RadioButton was created it would be added to an >> existing set of RadioButtons. >> + * This is especially true for RadioButtons added dynamically. >>However, due >> to a bug in jQuery >> + * (see http://bugs.jqueryui.com/ticket/8975), it is currently not >>possible >> to add or remove RadioButtons >> + * programmatically. For this version the groups are maintained here in >> RadioButton and once the >> + * application has finished initializing, the groups are given their >> buttonset(). >> + */ >> + >> + this.radioGroupName = value; >> + >> + this.element.name = value; >> + >> + var div; >> + >> + if( >>org.apache.flex.jquery.staticControls.RadioButton.groups[value] ) >> { >> + div = >> org.apache.flex.jquery.staticControls.RadioButton.groups[value]; >> + div.appendChild(this.element); >> + div.appendChild(this.labelFor); >> + } >> + else { >> + var p = this.element.parentElement; >> + div = document.createElement('div'); >> + div.id = value; >> + div.appendChild(this.element); >> + div.appendChild(this.labelFor); >> + p.appendChild(div); >> + >> + >> org.apache.flex.jquery.staticControls.RadioButton.groups[String(value)] >>= div; >> + } >> + >> + this.positioner = div; >> }; >> >> >> @@ -79,9 +183,8 @@ >> >>org.apache.flex.jquery.staticControls.RadioButton.prototype.set_groupName >> = >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @return {string} The text getter. >> */ >> -org.apache.flex.jquery.staticControls.RadioButton.prototype.get_text = >> - function() { >> - return this.element.childNodes.item(1).nodeValue; >> +org.apache.flex.jquery.staticControls.RadioButton.prototype.get_text = >> function() { >> + return this.labelFor.innerHTML; >> }; >> >> >> @@ -90,9 +193,8 @@ >> org.apache.flex.jquery.staticControls.RadioButton.prototype.get_text = >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @param {string} value The text setter. >> */ >> -org.apache.flex.jquery.staticControls.RadioButton.prototype.set_text = >> - function(value) { >> - this.element.childNodes.item(1).nodeValue = value; >> +org.apache.flex.jquery.staticControls.RadioButton.prototype.set_text = >> function(value) { >> + this.labelFor.innerHTML = value; >> }; >> >> >> @@ -101,9 +203,8 @@ >> org.apache.flex.jquery.staticControls.RadioButton.prototype.set_text = >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @return {bool} The selected getter. >> */ >> >>-org.apache.flex.jquery.staticControls.RadioButton.prototype.get_selected >> = >> - function() { >> - return this.element.childNodes.item(0).checked; >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.get_selected >> = >> function() { >> + return this.element.checked; >> }; >> >> >> @@ -112,7 +213,6 @@ >> >>org.apache.flex.jquery.staticControls.RadioButton.prototype.get_selected >>= >> * @this {org.apache.flex.jquery.staticControls.RadioButton} >> * @param {bool} value The selected setter. >> */ >> >>-org.apache.flex.jquery.staticControls.RadioButton.prototype.set_selected >> = >> - function(value) { >> - this.element.childNodes.item(0).checked = value; >> >>+org.apache.flex.jquery.staticControls.RadioButton.prototype.set_selected >> = >> function(value) { >> + this.element.checked = value; >> }; >> > >-- >Alex Harui >Flex SDK Team >Adobe Systems, Inc. >http://blogs.adobe.com/aharui >