Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv14022
Modified Files:
validation.js.jsp
Log Message:
made caches static, made it possible to prefech node managers by comma
separated list
See also: http://cvs.mmbase.org/viewcvs/html/mmbase/validation
Index: validation.js.jsp
===================================================================
RCS file: /var/cvs/html/mmbase/validation/validation.js.jsp,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- validation.js.jsp 12 Aug 2008 19:46:14 -0000 1.54
+++ validation.js.jsp 23 Oct 2008 14:42:06 -0000 1.55
@@ -9,7 +9,7 @@
* then call validator.setup(el).
*
* @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.54 2008/08/12 19:46:14 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.55 2008/10/23 14:42:06 michiel Exp $
*/
@@ -18,9 +18,6 @@
this.logEnabled = false;
this.traceEnabled = false;
-
-
- this.dataTypeCache = new Object();
this.invalidElements = 0;
//this.changedElements = 0;
this.elements = [];
@@ -39,6 +36,10 @@
}
+
+MMBaseValidator.dataTypeCache = new Object();
+MMBaseValidator.prefetchedNodemanagers = new Object();
+
MMBaseValidator.validators = [];
@@ -464,7 +465,7 @@
if (el.mm_key == null) {
el.mm_key = key.string();
}
- var dataType = this.dataTypeCache[el.mm_key];
+ var dataType = MMBaseValidator.dataTypeCache[el.mm_key];
if (dataType == null) {
var url = '<mm:url page="/mmbase/validation/datatype.jspx" />';
@@ -474,7 +475,7 @@
complete: function(res, status){
if (status == "success") {
dataType = res.responseXML;
- self.dataTypeCache[el.mm_key] = dataType;
+ MMBaseValidator.dataTypeCache[el.mm_key] = dataType;
}
}
});
@@ -536,11 +537,17 @@
* be done for every field.
*
*/
-MMBaseValidator.prototype.prefetchNodeManager = function(nodemanager) {
+MMBaseValidator.prototype.prefetchNodeManager = function(n) {
+ var nodemanagers = n.split(",");
+ for (var i in nodemanagers) {
+ var nodemanager = nodemanagers[i];
+ if (! MMBaseValidator.prefetchedNodemanagers[nodemanager]) {
var url = '<mm:url page="/mmbase/validation/datatypes.jspx" />';
var params = {nodemanager: nodemanager };
var self = this;
+ MMBaseValidator.prefetchedNodemanagers[nodemanager] = true;
+
$.ajax({async: false, url: url, type: "GET", dataType: "xml", data: params,
complete: function(res, status){
if (status == "success") {
@@ -551,13 +558,15 @@
var key = new Key();
key.nodeManager = nodemanager;
key.field = fields[i].getAttribute("name");
- self.dataTypeCache[key.string()] = fields[i];
+ MMBaseValidator.dataTypeCache[key.string()] =
fields[i];
}
//console.log("" + res);
}
}
});
+ }
+ }
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs