-
Notifications
You must be signed in to change notification settings - Fork 16
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
feat: Use useWidget
hook to load widgets
#502
Conversation
- Simplifies a lot of the logic in WidgetHandler - Don't need to pass through the `fetch` function anymore - Haven't tested from Enterprise yet
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haven't tested this yet, but just noticed a few small things
e2e tests won't work until I've pushed the web-client-ui changes and deephaven-core has been updated. |
- Hook for loading a widget that makes it easy to use - `ObjectManager` context allows for implementation to handle loading the object - On Core side, we have a very simple `ObjectManager`, as we just have one connection - On Enterprise side, the `ObjectManager` provided to the context manager will need to handle fetching from queries, and will be able to handle more scenarios (such as when a query is restarting) - Use with deephaven/deephaven-plugins#502
- Hook for loading a widget that makes it easy to use - `ObjectManager` context allows for implementation to handle loading the object - On Core side, we have a very simple `ObjectManager`, as we just have one connection - On Enterprise side, the `ObjectManager` provided to the context manager will need to handle fetching from queries, and will be able to handle more scenarios (such as when a query is restarting) - Use with deephaven/deephaven-plugins#502
- Hook for loading a widget that makes it easy to use - `ObjectManager` context allows for implementation to handle loading the object - On Core side, we have a very simple `ObjectManager`, as we just have one connection - On Enterprise side, the `ObjectManager` provided to the context manager will need to handle fetching from queries, and will be able to handle more scenarios (such as when a query is restarting) - Use with deephaven/deephaven-plugins#502
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs the package versions updated and conflict fixed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few small things
- Doesn't show the full message until you click the Info button - Reload button only visible if added as an action
- Conform WidgetError to Error type
- Also fix up error type to pass back a `name` like other errors in JS
Needs some max-height or shrinking on the error message. If panels are relatively small the disconnected overlay breaks out of the panel (see bottom right panels in this screenshot) Also, there is some inconsistency around some of the styling it seems between the panels and tables. The text stands out more on a table than the other panels. This might just be the styling for iris-grid though and not something we care about right now |
Yea for the other panels that'll need to be taken care of when we move them to use |
- Get scrolling if it is too big for the component
- Needs deephaven/web-client-ui#2030 - Uses the `useWidget` hook defined in deephaven/web-client-ui#2030 to load widgets - Allows for the errors/fetch implementation to be defined at the top level - Needed for DH-16737 - Tested in Core with a bunch of widgets, works as expected - Unit tests added
- Needs deephaven/web-client-ui#2030 - Uses the `useWidget` hook defined in deephaven/web-client-ui#2030 to load widgets - Allows for the errors/fetch implementation to be defined at the top level - Needed for DH-16737 - Tested in Core with a bunch of widgets, works as expected - Unit tests added
Rollup and esbuild optional dependencies were removed from the package-lock by this PR: #502 Adding them back to top level `optionalDependencies` to ensure they are available For reference to get this list I: 1. used `vscode` file history to find the package-lock.json diff that removed the dependencies. 2. copy / pasted the removed blocks of `esbuild` and `rollup` dependencies into a new `.json` file 3. Used `jq` to flatten the names + versions `cat myfile.json | jq 'with_entries(.value = .value.version)'` 4. Tweak / copy / pasted into optionalDependencies resolves #560
useWidget
hook web-client-ui#2030useWidget
hook defined in feat: DH-16737 Add ObjectManager,useWidget
hook web-client-ui#2030 to load widgets