kamrify commited on
Commit
40c6a95
·
1 Parent(s): ff5f16d

Add refresh functionality

Browse files
Files changed (3) hide show
  1. index.html +2 -1
  2. src/driver.ts +11 -2
  3. 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(step);
 
 
 
 
 
 
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