You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@flex.apache.org by mark goldin <ma...@gmail.com> on 2016/04/22 19:29:14 UTC

Chain of events when checkbox is in List

I have a checkbox renderer in my List.
Here is some relevant code:
<mx:List id="templateList" labelField="Name"
alternatingItemColors="[#EEEEEE, white]"
change="filterChanged(event)" selectedIndex="0" width="100%">
<mx:itemRenderer>
<mx:Component>
<templateFilterCheckBox/>
</mx:Component>
</mx:itemRenderer>
</mx:List>

Checkbox:
<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox selectedField="isSelected" change="onChange(event)"
xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.controls.List;
private function onChange(event:Event):void
{
var _templateList:List = event.currentTarget.listData.owner;
if (_templateList.selectedIndex == 0)
{
for (var i:int=0;i<_templateList.dataProvider.length;i++)
{
_templateList.dataProvider[i].isSelected = false;
}
}
else
_templateList.dataProvider[0].isSelected = false;
_templateList.invalidateList();
data.isSelected = !data.isSelected;
}
]]>
</mx:Script>
</mx:CheckBox>

What's happening is that filterChanged fires before onChange. Can be
reversed?

Thanks

Re: Chain of events when checkbox is in List

Posted by OK <OK...@edscha.com>.
Seems that some code was eaten by this mailing list. 
Just another try:

<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
				xmlns:s="library://ns.adobe.com/flex/spark" 
				xmlns:mx="library://ns.adobe.com/flex/mx" 
				autoDrawBackground="true">

<*script>
			private function onClick(event:Event):void {
				
				if(event.target is CheckBox) {
					// Handle "checkbox" stuff	
					Alert.show("Checkbox was clicked");
					
				} 
				else {
					/*
					// Handle "item change" stuff, eg. dispatch custom event
					var customEvent:CustomEvent = new CustomEvent(CustomEvent.CHANGE);
					customEvent.newIndex = itemIndex;
					owner.dispatchEvent(customEvent);
					spark.components.List(owner).selectedIndex
					*/
				}
			}
</*script>
	
	<s:Group width="100%" click="onClick(event)">
		<s:layout>
			<s:HorizontalLayout />
		</s:layout>
		<s:CheckBox/>	
	</s:Group>

	
</s:ItemRenderer>



--
View this message in context: http://apache-flex-users.2333346.n4.nabble.com/Chain-of-events-when-checkbox-is-in-List-tp12581p12599.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.

Re: Chain of events when checkbox is in List

Posted by OK <OK...@edscha.com>.
Perhaps you could achive it using this kind of itemRenderer and implement the
logic that fits your needs depending on the value of the event.target
property:

HTH,
Olaf

<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" 
				xmlns:s="library://ns.adobe.com/flex/spark" 
				xmlns:mx="library://ns.adobe.com/flex/mx" 
				autoDrawBackground="true">
	
	<fx:Script>
		
	</fx:Script>
	
	<s:Group width="100%" click="onClick(event)">
		<s:layout>
			<s:HorizontalLayout />
		</s:layout>
		<s:CheckBox/>	
	</s:Group>

	
</s:ItemRenderer>



--
View this message in context: http://apache-flex-users.2333346.n4.nabble.com/Chain-of-events-when-checkbox-is-in-List-tp12581p12598.html
Sent from the Apache Flex Users mailing list archive at Nabble.com.