@rosen-group/ngx-onboarding
Version:
Onboarding module for Angular applications
100 lines (99 loc) • 3.71 kB
TypeScript
import { ErrorHandler, EventEmitter, NgZone } from '@angular/core';
import { BrowserDOMSelectorService } from './browser-dom-selector.service';
import { OnboardingItemContainer } from '../models/onboarding-item-container.model';
import { OnboardingConfiguration } from '../models/onboarding-configuration.model';
import { OnboardingItem } from '../models/onboarding-item.model';
import { EnabledStatusBaseService } from './enabled-status-base.service';
import { SeenSelectorsBaseService } from './seen-selectors-base.service';
import * as i0 from "@angular/core";
/**
* The OnboardingService manages the configuration and the status of the onboarding component.
*
* The OnboardingComponent listens to the visibleItemsChanged event and retrieves new onboarding items from the visibleItems object.
*/
export declare class OnboardingService {
private browserDomSelectorService;
private loadAndSaveSeenSelectorsService;
private loadAndSaveEnabledStatusService;
private errorHandler;
private zone;
/**
* Container with currently visible onboarding items (grouped).
* OnboardingComponent must iterate through these groups.
*
* called by OnboardingComponent
*/
readonly visibleItems: OnboardingItemContainer;
/**
* called by OnboardingComponent
*/
visibleItemsChanged: EventEmitter<any>;
private addSeenSelectorDebounceSubscription;
private enabledChangedDebounceSubscription;
private refreshSubscription;
private items;
private seenSelectors;
private enabled;
private configuration;
private readonly defaultConfiguration;
constructor(browserDomSelectorService: BrowserDOMSelectorService, loadAndSaveSeenSelectorsService: SeenSelectorsBaseService, loadAndSaveEnabledStatusService: EnabledStatusBaseService, errorHandler: ErrorHandler, zone: NgZone);
/**
* returns the count of the registered items
*/
get registeredItemsCount(): number;
/**
* Configures the onboarding icons and fonts.
*
* If you want to change the default settings, then call this in your module where you import this
* service as provider and set global defaults like icon properties
*/
configure(configuration: OnboardingConfiguration): void;
/** used internal only to retrieve to configuration from configure()*/
getConfiguration(): OnboardingConfiguration;
/**
* registers [[OnboardingItem]]s in items, returns the method to unregister items (e.g. in ngOnDestroy)
*/
register(items: Array<OnboardingItem>): Function;
/**
* Check which onboarding items are visible. Emit visibleItemsChanged event.
* called by OnboardingComponent
*/
check(): void;
/**
* Mark all visible items as SEEN, remove them from visible list and emit change event.
* called by OnboardingComponent
*/
hide(): void;
/**
* called by OnboardingComponent
*
* Disables the onboarding
*/
disable(): void;
/**
* called by OnboardingComponent
*
* Enables the onboarding
*/
enable(): void;
/**
* called by OnboardingComponent
*/
isEnabled(): boolean;
/**
* called by OnboardingComponent
*/
clearSeenSelectors(): void;
private init;
private addToSeenSelectors;
private seenSelectorsChanged;
private enabledChanged;
private getNotSeenItems;
private startRefreshTimer;
private loadSeenSelectors;
private saveSeenSelectors;
private loadEnabledStatus;
private saveEnabledStatus;
static ɵfac: i0.ɵɵFactoryDeclaration<OnboardingService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<OnboardingService>;
}