Add refresh functionality
Browse files- index.html +2 -1
- src/driver.ts +11 -2
- src/style.css +1 -1
index.html
CHANGED
|
@@ -141,6 +141,7 @@
|
|
| 141 |
<button id="without-element-btn">No Element</button>
|
| 142 |
<button id="is-active-btn">Is Active?</button>
|
| 143 |
<button id="activate-check-btn">Activate and Check</button>
|
|
|
|
| 144 |
<button id="destroy-btn">Destroy</button>
|
| 145 |
</div>
|
| 146 |
|
|
@@ -302,7 +303,6 @@ npm install driver.js</pre
|
|
| 302 |
document.getElementById("highlight-btn").addEventListener("click", () => {
|
| 303 |
driver({
|
| 304 |
animate: true,
|
| 305 |
-
showButtons: false,
|
| 306 |
popoverOffset: 10,
|
| 307 |
}).highlight({
|
| 308 |
element: "h2",
|
|
@@ -311,6 +311,7 @@ npm install driver.js</pre
|
|
| 311 |
description: "A lightweight, no-dependency JavaScript engine to drive user's focus.",
|
| 312 |
side: "bottom",
|
| 313 |
align: "start",
|
|
|
|
| 314 |
},
|
| 315 |
});
|
| 316 |
});
|
|
|
|
| 141 |
<button id="without-element-btn">No Element</button>
|
| 142 |
<button id="is-active-btn">Is Active?</button>
|
| 143 |
<button id="activate-check-btn">Activate and Check</button>
|
| 144 |
+
<button id="modify-refresh">Modify Active + Refresh</button>
|
| 145 |
<button id="destroy-btn">Destroy</button>
|
| 146 |
</div>
|
| 147 |
|
|
|
|
| 303 |
document.getElementById("highlight-btn").addEventListener("click", () => {
|
| 304 |
driver({
|
| 305 |
animate: true,
|
|
|
|
| 306 |
popoverOffset: 10,
|
| 307 |
}).highlight({
|
| 308 |
element: "h2",
|
|
|
|
| 311 |
description: "A lightweight, no-dependency JavaScript engine to drive user's focus.",
|
| 312 |
side: "bottom",
|
| 313 |
align: "start",
|
| 314 |
+
showButtons: true,
|
| 315 |
},
|
| 316 |
});
|
| 317 |
});
|
src/driver.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { destroyPopover, Popover } from "./popover";
|
|
| 2 |
import { destroyStage } from "./stage";
|
| 3 |
import { destroyEvents, initEvents } from "./events";
|
| 4 |
import { Config, configure, getConfig } from "./config";
|
| 5 |
-
import { destroyHighlight, highlight } from "./highlight";
|
| 6 |
import { destroyEmitter, listen } from "./emitter";
|
| 7 |
|
| 8 |
import "./style.css";
|
|
@@ -52,10 +52,19 @@ export function driver(options: Config = {}) {
|
|
| 52 |
|
| 53 |
return {
|
| 54 |
isActive: () => getState("isInitialized") || false,
|
|
|
|
|
|
|
|
|
|
| 55 |
drive: (steps: DriveStep[]) => console.log(steps),
|
| 56 |
highlight: (step: DriveStep) => {
|
| 57 |
init();
|
| 58 |
-
highlight(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
},
|
| 60 |
destroy,
|
| 61 |
};
|
|
|
|
| 2 |
import { destroyStage } from "./stage";
|
| 3 |
import { destroyEvents, initEvents } from "./events";
|
| 4 |
import { Config, configure, getConfig } from "./config";
|
| 5 |
+
import { destroyHighlight, highlight, refreshActiveHighlight } from "./highlight";
|
| 6 |
import { destroyEmitter, listen } from "./emitter";
|
| 7 |
|
| 8 |
import "./style.css";
|
|
|
|
| 52 |
|
| 53 |
return {
|
| 54 |
isActive: () => getState("isInitialized") || false,
|
| 55 |
+
refresh: () => {
|
| 56 |
+
refreshActiveHighlight();
|
| 57 |
+
},
|
| 58 |
drive: (steps: DriveStep[]) => console.log(steps),
|
| 59 |
highlight: (step: DriveStep) => {
|
| 60 |
init();
|
| 61 |
+
highlight({
|
| 62 |
+
...step,
|
| 63 |
+
popover: step.popover ? {
|
| 64 |
+
showButtons: false,
|
| 65 |
+
...step.popover!,
|
| 66 |
+
} : undefined,
|
| 67 |
+
});
|
| 68 |
},
|
| 69 |
destroy,
|
| 70 |
};
|
src/style.css
CHANGED
|
@@ -59,7 +59,7 @@
|
|
| 59 |
margin: 0;
|
| 60 |
}
|
| 61 |
|
| 62 |
-
.driver-popover-title + .driver-popover-description {
|
| 63 |
margin-top: 5px;
|
| 64 |
}
|
| 65 |
|
|
|
|
| 59 |
margin: 0;
|
| 60 |
}
|
| 61 |
|
| 62 |
+
.driver-popover-title[style*="block"] + .driver-popover-description {
|
| 63 |
margin-top: 5px;
|
| 64 |
}
|
| 65 |
|