Comments (2)
Hi!
Available
Do the beforeStep()
and afterStep()
functions not serve the purpose?
Docs
beforeStep: Executes anything you pass to it before displaying the step.
afterStep: Executes anything you pass to it after displaying the step.
You can configure this on a step-by-step basis.
Review
Essentially, if you click the "next" button, then the beforeStep
of the next step would correspond to your beforeNext
logic.
If I want to integrate it into the current code, the beforePrevious
should be inserted into the beforeStep
of the previous element to check if the modal is open and close it.
Solution
I think the beforeNext
is straightforward, it corresponds to the beforeStep
of the next element. The beforePrevious
is more thought-provoking. It would save a few conditionals, but instead of creating a new function, I would pass an argument to the beforeStep
and afterStep
functions indicating whether the current step is a "backward" or "forward" step in the sequence. Using this, you can reference it within the function.
Now
const step = {
on: {
beforeStep: () => { /* ... */ },
afterStep: () => { /* ... */ }
}
}
Feature
const step = {
on: {
beforeStep: (type?: "forward" | "backward") => { /* ... */ },
afterStep: (type?: "forward" | "backward") => { /* ... */ }
}
}
The original argument-less function definition, () => { ... }
, will continue to work. However, if you need to differentiate the logic based on whether it's a forward or backward step, you have the option to do so.
const step = {
on: {
beforeStep: (type) => {
if (type === "backward") {
// For example, if the next step would open in a modal, it would be helpful to close it when going backward.
modal.close()
}
},
}
}
When Exit?
While nothing would still run upon closure... It might be a good idea to consider created a on.exit()
?
const step = {
on: {
beforeStep: (type?: "forward" | "backward") => { /* ... */ },
afterStep: (type?: "forward" | "backward") => { /* ... */ },
exit: () => { /* ... */ }
}
}
from v-onboarding.
You are totally right! I couldn't find them in the documentation, upon re-checking, I did find them tucked away on the steps page, thanks for pointing that one out.
I much appreciate your in-depth detailing of the solution tooβand sorry for wasting your time having to point out that function to me. :)
from v-onboarding.
Related Issues (20)
- Clicking 'X' is emitting, but not closing. HOT 5
- Prevent click through overlay HOT 1
- Add delay and hide / autoHide HOT 3
- Add indicator for previous click HOT 2
- Dialog placement HOT 1
- V-HTML HOT 3
- toRefs expects a reactive object but received a plain one HOT 1
- Inaccessible panel β Off the bottom of the screen HOT 3
- A11y issue - focus should move to the onboarding card when start() is called HOT 4
- Vue app is crashing. Uncaught TypeError: Object(...) is not a function HOT 4
- Attributes as selector HOT 1
- Rectangular highlight area is offset from the target element HOT 2
- Could not find a declaration file for module 'v-onboarding' HOT 5
- vue__WEBPACK_IMPORTED_MODULE_1__.createElementVNode) is not a function HOT 2
- Could not find a declaration file for module 'v-onboarding' HOT 9
- Overlay doesnt cover screen when css attribute zoom < 1 is applied on parent
- Cannot focus to the attached element input after version 2.7.0
- Enabling OverlayInteraction does not prevent click events from being blocked
- Focus on element not working correctly after navigation/redirection
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from v-onboarding.