How it works?

November 5, 2021 ยท View on GitHub

Build Status Downloads Versions License

This library is for Angular versions less than 6, for newer versions of Angular please use https://github.com/miraxes/ngx-custom-tour

How it works?

demo GIF

Demo

https://miraxes.github.io/angular-custom-tour

Custom tour with Angular 2+

Follow instructions and everything should be fine. :)

Usage

  • install npm install angular-custom-tour --save

In your module (app.module.ts)

import { HintModule } from 'angular-custom-tour'

@NgModule({
  ...
  imports: [
    ...
    HintModule // Put here
    ...
  ]
  ...
]

Initialize it in your page component

In case you want to init slider after pageload, you should use ngAfterViewInit

import { HintService } from 'angular-custom-tour'

@Component({
  ...
  providers: [... HintService ... ],
  ...
})

class AppComponent {

  constructor(public hintService: HintService){ }

  startTour() {
    this.hintService.initialize();
  }

}
<!-- Bluring element insert on top of the page-->
<tour-overlay></tour-overlay>

<!-- start TOUR -->
<button name="button" (click)="startTour()"> START!</button>

<!-- Each step could be placed at ANYWHERE -->
<div class="i-want-highlight-this" id="highlight-me"> WOW!</div>

<tour-step selector="highlight-me" order="3" position="right" title="title string">
  <!-- ANY HTML HERE
    NOTE: ONLY selector attribute is required! others is up to you
  -->
</tour-step>

NOTE:

selector MUST BE unique, so you can highlight Element once

Styles

You need to inject styles from styles/main.css

if you are using angular CLI -> angular-cli.json

"styles": [
        ...
        "styles.scss",
        "../node_modules/angular-custom-tour/styles/main.css"
        ...
      ],

Custom options Usage

  startTour() {
    this.hintService.initialize({elementsDisabled: false}); // HintOptions
  }

HintOptions

optiondefaultUsage
elementsDisabled: booleantrueDisabling highlightedElement (click) wont work
dismissOnOverlay: booleanfalseGo to next step when clicking on overlay (close tour if this is last step)
defaultPosition: string'bottom'Position of tour step to highlightedElement
defaultOrder: number99Order of showing steps
defaultLayer: number15Distance between highlightedElement and step in px
applyRelative: booleantrueApplying position:relative to highlightedElement (disable in case you want to highlight absolute positioned elements)

Hint service events

eventDescription
finish$When tour is finished
showingStep$On each step show (Params > CurrentStep)

This module in active development mode, if you have any suggestions feel free to contact me.