
Security News
Open Source Maintainers Demand Ability to Block Copilot-Generated Issues and PRs
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
ember-introjs
Advanced tools
Ember IntroJS wraps introjs in an Ember Component to guide users through your app.
ember install ember-introjs
intro-js/step
component as a wrapper{{#intro-js/step step=1 intro="Step Component"}}
<h1>Hello!</h1>
{{/intro-js/step}}
You can customize wrapper using:
position="top"
intro="Welcome!"
tooltipClass="tooltip-class"
highlightClass="highlight-class"
position="top"
hint="Use it :)"
hintPosition="bottom-left"
Options are documented in the code as well as in IntroJS Docs
You can declare an array in JavaScript in your controller or parent component:
// app/controllers/ticket.js
import Controller from '@ember/controller';
import { computed } from '@ember/object';
export default Controller.extend({
steps: computed(function() {
return [
{
element: $('#step1'),
intro: 'Step 1!'
},
{
element: $('#step2'),
intro: 'Step2!'
}
];
})
});
intro-js
componentThen to use the steps, you can use the steps in your handlebars template:
{{! app/templates/ticket }}
{{intro-js start-if=true}}
IntroJS supports a series of hooks for getting notified for when users switch between steps or exit. You can subscribe to these actions using the typical actions
hash in your Route or Controller:
// app/routes/ticket.js
import Ember from 'ember';
export default Ember.Route.extend({
actions: {
introBeforeChange(previousStep, nextStep, introJSComponent,
elementOfNewStep){
// You could track user interactions here, e.g. analytics.
this.sendAnalytics(prevStep);
}
}
});
Then pass the name of the action in the handlebars helper that renders the component below.
{{intro-js steps=steps start-if=true on-before-change=(action "introBeforeChange")}}
Called when the user clicks next (or uses their keyboard). Called before
on-change
. Given the currentStep, the nextStep, the introJSComponent,
and the DOM element of the next step.
Called after on-before-change
when the user moves a step (backwards or
forward) in the introduction. Gives the current step, the introJS
component isntance, and the element of the current step.
Called after on-change
when the user moves a step (backwards or
forward) in the introduction. Gives the current step, the introJS
component isntance, and the element of the current step.
Called when the user quits the intro via the "Skip" button, hitting
escape
, or clicking outside the overlay. Given the current step, and
the introJS component.
Called after on-before-exit
when the user quits the intro via the "Skip" button, hitting
escape
, or clicking outside the overlay. Given the current step, and
the introJS component.
Called when the user finishes the intro by clicking "Done" or hitting right on the keyboard until the end. Called with the last step and the introJS component instance.
Intro JS has a variety of options available to it. You can see the full list here, but we also provided the full list below. You'll notice that in the list below options all follow the dasherized convention of HTML and ember-cli filenames. The original list uses camelCase names, and so does IntroJS. Ember IntroJS will do the conversion for you.
You can also set other options using the Handlebars helper syntax: `
{{intro-js steps=steps show-bullets=true}}
Or you could extend your own base class to override defaults instead of specifying them every time in the Handlebars helper:
myapp/app/components/my-intro-js.js
import IntroJSComponent from 'ember-introjs/components/intro-js';
export default IntroJSComponent.extend({
'exit-on-esc': true
});
You can also reopen the class:
import IntroJSComponent from 'ember-introjs/components/intro-js';
IntroJSComponent.reopen({
'exit-on-esc': true
});
property | description |
---|---|
steps | For defining steps using JSON configuration (see this example) |
next-label | Next button label |
prev-label | Previous button label |
skip-label | Skip button label |
done-label | Done button label |
tooltip-position | Default tooltip position |
tooltip-class | Adding CSS class to all tooltips |
highlight-class | Additional CSS class for the helperLayer |
exit-on-esc | Exit introduction when pressing Escape button, true or false |
exit-on-overlay-click | Exit introduction when clicking on overlay layer, true or false |
show-step-numbers | Show steps number in the red circle or not, true or false |
keyboard-navigation | Navigating with keyboard or not, true or false |
show-buttons | Show introduction navigation buttons or not, true or false |
show-bullets | Show introduction bullets or not, true or false |
show-progress | Show introduction progress or not, true or false |
scroll-to-element | Auto scroll to highlighted element if it's outside of viewport, true or false |
overlay-opacity | Adjust the overlay opacity, Number |
disable-interaction | Disable an interaction inside element or not, true or false |
helper-element-padding | Set how much padding to be used around helper element |
See setOption to see an example.
Ember IntroJS comes with a set of testing helpers.
To use them, first import them in your tests/test-helper.js
file:
// tests/test-helpers.js
import './helpers/ember-introjs';
See the LICENSE file included in this repository.
Keep in mind that if you like to use Intro.JS for commercial use, you should buy a commercial license. You can find more information on the intro.js project site: https://introjs.com/#commercial
See the Contributing guide for details.
Please note that this project is released with a Contributor Code of
Conduct. By participating in this project you agree to abide by its
terms, which can be found in the CODE_OF_CONDUCT.md
file in this
repository.
v2.7.0 (2019-11-29)
Implemented enhancements:
Merged pull requests:
FAQs
An Ember Component for intro.js
The npm package ember-introjs receives a total of 507 weekly downloads. As such, ember-introjs popularity was classified as not popular.
We found that ember-introjs demonstrated a not healthy version release cadence and project activity because the last version was released a year ago.Β It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Open source maintainers are urging GitHub to let them block Copilot from submitting AI-generated issues and pull requests to their repositories.
Research
Security News
Malicious Koishi plugin silently exfiltrates messages with hex strings to a hardcoded QQ account, exposing secrets in chatbots across platforms.
Research
Security News
Malicious PyPI checkers validate stolen emails against TikTok and Instagram APIs, enabling targeted account attacks and dark web credential sales.