diff popups_reference.js @ 5:e1318a313b1d

Popups: AddnReference 1.3
author Franck Deroche <franck@defr.org>
date Thu, 19 Mar 2009 11:34:01 +0100
parents 56772e0a00ae
children 990f71344a66
line wrap: on
line diff
--- a/popups_reference.js	Wed Jan 21 11:19:01 2009 +0100
+++ b/popups_reference.js	Thu Mar 19 11:34:01 2009 +0100
@@ -1,4 +1,4 @@
-// $Id: popups_reference.js,v 1.1.2.1 2009/01/18 22:40:33 starbow Exp $
+// $Id: popups_reference.js,v 1.1.2.3 2009/03/06 01:54:08 starbow Exp $
 
 /**
  * Popups: Add and Reference behavior
@@ -38,10 +38,20 @@
       $(document).bind('popups_form_success.popups_reference', function() {
         // Info about the new node was placed in a cookie when it was created.
         var nid = popups_reference_get_cookie_value('PopupRefNid');
-        var title = popups_reference_get_cookie_value('PopupRefTitle');
+        var title = decodeURIComponent(popups_reference_get_cookie_value('PopupRefTitle'));
         $wrapper.find('select').val(nid); // Select
-        $wrapper.find('input.form-autocomplete').val(title); // Autocomplete
         $wrapper.find(':radio[value=' + nid + ']').select(); // Radio buttons
+        
+        // Get the first empty autocomplete field to fill (http://drupal.org/node/388406).
+        $emptyAutos = $wrapper.find('input.form-autocomplete').filter(function(i) {
+          return !$(this).val();
+        });
+        if ($emptyAutos.length) {
+          $emptyAutos.eq(0).val(title);
+        }
+        else { // There are no empty fields, use the first one.
+          $wrapper.find('input.form-autocomplete:first').val(title);
+        }
       });
     });
   });