From 9ece5bd28144f34fc336a37f4688a23371778603 Mon Sep 17 00:00:00 2001 From: lironh Date: Sun, 22 Mar 2020 08:42:02 +0200 Subject: feat(demo): saving user history --- demo/src/index.html | 2 +- demo/src/index.ts | 2 +- demo/src/utils/editor-history.util.ts | 9 ++++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/demo/src/index.html b/demo/src/index.html index 9b69306..332ccb3 100644 --- a/demo/src/index.html +++ b/demo/src/index.html @@ -17,7 +17,7 @@
diff --git a/demo/src/index.ts b/demo/src/index.ts index 4246547..e3f9a67 100644 --- a/demo/src/index.ts +++ b/demo/src/index.ts @@ -102,9 +102,9 @@ async function compileAndRun() { } } catch (err) { runButton.removeAttribute('disabled'); + revertButton.removeAttribute('disabled'); alert('Failed: ' + err); } finally { - revertButton.removeAttribute('disabled'); statusLabel.textContent = ''; } } diff --git a/demo/src/utils/editor-history.util.ts b/demo/src/utils/editor-history.util.ts index 33d1916..65ca38a 100644 --- a/demo/src/utils/editor-history.util.ts +++ b/demo/src/utils/editor-history.util.ts @@ -1,17 +1,20 @@ const AVRJS8_EDITOR_HISTORY = 'AVRJS8_EDITOR_HISTORY'; export class EditorHistoryUtil { + static hasLocalStorage: boolean = !!window.localStorage; + static storeSnippet(codeSnippet: string) { - if (window.localStorage) { - window.localStorage.setItem(AVRJS8_EDITOR_HISTORY, codeSnippet); - } else throw new Error('no localStorage support'); + if (!EditorHistoryUtil.hasLocalStorage) return; + window.localStorage.setItem(AVRJS8_EDITOR_HISTORY, codeSnippet); } static clearSnippet() { + if (!EditorHistoryUtil.hasLocalStorage) return; localStorage.removeItem(AVRJS8_EDITOR_HISTORY); } static getValue() { + if (!EditorHistoryUtil.hasLocalStorage) return; return localStorage.getItem(AVRJS8_EDITOR_HISTORY); } } -- cgit v1.2.3