-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Describe the bug
If the MarkdownEditor is used as part of a Vaadin Crud Editor with position OVERLAY, the following error occur.
If the crud editor position is set to ASIDE or BOTTOM, it works properly.
Unexpected Application Error!
Node.removeChild: The node to be removed is not a child of this node
removeChildFromContainer@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:56627:22
commitDeletionEffectsOnFiber@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65672:43
recursivelyTraverseDeletionEffects@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65649:39
commitDeletionEffectsOnFiber@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65774:47
recursivelyTraverseDeletionEffects@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65649:39
...
recursivelyTraverseMutationEffects@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65849:41
commitMutationEffectsOnFiber@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65863:47
recursivelyTraverseMutationEffects@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65849:41
commitMutationEffectsOnFiber@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65958:47
commitMutationEffects@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:65827:37
commitRootImpl@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:67507:32
commitRoot@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:67437:25
finishConcurrentRender@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:66966:23
performConcurrentWorkOnRoot@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:66876:35
workLoop@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:48303:50
flushWork@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:48282:22
performWorkUntilDeadline@http://localhost:8080/VAADIN/build/indexhtml-XewVLE9m.js:48490:29
๐ฟ Hey developer ๐
You can provide a way better UX than this when your app throws errors by providing your own ErrorBoundary or errorElement prop on your route.
Expected behavior
MarkdownEditor should work for all crud editor positions.
Minimal reproducible example
public HelpCrudView(ApplicationContext springContext) {
this.crud = new Crud<>(HelpRecord.class, createEditor());
this.crud.setEditorPosition(CrudEditorPosition.OVERLAY);
// layout
setSizeFull();
this.crud.setSizeFull();
add(this.crud);
}
private CrudEditor<HelpRecord> createEditor() {
TextField id = new TextField("ID");
MarkdownEditor content = new MarkdownEditor();
content.setSizeFull();
content.setPlaceholder("Enter Markdown here");
content.setMaxLength(500);
VerticalLayout form = new VerticalLayout(id, content);
form.setSizeFull();
Binder<HelpRecord> binder = new Binder<>(HelpRecord.class);
binder.forField(id)
.asRequired()
.bind(HelpRecord::getId, HelpRecord::setId);
binder.forField(content)
.asRequired()
.bind(HelpRecord::getContent, HelpRecord::setContent);
return new BinderCrudEditor<>(binder, form);
}Add-on Version
2.0.1
Vaadin Version
24.8.7
Additional information
MacOS 15.6.1
Firefox 142.0
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Inbox (needs triage)