diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/link_to_page_widget.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/link_to_page_widget.dart index 5b3ca8270e..ce4f44e72b 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/link_to_page_widget.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/link_to_page_widget.dart @@ -11,9 +11,10 @@ import 'package:flutter/material.dart'; InlineActionsMenuService? _actionsMenuService; Future showLinkToPageMenu( EditorState editorState, - SelectionMenuService menuService, - ViewLayoutPB pageType, -) async { + SelectionMenuService menuService, { + ViewLayoutPB? pageType, + bool? insertPage, +}) async { keepEditorFocusNotifier.increase(); menuService.dismiss(); @@ -31,7 +32,7 @@ Future showLinkToPageMenu( currentViewId: '', viewLayout: pageType, customTitle: titleFromPageType(pageType), - insertPage: pageType != ViewLayoutPB.Document, + insertPage: insertPage ?? pageType != ViewLayoutPB.Document, limitResults: 15, ), ], @@ -63,7 +64,7 @@ Future showLinkToPageMenu( } } -String titleFromPageType(ViewLayoutPB layout) => switch (layout) { +String titleFromPageType(ViewLayoutPB? layout) => switch (layout) { ViewLayoutPB.Grid => LocaleKeys.inlineActions_gridReference.tr(), ViewLayoutPB.Document => LocaleKeys.inlineActions_docReference.tr(), ViewLayoutPB.Board => LocaleKeys.inlineActions_boardReference.tr(), diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/database/referenced_database_menu_item.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/database/referenced_database_menu_item.dart index 79af12b668..7f662b5363 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/database/referenced_database_menu_item.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/database/referenced_database_menu_item.dart @@ -16,8 +16,11 @@ SelectionMenuItem referencedDocumentMenuItem = SelectionMenuItem( style: style, ), keywords: ['page', 'notes', 'referenced page', 'referenced document'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Document), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Document, + ), ); // Database References @@ -30,8 +33,11 @@ SelectionMenuItem referencedGridMenuItem = SelectionMenuItem( style: style, ), keywords: ['referenced', 'grid', 'database'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Grid), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Grid, + ), ); SelectionMenuItem referencedBoardMenuItem = SelectionMenuItem( @@ -42,8 +48,11 @@ SelectionMenuItem referencedBoardMenuItem = SelectionMenuItem( style: style, ), keywords: ['referenced', 'board', 'kanban'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Board), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Board, + ), ); SelectionMenuItem referencedCalendarMenuItem = SelectionMenuItem( @@ -54,6 +63,9 @@ SelectionMenuItem referencedCalendarMenuItem = SelectionMenuItem( style: style, ), keywords: ['referenced', 'calendar', 'database'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Calendar), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Calendar, + ), ); diff --git a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/slash_menu/slash_menu_items.dart b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/slash_menu/slash_menu_items.dart index 7def01d0d6..7bfcaa68f7 100644 --- a/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/slash_menu/slash_menu_items.dart +++ b/frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/slash_menu/slash_menu_items.dart @@ -326,12 +326,19 @@ final referencedDocSlashMenuItem = SelectionMenuItem( 'notes', 'referenced page', 'referenced document', + 'referenced database', + 'link to database', + 'link to document', 'link to page', + 'link to grid', + 'link to board', + 'link to calendar', ], handler: (editorState, menuService, context) => showLinkToPageMenu( editorState, menuService, - ViewLayoutPB.Document, + // enable database and document references + insertPage: false, ), ); @@ -345,8 +352,11 @@ SelectionMenuItem referencedGridSlashMenuItem = SelectionMenuItem( style: style, ), keywords: ['referenced', 'grid', 'database', 'linked'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Grid), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Grid, + ), ); SelectionMenuItem referencedKanbanSlashMenuItem = SelectionMenuItem( @@ -358,8 +368,11 @@ SelectionMenuItem referencedKanbanSlashMenuItem = SelectionMenuItem( style: style, ), keywords: ['referenced', 'board', 'kanban', 'linked'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Board), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Board, + ), ); SelectionMenuItem referencedCalendarSlashMenuItem = SelectionMenuItem( @@ -371,8 +384,11 @@ SelectionMenuItem referencedCalendarSlashMenuItem = SelectionMenuItem( style: style, ), keywords: ['referenced', 'calendar', 'database', 'linked'], - handler: (editorState, menuService, context) => - showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Calendar), + handler: (editorState, menuService, context) => showLinkToPageMenu( + editorState, + menuService, + pageType: ViewLayoutPB.Calendar, + ), ); // callout menu item