Text area is almost working. It's not modal, and it could use a little polish.
authorRobert Konigsberg <konigsberg@google.com>
Sun, 8 Jan 2012 07:04:24 +0000 (02:04 -0500)
committerRobert Konigsberg <konigsberg@google.com>
Sun, 8 Jan 2012 07:04:24 +0000 (02:04 -0500)
experimental/palette/index.html
experimental/palette/palette.css
experimental/palette/palette.js
experimental/palette/samples.js

index af490db..1be363b 100644 (file)
@@ -8,6 +8,7 @@
     <![endif]-->
     <script type="text/javascript" src="../../dygraph-dev.js"></script>
     <script type="text/javascript" src="options.js"></script>
+    <script type="text/javascript" src="textarea.js"></script>
     <script type="text/javascript" src="tooltip.js"></script>
     <script type="text/javascript" src="palette.js"></script>
     <script type="text/javascript" src="samples.js"></script>
index 4cbcc54..7548778 100644 (file)
@@ -34,7 +34,6 @@
 .tooltip {
   position: absolute;
   border: 1px solid black;
-  layer-background-color: lightyellow;
   background-color: lightyellow;
   width: 280px;
 }
 .tooltip .body {
   font-size: smaller;
 }
+
+.textarea {
+  position: absolute;
+  border: 1px solid black;
+  background-color: #dddddd;
+  z-index: 12;
+}
+
+.textarea .prompt {
+}
+
+.textarea .buttons {
+  position: absolute;
+  bottom: 5px;
+  right: 5px;
+}
+
+.textarea button {
+  color: #222222;
+}
+
index a91c6ef..86db6da 100644 (file)
@@ -57,13 +57,19 @@ Palette.prototype.create = function(document, parentElement) {
     palette.filter(palette.filterBar.value)
   };
   this.filterBar.onclick = this.filterBar.onkeyup;
-  var go = document.createElement("button");
-  Palette.createChild("span", row).appendChild(go);
+  var go = Palette.createChild("button", Palette.createChild("span", row));
   go.innerText = "Redraw"
   go.onclick = function() {
     palette.onchange();
   };
 
+  var tmp = Palette.createChild("button", Palette.createChild("span", row));
+  tmp.innerText = "Copy"
+  tmp.onclick = function() {
+    var textarea = new TextArea();
+    textarea.show("Now is the time for all good men\nto come to the aid of their country");
+  };
+
   for (var opt in opts) {
     try {
       if (opts.hasOwnProperty(opt)) {
@@ -91,13 +97,11 @@ Palette.prototype.create = function(document, parentElement) {
                var entry = palette.model[opt];
                var inputValue = entry.functionString;
                if (inputValue == null || inputValue.length == 0) {
-                 inputValue = opts[opt].type + "{ }";
+                 inputValue = opts[opt].type + "{\n\n}";
                }
-               var value = prompt("enter function", inputValue);
-               if (value != null) {
-                 if (value.length == 0) {
-                   value = null;
-                 }
+              var textarea = new TextArea();
+              textarea.show("enter function", inputValue);
+              textarea.okCallback = function(value) {
                  if (value != inputValue) {
                    entry.functionString = value;
                    entry.input.innerText = value ? "defined" : "not defined";
index 55da365..ef4fbbf 100644 (file)
@@ -61,7 +61,9 @@ Samples.data = [
       ylabel: 'Count',
       axisLineColor: 'white',
       drawXGrid: false,
-      pointClickCallback: function() { alert("p-click!"); },
+      pointClickCallback: function() {
+  alert("p-click!");
+},
     }
   },