MCPcopy
hub / github.com/mdbootstrap/TW-Elements / enableDismissTrigger

Function enableDismissTrigger

src/js/util/component-functions.js:5–42  ·  view source on GitHub ↗
(component, method = "hide")

Source from the content-addressed store, hash-verified

3let addedEventsList = [];
4
5const enableDismissTrigger = (component, method = "hide") => {
6 const clickEvent = `click.dismiss${component.EVENT_KEY}`;
7 const name = component.NAME;
8
9 if (addedEventsList.includes(name)) {
10 return;
11 }
12
13 addedEventsList.push(name);
14
15 EventHandler.on(
16 document,
17 clickEvent,
18 `[data-twe-${name}-dismiss]`,
19 function (event) {
20 if (["A", "AREA"].includes(this.tagName)) {
21 event.preventDefault();
22 }
23
24 if (isDisabled(this)) {
25 return;
26 }
27
28 const target =
29 getElementFromSelector(this) ||
30 this.closest(`.${name}`) ||
31 this.closest(`[data-twe-${name}-init]`);
32
33 if (!target) {
34 return;
35 }
36 const instance = component.getOrCreateInstance(target);
37
38 // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method
39 instance[method]();
40 }
41 );
42};
43
44export { enableDismissTrigger };

Callers 2

_initMethod · 0.90
_initMethod · 0.90

Calls 3

isDisabledFunction · 0.90
getElementFromSelectorFunction · 0.90
getOrCreateInstanceMethod · 0.45

Tested by

no test coverage detected