New file |
0,0 → 1,112 |
<html> |
<head> |
<title>testing widgetsInTemplate support</title> |
<script type="text/javascript" src="../../dojo/dojo.js" |
djConfig="parseOnLoad: true, isDebug: true"></script> |
<script type="text/javascript"> |
dojo.require("doh.runner"); |
|
dojo.require("dijit.form.Button"); |
dojo.require("dijit.form.CheckBox"); |
dojo.require("dijit.ProgressBar"); |
|
dojo.addOnLoad(function(){ |
var testW; |
doh.register("t", |
[ |
{ |
name: "dojoAttachPoint", |
runTest: function(t){ |
var testW = dijit.byId("test1Widget"); |
t.t(testW.normalNode); |
t.f(isNaN(testW.normalNode.nodeType)); |
t.t(testW.buttonWidget instanceof dijit.form.Button); |
t.t(testW.checkboxWidget instanceof dijit.form.CheckBox); |
t.t(testW.progressBarWidget instanceof dijit.ProgressBar); |
// alert((testW.buttonWidget instanceof dijit.form.Button)+(testW.checkboxWidget instanceof dijit.form.CheckBox)+(testW.progressBarWidget instanceof dijit.ProgressBar)+ |
// (testW.buttonWidget._counter==1)+(testW.checkboxWidget._counter==1)+(testW.progressBarWidget._counter==1)); |
testW = dijit.byId("test2Widget"); |
t.t(testW.containerNode); |
t.f(isNaN(testW.containerNode.nodeType)); |
t.is(undefined,testW.buttonWidget); |
t.t(testW.checkboxWidget instanceof dijit.form.CheckBox); |
} |
}, |
{ |
name: "dojoAttachEvent", |
runTest: function(t){ |
var testW = dijit.byId("test1Widget"); |
testW.buttonWidget._counter=0; |
testW.buttonWidget.onClick(testW.buttonWidget); |
testW.checkboxWidget._counter=0; |
testW.checkboxWidget.onClick(testW.checkboxWidget); |
testW.progressBarWidget._counter=0; |
testW.progressBarWidget.onChange(testW.progressBarWidget); |
t.is(1,testW.buttonWidget._counter); |
t.is(1,testW.checkboxWidget._counter); |
t.is(1,testW.progressBarWidget._counter); |
} |
} |
] |
); |
doh.run(); |
}); |
</script> |
<style type="text/css"> |
@import "../themes/tundra/tundra.css"; |
</style> |
</head> |
<body> |
<h1>testing widgetsInTemplate support</h1> |
<xmp id="Test1Template" style="display:none;"> |
<div> |
<div dojoAttachPoint="normalNode" >normal node</div> |
<button dojoAttachPoint="buttonWidget" dojoAttachEvent="onClick:onClick" dojoType="dijit.form.Button">button #1</button> |
<div dojoAttachPoint="checkboxWidget" dojoAttachEvent="onClick:onClick" dojoType="dijit.form.CheckBox"></div> checkbox #1 |
<div dojoAttachPoint="progressBarWidget" dojoAttachEvent="onChange:onClick" style="width:400px" annotate="true" |
maximum="200" progress="20" dojoType="dijit.ProgressBar"></div> |
</div> |
</xmp> |
<script> |
dojo.declare('Test1Widget', |
[dijit._Widget, dijit._Templated], |
{ |
widgetsInTemplate: true, |
// isContainer: true, |
|
templateString: dojo.byId('Test1Template').textContent || dojo.byId('Test1Template').innerText, |
onClick: function(e){ |
if(e.target){ |
alert('onClick widgetId='+e.target.id); |
}else{ |
if(e._counter == undefined){ |
e._counter = 1; |
}else{ |
e._counter++; |
} |
} |
} |
}); |
</script> |
<!-- can use widget immediately in markup - no parsing occurs until document loaded and scripts run --> |
<div dojoType="Test1Widget" id="test1Widget" ></div> |
|
|
<xmp id="Test2Template" style="display:none;"> |
<div> |
<div dojoAttachPoint="containerNode" ><div dojoAttachPoint="checkboxWidget" dojoType="dijit.form.CheckBox"></div> checkbox #2</div> |
</div> |
</xmp> |
<script> |
dojo.declare('Test2Widget', |
[dijit._Widget, dijit._Templated], |
{ |
widgetsInTemplate: true, |
|
templateString: dojo.byId('Test2Template').textContent || dojo.byId('Test2Template').innerText |
}); |
</script> |
<div dojoType="Test2Widget" id="test2Widget" ><button dojoAttachPoint="buttonWidget" dojoType="dijit.form.Button">button #2</button></div> |
</body> |
</html> |
|