Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create base UI to serve as CLI and dependency graph explorer #20

Open
Lambeaux opened this issue Dec 4, 2020 · 0 comments
Open

Create base UI to serve as CLI and dependency graph explorer #20

Lambeaux opened this issue Dec 4, 2020 · 0 comments
Labels
capabilities/interfaces Concerns accessibility, runtime platforms, and interaction modes context/experimental Applies to a specific branch (not master)

Comments

@Lambeaux
Copy link
Contributor

Lambeaux commented Dec 4, 2020

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:

  • Top navbar (~10% screen height) so we can add additional applications based on need (i.e. Provide search for Java packages within a maven repo and indicate if they are exported or not #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.

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:

  • 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.

See Adds an alternative experimental react-terminal-component and gets Cl… commit:

  • 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.

See Adds react wrapper for drawing vis.js networks commit:

  • 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).
@Lambeaux Lambeaux added context/experimental Applies to a specific branch (not master) capabilities/interfaces Concerns accessibility, runtime platforms, and interaction modes labels Dec 4, 2020
@Lambeaux Lambeaux changed the title Create base UI to serve as CLI and network graph explorer Create base UI to serve as CLI and dependency graph explorer Dec 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
capabilities/interfaces Concerns accessibility, runtime platforms, and interaction modes context/experimental Applies to a specific branch (not master)
Projects
None yet
Development

No branches or pull requests

1 participant