You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by mi...@apache.org on 2015/06/21 23:16:02 UTC

[4/6] git commit: [flex-sdk] [refs/heads/develop] - FLEX-34854 FLEX-34884 Mirror of commit 047017398a2ccea7ddb2b0300ec4a184ad7f9ab6 for the spark version of Sort.as.

FLEX-34854 FLEX-34884
Mirror of commit 047017398a2ccea7ddb2b0300ec4a184ad7f9ab6 for the spark version of Sort.as.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/2ce42524
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/2ce42524
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/2ce42524

Branch: refs/heads/develop
Commit: 2ce42524d125c87bddd087a617d69b30effa872d
Parents: e2df7a7
Author: Mihai Chira <mi...@apache.org>
Authored: Sun Jun 21 20:38:12 2015 +0100
Committer: Mihai Chira <mi...@apache.org>
Committed: Sun Jun 21 20:38:12 2015 +0100

----------------------------------------------------------------------
 .../spark/src/spark/collections/Sort.as         | 40 +++++---------------
 1 file changed, 9 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/2ce42524/frameworks/projects/spark/src/spark/collections/Sort.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/collections/Sort.as b/frameworks/projects/spark/src/spark/collections/Sort.as
index 8e9a8d5..807f121 100644
--- a/frameworks/projects/spark/src/spark/collections/Sort.as
+++ b/frameworks/projects/spark/src/spark/collections/Sort.as
@@ -341,10 +341,6 @@ public class Sort extends AdvancedStyleClient implements ISort
      */
     private var _fields:Array;
 
-    /**
-     *  @private
-     */
-    private var fieldList:Array = [];
 
     [Inspectable(category="General", arrayType="mx.collections.ISortField")]
     [Bindable("fieldsChanged")]
@@ -372,16 +368,7 @@ public class Sort extends AdvancedStyleClient implements ISort
     public function set fields(value:Array):void
     {
         _fields = value;
-        fieldList = [];
-        if (_fields)
-        {
-            var field:ISortField;
-            for (var i:int = 0; i<_fields.length; i++)
-            {
-                field = ISortField(_fields[i]);
-                fieldList.push(field.name);
-            }
-        }
+
         dispatchEvent(new Event("fieldsChanged"));
     }
 
@@ -542,39 +529,30 @@ public class Sort extends AdvancedStyleClient implements ISort
         {
             compareForFind = this.compareFunction;
             // configure the search criteria
-            if (values && fieldList.length > 0)
+            if (values && fields && fields.length > 0)
             {
                 fieldsForCompare = [];
                 //build up the fields we can compare, if we skip a field in the
                 //middle throw an error.  it is ok to not have all the fields
                 //though
-                var fieldName:String;
+                var field:ISortField;
                 var hadPreviousFieldName:Boolean = true;
-                for (var i:int = 0; i < fieldList.length; i++)
+                for (var i:int = 0; i < fields.length; i++)
                 {
-                    fieldName = fieldList[i];
-                    if (fieldName)
+                    field = fields[i] as ISortField;
+                    if (field.name)
                     {
-                        var hasFieldName:Boolean = false;
-                        
-						try
-                        {
-                            hasFieldName = values[fieldName] !== undefined;
-                        }
-                        catch(e:Error)
-                        {
-                        }
-                        if (hasFieldName)
+                        if (field.objectHasSortField(values))
                         {
                             if (!hadPreviousFieldName)
                             {
                                 message = resourceManager.getString(
-                                    "collections", "findCondition", [ fieldName ]);
+                                    "collections", "findCondition", [ field.name ]);
                                 throw new SortError(message);
                             }
                             else
                             {
-                                fieldsForCompare.push(fieldName);
+                                fieldsForCompare.push(field.name);
                             }
                         }
                         else