You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							197 lines
						
					
					
						
							5.9 KiB
						
					
					
				
			
		
		
	
	
							197 lines
						
					
					
						
							5.9 KiB
						
					
					
				<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" | 
						|
        "http://www.w3.org/TR/html4/strict.dtd"> | 
						|
<title>dojo.widget.defineWidget test</title> | 
						|
 | 
						|
<script type="text/javascript"> djConfig = { isDebug: true }; </script> | 
						|
<script type="text/javascript" src="../../dojo.js"></script> | 
						|
<script type="text/javascript"> | 
						|
	dojo.require("dojo.widget.*"); | 
						|
	 | 
						|
	// standard defines  | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.FooA', dojo.widget.HtmlWidget, { | 
						|
		declaration: 'no initializer', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.FooB', dojo.widget.HtmlWidget,  | 
						|
		function() { | 
						|
			this.declaration = 'initializer as parameter'; | 
						|
		},{ | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.FooC', dojo.widget.HtmlWidget, { | 
						|
		initializer: function() { | 
						|
			this.declaration = 'initializer as property'; | 
						|
		}, | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
 | 
						|
	test.html.FooD = function() { | 
						|
		this.declaration = 'initializer as faux-constructor'; | 
						|
	}	 | 
						|
	dojo.widget.defineWidget('test.html.FooD', dojo.widget.HtmlWidget, { | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	// multi-class defines | 
						|
	 | 
						|
	dojo.declare('base.foo', null, { | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = 'mixin-superclass and ' + this.declaration; | 
						|
		} | 
						|
	}); | 
						|
			 | 
						|
	dojo.widget.defineWidget('test.html.Foo2A', [dojo.widget.HtmlWidget, base.foo], { | 
						|
		declaration: 'no initializer' | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.Foo2B', [dojo.widget.HtmlWidget, base.foo],  | 
						|
		function() { | 
						|
			this.declaration = 'initializer as parameter'; | 
						|
		},{ | 
						|
		declaration: '[init failed]' | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.Foo2C', [dojo.widget.HtmlWidget, base.foo], { | 
						|
		initializer: function() { | 
						|
			this.declaration = 'initializer as property'; | 
						|
		}, | 
						|
		declaration: '[init failed]' | 
						|
	}); | 
						|
 | 
						|
	test.html.Foo2D = function() { | 
						|
		this.declaration = 'initializer as faux-constructor'; | 
						|
	}	 | 
						|
	dojo.widget.defineWidget('test.html.Foo2D', [dojo.widget.HtmlWidget, base.foo], { | 
						|
		declaration: '[init failed]' | 
						|
	}); | 
						|
	 | 
						|
	// default renderer defines (deprecated) | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.DefaultFooA', dojo.widget.HtmlWidget, { | 
						|
		declaration: 'default renderer, no initializer', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.DefaultFooB', dojo.widget.HtmlWidget,  | 
						|
		function() { | 
						|
			this.declaration = 'default renderer, initializer as parameter'; | 
						|
		},{ | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	// old-style defines (deprecated) | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.HtmlFooOld', dojo.widget.HtmlWidget, { | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	},  | 
						|
	'',  | 
						|
	function() { | 
						|
		this.declaration = 'simple deprecated'; | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.fooOld', dojo.widget.HtmlWidget, { | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	},  | 
						|
	'html',  | 
						|
	function() { | 
						|
		this.declaration = 'deprecated'; | 
						|
	}); | 
						|
 | 
						|
	// explicit renderer  | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.Foo3A', 'html', dojo.widget.HtmlWidget, { | 
						|
		declaration: 'explicit renderer, no initializer', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.Foo3B', 'html', dojo.widget.HtmlWidget,  | 
						|
		function() { | 
						|
			this.declaration = 'explicit renderer, initializer as parameter'; | 
						|
		},{ | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
	dojo.widget.defineWidget('test.html.Foo3C', 'html', dojo.widget.HtmlWidget, { | 
						|
		initializer: function() { | 
						|
			this.declaration = 'explicit renderer, initializer as property'; | 
						|
		}, | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
 | 
						|
	test.html.Foo3D = function() { | 
						|
		this.declaration = 'explicit renderer, initializer as faux-constructor'; | 
						|
	}	 | 
						|
	dojo.widget.defineWidget('test.html.Foo3D', 'html', dojo.widget.HtmlWidget, { | 
						|
		declaration: '[init failed]', | 
						|
		fillInTemplate: function() { | 
						|
			this.domNode.innerHTML = this.declaration; | 
						|
		} | 
						|
	}); | 
						|
	 | 
						|
</script> | 
						|
 | 
						|
<script type="text/javascript"> | 
						|
</script> | 
						|
 | 
						|
<style type="text/css"> | 
						|
body {  | 
						|
	font-family : sans-serif;  | 
						|
} | 
						|
</style> | 
						|
 | 
						|
<h3><b>Foo</b> Widgets with Varying Define Syntaxes</h4> | 
						|
ERROR or [init failed] text below indicates a failure in <em>dojo.widget.defineWidget</em> or <em>dojo.lang.declare</em>.<br> | 
						|
<br> | 
						|
<b>html.FooA</b> uses <em><span dojoType="FooA">ERROR</span></em><br> | 
						|
<b>html.FooB</b> uses <em><span dojoType="FooB">ERROR</span></em><br> | 
						|
<b>html.FooC</b> uses <em><span dojoType="FooC">ERROR</span></em><br> | 
						|
<b>html.FooD</b> uses <em><span dojoType="FooD">ERROR</span></em><br> | 
						|
<br> | 
						|
<b>html.Foo2A</b> uses <em><span dojoType="Foo2A">ERROR</span></em><br> | 
						|
<b>html.Foo2B</b> uses <em><span dojoType="Foo2B">ERROR</span></em><br> | 
						|
<b>html.Foo2C</b> uses <em><span dojoType="Foo2C">ERROR</span></em><br> | 
						|
<b>html.Foo2D</b> uses <em><span dojoType="Foo2D">ERROR</span></em><br> | 
						|
<br> | 
						|
<b>html.Foo3A</b> uses <em><span dojoType="Foo3A">ERROR</span></em><br> | 
						|
<b>html.Foo3B</b> uses <em><span dojoType="Foo3B">ERROR</span></em><br> | 
						|
<b>html.Foo3C</b> uses <em><span dojoType="Foo3C">ERROR</span></em><br> | 
						|
<b>html.Foo3D</b> uses <em><span dojoType="Foo3D">ERROR</span></em><br> | 
						|
<br> | 
						|
<b>DefaultFooA</b> uses <em><span dojoType="DefaultFooA">ERROR</span></em><br> | 
						|
<b>DefaultFooB</b> uses <em><span dojoType="DefaultFooB">ERROR</span></em><br> | 
						|
<br> | 
						|
<b>HtmlFooOld</b> uses <em><span dojoType="HtmlFooOld">ERROR</span></em><br> | 
						|
<b>html.fooOld</b> uses <em><span dojoType="fooOld">ERROR</span></em><br> |