diff options
author | Jakob Stendahl <14180120+JakobST1n@users.noreply.github.com> | 2021-10-11 20:02:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-11 20:02:04 +0200 |
commit | c67531161e56488166a33232f87566309ba8676e (patch) | |
tree | 846e59a020e80bea48557d5a06af5728e44961ff /public/neo_ide.html | |
parent | e6880cd8ccf82d993f222cb14b4860581654acb8 (diff) | |
parent | c1b6eec770b885a9829e1f62bad5cc99389ca429 (diff) | |
download | Luxcena-Neo-c67531161e56488166a33232f87566309ba8676e.tar.gz Luxcena-Neo-c67531161e56488166a33232f87566309ba8676e.zip |
Merge pull request #24 from JakobST1n/rebuild
v1.0.0
Diffstat (limited to 'public/neo_ide.html')
-rw-r--r-- | public/neo_ide.html | 273 |
1 files changed, 0 insertions, 273 deletions
diff --git a/public/neo_ide.html b/public/neo_ide.html deleted file mode 100644 index fb65ddf..0000000 --- a/public/neo_ide.html +++ /dev/null @@ -1,273 +0,0 @@ -<!DOCTYPE html> -<html class="neo_ide" style="overflow:hidden;"> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0"/> - <title>Luxcena Neo - Neo IDE</title> - - <link rel="stylesheet" href="/css/bundle.css" type="text/css" /> - </head> - - <body id="neo_ide"> - - <!--<div class="page-loader"> - <div class="loader"> - <div class="loading"> - <div class="loading__element el1">L</div> - <div class="loading__element el2">O</div> - <div class="loading__element el3">A</div> - <div class="loading__element el4">D</div> - <div class="loading__element el5">I</div> - <div class="loading__element el6">N</div> - <div class="loading__element el7">G</div> - <div class="loading__element el8">.</div> - <div class="loading__element el9">.</div> - <div class="loading__element el10">.</div> - </div> - <div class="current-event"> - <p id="event-text"></p> - </div> - </div> - <div class="error"> - <h1>ERROR</h1> - </error> - </div>--> - - <div class="page-container"> - - <nav class="nav-container"> - <ul> - <li id="back_button" class="left button"><i class="fas fa-chevron-left"></i></li> - <li class="center">Neo IDE - <span class="fileName"></span></li> - <li class="right"> - <ul> - <li id="toggle_menu" class="button"><i class="fas fa-caret-down"></i></li> - <li id="save_button" class="button"><i class="fas fa-save"></i></li> - <li id="stop_button" class="button"><i class="fas fa-stop"></i></li> - <li id="start_button" class="button"><i class="fas fa-play"></i></li> - </ul> - </li> - </ul> - </nav> - - <div class="menubar-container"> - <ul> - <li id="toggle_output_button" class="button"></i>Toggle output</li> - </ul> - </div> - - <div class="panel-container"> - <div class="panel-top"> - <div id="editor"></div> - </div> - - <div class="splitter"> - <div class="text"> - <i class="fas fa-terminal"></i> - <span>output</span> - </div> - </div> - - <div class="panel-bottom"><pre></pre></div> - </div> - - </div> - - <script type="text/javascript" src="/js/jquery-3.2.1.min.js"></script> - <script type="text/javascript" src="/socket.io/socket.io.js"></script> - <script type="text/javascript" src="/js/bundle.js"></script> - <script type="text/javascript" src="/js/jquery-resizable.js"></script> - <script type="text/javascript" src="/monaco-editor/min/vs/loader.js"></script> - <script> - require.config({ paths: { 'vs': 'monaco-editor/min/vs' }}); - let editor = undefined; - let socket = io(); - let outputLines = 0; - - function resize() { - let screenH = window.innerHeight; - - $(".panel-container").css("height", (screenH - 45) + "px"); - $(".panel-bottom").css("height", document.getElementsByClassName("panel-bottom")[0].clientHeight); - editor.layout(); - } - - function findGetParameter(parameterName) { - var result = null, - tmp = []; - location.search - .substr(1) - .split("&") - .forEach(function (item) { - tmp = item.split("="); - if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]); - }); - return result; - } - - require(['vs/editor/editor.main'], function() { - - monaco.editor.defineTheme('neoIdeDark', { - base: 'vs-dark', - inherit: true, // can also be false to completely replace the builtin rules - rules: [ - { token: 'eachSecond(self)', foreground: 'ffa500', fontStyle: 'italic underline' }, - { token: 'string.LuxcenaNeo', foreground: '008800', fontStyle: 'bold' }, - { token: 'comment.css', foreground: '0000ff' } // will inherit fontStyle from `comment` above - ] - }); - - editor = monaco.editor.create(document.getElementById('editor'), { - value: [""].join('\n'), - language: 'python', - theme: 'neoIdeDark' - }); - - let decorations = editor.deltaDecorations([], [ - { range: new monaco.Range(3,1,5,1), options: { isWholeLine: true, linesDecorationsClassName: 'myLineDecoration' }}, - { range: new monaco.Range(7,1,7,24), options: { inlineClassName: 'myInlineDecoration' }}, - ]); - - let runScriptBinding = editor.addCommand(monaco.KeyCode.F5, function() { - alert('F5 pressed!'); - }); - - resize(); - socket.emit("NeoIde_GetScript", {"scriptPath": atob(findGetParameter("scriptName"))}); - }); - - $(".panel-top").resizable({ - handleSelector: ".splitter", - resizeWidth: false, - onDrag: resize - }); - - $("#toggle_menu").on("click", () => { - if ($(".menubar-container").hasClass("menuBarIn")) { - $(".menubar-container").removeClass("menuBarIn"); - $(".menubar-container").addClass("menuBarOut"); - $("#toggle_menu i").removeClass("fa-caret-up"); - $("#toggle_menu i").addClass("fa-caret-down"); - } else { - $(".menubar-container").removeClass("menuBarOut"); - $(".menubar-container").addClass("menuBarIn"); - $("#toggle_menu i").removeClass("fa-caret-down"); - $("#toggle_menu i").addClass("fa-caret-up"); - } - }); - - $("#back_button").on("click", () => { - window.location.href = "http://" + window.location.hostname + ":" + window.location.port + "/scripts"; - }); - - $("#save_button").on("click", () => { - $("#save_button").html('<i class="fas fa-circle-notch fa-spin"></i>'); - socket.emit("NeoIde_SaveScript", { - script: { - name: $(".fileName").html(), - path: atob(findGetParameter("scriptName")), - files: { - main: editor.getValue() - } - } - }); - }); - - $("#start_button").on("click", () => { - socket.emit("NeoIde_RunScript", { - scriptPath: atob(findGetParameter("scriptName")) - }) - }); - - $("#stop_button").on("click", () => { - socket.emit("NeoIde_StopScript", {}); - }); - - $("#toggle_output_button").on("click", () => { - console.log("NIY"); - }); - - window.onresize = resize; - - socket.on("callback", (reqResult) => { - switch (reqResult.request) { - case "NeoIde_GetScript": - if (!reqResult.success) { - alert("Could not load script..."); - window.location.href = "http://" + window.location.hostname + ":" + window.location.port + "/scripts"; - } - editor.setValue(reqResult.data.script.files.main); - $(".fileName").text(reqResult.data.script.name); - break; - - case "NeoIde_SaveScript": - if (!reqResult.success) { - $("#save_button").html('<i class="fas fa-times"></i>'); - alert("Could not save script, info in console."); - console.log(reqResult); - } else { - $("#save_button").html('<i class="fas fa-check"></i>'); - } - setTimeout(() => { - $("#save_button").html('<i class="fas fa-save"></i>'); - }, 1500); - break; - - case "NeoIde_StopScript": - console.log(reqResult); - break; - - case "NeoIde_GetScriptOutput": - if (reqResult.success) { - let lines = reqResult.output.split("\n"); - - let preObj = ""; - let currentClass = ""; - let currentData = ""; - for (let i = 0; i < lines.length; i++) { - if (lines[i].includes("====stdout====")) { - preObj += `<span class="${currentClass}">${currentData}</span>`; - currentClass = "stdout"; - currentData = ""; - } else if (lines[i].includes("====stderr====")) { - preObj += `<span class="${currentClass}">${currentData}</span>`; - currentClass = "stderr"; - currentData = ""; - } else if (lines[i].includes("====close====")) { - preObj += `<span class="${currentClass}">${currentData}</span>`; - currentClass = "close"; - currentData = ""; - } else { - if (lines [i].replace("\n", "") == "") { - //currentData += "\n" - } else { - currentData += lines[i] + "\n"; - } - } - } - preObj += `<span class="${currentClass}">${currentData}</span>`; - if (outputLines != lines.length) { - outputLines = lines.length; - $(".panel-bottom pre").html(preObj); - var element = document.getElementsByClassName('panel-bottom')[0]; - element.scrollTop = element.scrollHeight; - } - - } else { - $(".panel-bottom pre").html("<span class=\"stderr\">" + reqResult.error.reason + "</span>"); - } - break; - - default: - console.log("Got a weird callback from \"" + reqResult.request + "\""); - } - }); - - setInterval(() => { - socket.emit("NeoIde_GetScriptOutput", { - scriptPath: atob(findGetParameter("scriptName")) - }) - }, 400); - - </script> - </body> -</html> |