+/*jshint loopfunc:true */
+/*global Dygraph,$,TextArea,jQuery */
var Gallery = {};
Gallery.entries = {};
innerDiv.textContent = demo.name;
div.onclick = function(demo, id) { return function() {
- if (Gallery.runningDemo != null) {
+ if (Gallery.runningDemo !== null) {
Gallery.runningDemo.innerDiv.className = "";
- if (Gallery.runningDemo.clean != null) {
+ if (Gallery.runningDemo.clean) {
Gallery.runningDemo.clean(Gallery.workareaChild);
}
}
Gallery.subtitle.innerHTML = "";
+ Gallery.workareaChild.id = id;
+ location.hash = "g/" + id;
+
+ Gallery.workareaChild.innerHTML='';
+ if (demo.setup) {
+ demo.setup(Gallery.workareaChild);
+ }
+
Gallery.demotitle.textContent = demo.title ? demo.title : "";
demo.innerDiv.className = "selected";
var htmlLink = Gallery.create("a", codeSpan);
htmlLink.textContent = "HTML";
- codeSpan.appendChild(document.createTextNode(" "));
+ Gallery.create("span", codeSpan).textContent = " | ";
var javascriptLink = Gallery.create("a", codeSpan);
javascriptLink.textContent = "Javascript";
- codeSpan.appendChild(document.createTextNode(" "));
-
var css = getCss(id);
+ var cssLink;
if (css) {
- var cssLink = Gallery.create("a", codeSpan);
+ Gallery.create("span", codeSpan).textContent = " | ";
+ cssLink = Gallery.create("a", codeSpan);
cssLink.textContent = "CSS";
}
- Gallery.workareaChild.id = id;
- location.hash = "g/" + id;
+ var jsFiddleForm = Gallery.create("form", codeSpan);
+ var jsfs = $(jsFiddleForm);
+ jsFiddleForm.method = "post";
+ jsFiddleForm.action = "http://jsfiddle.net/api/post/jquery/1.4/";
- Gallery.workareaChild.innerHTML='';
- if (demo.setup) {
- demo.setup(Gallery.workareaChild);
- }
+ jsfs.html("<input type='submit' value='Edit in jsFiddle'/>\n" +
+ "<span style='display:none'>\n" +
+ "<textarea name='resources'>http://dygraphs.com/dygraph-combined.js</textarea>\n" +
+ "<input type='text' name='dtd' value='html 5'/></span>\n");
+ var javascript = demo.run.toString();
var html = Gallery.workareaChild.innerHTML;
+ // tweak for use in jsfiddle
+ javascript = " $(document).ready(" + javascript + "\n);";
+ jQuery('<textarea/>', { name: 'html' })
+ .val(html)
+ .hide()
+ .appendTo(jsfs);
+
+ jQuery('<textarea/>', { name: 'js' })
+ .val(javascript)
+ .hide()
+ .appendTo(jsfs);
+
+ if (css) {
+ jQuery('<textarea/>', { name: 'css' })
+ .val(css)
+ .hide()
+ .appendTo(jsfs);
+ }
+ jQuery('<input/>', {
+ type: 'text',
+ name: 'title',
+ value: 'title tbd'
+ })
+ .hide()
+ .appendTo(jsfs);
+ jQuery('<input/>', {
+ type: 'text',
+ name: 'description',
+ value: 'desc tbd'
+ })
+ .hide()
+ .appendTo(jsfs);
+
htmlLink.onclick = function() {
Gallery.textarea.show("HTML", html);
};
javascriptLink.onclick = function() {
- Gallery.textarea.show("Javascript", demo.run.toString());
+ Gallery.textarea.show("Javascript", javascript);
};
if (css) {
Gallery.hashChange();
- window.onhashchange = Gallery.setHash;("hashchange", Gallery.hashChange, false);
+ window.onhashchange = Gallery.setHash;
};
var getCss = function(id) {
var rule = rules[j];
var cssText = rule.cssText;
var key = "#workarea #" + id + " ";
- if (cssText.indexOf(key) == 0) {
+ if (cssText.indexOf(key) === 0) {
arry.push(cssText.substr(key.length));
}
}
}
}
return "not found";
-}
+};
Gallery.register = function(id, demo) {
if (Gallery.entries[id]) {
Gallery.hashChange = function(event) {
if (location.hash) {
- if (location.hash.indexOf("#g/") == 0) {
+ if (location.hash.indexOf("#g/") === 0) {
var id = location.hash.substring(3) + "-toc";
var elem = document.getElementById(id);
elem.onclick();
return;
}
}
- Gallery.workareaChild.innerHTML = "<h3>Select a demo from the gallery on the left</h3>"
+ Gallery.workareaChild.innerHTML = "<h3>Select a demo from the gallery on the left</h3>";
};