-
Notifications
You must be signed in to change notification settings - Fork 327
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
Quick Editing in Table Editor Widget #12129
Conversation
🧪 Storybook is successfully deployed!📊 Dashboard:
|
7b21c0e
to
28353ef
Compare
00bf71a
to
e964474
Compare
…/table-editor-quick-edit
suspend: () => { | ||
return { | ||
resume: () => syncGridWithEditedCell(), | ||
} | ||
}, |
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.
Does this do anything? A suspend
implementation that doesn't capture any state is suspicious.
for (const [key, comp] of Object.entries(props.components)) { | ||
class ComponentWrapper implements IHeaderComp { | ||
private readonly container: HTMLElement = document.createElement('div') | ||
private handle: VueComponentHandle | undefined | ||
|
||
init(params: IHeaderParams) { | ||
this.handle = vueHost.register(h(comp, params), this.container) | ||
console.log('init') |
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.
Stray log (and below)
@@ -32,11 +32,11 @@ export const [provideWidgetTree, injectWidgetTree] = createContextStore( | |||
/** TODO: Add docs */ | |||
export function useCurrentEdit() { | |||
const currentEditRoot = shallowRef<WidgetEditHandlerRoot>() | |||
return { | |||
return proxyRefs({ |
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.
If this is a proxyRefs
, we must not destructure it in the call above.
…/table-editor-quick-edit
Pull Request Description
Fixes #10865
The proper "tabbing" cells is implemented in AgGrid, but wasn't visible due to a bug. This PR adds only header edit handling.
"Entering" has our own implementation, as I haven't found a way to configure AgGrid to make behavior described in the task requirements.
Screencast.From.2025-01-29.13-42-00.mp4
Important Notes
The "quick" editing uncovered a problem with our AgGrid updates: the component's refreshing was callled way too often. In this PR it is addressed by reducing reactive dependencies of rowData and columnDefs, so they don't cause updates when only value changes (on value change, we refresh AgGrid by hand: this does not stop editing).
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
[ ] The documentation has been updated, if necessary.Scala,
Java,
TypeScript,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
[ ] If meaningful changes were made to logic or tests affecting Enso Cloud integration in the libraries,or the Snowflake database integration, a run of the Extra Tests has been scheduled.