mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-09-26 17:03:05 +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;
|
InlineActionsMenuService? _actionsMenuService;
|
||||||
Future<void> showLinkToPageMenu(
|
Future<void> showLinkToPageMenu(
|
||||||
EditorState editorState,
|
EditorState editorState,
|
||||||
SelectionMenuService menuService,
|
SelectionMenuService menuService, {
|
||||||
ViewLayoutPB pageType,
|
ViewLayoutPB? pageType,
|
||||||
) async {
|
bool? insertPage,
|
||||||
|
}) async {
|
||||||
keepEditorFocusNotifier.increase();
|
keepEditorFocusNotifier.increase();
|
||||||
|
|
||||||
menuService.dismiss();
|
menuService.dismiss();
|
||||||
@ -31,7 +32,7 @@ Future<void> showLinkToPageMenu(
|
|||||||
currentViewId: '',
|
currentViewId: '',
|
||||||
viewLayout: pageType,
|
viewLayout: pageType,
|
||||||
customTitle: titleFromPageType(pageType),
|
customTitle: titleFromPageType(pageType),
|
||||||
insertPage: pageType != ViewLayoutPB.Document,
|
insertPage: insertPage ?? pageType != ViewLayoutPB.Document,
|
||||||
limitResults: 15,
|
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.Grid => LocaleKeys.inlineActions_gridReference.tr(),
|
||||||
ViewLayoutPB.Document => LocaleKeys.inlineActions_docReference.tr(),
|
ViewLayoutPB.Document => LocaleKeys.inlineActions_docReference.tr(),
|
||||||
ViewLayoutPB.Board => LocaleKeys.inlineActions_boardReference.tr(),
|
ViewLayoutPB.Board => LocaleKeys.inlineActions_boardReference.tr(),
|
||||||
|
@ -16,8 +16,11 @@ SelectionMenuItem referencedDocumentMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['page', 'notes', 'referenced page', 'referenced document'],
|
keywords: ['page', 'notes', 'referenced page', 'referenced document'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Document),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Document,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// Database References
|
// Database References
|
||||||
@ -30,8 +33,11 @@ SelectionMenuItem referencedGridMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['referenced', 'grid', 'database'],
|
keywords: ['referenced', 'grid', 'database'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Grid),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Grid,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
SelectionMenuItem referencedBoardMenuItem = SelectionMenuItem(
|
SelectionMenuItem referencedBoardMenuItem = SelectionMenuItem(
|
||||||
@ -42,8 +48,11 @@ SelectionMenuItem referencedBoardMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['referenced', 'board', 'kanban'],
|
keywords: ['referenced', 'board', 'kanban'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Board),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Board,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
SelectionMenuItem referencedCalendarMenuItem = SelectionMenuItem(
|
SelectionMenuItem referencedCalendarMenuItem = SelectionMenuItem(
|
||||||
@ -54,6 +63,9 @@ SelectionMenuItem referencedCalendarMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['referenced', 'calendar', 'database'],
|
keywords: ['referenced', 'calendar', 'database'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Calendar),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Calendar,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
@ -326,12 +326,19 @@ final referencedDocSlashMenuItem = SelectionMenuItem(
|
|||||||
'notes',
|
'notes',
|
||||||
'referenced page',
|
'referenced page',
|
||||||
'referenced document',
|
'referenced document',
|
||||||
|
'referenced database',
|
||||||
|
'link to database',
|
||||||
|
'link to document',
|
||||||
'link to page',
|
'link to page',
|
||||||
|
'link to grid',
|
||||||
|
'link to board',
|
||||||
|
'link to calendar',
|
||||||
],
|
],
|
||||||
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
editorState,
|
editorState,
|
||||||
menuService,
|
menuService,
|
||||||
ViewLayoutPB.Document,
|
// enable database and document references
|
||||||
|
insertPage: false,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -345,8 +352,11 @@ SelectionMenuItem referencedGridSlashMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['referenced', 'grid', 'database', 'linked'],
|
keywords: ['referenced', 'grid', 'database', 'linked'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Grid),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Grid,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
SelectionMenuItem referencedKanbanSlashMenuItem = SelectionMenuItem(
|
SelectionMenuItem referencedKanbanSlashMenuItem = SelectionMenuItem(
|
||||||
@ -358,8 +368,11 @@ SelectionMenuItem referencedKanbanSlashMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['referenced', 'board', 'kanban', 'linked'],
|
keywords: ['referenced', 'board', 'kanban', 'linked'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Board),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Board,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
SelectionMenuItem referencedCalendarSlashMenuItem = SelectionMenuItem(
|
SelectionMenuItem referencedCalendarSlashMenuItem = SelectionMenuItem(
|
||||||
@ -371,8 +384,11 @@ SelectionMenuItem referencedCalendarSlashMenuItem = SelectionMenuItem(
|
|||||||
style: style,
|
style: style,
|
||||||
),
|
),
|
||||||
keywords: ['referenced', 'calendar', 'database', 'linked'],
|
keywords: ['referenced', 'calendar', 'database', 'linked'],
|
||||||
handler: (editorState, menuService, context) =>
|
handler: (editorState, menuService, context) => showLinkToPageMenu(
|
||||||
showLinkToPageMenu(editorState, menuService, ViewLayoutPB.Calendar),
|
editorState,
|
||||||
|
menuService,
|
||||||
|
pageType: ViewLayoutPB.Calendar,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
// callout menu item
|
// callout menu item
|
||||||
|
Loading…
x
Reference in New Issue
Block a user