Commit 1a1940c8 authored by Andrew Gerrand's avatar Andrew Gerrand

doc: support redirect-on-share

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/5689056
parent d3642699
......@@ -8,6 +8,7 @@
// runEl - run button element
// shareEl - share button element (optional)
// shareURLEl - share URL text input element (optional)
// shareRedirect - base URL to redirect to on share (optional)
// preCompile - callback to mutate request data before compiling
// postCompile - callback to read response data after compiling
// simple - use plain textarea instead of CodeMirror.
......@@ -163,7 +164,7 @@ function playground(opts) {
}
$(opts['runEl']).click(run);
if (opts['shareEl'] == null || opts['shareURLEl'] == null) {
if (opts['shareEl'] == null || (opts['shareURLEl'] == null && opts['shareRedirect'] == null)) {
return editor;
}
......@@ -171,7 +172,10 @@ function playground(opts) {
return (""+href).split("/").slice(0, 3).join("/");
}
var shareURL = $(opts['shareURLEl']).hide();
var shareURL;
if (opts['shareURLEl']) {
shareURL = $(opts['shareURLEl']).hide();
}
var sharing = false;
$(opts['shareEl']).click(function() {
if (sharing) return;
......@@ -184,11 +188,16 @@ function playground(opts) {
sharing = false;
if (xhr.status != 200) {
alert("Server error; try again.");
return
return;
}
if (opts['shareRedirect']) {
window.location = opts['shareRedirect'] + xhr.responseText;
}
if (shareURL) {
var url = origin(window.location) + "/p/" +
xhr.responseText;
shareURL.show().val(url).focus().select();
}
var url = origin(window.location) + "/p/" +
xhr.responseText;
shareURL.show().val(url).focus().select();
}
});
});
......
......@@ -113,12 +113,12 @@ function init() {
// Set up playground.
playground({
"simple": true,
"codeEl": "#code",
"outputEl": "#output",
"runEl": "#run",
"shareEl": "#share",
"shareURLEl": "#shareURL"
"simple": true,
"codeEl": "#code",
"outputEl": "#output",
"runEl": "#run",
"shareEl": "#share",
"shareRedirect": "http://play.golang.org/"
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment