[Erp5-report] r36132 nicolas.dumazet - /erp5/trunk/products/ERP5Form/dtml/

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Jun 9 10:45:01 CEST 2010


Author: nicolas.dumazet
Date: Wed Jun  9 10:44:59 2010
New Revision: 36132

URL: http://svn.erp5.org?rev=36132&view=rev
Log:
completely inhibit selects when on readonly mode: listing the values is possible,
but when selecting a value, the previous value is restored and the save is not
visible

Modified:
    erp5/trunk/products/ERP5Form/dtml/proxyFieldEdit.dtml
    erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml

Modified: erp5/trunk/products/ERP5Form/dtml/proxyFieldEdit.dtml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/dtml/proxyFieldEdit.dtml?rev=36132&r1=36131&r2=36132&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/dtml/proxyFieldEdit.dtml [utf8] (original)
+++ erp5/trunk/products/ERP5Form/dtml/proxyFieldEdit.dtml [utf8] Wed Jun  9 10:44:59 2010
@@ -158,6 +158,14 @@
 function normalEvent() { return true; }
 function ignoreEvent() { return false; }
 
+var last_selected;
+function registerSelection() {
+  last_selected = this.selectedIndex;
+}
+function dontChangeSelection() {
+  this.selectedIndex = last_selected;
+}
+
 var class_deletaged_list = GetElementsWithClassName('td','delegated');
 for(var i=0; i<class_deletaged_list.length; i++) {
   var disable_children = class_deletaged_list[i].childNodes;
@@ -169,6 +177,9 @@
     element.readOnly = true;
     if (element.type == 'checkbox'){
       element.onclick = ignoreEvent;
+    } else if (element.tagName == 'SELECT') {
+      element.onfocus = registerSelection;
+      element.onchange = dontChangeSelection;
     }
   }
 }
@@ -190,12 +201,17 @@
           field.readOnly = false;
           if (field.type == 'checkbox'){
             field.onclick = normalEvent;
+          } else if (field.tagName == 'SELECT') {
+            field.onchange = normalEvent;
           }
         }
         else{
           field.readOnly = true;
           if (field.type == 'checkbox'){
             field.onclick = ignoreEvent;
+          } else if (field.tagName == 'SELECT') {
+            field.onfocus = registerSelection;
+            field.onchange = dontChangeSelection;
           }
         }
       }

Modified: erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml?rev=36132&r1=36131&r2=36132&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml [utf8] (original)
+++ erp5/trunk/products/ERP5Form/dtml/proxyFieldTales.dtml [utf8] Wed Jun  9 10:44:59 2010
@@ -158,6 +158,14 @@
 function normalEvent() { return true; }
 function ignoreEvent() { return false; }
 
+var last_selected;
+function registerSelection() {
+  last_selected = this.selectedIndex;
+}
+function dontChangeSelection() {
+  this.selectedIndex = last_selected;
+}
+
 var class_deletaged_list = GetElementsWithClassName('td','delegated');
 for(var i=0; i<class_deletaged_list.length; i++) {
   var disable_children = class_deletaged_list[i].childNodes;
@@ -169,6 +177,9 @@
     element.readOnly = true;
     if (element.type == 'checkbox'){
       element.onclick = ignoreEvent;
+    } else if (element.tagName == 'SELECT') {
+      element.onfocus = registerSelection;
+      element.onchange = dontChangeSelection;
     }
   }
 }
@@ -190,12 +201,17 @@
           field.readOnly = false;
           if (field.type == 'checkbox'){
             field.onclick = normalEvent;
+          } else if (field.tagName == 'SELECT') {
+            field.onchange = normalEvent;
           }
         }
         else{
           field.readOnly = true;
           if (field.type == 'checkbox'){
             field.onclick = ignoreEvent;
+          } else if (field.tagName == 'SELECT') {
+            field.onfocus = registerSelection;
+            field.onchange = dontChangeSelection;
           }
         }
       }




More information about the Erp5-report mailing list