mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-09-25 08:19:29 +00:00
feat: enable link to database in slash menu (#6673)
* feat: enable link to database in slash menu * test: add link to page test * test: remove improper test
This commit is contained in:
parent
e6357a9d6c
commit
74c757d0c8
@ -11,9 +11,10 @@ import 'package:flutter/material.dart';
|
||||
InlineActionsMenuService? _actionsMenuService;
|
||||
Future<void> showLinkToPageMenu(
|
||||
EditorState editorState,
|
||||
SelectionMenuService menuService,
|
||||
ViewLayoutPB pageType,
|
||||
) async {
|
||||
SelectionMenuService menuService, {
|
||||
ViewLayoutPB? pageType,
|
||||
bool? insertPage,
|
||||
}) async {
|
||||
keepEditorFocusNotifier.increase();
|
||||
|
||||
menuService.dismiss();
|
||||
@ -31,7 +32,7 @@ Future<void> showLinkToPageMenu(
|
||||
currentViewId: '',
|
||||
viewLayout: pageType,
|
||||
customTitle: titleFromPageType(pageType),
|
||||
insertPage: pageType != ViewLayoutPB.Document,
|
||||
insertPage: insertPage ?? pageType != ViewLayoutPB.Document,
|
||||
limitResults: 15,
|
||||
),
|
||||
],
|
||||
@ -63,7 +64,7 @@ Future<void> 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(),
|
||||
|
@ -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,
|
||||
),
|
||||
);
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user