refactor(editor): improve config extension (#11006)

This commit is contained in:
Saul-Mirone
2025-03-19 13:38:09 +00:00
parent c1e16aeaa7
commit 1c6a876e6a
6 changed files with 37 additions and 65 deletions

View File

@@ -1,12 +1,13 @@
import { VirtualKeyboardProvider } from '@affine/core/mobile/modules/virtual-keyboard';
import {
type BlockStdScope,
ConfigIdentifier,
LifeCycleWatcher,
LifeCycleWatcherIdentifier,
} from '@blocksuite/affine/block-std';
import type { CodeBlockConfig } from '@blocksuite/affine/blocks/code';
import { codeToolbarWidget } from '@blocksuite/affine/blocks/code';
import {
CodeBlockConfigExtension,
codeToolbarWidget,
} from '@blocksuite/affine/blocks/code';
import { imageToolbarWidget } from '@blocksuite/affine/blocks/image';
import { ParagraphBlockConfigExtension } from '@blocksuite/affine/blocks/paragraph';
import { surfaceRefToolbarWidget } from '@blocksuite/affine/blocks/surface-ref';
@@ -15,10 +16,6 @@ import type {
ServiceIdentifier,
} from '@blocksuite/affine/global/di';
import { DisposableGroup } from '@blocksuite/affine/global/disposable';
import {
type ReferenceNodeConfig,
ReferenceNodeConfigIdentifier,
} from '@blocksuite/affine/rich-text';
import {
DocModeProvider,
FeatureFlagService,
@@ -41,33 +38,6 @@ class MobileSpecsPatches extends LifeCycleWatcher {
featureFlagService.setFlag('enable_mobile_keyboard_toolbar', true);
featureFlagService.setFlag('enable_mobile_linked_doc_menu', true);
}
static override setup(di: Container) {
super.setup(di);
// Hide reference popup on mobile.
{
const prev = di.getFactory(ReferenceNodeConfigIdentifier);
di.override(ReferenceNodeConfigIdentifier, provider => {
return {
...prev?.(provider),
hidePopup: true,
} satisfies ReferenceNodeConfig;
});
}
// Hide number lines for code block on mobile.
{
const codeConfigIdentifier = ConfigIdentifier('affine:code');
const prev = di.getFactory(codeConfigIdentifier);
di.override(codeConfigIdentifier, provider => {
return {
...prev?.(provider),
showLineNumbers: false,
} satisfies CodeBlockConfig;
});
}
}
}
const mobileParagraphConfig = ParagraphBlockConfigExtension({
@@ -86,6 +56,10 @@ const mobileParagraphConfig = ParagraphBlockConfigExtension({
},
});
const mobileCodeConfig = CodeBlockConfigExtension({
showLineNumbers: false,
});
function KeyboardToolbarExtension(framework: FrameworkProvider): ExtensionType {
const affineVirtualKeyboardProvider = framework.get(VirtualKeyboardProvider);
@@ -169,5 +143,6 @@ export function enableMobileExtension(
MobileSpecsPatches,
KeyboardToolbarExtension(framework),
mobileParagraphConfig,
mobileCodeConfig,
]);
}

View File

@@ -19,5 +19,6 @@ export function patchReferenceRenderer(
return ReferenceNodeConfigExtension({
customContent,
hidePopup: BUILD_CONFIG.isMobileEdition,
});
}