Making sure playground can have shorter urls (#3063)

* Making sure playground can haver shorter urls

* Fixing linting

* Including lz-string on the service worker
master
Mitermayer Reis 2017-10-22 02:10:15 -07:00 committed by Lucas Azzola
parent e589babeaf
commit 2169357c17
3 changed files with 12 additions and 5 deletions

View File

@ -38,6 +38,7 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.26.0/addon/wrap/hardwrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.26.0/keymap/sublime.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lz-string/1.4.4/lz-string.min.js"></script>
<style type="text/css">
html {

View File

@ -1,6 +1,6 @@
/* eslint-env browser */
/* eslint no-var: off, strict: off, prefer-arrow-callback: off */
/* global Clipboard CodeMirror formatMarkdown */
/* global Clipboard CodeMirror formatMarkdown LZString */
var prettierVersion = "?";
var inputEditor;
@ -29,7 +29,12 @@ var IDEMPOTENT_MESSAGE = "✓ Second format is unchanged.";
var state = (function loadState(hash) {
var parsed;
try {
parsed = JSON.parse(hash);
// providing backwards support for old json encoded URIComponent
if (hash.indexOf("%7B%22") !== -1) {
parsed = JSON.parse(decodeURIComponent(hash));
} else {
parsed = LZString.decompressFromEncodedURIComponent(hash);
}
} catch (error) {
return {
options: undefined,
@ -63,7 +68,7 @@ var state = (function loadState(hash) {
parsed.options.parser = "css";
}
return parsed;
})(decodeURIComponent(location.hash.slice(1)));
})(location.hash.slice(1));
var worker = new Worker("/worker.js");
@ -84,7 +89,7 @@ worker.onmessage = function(message) {
: message.data.formatted2 || ""
);
document.getElementById("button-report-issue").search =
"body=" + encodeURIComponent(createMarkdown(true));
"body=" + LZString.compressToEncodedURIComponent(createMarkdown(true));
}
};
@ -258,7 +263,7 @@ function formatAsync() {
var options = getOptions();
setEditorStyles();
var value = encodeURIComponent(
var value = LZString.compressToEncodedURIComponent(
JSON.stringify(
Object.assign({ content: inputEditor.getValue(), options: options })
)

View File

@ -32,6 +32,7 @@ toolbox.precache([
"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.26.0/addon/wrap/hardwrap.js",
"https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.26.0/keymap/sublime.js",
"https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js",
"https://cdnjs.cloudflare.com/ajax/libs/lz-string/1.4.4/lz-string.min.js",
// Images
"/prettier.png"