@omostan/ngx-idle
Version:
A module for responding to idle users in Angular applications. this is a forked version of the original @ng-Idle
38 lines • 3.5 kB
JavaScript
/*
* A class for managing an interrupt from an interrupt source.
*/
export class Interrupt {
constructor(source, options) {
this.source = source;
if (source.initialize) {
source.initialize(options);
}
}
/*
* Subscribes to the interrupt using the specified function.
* @param fn - The subscription function.
*/
subscribe(fn) {
this.sub = this.source.onInterrupt.subscribe(fn);
}
/*
* Unsubscribes the interrupt.
*/
unsubscribe() {
this.sub.unsubscribe();
this.sub = null;
}
/*
* Keeps the subscription but resumes interrupt events.
*/
resume() {
this.source.attach();
}
/*
* Keeps the subscription but pauses interrupt events.
*/
pause() {
this.source.detach();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJydXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2ludGVycnVwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQTs7R0FFRztBQUNILE1BQU0sT0FBTyxTQUFTO0lBR3BCLFlBQW1CLE1BQXVCLEVBQUUsT0FBMEI7UUFBbkQsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFDeEMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLEVBQWlDO1FBQ3pDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgSW50ZXJydXB0QXJncyB9IGZyb20gJy4vaW50ZXJydXB0YXJncyc7XHJcbmltcG9ydCB7IEludGVycnVwdE9wdGlvbnMgfSBmcm9tICcuL2ludGVycnVwdG9wdGlvbnMnO1xyXG5pbXBvcnQgeyBJbnRlcnJ1cHRTb3VyY2UgfSBmcm9tICcuL2ludGVycnVwdHNvdXJjZSc7XHJcblxyXG4vKlxyXG4gKiBBIGNsYXNzIGZvciBtYW5hZ2luZyBhbiBpbnRlcnJ1cHQgZnJvbSBhbiBpbnRlcnJ1cHQgc291cmNlLlxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEludGVycnVwdCB7XHJcbiAgcHJpdmF0ZSBzdWI6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNvdXJjZTogSW50ZXJydXB0U291cmNlLCBvcHRpb25zPzogSW50ZXJydXB0T3B0aW9ucykge1xyXG4gICAgaWYgKHNvdXJjZS5pbml0aWFsaXplKSB7XHJcbiAgICAgIHNvdXJjZS5pbml0aWFsaXplKG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBTdWJzY3JpYmVzIHRvIHRoZSBpbnRlcnJ1cHQgdXNpbmcgdGhlIHNwZWNpZmllZCBmdW5jdGlvbi5cclxuICAgKiBAcGFyYW0gZm4gLSBUaGUgc3Vic2NyaXB0aW9uIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIHN1YnNjcmliZShmbjogKGFyZ3M6IEludGVycnVwdEFyZ3MpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMuc3ViID0gdGhpcy5zb3VyY2Uub25JbnRlcnJ1cHQuc3Vic2NyaWJlKGZuKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICogVW5zdWJzY3JpYmVzIHRoZSBpbnRlcnJ1cHQuXHJcbiAgICovXHJcbiAgdW5zdWJzY3JpYmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zdWIgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKiBLZWVwcyB0aGUgc3Vic2NyaXB0aW9uIGJ1dCByZXN1bWVzIGludGVycnVwdCBldmVudHMuXHJcbiAgICovXHJcbiAgcmVzdW1lKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3VyY2UuYXR0YWNoKCk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqIEtlZXBzIHRoZSBzdWJzY3JpcHRpb24gYnV0IHBhdXNlcyBpbnRlcnJ1cHQgZXZlbnRzLlxyXG4gICAqL1xyXG4gIHBhdXNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3VyY2UuZGV0YWNoKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==