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.
172 lines
6.0 KiB
172 lines
6.0 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
|
<html> |
|
<head> |
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> |
|
<title>Testing the ThumbnailPicker</title> |
|
|
|
<!-- required: a default theme file --> |
|
<link rel="stylesheet" id="themeStyles" href="../../../dijit/themes/tundra/tundra.css"> |
|
<link rel="stylesheet" href="../resources/image.css"> |
|
|
|
<style type="text/css"> |
|
@import "../../../dijit/tests/css/dijitTests.css"; |
|
</style> |
|
|
|
<!-- required: dojo.js --> |
|
<script type="text/javascript" src="../../../dojo/dojo.js" data-dojo-config="isDebug:true, parseOnLoad: false"></script> |
|
|
|
<!-- do not use! only for testing dynamic themes --> |
|
<script type="text/javascript" src="../../../dijit/tests/_testCommon.js"></script> |
|
|
|
<!-- for debugging: --> |
|
<script type="text/javascript" src="../ThumbnailPicker.js"></script> |
|
|
|
<script type="text/javascript"> |
|
dojo.require("dojox.image.ThumbnailPicker"); |
|
dojo.require("dojox.data.FlickrRestStore"); |
|
dojo.require("dojo.data.ItemFileReadStore"); |
|
dojo.require("dojo.parser"); |
|
|
|
/* |
|
Initializes the ThumbnailPicker with a data store that |
|
reads from the Flickr REST APIs. |
|
*/ |
|
function initFlickrGallery() { |
|
var flickrRestStore = new dojox.data.FlickrRestStore(); |
|
var req = { |
|
query: { |
|
userid: "44153025@N00",//The Flickr user id to use |
|
apikey: "8c6803164dbc395fb7131c9d54843627",//An API key is required. |
|
sort: [ |
|
{ |
|
descending: true //Use descending sort order, ascending is default. |
|
} |
|
], |
|
tags: ["superhorse", "redbones", "beachvolleyball","dublin","croatia"], |
|
tag_mode: "any" //Match any of the tags |
|
}, |
|
count: 20 |
|
}; |
|
|
|
//Set the flickr data store on two of the dojox.image.ThumbnailPicker widgets |
|
dijit.byId('thumbPicker1').setDataStore(flickrRestStore, req); |
|
dijit.byId('thumbPicker3').setDataStore(flickrRestStore, req); |
|
} |
|
|
|
/* |
|
Initializes the second ThumbnailPicker widget with a data store that |
|
reads information from a JSON URL. This also tells the ThumbnailPicker |
|
the name of the JSON attributes to read from each data item retrieved |
|
from the JSON URL. |
|
*/ |
|
function initItemStoreGallery(){ |
|
var itemRequest = { |
|
query: {}, |
|
count: 20 |
|
}; |
|
var itemNameMap = { |
|
imageThumbAttr: "thumb", |
|
imageLargeAttr: "large" |
|
}; |
|
|
|
//Set the dojo.data.ItemFileReadStore on two of the dojox.image.ThumbnailPicker widgets |
|
//Note the use of the 'itemNameMap', which tells the widget what attributes to |
|
//read from the store. Look in the 'images.json' file in the same folder as this |
|
//file to see the data being read by the widget. |
|
dijit.byId('thumbPicker2').setDataStore(imageItemStore, itemRequest, itemNameMap); |
|
dijit.byId('thumbPicker4').setDataStore(imageItemStore, itemRequest, itemNameMap); |
|
} |
|
|
|
//Subscribe to clicks on the thumbnails, and print out the information provided |
|
function doSubscribe(){ |
|
function updateDiv(packet){ |
|
dojo.byId('PublishedData').innerHTML = "You selected the thumbnail:" |
|
+ "<br/><b>Index:</b> " + packet.index |
|
+ "<br/><b>Url:</b> " + packet.url |
|
+ "<br/><b>Large Url:</b> " + packet.largeUrl |
|
+ "<br/><b>Title:</b> " + packet.title |
|
+ "<br/><b>Link:</b> " + packet.link |
|
; |
|
}; |
|
|
|
//When an image in the ThumbnailPicker is clicked on, it publishes |
|
//information on the image to a topic, whose name is found by calling |
|
//the 'getTopicName' function on the widget. |
|
dojo.subscribe(dijit.byId('thumbPicker1').getClickTopicName(), updateDiv); |
|
dojo.subscribe(dijit.byId('thumbPicker2').getClickTopicName(), updateDiv); |
|
} |
|
|
|
dojo.addOnLoad(function(){ |
|
dojo.parser.parse(); |
|
initFlickrGallery(); |
|
initItemStoreGallery(); |
|
doSubscribe(); |
|
}); |
|
|
|
function changeStore(){ |
|
var flickrRestStore = new dojox.data.FlickrRestStore(); |
|
var req = { |
|
query: { |
|
userid: "44153025@N00", |
|
apikey: "8c6803164dbc395fb7131c9d54843627", |
|
sort: [ |
|
{ |
|
attribute: "interestingness", |
|
descending: true |
|
} |
|
], |
|
tag_mode: "any" |
|
}, |
|
count: 20 |
|
}; |
|
dijit.byId('thumbPicker2').setDataStore(flickrRestStore, req, { |
|
imageThumbAttr: "imageUrlThumb", |
|
imageLargeAttr: "imageUrl", |
|
titleAttr: "title" |
|
|
|
}); |
|
} |
|
|
|
</script> |
|
</head> |
|
<body> |
|
<h1 class="testTitle">dojox.image.ThumbnailPicker</h1> |
|
|
|
<div id="PublishedData" style="background-color:light-grey"> |
|
When you click on a thumbnail image, it's information is placed here |
|
</div> |
|
|
|
<h2>From FlickrRestStore:</h2> |
|
This ThumbnailPicker should have 8 thumbnails, with each of them linking |
|
to a URL when clicked on. The cursor should also change when over an image. |
|
<div id="thumbPicker1" dojoType="dojox.image.ThumbnailPicker" size="500" |
|
useHyperlink="true" ></div> |
|
|
|
<h2>From ItemFileReadStore:</h2> |
|
This ThumbnailPicker should have 5 thumbnails. Clicking on a thumbnail should NOT |
|
open a URL, and the cursor should not change when over an image that is not an arrow. |
|
|
|
|
|
<button onclick="changeStore()">Change Datastore</button> |
|
<div id="thumbPicker2" dojoType="dojox.image.ThumbnailPicker" size="400" |
|
isClickable="false"></div> |
|
<div data-dojo-id="imageItemStore" dojoType="dojo.data.ItemFileReadStore" url="images.json"></div> |
|
|
|
<h2>From FlickrRestStore:</h2> |
|
This ThumbnailPicker should have 6 thumbnails, with each of them linking |
|
to a URL when clicked on. The cursor should also change when over an image. |
|
Unlike the ThumbnailPicker above, when these links are clicked on, this page |
|
changes, instead of a popup window. |
|
|
|
<div id="thumbPicker3" dojoType="dojox.image.ThumbnailPicker" size="600" |
|
useHyperLink="true" hyperlinkTarget="this"></div> |
|
|
|
<h2>From ItemFileReadStore, and vertical:</h2> |
|
This ThumbnailPicker should have 5 thumbnails. Clicking on a thumbnail should NOT |
|
open a URL, and the cursor should not change when over an image that is not an arrow. |
|
The thumbnails should also be aligned vertically. |
|
<div id="thumbPicker4" dojoType="dojox.image.ThumbnailPicker" size="300" |
|
isClickable="false" isHorizontal="false"></div> |
|
|
|
</body> |
|
</html>
|
|
|