ng-sess-timeout
Version:
ng-sess-timeout =======
184 lines (177 loc) • 10.7 kB
JavaScript
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==