showImageMenu function
void
showImageMenu(
- OverlayState container,
- EditorState editorState,
- OnInsertImage? onInsertImage,
Implementation
void showImageMenu(
OverlayState container,
EditorState editorState,
SelectionMenuService menuService, {
OnInsertImage? onInsertImage,
}) {
menuService.dismiss();
final (left, top, right, bottom) = menuService.getPosition();
late final OverlayEntry imageMenuEntry;
void insertImage(
String url,
) {
if (onInsertImage != null) {
onInsertImage(url);
} else {
editorState.insertImageNode(url);
}
menuService.dismiss();
imageMenuEntry.remove();
keepEditorFocusNotifier.decrease();
}
keepEditorFocusNotifier.increase();
imageMenuEntry = FullScreenOverlayEntry(
left: left,
right: right,
top: top,
bottom: bottom,
dismissCallback: () => keepEditorFocusNotifier.decrease(),
builder: (context) => UploadImageMenu(
backgroundColor: menuService.style.selectionMenuBackgroundColor,
headerColor: menuService.style.selectionMenuItemTextColor,
width: MediaQuery.of(context).size.width * 0.3,
onSubmitted: insertImage,
onUpload: insertImage,
),
).build();
container.insert(imageMenuEntry);
}