dojox
Version:
Dojo eXtensions, a rollup of many useful sub-projects and varying states of maturity – from very stable and robust, to alpha and experimental. See individual projects contain README files for details.
100 lines (99 loc) • 2.83 kB
HTML
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
<title>dojox.mobile auto run</title>
<script src="index.js"></script>
<script>
var tests, win, c, data, map = {}, theme = "";
function sort(keys){
var data = [];
for(var i = 0; i < keys.length; i++){
var key = keys[i];
var items = [];
items.label = key.label;
for(var j = 0; j < tests.length; j++){
var item = tests[j];
var url = item.url;
var label = item.label || item.url;
var tags = item.tags ? item.tags.split(/,/) : [];
for(var k = 0; k < tags.length; k++){
if(tags[k] === key.tag){
items.push(item);
}
}
}
data.push(items);
map[key.label] = items;
}
return data;
}
function init(){
c = document.getElementById("container");
var data = sort(categories);
for(var i = 0; i < data.length; i++){
var cat = data[i];
var inp = document.createElement("input");
inp.type = "checkbox";
inp.name = cat.label;
c.appendChild(inp);
c.appendChild(document.createTextNode(cat.label));
c.appendChild(document.createElement("br"));
}
}
function checkAll(v){
for(var i = 0; i < c.childNodes.length; i++){
var inp = c.childNodes[i];
if(inp.tagName !== "INPUT"){ continue; }
inp.checked = v;
}
}
function run(idx){
win.location.href = tests[idx++] + (theme ? "?theme=" + theme : "");
setTimeout(function(){
if(idx < tests.length){
run(idx);
}else{
win.close();
}
}, document.forms[0].interval.value - 0);
}
function start1(){
tests = [];
for(var i = 0; i < c.childNodes.length; i++){
var inp = c.childNodes[i];
if(inp.tagName !== "INPUT" || !inp.checked){ continue; }
var label = inp.name;
console.log(label);
var items = map[label];
for(var j = 0; j < items.length; j++){
tests.push(items[j].url);
}
}
win = window.open("about:blank", "_blank");
run(0);
}
function onThemeChange(){
theme = document.getElementById("sel1").value;
}
</script>
</head>
<body onload="init()">
<form>
<select id="sel1" onchange="onThemeChange()">
<option value=""></option>
<option value="iPhone">iPhone</option>
<option value="Android">Android</option>
<option value="BlackBerry">BlackBerry</option>
<option value="Custom">Custom</option>
</select>
<input id="btn" type="button" onclick="start1()" value=" START "><br>
<hr>
Interval: <input name="interval" value="5000"> [ms]<br>
<div id="container"></div>
<hr>
<input id="btn" type="button" onclick="checkAll(true)" value=" Check All ">
<input id="btn" type="button" onclick="checkAll(false)" value=" Uncheck All "><br>
</form>
</body>
</html>