mirror of
https://github.com/pyscript/pyscript.git
synced 2022-05-01 19:47:48 +03:00
clean code draft
This commit is contained in:
@@ -3,7 +3,6 @@
|
|||||||
<head>
|
<head>
|
||||||
<!-- <link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css"> -->
|
<!-- <link rel="stylesheet" href="path/to/font-awesome/css/font-awesome.min.css"> -->
|
||||||
<script src="https://cdn.jsdelivr.net/pyodide/v0.19.0/full/pyodide.js"></script>
|
<script src="https://cdn.jsdelivr.net/pyodide/v0.19.0/full/pyodide.js"></script>
|
||||||
<script src="pyscript.js"></script>
|
|
||||||
<link rel="stylesheet" media="all" href="pyscript1.css">
|
<link rel="stylesheet" media="all" href="pyscript1.css">
|
||||||
|
|
||||||
<link rel="stylesheet"
|
<link rel="stylesheet"
|
||||||
|
|||||||
@@ -1,5 +1,15 @@
|
|||||||
let message: string = 'Hello World';
|
import {EditorState} from "@codemirror/state";
|
||||||
console.log(message);
|
import {EditorView, keymap} from "@codemirror/view";
|
||||||
|
import {defaultKeymap} from "@codemirror/commands";
|
||||||
|
import {loadInterpreter} from "./interpreter";
|
||||||
|
// import {EditorState, EditorView, basicSetup} from "@codemirror/basic-setup"
|
||||||
|
// import {javascript} from "@codemirror/lang-javascript"
|
||||||
|
|
||||||
|
let startState = EditorState.create({
|
||||||
|
doc: "Hello World",
|
||||||
|
extensions: [keymap.of(defaultKeymap)]
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
class PyScript extends HTMLElement {
|
class PyScript extends HTMLElement {
|
||||||
shadow: ShadowRoot;
|
shadow: ShadowRoot;
|
||||||
@@ -35,7 +45,7 @@ class PyScript extends HTMLElement {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
customElements.define('py-script', PyScript);
|
let xPyScript = customElements.define('py-script', PyScript);
|
||||||
|
|
||||||
|
|
||||||
function create_menu (){
|
function create_menu (){
|
||||||
@@ -57,15 +67,20 @@ class PyScript extends HTMLElement {
|
|||||||
document.body.appendChild(div);
|
document.body.appendChild(div);
|
||||||
|
|
||||||
document.querySelectorAll('py-script').forEach((elem: PyScript, i) => {
|
document.querySelectorAll('py-script').forEach((elem: PyScript, i) => {
|
||||||
var code = elem.innerHTML;
|
let code = elem.innerHTML;
|
||||||
elem.innerHTML = "";
|
elem.innerHTML = "";
|
||||||
elem.code = code;
|
elem.code = code;
|
||||||
elem.cm = CodeMirror(elem, {
|
let view = new EditorView({
|
||||||
lineNumbers: true,
|
state: startState,
|
||||||
tabSize: 2,
|
parent: elem
|
||||||
value: code,
|
})
|
||||||
mode: 'python'
|
|
||||||
});
|
// elem.cm = CodeMirror(elem, {
|
||||||
|
// lineNumbers: true,
|
||||||
|
// tabSize: 2,
|
||||||
|
// value: code,
|
||||||
|
// mode: 'python'
|
||||||
|
// });
|
||||||
|
|
||||||
elem.btnRun = document.createElement('button');
|
elem.btnRun = document.createElement('button');
|
||||||
elem.btnRun.innerHTML = "run";
|
elem.btnRun.innerHTML = "run";
|
||||||
@@ -108,23 +123,14 @@ class PyScript extends HTMLElement {
|
|||||||
|
|
||||||
window.onload= create_menu;
|
window.onload= create_menu;
|
||||||
|
|
||||||
async function main() {
|
// async function main() {
|
||||||
let pyodide = await loadPyodide({
|
// let pyodide = await loadPyodide({ /* @ts-ignore */
|
||||||
indexURL: "https://cdn.jsdelivr.net/pyodide/v0.19.0/full/",
|
// indexURL: "https://cdn.jsdelivr.net/pyodide/v0.19.0/full/",
|
||||||
});
|
// }); /* @ts-ignore */
|
||||||
|
|
||||||
return pyodide;
|
// return pyodide;
|
||||||
}
|
// }
|
||||||
let pyodideReadyPromise = main();
|
let pyodideReadyPromise = loadInterpreter();
|
||||||
|
|
||||||
async function evaluatePython() {
|
|
||||||
let pyodide = await pyodideReadyPromise;
|
|
||||||
try {
|
|
||||||
let output = pyodide.runPython(code.value);
|
|
||||||
addToOutput(output);
|
|
||||||
} catch (err) {
|
|
||||||
addToOutput(err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user