[limb-svn] r6900 - 3.x/trunk/limb/wact/src/components/form

svn at limb-project.com svn at limb-project.com
Tue Apr 8 08:15:50 MSD 2008


Author: svk
Date: 2008-04-08 08:15:50 +0400 (Tue, 08 Apr 2008)
New Revision: 6900
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6900

Modified:
   3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php
Log:
-- wact: multiple select performance improved

Modified: 3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php
===================================================================
--- 3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php	2008-04-06 20:53:22 UTC (rev 6899)
+++ 3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php	2008-04-08 04:15:50 UTC (rev 6900)
@@ -124,22 +124,32 @@
     if(!$select_field = $this->getAttribute('select_field'))
       $select_field = 'id';
 
+    $selected_items = array();
+    foreach ($values as $value)
+    {
+      if (is_scalar($value))
+        $selected_items[] = $value;
+      else
+        $selected_items[] = $value[$select_field];
+    }
     foreach($this->choice_list as $key => $choice)
     {
       $selected = false;
-      foreach($values as $value)
-      {
-        if(is_scalar($value) && $key == $value)
-        {
-          $selected = true;
-          break;
-        }
-        elseif(!is_scalar($value) && $value[$select_field] == $key)
-        {
-          $selected = true;
-          break;
-        }
-      }
+      if (in_array($key, $selected_items))
+        $selected = true;
+//      foreach($values as $value)
+//      {
+//        if(is_scalar($value) && $key == $value)
+//        {
+//          $selected = true;
+//          break;
+//        }
+//        elseif(!is_scalar($value) && $value[$select_field] == $key)
+//        {
+//          $selected = true;
+//          break;
+//        }
+//      }
 
       $this->option_handler->renderOption($key, $choice, $selected);
     }



More information about the limb-svn mailing list