Skip to content

Commit 005b4b8

Browse files
asynclizcopybara-github
authored andcommitted
chore: revert dispatch hooks firing on inner elements
This resulted in link buttons opening twice, since <a> elements will activate on synthetic click events. PiperOrigin-RevId: 879840032
1 parent 38724b9 commit 005b4b8

File tree

3 files changed

+2
-18
lines changed

3 files changed

+2
-18
lines changed

iconbutton/internal/icon-button.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,9 +267,8 @@ export class IconButton extends iconButtonBaseClass implements FormSubmitter {
267267

268268
private renderRipple() {
269269
const isRippleDisabled = !this.href && (this.disabled || this.softDisabled);
270-
// TODO(b/310046938): use the same id for both elements
271270
return html`<md-ripple
272-
for=${this.href ? 'link' : nothing}
271+
.control=${this}
273272
?disabled="${isRippleDisabled}"></md-ripple>`;
274273
}
275274

internal/events/dispatch-hooks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ export function setupDispatchHooks(
154154
// Re-dispatch the event. We can't reuse `redispatchEvent()` since we
155155
// need to add the hooks to the copy before it's dispatched.
156156
isRedispatching = true;
157-
const dispatched = event.composedPath()[0].dispatchEvent(eventCopy);
157+
const dispatched = element.dispatchEvent(eventCopy);
158158
isRedispatching = false;
159159
if (!dispatched) {
160160
event.preventDefault();

internal/events/dispatch-hooks_test.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,6 @@ describe('dispatch hooks', () => {
3939
.withContext('element.addEventListener')
4040
.toHaveBeenCalledTimes(3);
4141
});
42-
43-
it('triggers internal event listeners when a composed element is the source of the event', () => {
44-
const shadowRoot = element.attachShadow({mode: 'open'});
45-
const composedElement = document.createElement('button');
46-
shadowRoot.appendChild(composedElement);
47-
const innerClickListener = jasmine.createSpy('innerClickListener');
48-
composedElement.addEventListener('click', innerClickListener);
49-
50-
setupDispatchHooks(element, 'click');
51-
composedElement.click();
52-
53-
expect(innerClickListener)
54-
.withContext('innerClickListener')
55-
.toHaveBeenCalledTimes(1);
56-
});
5742
});
5843

5944
describe('afterDispatch()', () => {

0 commit comments

Comments
 (0)