This Angular model is inspired in part by ng-walkthrough for AngularJS.
npm i angular-walkthrough --save
18.0 and more18.0 and moreOld versions:
0.8.20.9.80.10.2ng-walkthrough attributesAll 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 default false.focusBackdrop: true for show a dark backdrop around the focus element. By default false.focusGlow: true for show a glow on the focus element. By default false.focusClick: add an action click on the highlight zone.typeSelector: type of selection. Two modes possible: element (one unique HTML element), zone (a zone with contains the first and last element). By default : element.radius: apply a “borderRadius” on highlight zone. If number the value as change in percent. If auto use the focused element borderRadius. If it’s a simple string, use it without changes. By default, no radius.marginZone: add a margin of focus zone in px. (e.g. 12 15 12 13 for CSS 12px 15px 12px 13px, 12 15 for 12px 15px 12px 15px, 12 for 12px 12px 12px 12px.)scrollOnTarget: if the walkthrough detects that focusElementSelector is outside of the current view, scrolls automatically. By default : truevisibilityCallback: callback to check if focusElementSelector is hidden, only if the walkthrough needs specific verification. By default : optionalnotScrollOnResize: do not scroll when resizing (e.g. may be required with dynamic menu on mobile)observerOptions: options of DOM detection changes (default: { attributes: false, childList: true, subtree: true })Content:
contentTemplate: add a ng-template with your description.contentText: show a simple description without formatting in content.contentStyle: background style for content container. By default : darken. Possible values: none, darken.alignContent: align the contentTemplate horizontally. . By default : left.
left : on the leftcenter : on the center of the pageright: on the rightcontent: center to the target contentverticalAlignContent: align the contentTemplate vertically. By default : top. Possible values :
above : above contenttop : top of contentcenter : center of contentbottom : bottom of contentbelow : below contenttop-screen-center : no effectabove or top : top of the pagecenter : center of the pagebottom or below : bottom of the pagetop-screen-center : center on the screen with scroll on topcontentSpacing: 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 zonesNavigation:
hidePrevious: true to hide the previous button. By default falsepreviousStep: add a link to go to the previous ng-walkthrough.nextStep: add a link to go to the next ng-walkthrough.hideNext: hide the next step link.HiveNav: hide the navigation step links.closeButton: true for show the button. By default false.closeAnywhere: false for click anywhere to close. By default true.finishButton: true for show a link to exit. By default false.disabled: true for ignoring the walkthrough based on a boolean flag. By default false.texts: change texts. It’s an overlay of WalkthroughText.Arrow:
showArrow: true for show the arrow. By default false.arrowColor: change the arrow color. By default #FFF.ng-walkthrough-flow attributesAll attributes are optional and not overriding the sub-components 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. If number the value as change in percent. If auto use the focused element borderRadius. If it’s a simple string, use it without changes.marginZone: add a margin of focus zone in px. (e.g. 12 15 12 13 for CSS 12px 15px 12px 13px, 12 15 for 12px 15px 12px 15px, 12 for 12px 12px 12px 12px.)notScrollOnResize: do not scroll when resizing (e.g. may be required with dynamic menu on mobile)observerOptions: options of DOM detection changes (default: { attributes: false, childList: true, subtree: true })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:
hidePrevious: true to hide the previous button. By default falsecloseButton: true for show the button.closeAnywhere: false for for click anywhere to close.texts: change texts. It’s a overlay of WalkthroughText.finishButton: true for show a link to exit. By default false. Always true on the last step.Arrow:
showArrow: true for show the arrow. By default false.arrowColor: change the arrow color. By default #FFF.It’s possible to change all texts. With the texts directive attribute.
WalkthroughText {
previous = 'Previous';
next = 'Next';
close = 'Close';
}
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.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 stepHighlighting #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.
npm run build:lib
cd dist/angular-walkthrough
npm publish
Like Angular, this module is released under the permissive MIT license. Your contributions are always welcome.