Create the base UI skeleton for Clojure evaluation and graph generation. Here's what I have in mind:
Top navbar (~10% screen height) so we can add additional applications based on need (i.e. #16).
Entire screen is the viz component, just like on google maps, where the entire screen is the pannable map.
Console overlays on the top left with appropriate padding (~30% screen width ~40% screen height) similar to textbox on google maps; might also be worth it to explore variations (~40% screen width ~30% screen height) to support longer commands without wrapping.
Can eventually make the overlay console a tabbed container in order to evolve away from a web CLI.
Tie into maven build using something like the frontend-maven-plugin or something similar.
Was a test to see how viable the terminal component used in VS code would be within this application; got it working but there are some serious buggy aspects to it so I'm thinking we don't move forward since it's a bit too heavy for our needs.
Wraps react-terminal-component using the stateless flavor of the component so we can manage state ourselves.
Transitively uses the javascript-terminal to emulate a terminal; I extend the Emulator to intercept the return value and modify the resulting EmulatorState since we don't want to use this for shell commands but for Clojure evaluation.
Got the React wrapper around vis.js working; make sure everything has an ID assigned.
Given the imperative nature of vis.js the entire graph refreshes on every change or update; mitigations for this might involve changing the library (for example, cytoscape and the react wrapper for cytoscape).
Scope
Applies to experiment: https://github.com/connexta/osg-eyes/tree/mvn-indexing Ensure you're familiar with the parent issue: #19
Goal
Create the base UI skeleton for Clojure evaluation and graph generation. Here's what I have in mind:
Notes
See
Adds minimal React skeleton
commit:For the purposes of this issue, disregard
Adds Clojure console/repl at the top of the web page
; refer to #21 for context.See
Adds experimental xterm react component
commit:See
Adds an alternative experimental react-terminal-component and gets Cl…
commit:Emulator
to intercept the return value and modify the resultingEmulatorState
since we don't want to use this for shell commands but for Clojure evaluation.See
Adds react wrapper for drawing vis.js networks
commit: