3 <title>testing widgetsInTemplate support</title>
\r
4 <script type="text/javascript" src="../../dojo/dojo.js"
\r
5 djConfig="parseOnLoad: true, isDebug: true"></script>
\r
6 <script type="text/javascript">
\r
7 dojo.require("doh.runner");
\r
9 dojo.require("dijit.form.Button");
\r
10 dojo.require("dijit.form.CheckBox");
\r
11 dojo.require("dijit.ProgressBar");
\r
13 dojo.addOnLoad(function(){
\r
18 name: "dojoAttachPoint",
\r
19 runTest: function(t){
\r
20 var testW = dijit.byId("test1Widget");
\r
21 t.t(testW.normalNode);
\r
22 t.f(isNaN(testW.normalNode.nodeType));
\r
23 t.t(testW.buttonWidget instanceof dijit.form.Button);
\r
24 t.t(testW.checkboxWidget instanceof dijit.form.CheckBox);
\r
25 t.t(testW.progressBarWidget instanceof dijit.ProgressBar);
\r
26 // alert((testW.buttonWidget instanceof dijit.form.Button)+(testW.checkboxWidget instanceof dijit.form.CheckBox)+(testW.progressBarWidget instanceof dijit.ProgressBar)+
\r
27 // (testW.buttonWidget._counter==1)+(testW.checkboxWidget._counter==1)+(testW.progressBarWidget._counter==1));
\r
28 testW = dijit.byId("test2Widget");
\r
29 t.t(testW.containerNode);
\r
30 t.f(isNaN(testW.containerNode.nodeType));
\r
31 t.is(undefined,testW.buttonWidget);
\r
32 t.t(testW.checkboxWidget instanceof dijit.form.CheckBox);
\r
36 name: "dojoAttachEvent",
\r
37 runTest: function(t){
\r
38 var testW = dijit.byId("test1Widget");
\r
39 testW.buttonWidget._counter=0;
\r
40 testW.buttonWidget.onClick(testW.buttonWidget);
\r
41 testW.checkboxWidget._counter=0;
\r
42 testW.checkboxWidget.onClick(testW.checkboxWidget);
\r
43 testW.progressBarWidget._counter=0;
\r
44 testW.progressBarWidget.onChange(testW.progressBarWidget);
\r
45 t.is(1,testW.buttonWidget._counter);
\r
46 t.is(1,testW.checkboxWidget._counter);
\r
47 t.is(1,testW.progressBarWidget._counter);
\r
55 <style type="text/css">
\r
56 @import "../themes/tundra/tundra.css";
\r
60 <h1>testing widgetsInTemplate support</h1>
\r
61 <xmp id="Test1Template" style="display:none;">
\r
63 <div dojoAttachPoint="normalNode" >normal node</div>
\r
64 <button dojoAttachPoint="buttonWidget" dojoAttachEvent="onClick:onClick" dojoType="dijit.form.Button">button #1</button>
\r
65 <div dojoAttachPoint="checkboxWidget" dojoAttachEvent="onClick:onClick" dojoType="dijit.form.CheckBox"></div> checkbox #1
\r
66 <div dojoAttachPoint="progressBarWidget" dojoAttachEvent="onChange:onClick" style="width:400px" annotate="true"
\r
67 maximum="200" progress="20" dojoType="dijit.ProgressBar"></div>
\r
71 dojo.declare('Test1Widget',
\r
72 [dijit._Widget, dijit._Templated],
\r
74 widgetsInTemplate: true,
\r
75 // isContainer: true,
\r
77 templateString: dojo.byId('Test1Template').textContent || dojo.byId('Test1Template').innerText,
\r
78 onClick: function(e){
\r
80 alert('onClick widgetId='+e.target.id);
\r
82 if(e._counter == undefined){
\r
91 <!-- can use widget immediately in markup - no parsing occurs until document loaded and scripts run -->
\r
92 <div dojoType="Test1Widget" id="test1Widget" ></div>
\r
95 <xmp id="Test2Template" style="display:none;">
\r
97 <div dojoAttachPoint="containerNode" ><div dojoAttachPoint="checkboxWidget" dojoType="dijit.form.CheckBox"></div> checkbox #2</div>
\r
101 dojo.declare('Test2Widget',
\r
102 [dijit._Widget, dijit._Templated],
\r
104 widgetsInTemplate: true,
\r
106 templateString: dojo.byId('Test2Template').textContent || dojo.byId('Test2Template').innerText
\r
109 <div dojoType="Test2Widget" id="test2Widget" ><button dojoAttachPoint="buttonWidget" dojoType="dijit.form.Button">button #2</button></div>
\r