ngy-tutorial
Version:
152 lines • 11 kB
JavaScript
/**
* @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==