Skip to content

Commit 6b739ae

Browse files
Fix bug
1 parent 04216f3 commit 6b739ae

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/Components/Web.JS/src/Rendering/Events/EventTypes.ts

+9-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ interface EventTypeOptions {
44
}
55

66
const eventTypeRegistry: Map<string, EventTypeOptions> = new Map();
7-
const browserEventNamesByDotNetName: Map<string, string[]> = new Map();
7+
const browserEventNameToDotNetEventNames: Map<string, string[]> = new Map();
88
const emptyEventArgsOptions: EventTypeOptions = {};
99

1010
export function registerCustomEventType(dotNetEventName: string, options: EventTypeOptions): void {
@@ -20,10 +20,11 @@ export function registerCustomEventType(dotNetEventName: string, options: EventT
2020

2121
eventTypeRegistry.set(dotNetEventName, options);
2222

23-
if (!browserEventNamesByDotNetName.has(dotNetEventName)) {
24-
browserEventNamesByDotNetName.set(dotNetEventName, []);
23+
const browserEventName = options.browserEventName || dotNetEventName;
24+
if (!browserEventNameToDotNetEventNames.has(browserEventName)) {
25+
browserEventNameToDotNetEventNames.set(browserEventName, []);
2526
}
26-
browserEventNamesByDotNetName.get(dotNetEventName)?.push(options.browserEventName || dotNetEventName);
27+
browserEventNameToDotNetEventNames.get(browserEventName)?.push(dotNetEventName);
2728
}
2829

2930
export function getEventTypeOptions(dotNetEventName: string): EventTypeOptions {
@@ -39,11 +40,13 @@ export function getBrowserEventName(dotNetEventName: string): string {
3940
export function getDotNetEventNames(browserEventName: string): string[] {
4041
// For back-compat, it's possible to use a custom event name without registering it.
4142
// In this case, we assume the dotnet name and browser name are the same.
42-
return browserEventNamesByDotNetName.get(browserEventName) ?? [browserEventName];
43+
return browserEventNameToDotNetEventNames.get(browserEventName) ?? [browserEventName];
4344
}
4445

4546
function registerBuiltInEventType(dotNetEventNames: string[], options: EventTypeOptions) {
46-
dotNetEventNames.forEach(dotNetEventName => eventTypeRegistry.set(dotNetEventName, options));
47+
dotNetEventNames.forEach(dotNetEventName => {
48+
registerCustomEventType(dotNetEventName, options);
49+
});
4750
}
4851

4952
registerBuiltInEventType(['input', 'change'], {

0 commit comments

Comments
 (0)