[Dojo-checkins] r929 - src/webui/widgets

dojo-checkins at dojotoolkit.org dojo-checkins at dojotoolkit.org
Wed Jul 20 23:26:36 PDT 2005


Author: alex
Date: Wed Jul 20 23:26:34 2005
New Revision: 929

Modified:
   src/webui/widgets/Parse.js
Log:
some hints should now get passed around that make things slightly faster


Modified: src/webui/widgets/Parse.js
==============================================================================
--- src/webui/widgets/Parse.js	(original)
+++ src/webui/widgets/Parse.js	Wed Jul 20 23:26:34 2005
@@ -34,6 +34,7 @@
 				}
 			}
 		}*/
+		var tot = 0;
 		for(var item in fragment){
 			// if we have items to parse/create at this level, do it!
 			try{
@@ -46,8 +47,10 @@
 					for(var x=0; x<tna.length; x++){
 						var ltn = dojo.text.trim(tna[x]).toLowerCase();
 						if(djTags[ltn]){
+							// var tic = new Date();
 							fragment[item].tagName = ltn;
 							returnValue.push(djTags[ltn](fragment[item], this, parentComp));
+							// dj_debug(ltn, ": ", new Date()-tic, "ms");
 						}else{
 							if(ltn.substr(0, 5)=="dojo:"){
 								dj_debug("no tag handler registed for type: ", ltn);
@@ -76,6 +79,7 @@
 			propertySets that it finds.
 	*/
 	this.parsePropertySets = function(fragment) {
+		return [];
 		var propertySets = [];
 		for(var item in fragment){
 			if(	(fragment[item]["tagName"] == "dojo:propertyset") ) {
@@ -120,15 +124,6 @@
 							properties[property] = nestedProperties[property];
 						}
 					}catch(e){ dj_debug(e); }
-				/*
-				}else if((fragment[item])&&(fragment[item].value!="")){
-					//dj_debug(item+": "+fragment[item]);
-					if(typeof fragment[item] == "object"){
-						for(var x in fragment[item]){
-							dj_debug("- "+x+": "+fragment[item][x]);
-						}
-					}
-				*/
 				}
 			}
 		}
@@ -219,7 +214,7 @@
 
 		properties is an object of name value pairs
 	*/
-	this.createComponentFromScript = function(nodeRef, componentName, properties){
+	this.createComponentFromScript = function(nodeRef, componentName, properties, fastMixIn){
 		var frag = {};
 		var tagName = "dojo:" + componentName.toLowerCase();
 		frag[tagName] = {};
@@ -233,6 +228,9 @@
 		frag[tagName].nodeRef = nodeRef;
 		frag.tagName = tagName;
 		var fragContainer = [frag];
+		if(fastMixIn){
+			fragContainer[0].fastMixIn = true;
+		}
 		// FIXME: should this really return an array?
 		return this.createComponents(fragContainer);
 	}
@@ -249,6 +247,17 @@
 }
 
 dojo.webui.widgets.fromScript = function(parentNode, name, props){
+	var ln = name.toLowerCase();
+	var tn = "dojo:"+ln;
+	props[tn] = { 
+		dojotype: [{value: ln}],
+		nodeRef: parentNode,
+		fastMixIn: true
+	};
+	// var twidget = dojo.webui.widgetManager.getImplementation(ln);
+	// return twidget.create(props, props);
+
+	// return dojo.webui.widgets.tags[tn](props, dojo.webui.widgets.getParser());
 	return dojo.webui.widgets.getParser().createComponentFromScript(parentNode, name, props);
 }
 


More information about the Dojo-checkins mailing list