Skip to content

Commit

Permalink
Fix bridge plugin to be able to handle new event
Browse files Browse the repository at this point in the history
  • Loading branch information
JiuqingSong committed Feb 4, 2025
1 parent 5f67c49 commit bbfff14
Showing 1 changed file with 18 additions and 18 deletions.
36 changes: 18 additions & 18 deletions packages/roosterjs-editor-adapter/lib/corePlugins/BridgePlugin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,15 +126,15 @@ export class BridgePlugin implements ContextMenuProvider<any> {
onPluginEvent(event: PluginEvent) {
const oldEvent = this.cacheGetOldEvent(event);

if (oldEvent) {
const exclusivelyHandleEventPlugin = this.cacheGetExclusivelyHandlePlugin(event);
const exclusivelyHandleEventPlugin = this.cacheGetExclusivelyHandlePlugin(event);

if (exclusivelyHandleEventPlugin) {
this.handleEvent(exclusivelyHandleEventPlugin, oldEvent, event);
} else {
this.legacyPlugins.forEach(plugin => this.handleEvent(plugin, oldEvent, event));
}
if (exclusivelyHandleEventPlugin) {
this.handleEvent(exclusivelyHandleEventPlugin, oldEvent, event);
} else {
this.legacyPlugins.forEach(plugin => this.handleEvent(plugin, oldEvent, event));
}

if (oldEvent) {
Object.assign(event, oldEventToNewEvent(oldEvent, event));
}
}
Expand Down Expand Up @@ -165,17 +165,15 @@ export class BridgePlugin implements ContextMenuProvider<any> {
return cacheGetEventData(event, ExclusivelyHandleEventPluginKey, event => {
const oldEvent = this.cacheGetOldEvent(event);

if (oldEvent) {
for (let i = 0; i < this.legacyPlugins.length; i++) {
const plugin = this.legacyPlugins[i];
for (let i = 0; i < this.legacyPlugins.length; i++) {
const plugin = this.legacyPlugins[i];

if (plugin.willHandleEventExclusively?.(oldEvent)) {
return plugin;
}
if (oldEvent && plugin.willHandleEventExclusively?.(oldEvent)) {
return plugin;
}

if (isMixedPlugin(plugin) && plugin.willHandleEventExclusivelyV9?.(event)) {
return plugin;
}
if (isMixedPlugin(plugin) && plugin.willHandleEventExclusivelyV9?.(event)) {
return plugin;
}
}

Expand All @@ -200,10 +198,12 @@ export class BridgePlugin implements ContextMenuProvider<any> {

private handleEvent(
plugin: LegacyEditorPlugin,
oldEvent: LegacyPluginEvent,
oldEvent: LegacyPluginEvent | undefined,
newEvent: PluginEvent
) {
plugin.onPluginEvent?.(oldEvent);
if (oldEvent && plugin.onPluginEvent) {
plugin.onPluginEvent(oldEvent);
}

if (isMixedPlugin(plugin)) {
plugin.onPluginEventV9?.(newEvent);
Expand Down

0 comments on commit bbfff14

Please sign in to comment.