Skip to content

Commit 5b9b333

Browse files
committed
feat(eventHandler): Support snake-case event names instead of camelCase.
Closes dart-archive#1434 Closes dart-archive#1478
1 parent dd16775 commit 5b9b333

File tree

2 files changed

+6
-16
lines changed

2 files changed

+6
-16
lines changed

lib/core_dom/event_handler.dart

+5-15
Original file line numberDiff line numberDiff line change
@@ -78,26 +78,16 @@ class EventHandler {
7878
}
7979

8080
/**
81-
* Converts event name into attribute. Event named 'someCustomEvent' needs to
82-
* be transformed into on-some-custom-event.
81+
* Converts event name into attribute name.
8382
*/
84-
static String eventNameToAttrName(String eventName) {
85-
var part = eventName.replaceAllMapped(new RegExp("([A-Z])"), (Match match) {
86-
return '-${match.group(0).toLowerCase()}';
87-
});
88-
return 'on-${part}';
89-
}
83+
static String eventNameToAttrName(String eventName) => 'on-$eventName';
9084

9185
/**
92-
* Converts attribute into event name. Attribute 'on-some-custom-event'
93-
* corresponds to event named 'someCustomEvent'.
86+
* Converts attribute name into event name.
9487
*/
9588
static String attrNameToEventName(String attrName) {
96-
var part = attrName.startsWith("on-") ? attrName.substring(3) : attrName;
97-
part = part.replaceAllMapped(new RegExp(r'\-(\w)'), (Match match) {
98-
return match.group(0).toUpperCase();
99-
});
100-
return part.replaceAll("-", "");
89+
assert(attrName.startsWith('on-'));
90+
return attrName.substring(3);
10191
}
10292
}
10393

test/core_dom/event_handler_spec.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ main() {
5050
var e = compile(_,
5151
'''<div on-my-new-event="invoked=true;"></div>''');
5252

53-
_.triggerEvent(e, 'myNewEvent');
53+
_.triggerEvent(e, 'my-new-event');
5454
expect(_.rootScope.context['invoked']).toEqual(true);
5555
});
5656

0 commit comments

Comments
 (0)