UNPKG

ng-sess-timeout

Version:

ng-sess-timeout =======

184 lines (177 loc) 10.7 kB
import { Injectable, Component, NgModule, defineInjectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgTimeout = /** @class */ (function () { function NgTimeout() { var _this = this; this.time = 1; this.timeExpiredfn = new BehaviorSubject(false); this.timeExpired = this.timeExpiredfn.asObservable(); this.timeLeftfn = new BehaviorSubject(this.time / 1000); this.timeLeft = this.timeLeftfn.asObservable(); window.addEventListener('click', (/** * @param {?} e * @return {?} */ function (e) { _this.start(); })); window.addEventListener('scroll', (/** * @param {?} e * @return {?} */ function (e) { _this.start(); })); window.addEventListener('mousemove', (/** * @param {?} e * @return {?} */ function (e) { _this.start(); })); window.addEventListener('keyup', (/** * @param {?} e * @return {?} */ function (e) { _this.start(); })); } Object.defineProperty(NgTimeout.prototype, "timer", { set: /** * @param {?} time * @return {?} */ function (time) { this.time = time * 60 * 1000; }, enumerable: true, configurable: true }); /** * @private * @return {?} */ NgTimeout.prototype.start = /** * @private * @return {?} */ function () { var _this = this; this.timeLeftCalc(); clearTimeout(this.sessionTimer); this.sessionTimer = setTimeout((/** * @return {?} */ function () { _this.timeExpiredfn.next(true); }), this.time); }; /** * @return {?} */ NgTimeout.prototype.stop = /** * @return {?} */ function () { clearTimeout(this.sessionTimer); }; /** * @return {?} */ NgTimeout.prototype.reset = /** * @return {?} */ function () { this.start(); }; /** * @private * @return {?} */ NgTimeout.prototype.timeLeftCalc = /** * @private * @return {?} */ function () { var _this = this; clearInterval(this.timeLeftTimer); /** @type {?} */ var time = this.time / 1000; this.timeLeftTimer = setInterval((/** * @return {?} */ function () { if (time > 0) { time -= 1; _this.timeLeftfn.next(time); } else { clearInterval(_this.timeLeftTimer); } }), 1000); }; NgTimeout.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] }, ]; NgTimeout.ctorParameters = function () { return []; }; /** @nocollapse */ NgTimeout.ngInjectableDef = defineInjectable({ factory: function NgTimeout_Factory() { return new NgTimeout(); }, token: NgTimeout, providedIn: "root" }); return NgTimeout; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgTimeoutComponent = /** @class */ (function () { function NgTimeoutComponent() { } /** * @return {?} */ NgTimeoutComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; NgTimeoutComponent.decorators = [ { type: Component, args: [{ selector: 'lib-ng-timeout', template: "\n <p>\n ng-timeout works!\n </p>\n ", styles: [] },] }, ]; NgTimeoutComponent.ctorParameters = function () { return []; }; return NgTimeoutComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NgTimeoutModule = /** @class */ (function () { function NgTimeoutModule() { } NgTimeoutModule.decorators = [ { type: NgModule, args: [{ imports: [], declarations: [NgTimeoutComponent], exports: [NgTimeoutComponent] },] }, ]; return NgTimeoutModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NgTimeout, NgTimeoutModule, NgTimeoutComponent as ɵa }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdGltZW91dC5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vbmctdGltZW91dC9saWIvbmctdGltZW91dC5zZXJ2aWNlLnRzIiwibmc6Ly9uZy10aW1lb3V0L2xpYi9uZy10aW1lb3V0LmNvbXBvbmVudC50cyIsIm5nOi8vbmctdGltZW91dC9saWIvbmctdGltZW91dC5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZ1RpbWVvdXQge1xuXG4gIHByaXZhdGUgdGltZTpudW1iZXIgPSAxO1xuICBwcml2YXRlIHRpbWVMZWZ0VGltZXI7XG4gIHByaXZhdGUgc2Vzc2lvblRpbWVyO1xuXG4gXG4gIHByaXZhdGUgdGltZUV4cGlyZWRmbiA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICB0aW1lRXhwaXJlZCA9IHRoaXMudGltZUV4cGlyZWRmbi5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHRpbWVMZWZ0Zm4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMudGltZS8xMDAwKTtcbiAgdGltZUxlZnQgPSB0aGlzLnRpbWVMZWZ0Zm4uYXNPYnNlcnZhYmxlKCk7XG4gXG5cbiAgXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHtcbiAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICB9KVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIChlKSA9PntcbiAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICB9KVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIChlKT0+e1xuICAgICAgdGhpcy5zdGFydCgpO1xuICAgIH0pXG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAoZSk9PiB7XG4gICAgICB0aGlzLnN0YXJ0KCk7XG4gICAgfSlcbiAgIH1cblxuICAgc2V0IHRpbWVyKHRpbWU6bnVtYmVyKSB7XG4gICAgdGhpcy50aW1lID0gdGltZSo2MCoxMDAwO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydCgpIHtcbiAgICB0aGlzLnRpbWVMZWZ0Q2FsYygpO1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnNlc3Npb25UaW1lcik7XG4gICAgdGhpcy5zZXNzaW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgdGhpcy50aW1lRXhwaXJlZGZuLm5leHQodHJ1ZSk7XG4gICAgfSwgdGhpcy50aW1lKVxuICB9XG5cbiAgc3RvcCgpIHtcbiAgICBjbGVhclRpbWVvdXQodGhpcy5zZXNzaW9uVGltZXIpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgcHJpdmF0ZSB0aW1lTGVmdENhbGMoKSB7XG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVMZWZ0VGltZXIpO1xuICAgIGxldCB0aW1lID0gdGhpcy50aW1lLzEwMDA7XG4gICAgdGhpcy50aW1lTGVmdFRpbWVyID0gc2V0SW50ZXJ2YWwoKCk9PiB7XG4gICAgICBpZih0aW1lPjApe1xuICAgICAgICB0aW1lIC09MTtcbiAgICAgICAgdGhpcy50aW1lTGVmdGZuLm5leHQodGltZSk7XG4gICAgICB9ZWxzZSB7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lTGVmdFRpbWVyKTtcbiAgICAgIH1cblxuICAgIH0sMTAwMClcbiAgfVxufVxuIiwiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW5nLXRpbWVvdXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxwPlxuICAgICAgbmctdGltZW91dCB3b3JrcyFcbiAgICA8L3A+XG4gIGAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmdUaW1lb3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG5cbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1RpbWVvdXRDb21wb25lbnQgfSBmcm9tICcuL25nLXRpbWVvdXQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtOZ1RpbWVvdXRDb21wb25lbnRdLFxuICBleHBvcnRzOiBbTmdUaW1lb3V0Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ1RpbWVvdXRNb2R1bGUgeyB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0lBdUJFO1FBQUEsaUJBZ0JFO1FBOUJNLFNBQUksR0FBVSxDQUFDLENBQUM7UUFLaEIsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxnQkFBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsYUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFNeEMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU87Ozs7UUFBRSxVQUFDLENBQUM7WUFDakMsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2QsRUFBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVE7Ozs7UUFBRSxVQUFDLENBQUM7WUFDbEMsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2QsRUFBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVc7Ozs7UUFBRSxVQUFDLENBQUM7WUFDckMsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2QsRUFBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU87Ozs7UUFBRSxVQUFDLENBQUM7WUFDakMsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2QsRUFBQyxDQUFBO0tBQ0Y7SUFFRCxzQkFBSSw0QkFBSzs7Ozs7UUFBVCxVQUFVLElBQVc7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEdBQUMsRUFBRSxHQUFDLElBQUksQ0FBQztTQUMxQjs7O09BQUE7Ozs7O0lBRU8seUJBQUs7Ozs7SUFBYjtRQUFBLGlCQU1DO1FBTEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVOzs7UUFBQztZQUM3QixLQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMvQixHQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNkOzs7O0lBRUQsd0JBQUk7OztJQUFKO1FBQ0UsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUNqQzs7OztJQUVELHlCQUFLOzs7SUFBTDtRQUNFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNkOzs7OztJQUVPLGdDQUFZOzs7O0lBQXBCO1FBQUEsaUJBWUM7UUFYQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDOztZQUM5QixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBQyxJQUFJO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVzs7O1FBQUM7WUFDL0IsSUFBRyxJQUFJLEdBQUMsQ0FBQyxFQUFDO2dCQUNSLElBQUksSUFBRyxDQUFDLENBQUM7Z0JBQ1QsS0FBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDNUI7aUJBQUs7Z0JBQ0osYUFBYSxDQUFDLEtBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUNuQztTQUVGLEdBQUMsSUFBSSxDQUFDLENBQUE7S0FDUjs7Z0JBckVGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7b0JBTkQ7Q0EwRUM7Ozs7OztBQzFFRDtJQWFFO0tBQWlCOzs7O0lBRWpCLHFDQUFROzs7SUFBUjtLQUNDOztnQkFkRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGtEQUlUO29CQUNELE1BQU0sRUFBRSxFQUFFO2lCQUNYOzs7SUFRRCx5QkFBQztDQUFBOzs7Ozs7QUNsQkQ7SUFHQTtLQU1nQzs7Z0JBTi9CLFFBQVEsU0FBQztvQkFDUixPQUFPLEVBQUUsRUFDUjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCOztJQUM4QixzQkFBQztDQUFBOzs7Ozs7Ozs7Ozs7OzsifQ==