MT3160 : Fix plugin callback when subfields are cloned
authorMatthias Meusburger <matthias.meusburger@biblibre.com>
Thu, 25 Mar 2010 10:50:06 +0000 (11:50 +0100)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Fri, 14 May 2010 07:27:44 +0000 (09:27 +0200)
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl

index 25c9086..6321e5e 100644 (file)
@@ -422,18 +422,19 @@ function CloneSubfield(index){
     var clone = original.cloneNode(true);
     var new_key = CreateKey();
     var new_id  = original.getAttribute('id')+new_key;
-    
     // set the attribute for the new 'div' subfields
     var inputs     = clone.getElementsByTagName('input');
     var selects    = clone.getElementsByTagName('select');
     var textareas  = clone.getElementsByTagName('textarea');
-        
+    var linkid;
+
     // input
     var id_input = "";
     for(var i=0,len=inputs.length; i<len ; i++ ){
         id_input = inputs[i].getAttribute('id')+new_key;
         inputs[i].setAttribute('id',id_input);
         inputs[i].setAttribute('name',inputs[i].getAttribute('name')+new_key);
+       linkid = id_input;
     }
     
     // select 
@@ -449,7 +450,20 @@ function CloneSubfield(index){
         textareas[i].setAttribute('id',textareas[i].getAttribute('id')+new_key);
         textareas[i].setAttribute('name',textareas[i].getAttribute('name')+new_key);
     }
-    
+
+    // Changing the "..." link's onclick attribute for plugin callback
+    var links  = clone.getElementsByTagName('a');
+    var link = links[0];
+    var buttonDotOnClick = link.getAttribute('onclick');
+    if(buttonDotOnClick.match('Clictag')){   // -1- It s a plugin
+       var re = /\('.*'\)/i;
+        buttonDotOnClick = buttonDotOnClick.replace(re,"('"+linkid+"')");
+        if(buttonDotOnClick){
+           link.setAttribute('onclick',buttonDotOnClick);
+        }
+    }
+
+
     <!-- TMPL_UNLESS NAME='advancedMARCEditor' -->
     // when cloning a subfield, reset its label too.
     var label = clone.getElementsByTagName('label')[0];