UNPKG

ngy-tutorial

Version:
152 lines 11 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Injectable, EventEmitter } from '@angular/core'; import { StepPromptPlacement } from './api/i-options'; import { Observable, BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; var NgyTutorialService = /** @class */ (function () { function NgyTutorialService() { this.toShow = new EventEmitter(); this.tutorialInProgress = new Observable(); this.currentStep = new Observable(); this._tutorialInProgress = new BehaviorSubject(false); this._currentStep = new BehaviorSubject(0); this.tutorialInProgress = this._tutorialInProgress.asObservable(); this.currentStep = this._currentStep.asObservable(); this.steps = []; } /** * @return {?} */ NgyTutorialService.prototype.showTutorial = /** * @return {?} */ function () { this._currentStep.next(0); this.toShow.emit(this.steps.slice()); this._tutorialInProgress.next(true); }; /** * @return {?} */ NgyTutorialService.prototype.hideTutorial = /** * @return {?} */ function () { this.toShow.emit([]); this._tutorialInProgress.next(false); }; /** * @param {?} title * @param {?} prompt * @param {?=} option * @return {?} */ NgyTutorialService.prototype.addStep = /** * @param {?} title * @param {?} prompt * @param {?=} option * @return {?} */ function (title, prompt, option) { if (option && option.disableNext && option.disableInteraction) { console.warn("ngy-tutorial error, step " + title + " - " + prompt + " has disableNext and disableInteraction set to true.\n This step will cause tutorial to be unable to progress forward as such is not added to the tutorial"); return; } this.steps.push(new TutorialStep(title, prompt, option)); }; /** * @param {?} stepNumber * @return {?} */ NgyTutorialService.prototype.removeStep = /** * @param {?} stepNumber * @return {?} */ function (stepNumber) { if (stepNumber > this.steps.length - 1 || stepNumber < 0) { return; } else { this.steps.splice(stepNumber, 1); } }; /** * @return {?} */ NgyTutorialService.prototype.nextStep = /** * @return {?} */ function () { this._currentStep.next(this._currentStep.value + 1); }; /** * @return {?} */ NgyTutorialService.prototype.previousStep = /** * @return {?} */ function () { this._currentStep.next(this._currentStep.value - 1); }; NgyTutorialService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] }, ]; NgyTutorialService.ctorParameters = function () { return []; }; /** @nocollapse */ NgyTutorialService.ngInjectableDef = i0.defineInjectable({ factory: function NgyTutorialService_Factory() { return new NgyTutorialService(); }, token: NgyTutorialService, providedIn: "root" }); return NgyTutorialService; }()); export { NgyTutorialService }; if (false) { /** @type {?} */ NgyTutorialService.prototype.toShow; /** @type {?} */ NgyTutorialService.prototype.tutorialInProgress; /** @type {?} */ NgyTutorialService.prototype.currentStep; /** * @type {?} * @private */ NgyTutorialService.prototype.steps; /** * @type {?} * @private */ NgyTutorialService.prototype._tutorialInProgress; /** * @type {?} * @private */ NgyTutorialService.prototype._currentStep; } var TutorialStep = /** @class */ (function () { function TutorialStep(title, prompt, option) { this.options = tslib_1.__assign({}, TutorialStep.DEFAULT_OPTIONS, option); this.title = title; this.prompt = prompt; } TutorialStep.DEFAULT_OPTIONS = { placement: StepPromptPlacement.Below }; return TutorialStep; }()); if (false) { /** * @type {?} * @private */ TutorialStep.DEFAULT_OPTIONS; /** @type {?} */ TutorialStep.prototype.options; /** @type {?} */ TutorialStep.prototype.prompt; /** @type {?} */ TutorialStep.prototype.title; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd5LXR1dG9yaWFsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3ktdHV0b3JpYWwvIiwic291cmNlcyI6WyJsaWIvbmd5LXR1dG9yaWFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQWUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFbkQ7SUFVRTtRQU5nQixXQUFNLEdBQWtDLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQzVFLHVCQUFrQixHQUF3QixJQUFJLFVBQVUsRUFBVyxDQUFDO1FBQ3BFLGdCQUFXLEdBQXVCLElBQUksVUFBVSxFQUFVLENBQUM7UUFFbkUsd0JBQW1CLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDMUQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xFLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQ1osQ0FBQztJQUNKLENBQUM7Ozs7SUFDTSx5Q0FBWTs7O0lBQW5CO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7OztJQUNNLHlDQUFZOzs7SUFBbkI7UUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Ozs7Ozs7SUFDTSxvQ0FBTzs7Ozs7O0lBQWQsVUFBZSxLQUFhLEVBQUUsTUFBYyxFQUFFLE1BQW9CO1FBQ2hFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQzdELE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQTRCLEtBQUssV0FBTSxNQUFNLG9LQUMwQyxDQUFDLENBQUM7WUFDdEcsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7Ozs7O0lBQ00sdUNBQVU7Ozs7SUFBakIsVUFBa0IsVUFBa0I7UUFDbEMsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDeEQsT0FBTztTQUNSO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDOzs7O0lBQ00scUNBQVE7OztJQUFmO1FBQ0UsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7OztJQUNNLHlDQUFZOzs7SUFBbkI7UUFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOztnQkE3Q0YsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7Ozs2QkFQRDtDQW1EQyxBQTlDRCxJQThDQztTQTNDWSxrQkFBa0I7OztJQUM3QixvQ0FBNEY7O0lBQzVGLGdEQUFvRjs7SUFDcEYseUNBQTJFOzs7OztJQUMzRSxtQ0FBOEI7Ozs7O0lBQzlCLGlEQUFrRTs7Ozs7SUFDbEUsMENBQXNEOztBQXVDeEQ7SUFRRSxzQkFBbUIsS0FBYSxFQUFFLE1BQWMsRUFBRSxNQUFtQjtRQUNuRSxJQUFJLENBQUMsT0FBTyx3QkFDUCxZQUFZLENBQUMsZUFBZSxFQUM1QixNQUFNLENBQ1YsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFkYyw0QkFBZSxHQUFnQjtRQUM1QyxTQUFTLEVBQUUsbUJBQW1CLENBQUMsS0FBSztLQUNyQyxDQUFDO0lBYUosbUJBQUM7Q0FBQSxBQWhCRCxJQWdCQzs7Ozs7O0lBZkMsNkJBRUU7O0lBQ0YsK0JBQXFCOztJQUNyQiw4QkFBZTs7SUFDZiw2QkFBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVN0ZXBPcHRpb24sIFN0ZXBQcm9tcHRQbGFjZW1lbnQgfSBmcm9tICcuL2FwaS9pLW9wdGlvbnMnO1xuaW1wb3J0IHsgSVR1dG9yaWFsU3RlcCB9IGZyb20gJy4vYXBpL2ktdHV0b3JpYWwtc3RlcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTmd5VHV0b3JpYWxTZXJ2aWNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHRvU2hvdzogRXZlbnRFbWl0dGVyPElUdXRvcmlhbFN0ZXBbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPElUdXRvcmlhbFN0ZXBbXT4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHR1dG9yaWFsSW5Qcm9ncmVzczogT2JzZXJ2YWJsZTxib29sZWFuPiA9IG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KCk7XG4gIHB1YmxpYyByZWFkb25seSBjdXJyZW50U3RlcDogT2JzZXJ2YWJsZTxudW1iZXI+ID0gbmV3IE9ic2VydmFibGU8bnVtYmVyPigpO1xuICBwcml2YXRlIHN0ZXBzOiBUdXRvcmlhbFN0ZXBbXTtcbiAgcHJpdmF0ZSBfdHV0b3JpYWxJblByb2dyZXNzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX2N1cnJlbnRTdGVwID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnR1dG9yaWFsSW5Qcm9ncmVzcyA9IHRoaXMuX3R1dG9yaWFsSW5Qcm9ncmVzcy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmN1cnJlbnRTdGVwID0gdGhpcy5fY3VycmVudFN0ZXAuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5zdGVwcyA9IFtcbiAgICBdO1xuICB9XG4gIHB1YmxpYyBzaG93VHV0b3JpYWwoKSB7XG4gICAgdGhpcy5fY3VycmVudFN0ZXAubmV4dCgwKTtcbiAgICB0aGlzLnRvU2hvdy5lbWl0KHRoaXMuc3RlcHMuc2xpY2UoKSk7XG4gICAgdGhpcy5fdHV0b3JpYWxJblByb2dyZXNzLm5leHQodHJ1ZSk7XG4gIH1cbiAgcHVibGljIGhpZGVUdXRvcmlhbCgpIHtcbiAgICB0aGlzLnRvU2hvdy5lbWl0KFtdKTtcbiAgICB0aGlzLl90dXRvcmlhbEluUHJvZ3Jlc3MubmV4dChmYWxzZSk7XG4gIH1cbiAgcHVibGljIGFkZFN0ZXAodGl0bGU6IHN0cmluZywgcHJvbXB0OiBzdHJpbmcsIG9wdGlvbj86IElTdGVwT3B0aW9uKSB7XG4gICAgaWYgKG9wdGlvbiAmJiBvcHRpb24uZGlzYWJsZU5leHQgJiYgb3B0aW9uLmRpc2FibGVJbnRlcmFjdGlvbikge1xuICAgICAgY29uc29sZS53YXJuKGBuZ3ktdHV0b3JpYWwgZXJyb3IsIHN0ZXAgJHt0aXRsZX0gLSAke3Byb21wdH0gaGFzIGRpc2FibGVOZXh0IGFuZCBkaXNhYmxlSW50ZXJhY3Rpb24gc2V0IHRvIHRydWUuXG4gICAgICBUaGlzIHN0ZXAgd2lsbCBjYXVzZSB0dXRvcmlhbCB0byBiZSB1bmFibGUgdG8gcHJvZ3Jlc3MgZm9yd2FyZCBhcyBzdWNoIGlzIG5vdCBhZGRlZCB0byB0aGUgdHV0b3JpYWxgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zdGVwcy5wdXNoKG5ldyBUdXRvcmlhbFN0ZXAodGl0bGUsIHByb21wdCwgb3B0aW9uKSk7XG4gIH1cbiAgcHVibGljIHJlbW92ZVN0ZXAoc3RlcE51bWJlcjogbnVtYmVyKSB7XG4gICAgaWYgKHN0ZXBOdW1iZXIgPiB0aGlzLnN0ZXBzLmxlbmd0aCAtIDEgfHwgc3RlcE51bWJlciA8IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGVwcy5zcGxpY2Uoc3RlcE51bWJlciwgMSk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBuZXh0U3RlcCgpIHtcbiAgICB0aGlzLl9jdXJyZW50U3RlcC5uZXh0KHRoaXMuX2N1cnJlbnRTdGVwLnZhbHVlICsgMSk7XG4gIH1cbiAgcHVibGljIHByZXZpb3VzU3RlcCgpIHtcbiAgICB0aGlzLl9jdXJyZW50U3RlcC5uZXh0KHRoaXMuX2N1cnJlbnRTdGVwLnZhbHVlIC0gMSk7XG4gIH1cbn1cblxuY2xhc3MgVHV0b3JpYWxTdGVwIGltcGxlbWVudHMgSVR1dG9yaWFsU3RlcCB7XG4gIHByaXZhdGUgc3RhdGljIERFRkFVTFRfT1BUSU9OUzogSVN0ZXBPcHRpb24gPSB7XG4gICAgcGxhY2VtZW50OiBTdGVwUHJvbXB0UGxhY2VtZW50LkJlbG93XG4gIH07XG4gIG9wdGlvbnM6IElTdGVwT3B0aW9uO1xuICBwcm9tcHQ6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IodGl0bGU6IHN0cmluZywgcHJvbXB0OiBzdHJpbmcsIG9wdGlvbjogSVN0ZXBPcHRpb24pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAuLi5UdXRvcmlhbFN0ZXAuREVGQVVMVF9PUFRJT05TLFxuICAgICAgLi4ub3B0aW9uXG4gICAgfTtcbiAgICB0aGlzLnRpdGxlID0gdGl0bGU7XG4gICAgdGhpcy5wcm9tcHQgPSBwcm9tcHQ7XG4gIH1cbn1cbiJdfQ==