[Checkins] SVN: p01.jsonform/trunk/src/p01/jsonform/ Added CSS

Roger Ineichen roger at projekt01.ch
Mon May 21 06:56:08 EDT 2007


Log message for revision 75856:
  Added CSS
  Make JQuery friends happy

Changed:
  U   p01.jsonform/trunk/src/p01/jsonform/browser.py
  A   p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css
  U   p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js

-=-
Modified: p01.jsonform/trunk/src/p01/jsonform/browser.py
===================================================================
--- p01.jsonform/trunk/src/p01/jsonform/browser.py	2007-05-21 10:52:38 UTC (rev 75855)
+++ p01.jsonform/trunk/src/p01/jsonform/browser.py	2007-05-21 10:56:07 UTC (rev 75856)
@@ -29,6 +29,8 @@
 
 JSONValidatorJavaScriptViewlet = viewlet.JavaScriptViewlet(
     'jsonform.validator.js')
+JSONValidatorCSSViewlet = viewlet.CSSViewlet(
+    'jsonform.validator.css')
 
 
 class JSONErrorViewSnippet(object):

Added: p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css
===================================================================
--- p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css	                        (rev 0)
+++ p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.css	2007-05-21 10:56:07 UTC (rev 75856)
@@ -0,0 +1,8 @@
+/*----[ validator helper ]---------------------------------------------------*/
+
+.validated {
+    border: 3px solid green;
+}
+.invalide {
+    border: 3px solid red;
+}

Modified: p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js
===================================================================
--- p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js	2007-05-21 10:52:38 UTC (rev 75855)
+++ p01.jsonform/trunk/src/p01/jsonform/jsonform.validator.js	2007-05-21 10:56:07 UTC (rev 75856)
@@ -5,39 +5,19 @@
  * The p01/json/xmlhttp.js and p01/json/json.js are used for doing this. 
  *
  * @author Roger Ineichen dev at projekt01.ch
- * @version Alpha, just a concept draft, I'll change this later and we probably
- * use a JQuery based concept. 
+ * @version Beta 0.1. 
  */
 //----------------------------------------------------------------------------
 
 /** @private */
-function addClassName(ele, clsName) {
-  originalStr = ele.className;
-  targetStr = " " + clsName;
-  replaceStr = "";
-  resultStr = originalStr.replace(new RegExp(targetStr, "g"), replaceStr);
-  resultStr += " " + clsName;
-  ele.className = resultStr;
-}
-
-/** @private */
-function removeClassName(ele, clsName) {
-  originalStr = ele.className;
-  targetStr = " " + clsName;
-  replaceStr = "";
-  resultStr = originalStr.replace(new RegExp(targetStr, "g"), replaceStr);
-  ele.className = resultStr;
-}
-
-/** @private */
 function showValidationError(response) {
 	var ele = document.getElementById(response.id);
 	if (response.result == 'OK') {
-		removeClassName(ele, 'invalide');
-		addClassName(ele, 'validated');
+	    $(ele).removeClass('invalide');
+	    $(ele).addClass('validated');
 	} else {
-		removeClassName(ele, 'validated');
-		addClassName(ele, 'invalide');
+	    $(ele).addClass('invalide');
+	    $(ele).removeClass('validated');
 	}
 }
 
@@ -56,4 +36,22 @@
 	var jsonProxy = getJSONRPCProxy(url);
 	jsonProxy.addMethod('jsonValidate', showValidationError);
 	jsonProxy.jsonValidate(id, value);
-}
\ No newline at end of file
+}
+
+/**
+ * validate a input field with a JSON call.
+ * @return JQuery, uses the built in showValidationError callback.
+ */
+jQuery.fn.jqJSONValidate = function() {
+    return this.each(function(){
+        $(this).blur(function(){
+        	var url = viewURL;
+        	var id = $(this).attr("id");
+        	var value = $(this).val();
+        	var jsonProxy = getJSONRPCProxy(url);
+        	jsonProxy.addMethod('jsonValidate', showValidationError);
+        	jsonProxy.jsonValidate(id, value);
+        });
+
+    });
+};



More information about the Checkins mailing list