Skip to content

Commit

Permalink
feat: deephaven.ui plugin prototype initial checkin (#47)
Browse files Browse the repository at this point in the history
- deephaven.ui plugin prototype initial checkin has some extremely basic
cases implemented (Fixes #51)
- Needs my ui-plugin-prototype branch to work correctly (as that how the
JS side is loading components):
https://github.com/mofojed/web-client-ui/tree/ui-plugin-prototype
- The examples in the `plugins/ui/examples` folder should work
- Included DESIGN.md which is the discussion/notes from the google doc
discussion
- Added some TODO notes about things that require follow up
- Install as you would other plugins

Implemented so far:
- Basic `@ui.component` decorator (Fixes #54)
- Creates a `FunctionElement` object when called. `FunctionElement` is
then "rendered" (e.g. function is run) when the `FunctionElement` object
is exported (see `FunctionElementMessageStream`) (Fixes #52)
  - Exports a document tree (Fixes #53)
- Basic hooks are implemented (Fixes #55), along with tests. See the
`hooks` folder for the hooks available (`use_state`, `use_memo`,
`use_effect`, etc)
- `text_field` and `text` types are implemented
- Basic HTML elements (Fixes #56)
- Create JS Plugin side (Fixes #57)
- DashboardPlugin to open components created by @ui.component (Fixes
#58)
- HTML JS component handles any raw HTML component (Fixes #60)
  • Loading branch information
mofojed authored Oct 5, 2023
1 parent d40d7e7 commit f753470
Show file tree
Hide file tree
Showing 88 changed files with 5,715 additions and 9 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
node_modules
.vscode/
tsconfig.tsbuildinfo

# Ignore user IntelliJ settings
.idea/

# Ignore users local python venvs
.venv/

# Ignore any local tox virtualenvs
.tox/
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,4 +138,4 @@ Using the path to your local deephaven-js-plugins repo where the manifest.json i
START_OPTS="-Ddeephaven.jsPlugins.resourceBase=<deephaven-plugins-path>deephaven-js-plugins/plugins" ./gradlew server-jetty-app:run
```

The deephaven IDE can then be opened at http://localhost:10000/ide/, with your plugins ready to use.
The Deephaven IDE can then be opened at http://localhost:10000/ide/, with your plugins ready to use.
Loading

0 comments on commit f753470

Please sign in to comment.