You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2020/03/04 22:27:19 UTC
[royale-asjs] branch develop updated: jewel-textprompt:
dropdownlist is special case
This is an automated email from the ASF dual-hosted git repository.
carlosrovira 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 b0bcadd jewel-textprompt: dropdownlist is special case
b0bcadd is described below
commit b0bcadd1bbf5fab48923ac1d7835ff2aa968bb67
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Mar 4 23:27:07 2020 +0100
jewel-textprompt: dropdownlist is special case
---
.../dropdownlist/DropDownListTextPrompt.as | 6 ++-
...DownListItemRendererFactoryForCollectionView.as | 17 +++++++-
.../royale/jewel/beads/views/DropDownListView.as | 47 +++++++---------------
3 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/DropDownListTextPrompt.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/DropDownListTextPrompt.as
index e2b8cb3..5e76034 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/DropDownListTextPrompt.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/dropdownlist/DropDownListTextPrompt.as
@@ -18,7 +18,10 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.royale.jewel.beads.controls.dropdownlist
{
+ import org.apache.royale.core.IDataProviderItemRendererMapper;
+ import org.apache.royale.core.UIBase;
import org.apache.royale.jewel.beads.controls.textinput.TextPrompt;
+ import org.apache.royale.jewel.beads.itemRenderers.DropDownListItemRendererFactoryForCollectionView;
import org.apache.royale.jewel.beads.views.DropDownListView;
/**
@@ -55,7 +58,8 @@ package org.apache.royale.jewel.beads.controls.dropdownlist
COMPILE::JS
override protected function updatePromptText():void
{
- (host.view as DropDownListView).prompt = prompt;
+ ((_strand as UIBase).view as DropDownListView).prompt = prompt;
+ (_strand.getBeadByType(IDataProviderItemRendererMapper) as DropDownListItemRendererFactoryForCollectionView).updatePromptRender();
}
}
}
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as
index 8854cf3..f6b7b55 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/DropDownListItemRendererFactoryForCollectionView.as
@@ -64,9 +64,9 @@ package org.apache.royale.jewel.beads.itemRenderers
if(offset == 1)
{
- ir = itemRendererFactory.createItemRenderer() as IIndexedItemRenderer;
+ promptRender = itemRendererFactory.createItemRenderer() as IIndexedItemRenderer;
item = DropDownListItemRenderer.OPTION_DISABLED;
- fillRenderer(0, item, ir, presentationModel);
+ fillRenderer(0, item, promptRender, presentationModel);
}
var n:int = dp.length;
@@ -79,5 +79,18 @@ package org.apache.royale.jewel.beads.itemRenderers
IEventDispatcher(_strand).dispatchEvent(new Event("itemsCreated"));
}
+
+ public var promptRender:IIndexedItemRenderer;
+
+ /**
+ * used when need to update prompt at runtime
+ */
+ public function updatePromptRender():void
+ {
+ if(promptRender)
+ {
+ setData(promptRender, DropDownListItemRenderer.OPTION_DISABLED, 0);
+ }
+ }
}
}
\ No newline at end of file
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DropDownListView.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DropDownListView.as
index 0b6094c..cf10f46 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DropDownListView.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/views/DropDownListView.as
@@ -25,7 +25,6 @@ package org.apache.royale.jewel.beads.views
import org.apache.royale.core.IItemRenderer;
import org.apache.royale.core.ISelectableItemRenderer;
import org.apache.royale.core.ISelectionModel;
- import org.apache.royale.core.IStrand;
import org.apache.royale.events.Event;
import org.apache.royale.html.beads.DataContainerView;
import org.apache.royale.jewel.DropDownList;
@@ -62,32 +61,6 @@ package org.apache.royale.jewel.beads.views
*/
public var prompt:String = "";
- /**
- * @copy org.apache.royale.core.IBead#strand
- *
- * @royaleignorecoercion HTMLLabelElement
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion Royale 0.9.4
- */
- override public function set strand(value:IStrand):void
- {
- super.strand = value;
-
- COMPILE::JS
- {
- dropDownList = value as DropDownList;
- dropDownList.dropDown = new Select();
-
- var name:String = "dropDownList" + Math.random();
- dropDownList.dropDown.element.name = name;
-
- dropDownList.addElement(dropDownList.dropDown);
- }
- }
-
override protected function dataProviderChangeHandler(event:Event):void
{
super.dataProviderChangeHandler(event);
@@ -101,13 +74,23 @@ package org.apache.royale.jewel.beads.views
*/
override protected function handleInitComplete(event:Event):void
{
+ COMPILE::JS
+ {
+ dropDownList = _strand as DropDownList;
+ dropDownList.dropDown = new Select();
+
+ var name:String = "dropDownList" + Math.random();
+ dropDownList.dropDown.element.name = name;
+
+ dropDownList.addElement(dropDownList.dropDown);
+ }
+
model = _strand.getBeadByType(ISelectionModel) as ISelectionModel;
model.addEventListener("selectionChanged", selectionChangeHandler);
super.handleInitComplete(event);
}
-
protected var lastSelectedIndex:int = -1;
/**
* @private
@@ -158,11 +141,11 @@ package org.apache.royale.jewel.beads.views
model = dataModel as ISelectionModel;
//var selectedIndex:int = dropDownList.selectedIndex;
- /* if (model.selectedIndex > -1 && model.dataProvider)
+ /* if (model.selectedIndex > -1 && model.dataProvider)
{*/
- dropDownList.selectedIndex = model.selectedIndex;
- dropDownList.selectedItem = model.selectedItem;
- /* }*/
+ dropDownList.selectedIndex = model.selectedIndex;
+ dropDownList.selectedItem = model.selectedItem;
+ /* }*/
}
}
}