From 0d711667a86071b6921704528f511ee8cdd8ca2a Mon Sep 17 00:00:00 2001 From: L-Sun Date: Thu, 20 Jun 2024 02:33:18 +0000 Subject: [PATCH] chore: adjust order of slash menu items (#7278) Before -> After

--- .../ai/entries/slash-menu/setup-slash-menu.ts | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts b/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts index 14ef788cf..6a6ffdbbf 100644 --- a/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts +++ b/packages/frontend/core/src/blocksuite/presets/ai/entries/slash-menu/setup-slash-menu.ts @@ -76,25 +76,26 @@ export function setupSlashMenuEntry(slashMenu: AffineSlashMenuWidget) { }; }; + const menu = slashMenu.config.items.slice(); + menu.unshift({ + name: 'Ask AI', + icon: AIStarIcon, + showWhen: showWhenWrapper(), + action: ({ rootElement }) => { + const view = rootElement.host.view; + const affineAIPanelWidget = view.getWidget( + AFFINE_AI_PANEL_WIDGET, + rootElement.model.id + ) as AffineAIPanelWidget; + assertExists(affineAIPanelWidget); + assertExists(AIProvider.actions.chat); + assertExists(affineAIPanelWidget.host); + handleInlineAskAIAction(affineAIPanelWidget.host); + }, + }); + const AIMenuItems: AffineSlashMenuItem[] = [ { groupName: 'AFFiNE AI' }, - { - name: 'Ask AI', - icon: AIStarIcon, - showWhen: showWhenWrapper(), - action: ({ rootElement }) => { - const view = rootElement.host.view; - const affineAIPanelWidget = view.getWidget( - AFFINE_AI_PANEL_WIDGET, - rootElement.model.id - ) as AffineAIPanelWidget; - assertExists(affineAIPanelWidget); - assertExists(AIProvider.actions.chat); - assertExists(affineAIPanelWidget.host); - handleInlineAskAIAction(affineAIPanelWidget.host); - }, - }, - ...AIItems.filter(({ name }) => ['Fix spelling', 'Fix grammar'].includes(name) ).map(item => ({ @@ -128,8 +129,11 @@ export function setupSlashMenuEntry(slashMenu: AffineSlashMenuWidget) { }, ]; - const menu = slashMenu.config.items.slice(); - menu.unshift(...AIMenuItems); + const basicGroupEnd = menu.findIndex( + item => 'groupName' in item && item.groupName === 'List' + ); + // insert ai item after basic group + menu.splice(basicGroupEnd, 0, ...AIMenuItems); slashMenu.config = { ...AffineSlashMenuWidget.DEFAULT_CONFIG,