X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=experimental%2Fpalette%2Findex.js;h=602bde42e5abe64ce236d8dace52802fb9a0ed82;hb=966ac3fa0de18a7b5ddefe4aba6938d8358ea0cf;hp=518f4b2ec94d0923ada72b6a6ec285b21554ca6b;hpb=36d4fabf9450c8bbada738fb7820c723a0b939fa;p=dygraphs.git diff --git a/experimental/palette/index.js b/experimental/palette/index.js index 518f4b2..602bde4 100644 --- a/experimental/palette/index.js +++ b/experimental/palette/index.js @@ -32,9 +32,11 @@ Index.splitVariables = function() { // http://www.idealog.us/2006/06/javascript_ var query = window.location.search.substring(1); var args = {}; var vars = query.split("&"); - for (var i = 0;i < vars.length; i++) { - var pair = vars[i].split("="); - args[pair[0]] = pair[1]; + for (var i = 0; i < vars.length; i++) { + if (vars[i].length > 0) { + var pair = vars[i].split("="); + args[pair[0]] = pair[1]; + } } return args; } @@ -56,21 +58,46 @@ Index.draw = function(element, data, options) { Index.addMessage = function(text) { var messages = document.getElementById("messages"); - messages.innerText = messages.innerText + text + "\n"; + messages.textContent = messages.textContent + text + "\n"; } Index.start = function() { var variables = Index.splitVariables(); - var sampleIndex = variables["sampleIndex"]; - if (!(sampleIndex)) { - sampleIndex = 0; + var sampleName = variables["sample"]; + if (!(sampleName)) { + sampleName = "interestingShapes"; } - var sample = Samples.samples[sampleIndex]; + var sampleIndex = Samples.indexOf(sampleName); + var sample = Samples.data[sampleIndex]; var data = sample.data; var redraw = function() { Index.draw(document.getElementById("graph"), data, palette.read()); } + var selector = document.getElementById("selector").getElementsByTagName("select")[0]; + for (var idx in Samples.data) { + var entry = Samples.data[idx]; + var option = document.createElement("option"); + option.value = entry.id; + option.textContent = entry.title; + selector.appendChild(option); + } + selector.onchange = function() { + var id = selector.options[selector.selectedIndex].value; + var url = document.URL; + var qmIndex = url.indexOf("?"); + if (qmIndex >= 0) { + url = url.substring(0, qmIndex); + } + url = url + "?sample=" + id; + for (var idx in variables) { + if (idx != "sample") { + url = url + "&" + idx + "=" + variables[idx]; + } + } + window.location = url; + } + selector.selectedIndex = sampleIndex; var palette = new Palette(); palette.create(document, document.getElementById("optionsPalette")); palette.write(sample.options);