Rename onClose to onDestroyed
Browse files- index.html +2 -2
- src/config.ts +2 -1
- src/driver.ts +3 -3
index.html
CHANGED
@@ -558,7 +558,7 @@ npm install driver.js</pre
|
|
558 |
li.innerHTML = `Highlighted: ${element?.textContent?.slice(0, 10) || 'None'}..<br> ${JSON.stringify(step)}..`;
|
559 |
hooksEl.append(li);
|
560 |
},
|
561 |
-
|
562 |
const li = document.createElement("li");
|
563 |
// prettier-ignore
|
564 |
li.innerHTML = `Closed: ${element?.textContent?.slice(0, 10) || 'None'}..<br> ${JSON.stringify(step)}..`;
|
@@ -601,7 +601,7 @@ npm install driver.js</pre
|
|
601 |
document.getElementById("without-element-btn").addEventListener("click", () => {
|
602 |
const driverObj = driver({
|
603 |
animate: true,
|
604 |
-
|
605 |
console.log("Close modal", element, step);
|
606 |
},
|
607 |
onDeselected: (element, step) => {
|
|
|
558 |
li.innerHTML = `Highlighted: ${element?.textContent?.slice(0, 10) || 'None'}..<br> ${JSON.stringify(step)}..`;
|
559 |
hooksEl.append(li);
|
560 |
},
|
561 |
+
onDestroyed: (element, step) => {
|
562 |
const li = document.createElement("li");
|
563 |
// prettier-ignore
|
564 |
li.innerHTML = `Closed: ${element?.textContent?.slice(0, 10) || 'None'}..<br> ${JSON.stringify(step)}..`;
|
|
|
601 |
document.getElementById("without-element-btn").addEventListener("click", () => {
|
602 |
const driverObj = driver({
|
603 |
animate: true,
|
604 |
+
onDestroyed: (element, step) => {
|
605 |
console.log("Close modal", element, step);
|
606 |
},
|
607 |
onDeselected: (element, step) => {
|
src/config.ts
CHANGED
@@ -18,10 +18,11 @@ export type Config = {
|
|
18 |
closeBtnText?: string;
|
19 |
|
20 |
// State based callbacks, called upon state changes
|
|
|
21 |
onHighlightStarted?: (element: Element | undefined, step: DriveStep) => void;
|
22 |
onHighlighted?: (element: Element | undefined, step: DriveStep) => void;
|
23 |
onDeselected?: (element: Element | undefined, step: DriveStep) => void;
|
24 |
-
|
25 |
|
26 |
// Event based callbacks, called upon events
|
27 |
onNextClick?: (element: Element | undefined, step: DriveStep) => void;
|
|
|
18 |
closeBtnText?: string;
|
19 |
|
20 |
// State based callbacks, called upon state changes
|
21 |
+
onOverlayClick?: (element: Element | undefined, step: DriveStep) => void;
|
22 |
onHighlightStarted?: (element: Element | undefined, step: DriveStep) => void;
|
23 |
onHighlighted?: (element: Element | undefined, step: DriveStep) => void;
|
24 |
onDeselected?: (element: Element | undefined, step: DriveStep) => void;
|
25 |
+
onDestroyed?: (element: Element | undefined, step: DriveStep) => void;
|
26 |
|
27 |
// Event based callbacks, called upon events
|
28 |
onNextClick?: (element: Element | undefined, step: DriveStep) => void;
|
src/driver.ts
CHANGED
@@ -59,11 +59,11 @@ export function driver(options: Config = {}) {
|
|
59 |
|
60 |
resetState();
|
61 |
|
62 |
-
const
|
63 |
-
if (
|
64 |
const isActiveDummyElement = activeElement.id === "driver-dummy-element";
|
65 |
|
66 |
-
|
67 |
}
|
68 |
}
|
69 |
|
|
|
59 |
|
60 |
resetState();
|
61 |
|
62 |
+
const onDestroyed = getConfig("onDestroyed");
|
63 |
+
if (onDestroyed && activeElement && activeStep) {
|
64 |
const isActiveDummyElement = activeElement.id === "driver-dummy-element";
|
65 |
|
66 |
+
onDestroyed(isActiveDummyElement ? undefined : activeElement, activeStep);
|
67 |
}
|
68 |
}
|
69 |
|