@standuply/angular-walkthrough
v1.0.4
Published
Walkthrough, an Angular library
Downloads
37
Readme
Walkthrough
This Angular model is inspired in part by ng-walkthrough for AngularJS.
Installation
npm i angular-walkthrough --save
Requirements
- Angular 7.0.0 and more
- Angular/cdk 7.0.0 and more
Demo
Usage
ng-walkthrough
attributes
All attributes are optional.
id
: HTML id.
Output events
ready
: fired when the walkthrough is completely readyclosed
: fired when the walkthrough has been closed. It sends a boolean value set to true if the walkthrough has been closed with the "finishButton" button.finished
: fired when the walkthrough has been finished, which means : closed on last step.
Focus zone:
focusElementSelector
: CSS selector for focus a HTML element. If the selector detect more that one, the only the first will be chosen.focusElementCSSClass
: Add a class on focusElementfocusHighlightAnimation
:true
for show highlight animation on the focus element. By defautfalse
.focusBackdrop
:true
for show a dark backdrop around the focus element. By defautfalse
.focusGlow
:true
for show a glow on the focus element. By defautfalse
.focusAction
: add an actionclick
on the highlight zone.typeSelector
: type of selection. Two modes possible:element
(one unique HMLT element),zone
(a zone with contains the first and last element). By defaut :element
.radius
: apply a “borderRadius” on highlight zone. Ifnumber
the value as change in percent. Ifauto
use the focused element borderRadius. If it's a simplestring
, use it without changes. By defaut, no radius.marginZone
: add a maring of focus zone in px. . e.g.12 15 12 13
for CSS12px 15px 12px 13px
,12 15
for12px 15px 12px 15px
,12
for12px 12px 12px 12px
.scrollOnTarget
: if the walkthrough detects thatfocusElementSelector
is outside of the current view, scrolls automatically. By default :true
visibilityCallback
: callback to check iffocusElementSelector
is hidden, only if the walkthrough needs specific verification. By default :optional
Content:
contentTemplate
: add ang-template
with your description.contentText
: show a simple description without formating in content.contentStyle
: background style for content container. Possible values:none
,darken
. By defaut :darken
.alignContent
: align thecontentTemplate
horizontally. Possible values:left
,center
orright
. By defaut :left
.verticalAlignContent
: align thecontentTemplate
vertically. Possible values:above
,top
,center
,bottom
orbelow
. By defaut :top
.contentSpacing
: The max space which separates the content to the focus zone horizontally, default is 0 (opposite of the focusZone)verticalContentSpacing
: The max space which separates the content to the focus zone vertically, default is 50rootElement
: root element on which walkthrough will scroll to after each positioning, as to avoid hidden zones
Navigation:
previousStep
: add a ling to go to the previousng-walkthrough
.nextStep
: add a ling to go to the nextng-walkthrough
.closeButton
:true
for show the button. By defautfalse
.closeAnywhere
:false
for click anywhere to close. By defauttrue
.finishButton
:true
for show a link to exit. By defautfalse
.disabled
:true
for ignoring the walkthrough based on a boolean flag. By defautfalse
.texts
: change texts. It's a overlay ofWalkthroughText
.
Arrow:
showArrow
:true
for show the arrow. By defautfalse
.arrowColor
: change the arrow color. By defaut#FFF
.
ng-walkthrough-flow
attributes
All attributes are optional and not overriding the subcomponents attributes except previousStep
, nextStep
that will be ignored.
id
: HTML id.
Output events
closed
: fired when a walkthrough has been closed. It sends a boolean value set to true if the walkthrough has been closed with the "finishButton" button.finished
: fired when the last walkthrough has been closed.
Focus zone:
focusHighlightAnimation
:true
for show highlight animation on the focus element.focusBackdrop
:true
for show a dark backdrop around the focus element.focusGlow
:true
for show a glow on the focus element.radius
: apply a “borderRadius” on highlight zone. Ifnumber
the value as change in percent. Ifauto
use the focused element borderRadius. If it's a simplestring
, use it without changes.marginZone
: add a maring of focus zone in px. . e.g.12 15 12 13
for CSS12px 15px 12px 13px
,12 15
for12px 15px 12px 15px
,12
for12px 12px 12px 12px
.
Content:
contentStyle
: background style for content container. Possible values:none
,darken
.rootElement
: root element on which walkthrough will scroll to after each positioning, as to avoid hidden zones (facultative)
Navigation:
closeButton
:true
for show the button.closeAnywhere
:false
for for click anywhere to close.texts
: change texts. It's a overlay ofWalkthroughText
.finishButton
:true
for show a link to exit. By defautfalse
. Alwaystrue
on the last step.
Arrow:
showArrow
:true
for show the arrow. By defautfalse
.arrowColor
: change the arrow color. By defaut#FFF
.
Change texts
It's possible to change all texts. With the texts
directive attribute.
WalkthroughText {
previous = 'Previous';
next = 'Next';
close = 'Close';
}
Statics methods
WalkthroughComponent.walkthroughStop()
: hide and stop the current walkthrough (impossible to open a new walkthrough). Does not work if no walkthrough is showed.WalkthroughComponent.walkthroughContinue()
: show and continue the current walkthrough. Does not work if no walkthrough is paused.WalkthroughComponent.walkthroughHasShow()
: if the a walkthrough is currently showing.WalkthroughComponent.walkthroughNext()
: to load the next walkthrough.WalkthroughComponent.walkthroughPrevious()
: to load the previous walkthrough.
Statics observable
WalkthroughComponent.onOpen
: on openWalkthroughComponent.onRefresh
: on reshowing the current stepWalkthroughComponent.onClose
: on closeWalkthroughComponent.onFinish
: on close in the last stepWalkthroughComponent.onNavigate
: on navigateWalkthroughComponent.onNavigatePrevious
: on navigate on the previous stepWalkthroughComponent.onNavigateNext
: on navigate on the next step
Example
Highlighting #selectorId
element with example text in ng-template
.
<ng-walkthrough
id="wt-test"
focusElementSelector="#selectorId"
focusBackdrop="true"
[contentTemplate]="template"
closeButton="true">
<ng-template #template>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit...
</p>
</ng-template>
</ng-walkthrough>
Example of scenario with ng-walkthrough-flow
:
<ng-walkthrough-flow #walkFlow
id="wt-test-flow"
focusBackdrop="true"
focusHighlightAnimation="true"
closeButton="true"
closeAnywhere="false"
showArrow="true"
radius="auto"
[texts]="frenchText">
<ng-walkthrough
id="wt-test1-flow"
focusElementSelector="#test1"
[contentText]="Lorem ipsum dolor sit amet, consectetur adipiscing elit...">
</ng-walkthrough>
<ng-walkthrough
id="wt-test2-flow"
focusElementSelector="#test2"
[contentText]="Lorem ipsum dolor sit amet, consectetur adipiscing elit...">
</ng-walkthrough>
<ng-walkthrough
id="wt-test3-flow"
focusElementSelector="#test3"
closeButton="true"
[contentText]="Lorem ipsum dolor sit amet, consectetur adipiscing elit...">
</ng-walkthrough>
</ng-walkthrough-flow>
For more examples, see examples/example.component.html
.
Publishing the library
ng build angular-walkthrough --prod
cp *.md dist/angular-walkthrough
cd dist/angular-walkthrough
npm publish
License
Like Angular, this module is released under the permissive MIT license. Your contributions are always welcome.