Thanks for checking out my blog.

If you’d like to contact me my email address is my full name (no dots or dashes) at or you can follow me on twitter @hillelcoren.


98 thoughts on “Contact”

  1. Hey Hillel, I, on behalf of AsFusion, would like to thank you for creating such a wonderful component. We have been searching for a decent Auto complete component and have settled on yours. Here are just a couple things that may be useful in the next release:

    Skinning – I already implemented this… but it may be useful to set the subcomponents related to the textinput to inherit for the Box based stylename, so it is skinnable right out of the box.

    Access to the list Item renderer – I don’t know if this is already implemented or not, but having access to the list and its renderer would be a plus for displaying more information and having the option to search multiple fields in the array collection.

    Just some thoughts. Thanks for doing all that you are doing,

    Jeremy Saenz

    1. Thank you so much, that’s really nice to hear. The suggestions are great, I’ll be sure to incorporate them in the next release.

      Btw, I’m a huge Mate fan. I use it in every Flex app I build. Great job with the framework, it’s the best one I’ve used.

  2. Hi,

    I will use the autocomplete component 0.93, but iยดd like to know if can i setup it to a dataprovider coming from a database, everytime the user type an letter iยดd like to send it to backend, filter all records ( customers for example ) and create a new data provider with this records.

    Do you have an sample about it ??/



    1. Waldir,

      I know that this can be accomplished as other people have posted comments stating that they’re using it that way, I don’t however have an example. If anyone else reading this post has an example they’d be willing to share it’d be very much appreciated. Otherwise, I’d be happy to help you implement it (maybe we could use your code as an example).


  3. Ok… Iยดm trying to make it work since 7:00 PM ๐Ÿ™‚ The biggest problem now is that the dataprovider decided that want refresh ๐Ÿ˜ฆ I made some modifications to call the component, but still now no sucess. As soon as I finish it, Iยดll send it to you.

  4. Hi,

    I was unable to open the downloaded 1.7 MB ZIP Archive.
    The 1.9 MB version from Google code works fine


  5. First off, amazing component…thank you!

    The AutoComplete component works just fine, but what if I needed the dropdown options to still be available for the user as well? I mean, what if they didn’t even know what letter something started with and they wanted to browse the list just like a regular combobox without losing the AutoComplete functionality?

    I tried showDropDown, but that didn’t do the trick…any suggestions?

    Thanks again!

      1. Hillel,
        I am using auto complete and it works like a champ.
        I set a default message using prompt property, But I am not able to convert from default italic font to normal.
        Could you please help me, how can I do that!
        Thank you,

      2. You’ll need to use the source to make that change. In PromptTextInput.mxml you can comment out the call to setStyle in the showPrompt function.

  6. Thanks for the quick response Hillel!
    I finally got it working using MXML, but any ideas on implementing this using Actionscript?

    I have a form being dynamically generated from XML and I’ve got your component showing, but cannot seem to figure out how to add the inline button.

    Any advice?
    Thanks again!

    1. Daniel,

      Try creating a custom component which extends the AutoComplete class (and includes the inline button). You could then use this class in the ActionScript code.

  7. First off, you’re amazing…first site/blog I’ve been on that the author responds so quickly…awesome!

    Second, sorry for all the questions, but I’m definitely getting things to work now with your help ๐Ÿ™‚

    I’ll post my AutoComplete class extension which includes the inline button for others to use as soon as I’m done with it.

    In the meantime, one more question/issue:

    I have two dropdowns, the second of which relies on data from the first to populate (both from the DB). I’ve gotten this to work, but now, I need to be able to preselect the first dropdown and based on that, preselect the second dropdown as well.

    what i usually do is call:


    which populates the first dropdown and once a selection is made, i call


    which populates the second dropdown based on the first dropdown selection…this all works.

    now i try this to pre-populate the dropdowns and no go:

    dropdown1.selectedItemId =;
    dropdown2.selectedItemId = itemXML.item.id2;

    my keyField is set to: ‘id’ and the array populating the dropdowns has an ‘id’ field, so thats not the issue (i even added keyField = ‘id’).

    i also tried the above with just selectedItem and setting it to an actual value (ie. “Option 1”)…this method sets the text to the value, but doesn’t recognize it as an actual selection of the list of available items in the dropdown…and allowNewValues is set to false.

    much appreciate any help, suggestions, advice.


    1. Daniel,

      Have you tried calling the second part in a callLater function.

      If you could make me a sample application which demonstrates the issue that’d be really helpful.

  8. Hi Hillel,
    On behalf of WIPRO Technologies,we like to thank you for such an excellent component.We were need of a component as similar to ListBuilder .We designed our own component without the filter.But lately we saw your component and settled on ListBuilder.

    Bug Scenario :
    In the ‘ListBuilder’ component,use the filter and double click an item on the left list(filtered items),it will be added to the right list.Now click the add button(without selecting any item from the left list),the same item is again added to the right list.Now there will be the same item twice in the right list.

    We had fixed that bug by modifying the function handleLeftDoubleClick() in ‘ListBuilder.mxml’ file and had attached the file with this mail.Kindly make the changes to your latest version.

  9. Hi Hillel,

    Great component! I have one small issue: Our search data looks like this: “Smith, John”.

    As the component filters, the underline extends as expected. But if you try to add the comma, then the textbox clears and the dropdown list goes away. I would expect that the underline would continue to extend under the comma, then under the space. Is there a way to make this work with the component as it exists?

    best regards,
    Bill Clark

  10. Fantastic component. Thanks for taking the time putting this together. Adobe should buy that from you. ๐Ÿ™‚

    Keep up the good work.

    Oliver Degnan
    Chief Architect, Innotep Corp.

  11. Hello Hillel…agree with all – a fantastic component – we had a question similar to Daniel’s above…we utilize the advanced component with the actionmenu but are wondering if there is an option or plans for the action menu itself to host the list control one sees when they select ‘browse’ with the addition of check-boxes rather than the use of the control key. Essentially, skipping the browse step and not launching a separate pop-up…somewhat of a psuedo-super combo…thanks again.

    1. Ata,

      That’s an interesting idea. I have no immediate plans of implementing something like that but I’d be happy to help you get it working if you decide to build it.

  12. Hi there Mr Hillel,
    You get a lot of well deserved good feedback for this component. I’m still learning flex and was keen to get an autocomplete feature going in my developments. THANK YOU SO MUCH for these downloads!
    All the best


    1. Patrick,

      Thanks for the kind words. I invest a good amount of time supporting the component, the thank yous from people like yourself really help motivate me to keep it up.

      Let me know if you run into any issues.


  13. Great component, but I’m having one problem. I keep getting a stack trace when calling and xxx.showDropDown(). It’s not totally consistent.

    My case is a bit different. I’m changing the dataProvider often, then calling search/showDropDown.

    I tried wrapping the showDropDown in a callLater, but that didn’t help.

    The below is a partial stack trace.

    RangeError: Error #2006: The supplied index is out of bounds.
    at flash.display::DisplayObjectContainer/addChildAt()
    at mx.managers::SystemManager/
    at mx.managers::SystemManager/addChild()[C:\autobuild\3.2.0\frameworks\
    at mx.managers::PopUpManagerImpl/addPopUp()[C:\autobuild\3.2.0\frameworks\
    at mx.managers::PopUpManager$/addPopUp()[C:\autobuild\3.2.0\frameworks\
    at com.hillelcoren.components::AutoComplete/showDropDown()[/Users/hillel/
    at com.hillelcoren.components::AutoComplete/handleFlowBoxChange()[/Users/hillel/Code/flex-autocomplete/src/com/hillelcoren/components/AutoComplete.mxml:1091]
    at com.hillelcoren.components::AutoComplete/search()[/Users/hillel/Code/

    1. David,

      Have you tried calling validateNow() on the autoComplete after changing the dataProvider but before calling search/showDropDown.

  14. hi Hillel,
    AutoComplete component is looking good but i dont know enough flex. i dont know that how i set up hillelcoren.components and also is it free?

    thank you for helping

    1. Adam,

      To use the component simply copy the SWC file to your libs folder. If you start typing Auto… FlexBuilder should autocomplete the tag name and automatically import the component. Yes, currently the AutoComplete component is free to use.

  15. Hi, first thanks for your work on this autocomplete.
    It works fine, but i belive there is an issue with garbage collection. I use it in a popup, and each time i destroy the pop up, i see in the FBProfiler that the instances of AutoComplete are not cleaned. I am discovering flex memory managment and weakReference in the eventListeners (frightening). I saw some of your code specifies weakReference=true, i’ll try setting weakReference everywhere…. kamikazee style.

    I am not an expert but i think this lib has a future ๐Ÿ˜‰

    1. Maxime,

      That’s a good point. I’ll review the code for the next version and make sure all of the even listeners use weak references.

      Thanks, let me know if you run into any other issues

  16. Hi Hillel,
    First thanks for the great component, we use it a lot in our applications and it works fine.

    We have one issue where your assistance would be very much appreciated.

    We have popup window (contact details). One of the fields in this popup is dynamic autocomplete ( the data is retrieved from DB based on text input).
    At the first opening of the popup it works fine, but if we close the popup and then open it again and use the same text pattern in the autocomplete field –> dropdown is not shown, even though the data in dataprovider is retrieved successfully. If we use a different text pattern then dropndown is shown properly. It looks like there is a history of used text patterns and for them a dropdown is not displayed anymore.

    Here is the implementation of the function called upon searchChange event:

    public var communityData:ArrayCollection = new ArrayCollection();
    public static var COMMUNITY_MIN_CHARS:int = 3;

    private function loadCommunityData():void{
    var searchString:String = this.CommunityNameField.searchText;

    //in case list is not empty Check if search string changed (compare to first
    if (searchString.length > COMMUNITY_MIN_CHARS)
    else if (searchString.length == COMMUNITY_MIN_CHARS)
    searchString = searchString.toUpperCase();
    searchString += “%”;

    else if (searchString.length 0)

    Once the data is retrieved, we call;

    Please advise what we are doing wrong.

    Thanks a lot in advance.


    1. George,

      To start with I’d suggest checking out the DynamicData.mxml file in the examples folder. It demonstrates the best practice for using the component with server side data. If you still have issues after checking that out please let me know and I’ll see what I can do.


  17. Hi Hillel,

    First I’d just like to say thanks for the great component! I’m just having a bit of a problem.

    I seem to have everything work with the inline array collect — public var ac:ArrayCollection = new ArrayCollection( [ “one”, “two”, “three” ] ); —

    But I’m now trying to get an array to load from a local database and I’m having some problems

    Here’s a chunk of my code containing the array

    private function SireData():void { //SIRE AUTO
    var stmt:SQLStatement = new SQLStatement();
    stmt.sqlConnection = sqlConn;
    stmt.text = “SELECT status_status FROM tbl_status ORDER BY status_status ASC”;
    var result:SQLResult = stmt.getResult();
    acSire = new ArrayCollection([]);

    The problem is all that comes out in the AutoComplete box is a strange string – [object Object],[object Object]

    Have you ever seen this? And What might I be doing wrong?


    1. ok I seem to have it working now. I removed the square brackets around the

      acSire = new ArrayCollection(;

      This seem to do the trick, although I was sure I had already tried it.

      Anyways thanks and keep up the great work!

  18. Hi Hillel,
    Thanks for your prompt reply.
    I have checked DynamicData.mxml example and it looks very similar to how we handle it, however we still have an issue. Specifically the issue exists when autocomplete field is on the popup, and it is not working when the popup is opened on the second time. We have some autocomplete fields on the “main” application window and it works fine every time.

    We would very appreciate your assistance.
    Thanks in advance.

    1. George,

      This is obviously hard for me to test as I can’t replicate the issue. I’m not sure exactly what the issue is but I’d suggest trying to add a call to showDropDown() after the data is returned.

  19. Hey Hillel thanks for the reply. Its seems I have run into another problem.

    I’m using your auto complete component in a form and I can’t get it work the why I’d like…

    The auto complete is getting its data from a database fine but I’d like my users to be able to fill out the form and when they come to the auto complete be able to enter in any data. If the data is already in the database the auto complete would run its course but if what the user entered is not in the database I would like them enter it and still be able to submit this information.

    Right now it only seems to submit the fields data if auto complete recognizes the entry, and if it doesn’t nothing is entered into the database.

    Do you have any idea why this might be? Or how I got about accomplishing this?

    Thanks again!

  20. I am trying to limit the size/height of the box above the search box. I use vertical layout. I can’t find an attribute to do that. thanks!

    1. Kathy,

      I’m sorry, there isn’t a property to set that. In order to change the height you’ll need to use the source code. The row count is hardcoded to 8, you can change it in the List tag in MultiSelect.mxml.


    1. Adam,

      That’s a bit tricky with this component. The main component in the AutoComplete is the flowBox so to get started you’re going to want to do something like

      autoComplete.flowBox.setStyle( “cornerRadius”, 30 );
      autoComplete.flowBox.setStyle( “borderStyle”, “solid” );

      The catch is there are a number of nested components/containers which make getting this working a little difficult.

      Sorry I couldn’t be more help…

  21. Hi Hillel! Thank you for this great component!
    I would like to tell with what I experienced when using AutoComplete component.
    I am using it as ItemEditor in AdvancedDataGridColumn. I’ve noticed this feature: If you type the text in the AutoComplete (allowNewValues = true), then do not hit the Enter key, and click the mouse on the next row, then the AutoComplete does not save the entered text and cell remain is empty.In your example with DataGrid behavior the same.
    Very need this functionality.
    Thank you.

  22. Hey, awesome component! I’ve been using it extensively and it works great! Please keep up with the great work and I love how you are so active in responding to comments.

    I do have one question: I would like to move the menu button to the left of the component instead of being on the right side. I looked at the source code, and it seems like it would be alot of work, plus i would have to somehow add textpadding to the left. I just wanted to check whether you know of a simple way to implement this.

    Thanks again

    1. Locke,

      The code changes to move the button shouldn’t be too bad. We layout the pieces in the updateDisplayList function In FlowBox.mxml.

      To move the first item to the right, change

      child.x = child.y = 0;


      child.x = 30;
      child.y = 0;

      Then when we position the button at the end of the function, change

      _inlineButtonCanvas.x = width – _inlineButtonCanvas.width – 1;


      _inlineButtonCanvas.x = 0;


      1. Thanks for the quick reply. I did what you said, and it seemed like it almost worked. The text prompt knows that a button is on the left now. However, the button is not visible. When i mouse over the button, the cursor changes to an arrow, meaning it does know that its there, its just wont show it for some reason. If i click on this invisible button on the left, it will pop up the menu, which appears on right side still. I tried changing positionActionsMenu() within AdvancedAutoComplete to position the menu like this (but it didnt work):

        var buttonGlobalPoint:Point = _inlineButton.localToGlobal(localPoint); _actionsMenu.x = buttonGlobalPoint.x;
        //_actionsMenu.x = globalPoint.x;
        _actionsMenu.y = globalPoint.y + (height – textHeight);

        Anymore suggestions about how i can make the button appear on the left? And how to position the popup menu correctly?

      2. Seems like the button didnt appear because i did not set up my project correctly to include the assets and css. So your suggestion worked and now the button is on the left. thank you ๐Ÿ™‚ I will continue to find a way to move the popup menu also.

      3. Sorry for the triple post, but I just wanted to say that I figured out what I needed to do. I am actually moving away from your implementation of the actionmenu.

        For those who want to know, I am using an invisible popupbutton within the _inlinebuttoncanvas. I set the width of the popupbutton to the width of the _inlineButton. then i connect the _inlinebutton click event handler to toggle the popup menu. Now I can have a popupmenu without worrying about how to place the menu.

        Also, the code suggested by Hillel works great to move the _inlineButton to the left.
        I actually did one small difference:

        _inlineButtonCanvas.x = 5

        Thanks again Hillel for getting me started in the right direction ๐Ÿ™‚

  23. I am using AdvancedAutoComplete control in my flex application which is a drop down of numbers. I need to give flexibility to users to input any number in the field. When the form is submitted the field needs to be validated. The issue is i am not able to use the NumberValidator because there are two NumberValidator i have to define. One for property selectedItem and one for property text.


    Can you please help me know how we can implement validation here

    1. Rajeev,

      I’m sorry, your MXML didn’t come through in your comment. You should be able to just use the validator on the selectedItem property though.

  24. Hi Hillel,

    thanks for putting the efforts for creating this useful component.

    There’s a bug in the AutoComplete class related to validations I just encountered and solved localy.
    In commitproperties, you first check for _errorStrChanged and later there’s a call to _selectedItems.addItem. This results in the Validator associated with the component to perform validation (triggered by the VALUE_COMMIT event dispatched from the handleSelectedItemsChange handler), which may change the error string and set _errorStrChanged to true.
    However, at this stage the _errorStrChanged value is not concidered any more as the change occured during commitProperties, which leaves the component with a wrong validation state.
    The solution is quite simple. The check for _errorStrChanged should be the last check in commitProperties, as other property values (such as _selectedItemIdChanged) may influence its value.



  25. First off, I want to commend you on such a well done job on this auto complete component. We are using it on my current project and it really is a well constructed component which has saved us significant time.

    I do want to report a possible bug, which I have fixed locally, but am not sure if I missed something to begin with. The scenario is as follows:

    – Have the AC component towards the bottom of the screen, and start to type, which will pop up the list above the text field
    – as you type more, the list decreases in size as the filter reduces the list size.

    The bug is that the filter is reducing, and the list is getting smaller, but it “detaches” from the text field since it’s y coordinate isn’t updated to account for the smaller height.

    I fixed this locally, by tweaking the ‘createDropDown’ method and added a Resize event listener to the drop down, which just calls ‘positionDropDown’. This fixes it.

    Not sure if there was a flag I missed to do this, but I worked around it using that method.


      1. I was using the release right before that one. Did you fix it in a similar fashion, or should I update?

      2. Nick,

        I think I fixed it by adding a call to positionDropDown when the list is filtered. There are numerous other bug fixes so I’d recommend updating either way.


  26. Hi Hillel,
    I have used your autocomplete component in my application and it works very nicely. Right now I am providing an array collection as dataprovider to the component. But in my application, I need to get the data from the database dynamically after each letter typed in the autocomplete component. Can you tell me a way as how to trigger a database query after each keystroke.
    Thanks in advance….

      1. Indu,

        In the examples folder in the download there’s a sample application called DynamicData.mxml which demonstrates using the component with a server-side data source. Let me know if you have any questions after looking through it.


  27. i use your component and it’s fantastic.

    i live in korea and i want change imemode. but i can’t change imemode.

    i try change ShorterTextInput.imeMode property in source code. but nothing change.

    please help me and all asian developer.

  28. Hello. Just started using the component and it’s working great. I was wondering if there is a way to not have the first item in the list selected by default. I’d like the user to have to click on the item they want – like a Google search.

    Thank you for providing this resource.


      1. Let’s say I type in two characters and your component finds 10 potential matches. They will be displayed below the text box and the item at the top of the list will be highlighted. If I hit the return key, the item at the top will be selected. I’d like to just display the 10 items and not have the the top one selected. Is this possible?

      2. Mike,

        Gotcha now… I’m sure it could be accomplished with modifications to the source code. Let me know if you’d like to give it a try and I’ll point you in the right direction.


  29. Hillel, I love the autocomplete component and think it’s one of, if not the best one out there. The only thing that stops me from using it in certain projects is that it doesn’t have an arrow button to manually open the list. Sometimes, I’d like to just see all the options (if there are few). Other times, if you type your filter text and then click out / hit Esc, the list closes and you have to alter the filter text to get it to open again.

    If it had a arrow button, and some corresponding property to denote whether you wanted it hidden or shown, it would be perfect. If that’s something you would consider adding, I’d use it everywhere!

    1. At the end of the documentation there’s an example of how to add that feature using the inlineButton property.

      Let me know how it works out for you,

  30. Hi Hillel,

    First of all, many tnx for sharing your AutoComponent. You saved all of us tons of work!

    Is there any chance that the defaultFilterFunction method could be made public in some next release? My custom filter function does exactly what defaultFilterFunction does + some extra stuff. It would be nice if I could just call it from within my custom filter function.

    For now I’ve copy/pasted the default behaviour into my custom filter function.


  31. Hillel,

    I love your AutoComponent. I have one question though. I noticed when you allow multiple selection it writes out a comma between every selection in text. Is there any way to change the character delimiter between each selection?



  32. Hillel,

    Is there any way to set the backspaceAction to a custom function instead of the default of “focus” and “remove”. When I tried to set the backspace action to my own function it didn’t get called when backspace was pressed and the program used the default of focus when backspace is pressed. Both “focus” and “remove” set the selected item to the previous item entered, but I need to do something else. Is there any way to implement a customized backspaceAction function, and if so, how?



  33. Hillel,

    Thanks for all your help. I love your component and all the features. I’m using the component with an arraycollection as the dataprovider. I’ve looked through the methods of the component and am having a hard time finding the index of the selected item in the array collection. Does your autocomplete class track the index of the item in the dataprovider when it is selected, and if so, how do I access it?



    1. The component doesn’t track the selected item index directly but you could figure it out using something like…

      dataProvider.getItemIndex( autoComplete.selectedItem )

      Hope this helps

  34. Hillel,

    I’ve tried using the hideDropDown property, but my dropdown keeps coming back. I have everything in the autocomplete displayed in a list, so I would like to permanently disable the dropdown. Is there anyway to do this?


  35. Is there a way to set a value externally and have the “change” function call fire? For example, a button component that changes the value to the first value in the array collection and also calls the change function.

      1. Thanks for your quick response! That sorta works in the sense that it dispatches the change event but the selectedItem value did not update. Consider this code:

        The function associated with the change event fires but the selectedItem data stays the same. Is there a separate property for selectedValue? Or is their an index value that I’m not realizing?

  36. hmmm, my code didn’t show up:

    button click equals: acID.selectedItem=’something different’; acID.dipatchEvent (syntax for dispatch)

  37. Hello Hillel,

    My name is Ido and I would like to consult with you about a problem we have with Flex 4.5.

    I’ve seen your blog and some of your work, and it seems that you are the right person to consult with.

    How can I reach you?

    Best regards,

  38. Hi Hillel,
    Thanks for such a well built application.

    I have a quick question though. What would be the best approach to change the relationship between the users and clients. what I am looking to do is have it so each user can only see its own clients invoices etc…

    From a quick look at it I reckon it should be just a case of changing the relationships in the model but thought id get your perspective before digging deeper.

    Thanks again!

  39. Hello Hillel
    I want to use Invoice Ninja self hosted via Cloudflare Flexible SSL, how can I make Invoice Ninja to work on Cloudflare SSL?

  40. Hi Hillel,

    I have just installed invoice ninja.
    First want to thank you to share this nice Laravel 5 application.

    I am now trying to fill the Company Details and I want to set the Password in order to Login.

    When I push the button a Modal Dialog will show asking to input the existing password which I do not have.

    Anything I try will fail. So if I log out I am not able anymore to log in

    Your help will be appreciated.

    Anyway logging out made me able to vote for your app (I hope everyone will take the time to vote for this app)

    Thanks again



    1. Did you use the setup screen or did you manually run the migrations/seed?

      If your email is set you could use the ‘forgot my password’ link to set a new one, otherwise it may be easiest to just recreate the database.

  41. Hi Hillel,

    Thanks for your great work.

    I have just installed Invoice Ninja.
    Invoice Ninja does not fit exactly to what I need. In my case there have to be two contacts in one invoice. The first one should be the retailer and the second one should be the client. I do my job as a sales rep with different retailers and different clients. Retailers can also be clients and clients can also act as retailer. So they don’t have to be separated in different categories. The only difference is the position in an invoice. Within the invoice table i thought about client1 (customer) client2(retailer)

    My programming skills are not very advanced but I will try myself in the next days.

    Do you understand what I want you to say :)?
    Do you think that this is possible?


Leave a Reply to Matt Allison Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s