MCPcopy Index your code
hub / github.com/ionic-team/ionic-framework / setActivatedElement

Function setActivatedElement

core/src/utils/tap-click/index.ts:41–83  ·  view source on GitHub ↗
(el: HTMLElement | undefined, ev: UIEvent)

Source from the content-addressed store, hash-verified

39 };
40
41 const setActivatedElement = (el: HTMLElement | undefined, ev: UIEvent) => {
42 // do nothing
43 if (el && el === activatableEle) {
44 return;
45 }
46 if (activeDefer) clearTimeout(activeDefer);
47 activeDefer = undefined;
48
49 const { x, y } = pointerCoord(ev);
50
51 // deactivate selected
52 if (activatableEle) {
53 if (clearDefers.has(activatableEle)) {
54 throw new Error('internal error');
55 }
56 if (!activatableEle.classList.contains(ACTIVATED)) {
57 addActivated(activatableEle, x, y);
58 }
59 removeActivated(true);
60 }
61
62 // activate
63 if (el) {
64 const deferId = clearDefers.get(el);
65 if (deferId) {
66 clearTimeout(deferId);
67 clearDefers.delete(el);
68 }
69
70 el.classList.remove(ACTIVATED);
71 const callback = () => {
72 addActivated(el, x, y);
73 activeDefer = undefined;
74 };
75
76 if (isInstant(el)) {
77 callback();
78 } else {
79 activeDefer = setTimeout(callback, ADD_ACTIVATED_DEFERS);
80 }
81 }
82 activatableEle = el;
83 };
84
85 const addActivated = (el: HTMLElement, x: number, y: number) => {
86 lastActivated = Date.now();

Callers 2

pointerDownFunction · 0.85
pointerUpFunction · 0.85

Calls 6

pointerCoordFunction · 0.90
addActivatedFunction · 0.85
removeActivatedFunction · 0.85
isInstantFunction · 0.85
callbackFunction · 0.70
getMethod · 0.65

Tested by

no test coverage detected