diff --git a/packages/roosterjs-content-model-dom/lib/constants/ChangeSource.ts b/packages/roosterjs-content-model-dom/lib/constants/ChangeSource.ts index e77d03952922..cbaa372038f1 100644 --- a/packages/roosterjs-content-model-dom/lib/constants/ChangeSource.ts +++ b/packages/roosterjs-content-model-dom/lib/constants/ChangeSource.ts @@ -23,6 +23,10 @@ export const ChangeSource = { * Content changed by paste */ Paste: 'Paste', + /** + * Content changed by auto markdown conversion + */ + AutoMarkdownConversion: 'AutoMarkdownConversion', /** * Content changed by setContent API */ diff --git a/packages/roosterjs-content-model-markdown/lib/plugins/MarkdownPastePlugin.ts b/packages/roosterjs-content-model-markdown/lib/plugins/MarkdownPastePlugin.ts index a7968332bfda..b75e2c576e5c 100644 --- a/packages/roosterjs-content-model-markdown/lib/plugins/MarkdownPastePlugin.ts +++ b/packages/roosterjs-content-model-markdown/lib/plugins/MarkdownPastePlugin.ts @@ -102,6 +102,7 @@ export class MarkdownPastePlugin implements EditorPlugin { }, { apiName: 'MarkdownConversion', + changeSource: ChangeSource.AutoMarkdownConversion, scrollCaretIntoView: true, } ); diff --git a/packages/roosterjs-content-model-markdown/test/plugins/MarkdownPastePluginTest.ts b/packages/roosterjs-content-model-markdown/test/plugins/MarkdownPastePluginTest.ts index adb7388033db..c63417184699 100644 --- a/packages/roosterjs-content-model-markdown/test/plugins/MarkdownPastePluginTest.ts +++ b/packages/roosterjs-content-model-markdown/test/plugins/MarkdownPastePluginTest.ts @@ -1,4 +1,5 @@ import { MarkdownPastePlugin } from '../../lib/plugins/MarkdownPastePlugin'; +import { ChangeSource } from 'roosterjs-content-model-dom'; import type { BeforePasteEvent, ClipboardData, @@ -90,7 +91,7 @@ describe('MarkdownPastePlugin', () => { ): ContentChangedEvent { return ({ eventType: 'contentChanged', - source: 'Paste', + source: ChangeSource.Paste, data: clipboardData as ClipboardData, } as unknown) as ContentChangedEvent; } @@ -171,7 +172,11 @@ describe('MarkdownPastePlugin', () => { (model: ContentModelDocument) => boolean, FormatContentModelOptions ]; - expect(options).toEqual({ apiName: 'MarkdownConversion', scrollCaretIntoView: true }); + expect(options).toEqual({ + apiName: 'MarkdownConversion', + changeSource: ChangeSource.AutoMarkdownConversion, + scrollCaretIntoView: true, + }); const target = createEmptyModel(); expect(callback(target)).toBe(true);