Add some comments to index.js, the Index namespace for the palette.
authorRobert Konigsberg <konigsberg@gmail.com>
Thu, 27 Dec 2012 22:23:30 +0000 (17:23 -0500)
committerRobert Konigsberg <konigsberg@gmail.com>
Thu, 27 Dec 2012 22:23:30 +0000 (17:23 -0500)
experimental/palette/index.js

index 602bde4..9a299a3 100644 (file)
@@ -41,6 +41,12 @@ Index.splitVariables = function() { // http://www.idealog.us/2006/06/javascript_
   return args;
 }
 
+/**
+ * Draw the graph.
+ * @param {Object} element the display element
+ * @param {Object} data the data to be shown
+ * @param {Object} options the options hash.
+ */
 Index.draw = function(element, data, options) {
   element.innerHTML = "";
   element.removeAttribute("style");
@@ -61,12 +67,12 @@ Index.addMessage = function(text) {
   messages.textContent = messages.textContent + text + "\n";
 }
 
+/**
+ * Start up the palette system.
+ */
 Index.start = function() {
   var variables = Index.splitVariables();
-  var sampleName = variables["sample"];
-  if (!(sampleName)) {
-    sampleName = "interestingShapes";
-  }
+  var sampleName = variables["sample"] || "interestingShapes";
   var sampleIndex = Samples.indexOf(sampleName);
   var sample = Samples.data[sampleIndex];
   var data = sample.data;
@@ -74,6 +80,9 @@ Index.start = function() {
     Index.draw(document.getElementById("graph"), data, palette.read());
   }
 
+  // Selector is the drop-down for selecting a set of data.
+
+  // Popupate the selector with the set of data samples
   var selector = document.getElementById("selector").getElementsByTagName("select")[0];
   for (var idx in Samples.data) {
     var entry = Samples.data[idx];
@@ -98,13 +107,17 @@ Index.start = function() {
     window.location = url;
   }
   selector.selectedIndex = sampleIndex;
+
+  // Palette contains the widget that builds options.
   var palette = new Palette();
   palette.create(document, document.getElementById("optionsPalette"));
   palette.write(sample.options);
   palette.onchange = redraw;
   palette.filterBar.focus();
+
   redraw();
 
+  // Find all new options which we don't implement here in the palette.
   for (var opt in Dygraph.OPTIONS_REFERENCE) {
     if (!(opt in opts)) {
       var entry = Dygraph.OPTIONS_REFERENCE[opt];