Files
openlayers/master/examples/Lightbox.html
Éric Lemoine 5d14b9e2d4 Updated
2013-02-20 10:38:25 +01:00

184 lines
4.7 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Sample Dojo / Dijit Page</title>
<style type="text/css">
@import "../../../dijit/themes/tundra/tundra.css";
@import "../resources/Lightbox.css";
#container {
position:absolute;
left:-9999px;
width:9000px;
overflow:hidden;
}
#randomimage {
height:100px;
}
</style>
<script>var djConfig = { isDebug:true, parseOnLoad:true }</script>
<script src="../../../dojo/dojo.js"></script>
<script type="text/javascript">
dojo.require("doh.runner");
dojo.require("dojo.parser");
dojo.require("dojox.image.Lightbox");
dojo.addOnLoad(function(){
doh.register("testUi",
[
{
name:"basic lightbox",
timeout:7000,
runTest: function(t){
var d = new doh.Deferred();
var lb = dijit.byId("parsed");
t.is("dojox.image.Lightbox", lb.declaredClass);
setTimeout(function(){
lb.show();
}, 300);
setTimeout(function(){
lb.hide();
d.callback(true);
}, lb.duration + 1700);
return d;
}
},
{
name:"basic onclick",
timeout:7000,
runTest: function(t){
var d = new doh.Deferred();
var lb = dijit.byId("parsed");
t.is("basic title", lb.title);
var c = dojo.connect(lb, "show", function(){
lb.hide();
dojo.disconnect(c);
d.callback(true);
});
dojo.query("a").at(0).forEach(function(n){
dojo._triggerEvent(n, "click");
});
return d;
}
},
{
name:"basic programatic",
timeout:7000,
runTest: function(t){
var d = new doh.Deferred();
var lb = new dojox.image.Lightbox({
href:"images/square.png",
title:"A square image"
}).placeAt(dojo.body());
lb.startup();
lb.show();
t.is("A square image", lb.title);
t.is("dojox.image.LightboxDialog", dijit.byId("dojoxLightboxDialog").declaredClass);
setTimeout(function(){
lb.hide();
d.callback(true);
}, lb.duration + 500);
return d;
}
},
{
name:"show single in master",
timeout:5000,
runTest: function(t){
var d = new doh.Deferred();
var lb = dijit.byId("dojoxLightboxDialog");
lb.show({
href:"images/extraWide.jpg",
title:"Wiiiide"
});
setTimeout(function(){
lb.hide();
d.callback(true);
}, lb.duration + 1500);
return d;
}
},
{
name:"basic group ui",
timeout:15000,
runTest: function(t){
var d = new doh.Deferred();
var l = dijit.byId("grouper"),
lb = l._attachedDialog;
t.is("bar", l.group);
l.show();
var next = lb.nextButtonNode, prev = lb.prevButtonNode,
close = lb.closeButtonNode;
var c = dojo.connect(lb, "hide", function(){
dojo.disconnect(c);
d.callback(true);
});
setTimeout(function(){
dojo._triggerEvent(next, "click");
setTimeout(function(){
dojo._triggerEvent(prev, "click");
setTimeout(function(){
// note: calling trigger("click") on closeNode
// makes hide() called out of scope?
l.hide();
}, l.duration)
}, l.duration);
}, l.duration + 400);
return d;
}
}
]
);
doh.run();
});
// stolen from plugd (http://code.google.com/p/plugd/) to trigger basic events:
(function(d){
d._triggerEvent = function(node, event){
// summary: Helper for `dojo.trigger`, which handles the DOM cases. We should never
// be here without a nodeNode reference and a string eventname.
node = d.byId(node);
event = event && event.slice(0, 2) == "on" ? event.slice(2) : event;
if(d.doc.createEvent){
var evObj = d.doc.createEvent("HTMLEvents");
evObj.initEvent(event, true, true);
node.dispatchEvent(evObj);
}else if(d.doc.createEventObject){
node.fireEvent("on" + event);
}
}
})(dojo);
</script>
</head>
<body class="tundra">
<a href="images/square.jpg" id="parsed" title="basic title" dojoType="dojox.image.Lightbox">test</a>
<a href="images/square.jpg" id="grouper" group="bar" dojoType="dojox.image.Lightbox">testgroup</a>
<a href="images/square.jpg" group="bar" dojoType="dojox.image.Lightbox">testgroup</a>
</body>
</html>