fix(tap-click): instant activate does not use a setTimeout (#26748)

This commit is contained in:
Liam DeBeasi
2023-02-09 09:09:51 -05:00
committed by GitHub
parent c07933cb69
commit 21c0806bbd
2 changed files with 10 additions and 6 deletions

View File

@ -91,12 +91,17 @@ export const startTapClick = (config: Config) => {
clearDefers.delete(el);
}
const delay = isInstant(el) ? 0 : ADD_ACTIVATED_DEFERS;
el.classList.remove(ACTIVATED);
activeDefer = setTimeout(() => {
const callback = () => {
addActivated(el, x, y);
activeDefer = undefined;
}, delay);
};
if (isInstant(el)) {
callback();
} else {
activeDefer = setTimeout(callback, ADD_ACTIVATED_DEFERS);
}
}
activatableEle = el;
};

View File

@ -1,8 +1,7 @@
import { expect } from '@playwright/test';
import { test } from '@utils/test/playwright';
// TODO FW-3010
test.describe.skip('tap click utility', () => {
test.describe('tap click utility', () => {
test.beforeEach(({ skip }) => {
skip.rtl();
skip.mode('ios');
@ -10,7 +9,7 @@ test.describe.skip('tap click utility', () => {
test('it should apply activated class when clicking element', async ({ page }) => {
await page.setContent(`
<ion-app>
<button class="ion-activatable">Click Me</button>
<button class="ion-activatable ion-activatable-instant">Click Me</button>
</ion-app>
`);