aboutsummaryrefslogtreecommitdiff
path: root/demo/src/index.ts
diff options
context:
space:
mode:
authorlironh2020-03-21 21:47:31 +0200
committerlironh2020-03-21 21:47:31 +0200
commitee5708e0babd08e3ed4fffbf9a24d7cd5755a782 (patch)
tree2bc475dd7ba9d5f0363f5af9fece4a1527683485 /demo/src/index.ts
parentMerge pull request #19 from gfeun/main-execute-loop-optimization (diff)
downloadavr8js-ee5708e0babd08e3ed4fffbf9a24d7cd5755a782.tar.gz
avr8js-ee5708e0babd08e3ed4fffbf9a24d7cd5755a782.tar.bz2
avr8js-ee5708e0babd08e3ed4fffbf9a24d7cd5755a782.zip
feat(demo): saving user history
Diffstat (limited to 'demo/src/index.ts')
-rw-r--r--demo/src/index.ts21
1 files changed, 20 insertions, 1 deletions
diff --git a/demo/src/index.ts b/demo/src/index.ts
index c886bba..4246547 100644
--- a/demo/src/index.ts
+++ b/demo/src/index.ts
@@ -5,6 +5,7 @@ import { formatTime } from './format-time';
import './index.css';
import { CPUPerformance } from './cpu-performance';
import { LEDElement } from '@wokwi/elements';
+import { EditorHistoryUtil } from './utils/editor-history.util';
let editor: any; // eslint-disable-line @typescript-eslint/no-explicit-any
const BLINK_CODE = `
@@ -32,7 +33,7 @@ window.require.config({
});
window.require(['vs/editor/editor.main'], () => {
editor = monaco.editor.create(document.querySelector('.code-editor'), {
- value: BLINK_CODE,
+ value: EditorHistoryUtil.getValue() || BLINK_CODE,
language: 'cpp',
minimap: { enabled: false }
});
@@ -50,6 +51,8 @@ const runButton = document.querySelector('#run-button');
runButton.addEventListener('click', compileAndRun);
const stopButton = document.querySelector('#stop-button');
stopButton.addEventListener('click', stopCode);
+const revertButton = document.querySelector('#revert-button');
+revertButton.addEventListener('click', setBlinkSnippet);
const statusLabel = document.querySelector('#status-label');
const compilerOutputText = document.querySelector('#compiler-output-text');
const serialOutputText = document.querySelector('#serial-output-text');
@@ -80,7 +83,11 @@ async function compileAndRun() {
led12.value = false;
led13.value = false;
+ storeUserSnippet();
+
runButton.setAttribute('disabled', '1');
+ revertButton.setAttribute('disabled', '1');
+
serialOutputText.textContent = '';
try {
statusLabel.textContent = 'Compiling...';
@@ -97,15 +104,27 @@ async function compileAndRun() {
runButton.removeAttribute('disabled');
alert('Failed: ' + err);
} finally {
+ revertButton.removeAttribute('disabled');
statusLabel.textContent = '';
}
}
+function storeUserSnippet() {
+ EditorHistoryUtil.clearSnippet();
+ EditorHistoryUtil.storeSnippet(editor.getValue());
+}
+
function stopCode() {
stopButton.setAttribute('disabled', '1');
runButton.removeAttribute('disabled');
+ revertButton.removeAttribute('disabled');
if (runner) {
runner.stop();
runner = null;
}
}
+
+function setBlinkSnippet() {
+ editor.setValue(BLINK_CODE);
+ EditorHistoryUtil.storeSnippet(editor.getValue());
+}