flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Harui (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLEX-33398) ComboBox loses selectedItem when dataProvider dispatch reset event
Date Wed, 20 Feb 2013 08:15:13 GMT

    [ https://issues.apache.org/jira/browse/FLEX-33398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13582026#comment-13582026
] 

Alex Harui commented on FLEX-33398:
-----------------------------------

Joao, that's exactly my reasoning for not doing it in the component.  The component only knows
it is an ICollectionView or IList and therefore can only execute a linear search.  If you
want to restore the selectedItem when changing out the dataprovider, you should probably be
using a data structure that supports fast search to compute the new selectedIndex and then
set selectedIndex which is much faster than setting selectedItem.  I would not want to force
every dataprovider reset do to a linear search.
                
> ComboBox loses selectedItem when dataProvider dispatch reset event
> ------------------------------------------------------------------
>
>                 Key: FLEX-33398
>                 URL: https://issues.apache.org/jira/browse/FLEX-33398
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: mx: ComboBox
>            Reporter: João Fernandes
>   Original Estimate: 1m
>  Remaining Estimate: 1m
>
> During a reset Event, combobox does reset the selectedItem but doesn't respect the fact
the current selectedItem might be included in the new source.
> What I propose is to change
>  else if (ce.kind == CollectionEventKind.RESET)
>             {
>                 collectionChanged = true;
>                 if (!selectedIndexChanged && !selectedItemChanged)
>                     selectedIndex = prompt ? -1 : 0;
>                 invalidateProperties();
>             }
> to 
>  else if (ce.kind == CollectionEventKind.RESET)
>             {
>                 collectionChanged = true;
>                 if (!selectedIndexChanged && !selectedItemChanged &&
!collection.contains(selectedItem))
>                     selectedIndex = prompt ? -1 : 0;
>                 invalidateProperties();
>             }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message