Actionscript 3 :: Find The Index Of A Dropped Item In Flex?
Jul 14, 2011How can I find the index of a item dropped into a list in flex using a spark list?
View 2 RepliesHow can I find the index of a item dropped into a list in flex using a spark list?
View 2 Replies<mx:itemRenderer>
<mx:Component>
<mx:Canvas>
[code]......
I've got a subclass of AdvancedDataGrid showing a tree-like data structure. How can I, given the index returned by calculateDropIndex, get the item at that index? After reading through reams of code, it seems like the least terrible way is:
var oldSelectedIndex:int = this.selectedIndex;
var mouseOverIndex:int = this.calculateDropIndex(event);
this.selectedItem = mouseOverIndex;
var item:* = this.selectedItem;
this.selectedIndex = oldSelectedIndex;
The other option seems to be tinkering around with the iterator property... But, judging by the way I've seen it used, that will get pretty harry pretty quickly too. So, how can I get the item at a particular index in an advanced datagrid without going insane?
I'm doing a drag and drop operation on a tree using some help from Adobe's quick Starts:[URL]
The code suggested is roughly this:
var dropTarget:Tree = Tree(evt.currentTarget);
var i:int = dropTarget.calculateDropIndex(evt);
myTree.selectedIndex = i;
[Code].....
EDIT: I forgot to post that my current workaround is setting the selectedIndex = -1 after I get my node:XML. I'm afraid that if something bogs on the processor the user may see it select then deselect.
I have a label inside a repeater (rptInfos), and I have an arraycollection (Texts) that has the translations. The "Texts" content is changing when I change the language, and normally I use {Texts.getItemAt(219}} for example when I need a translated text. But in the repeater I have a translateable column, so I want to use it like this:
<s:Label text="{Texts.getItemAt(rptInfos.currentItem.DictID as int)}" />
but it says "Syntax error: expected a definition keyword (such as function) after attribute , not target".I wanted to translate it in the labels creationComplete event, but than I can forget about binding, so only when reloaded can I have the content to update.
I have a datagrid with an xmlListCollection bound to it:
<mx:DataGrid id="dgCompetente" includeIn="Competente" x="10" y="66" width="547" height="468"
change="dgCompetente_changeHandler(event)" dataProvider="{colCompetente}"
editable="false">
[Code]......
I want the selectedIndex to remain the same. So, if I delete item 2, the next in the list should be selected. The problem is that if I delete item 2, item 3 will be selected and I have no idea why.
How to show the item index in my item renderer.Owner of the item renderer is TileList. [url],..
View 2 RepliesI have some XML structures like this:
var struct:XML = <mh>
<mi id="1" stuff="whatever"/>
[Code]....
I wonder if items can be accessed in a similar way, like this:
var stuff:Object = cmenu['id == 2'].stuff;
I have some List and TileList controls. How can I get a reference to the list item that's currently under the mouse pointer?
View 3 RepliesIn a spark list I could use the change event to find out which item has been selected or deselected. The dispatched IndexChangeEvent object has the properties newIndex and oldIndex holding this information.
But with multiple selection allowed this doesn't work anymore because newIndex and oldIndex could refer to indices of still selected elements.
A solution would be to copy the selectedIndices vector to another variable and compare this variable with selectedIndices after a change in selection, but this seems to be somewhat complex.
Does anyone know if there is an easy way two get the index/item a user is deselecting while other elements are still selected?
I have prepared a simplified test case for my question. It will run instantly in your Flash Builder if you put the 2 files below into a project.I'm trying to display a List of strings and a confirmation checkbox in a popup:In the real application I dispatch a custom event with the string selected in the list, but in the test code below I just call trace(str);My problem: if I use click event, then the window closes, even if I click at a scrollbar (the !str check below doesn'twhen an item had been selected in previous use). And if I use change event, then the window doesn't close, when I click on the same item as the last time.riting a custom item renderer and having a click event handler for each item seems to be overkill for this case, because I have strings in the list.Test.mxml: (please click myBtn few times - to see my problems with click and change)
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
[code]........
I have a tricky problem in that I have an array that has been populated with strings ("item1", "item2", etc). However, at a certain point I need to pull one randomly out of the group, via a random number function. The issue is I cannot reference the items in the array by a number, I get an error. So when I try to get myArray(5) it doesn't work.
How can I work around this so I can grab a random item in my string array?
var arr1:Array = new Array();
arr1.push(item1);
arr1.push(item2);
arr1.push(item3);
then arr1 and its elements get passed to other functions is there a way to know the index of an item in the array?
GetParentArrayIndex(item2) would give me 1;
I am stuck with a string search
ActionScript Code:
var str:String = "this is better than what is better.";
var pattern:RegExp = /this.*better/gi;
var results:Array = str.match(pattern);
I want to search in a string from word1 to word2 and place all the results in an Array. So this should be accomplished using match().However the above code would return " this is better than what is better" while it should return "this is better". So the output takes the last match in the line, but I want it only to output till the first match in the line.
I've been trying yo convert Lee 3D carousel tut to AS3 and it pretty much there apart from one thing. I took Lee's as2 carousel 2 and applied what I know to convert it to AS3. I couldn't work out how to re-index each item properly. When the last item in the XML should appear under an item to it's left or right it does not due to numbers being rounded from the scaleX value being too close and causing the same number to be generated from more than one item therefore last item to be processed ending up on top. I've tried a few alternatives, but nothing has worked so far. Hopefully that makes to sense to someone.
If you download the files from Lee's tutorial http:[url].... open the fla, change the publish settings to Flash Player 9+ and AS3, remove all existing AS code, check the library item linkage as I've capitalized everything and add the following to the root timeline.The code causing the problem is this in the function mover:
Code: Select allvar index:int = Math.floor(mc.scaleX*10);
Code: Select allvar loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);[code].............
i see that theres the array.push and array.unshift, but thats just the beginning and the end of the array. how would i go about inserting an item(s) into an array at the desired index?
View 4 Replieshow do you find an object's index / position within an array in flash actionscript 3? I am trying to set a conditional up in a loop where, if an object's id is equal to the current_item variable, I can return its position within the array.
View 1 RepliesIf I have more than one movieclip in an array is it possible to find the movieclips index in the array? Like myMovieclip.parent[3]??
View 1 RepliesI have a textBox and I am using it as a mail address input field where the user can type in several addresses, a bit same as in hotmail. Each address is rendered into a clickable button. Thus upon double-clicking on a specific address I want the item to be editable. After having edited the address when the user taps enter, the item is added to the list of mail adds.I am adding it using the code below:
flowBox.addChildAt( myItem, myindex);
However addChildAt seems to add the item as the last item in the list. But I want it to add the item the position where it was originally. Say the item was at position 2 in the mail list, after editing adn tapping enter, it should add at position 2 itself and not at the end of the list.
I have a textBox and I am using it as a mail address input field where the user can type in several addresses, a bit same as in hotmail. Each address is rendered into a clickable button. Thus upon double-clicking on a specific address I want the item to be editable. After having edited the address when the user taps enter, the item is added to the list of mail adds.I am adding it using the code below:flowBox.addChildAt( myItem, myindex);However addChildAt seems to add the item as the last item in the list. But I want it to add the item the position where it was originally. Say the item was at position 2 in the mail list, after editing adn tapping enter,
View 2 RepliesI have this Array
Code:
var shoprubriken:Array = new Array();
shoprubriken[0] = "43";
shoprubriken[1] = "44";
[Code]....
Now I wanted to check on which Index Position maybe the 47 is
How can I archive this on a Button or Function?
How do I find an object's index in an array
I have an array of objects similar to[code]...
After chatting with my coworkers, they have suggested I enumerate this into a large array of indexed values with references to which index they are associated with, for instance [code]...
I have a function that finds the smallest five numbers out of an array of values and returns their index numbers. Here's a block of code from that function[code]...
The whole thing is slow, but I imagine that indexOf() is probably the worst offender. Is there any more efficient way to correlate a series of minimum values with their indexes without having to use indexOf()?
The values don't necessarily have to be stored in _elements, but they're pulled from a multidimensional array so I figure that it's the most efficient I can get at the moment.
I am trying to get the index of an item in a List object on a mouse roll over event (please keep in mind this is not the selectedIndex I need). Heres the code I am currently using:
list.addEventListener(ListEvent.ITEM_ROLL_OVER, onItemRollOver);
function onItemRollOver(e:Event):void {
var itemInfo:Number = 0;
/*This is where I need the Index Number of Item being Rolled over instead of Selected Item*/
itemInfo = list.selectedIndex;
txt_Display.text = 'Item Index #: ' + itemInfo;
play();
}
I'm trying to build a function that finds max-value in array of numbers and returns index position of the value (in AS.3.0)I already have this.....but it is not helping me finding the index number.[code]
View 9 RepliesI change an item in Spark List. The item then moves to a different index in the list since I keep the List's dataProvider sorted. However, the selectedIndex stays where the item used to be. I want the List's selectedIndex to still be on the item that changed.
View 1 RepliesWhen I drop an image onto my canvas I can get the nativePath to the image but not the bitmapdata wich is the one I need.
In debug mode when I look into the file properties the data is set to NULL.
In my code file.data doesn't give me anything.
protected function creationCompleteHandler(event:FlexEvent):void
{
this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,onDragIn);
[Code]....
this is the code for 3d rotation [code]i want to rotate the image after dropping them in the canvas.i am able to rotate them in the panel.
View 1 RepliesI have an image loaded from an url and added to canvas as child. Then I am drag and dropping another image on it which also uses the senocular transform so the image can be transformed on the canvas. I have coded in such way that the transform handles shows up only after it's dropped on canvas. The image shows up correctly. But I am trying to save the result image (that is the main image and the dropped image on top of it), I only end up with the main image that was loaded earlier. The dropped image doesn't show up.
Below is the code for handleDrop() that is fired on dragDrop event and prepares the final image.
[Code].....
I'm working on my website which is a portfolio site, to showcase my work I have a basic XML image gallery which does 1 of 3 things loads a large photo, goes to a frame with a video player, or goes to another frame with a gallery of web design or flash work i've done. when a thumb is clicked i trace the indexOf(event.target) of the thumbnail clicked (all thumbnails are placed into an array).
the problem is that for some reason randomly the index will not be found and return -1, but then other times it will find the correct index and work properly. i don't know what the inconstancy is thats causing this to occur