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 |
|