@circe/core
Version:
Circe Components for Angular :: Core Services and Tools
86 lines • 11.9 kB
JavaScript
import { Subject } from 'rxjs';
const ɵ0 = () => { }, ɵ1 = () => { };
const defaultConfig = {
timeShowing: 400,
timeToStop: 400,
callbackShow: ɵ0,
callbackStop: ɵ1
};
export class AsynchronousPairVariables {
constructor(config = defaultConfig) {
var _a, _b;
this.trigger$ = new Subject();
this.show$ = new Subject();
this._startArguments = [];
this._stopArguments = [];
this._config = {};
this._config.timeShowing = defaultConfig.timeShowing;
if ((config === null || config === void 0 ? void 0 : config.timeShowing) || (!(config === null || config === void 0 ? void 0 : config.timeShowing) && (config === null || config === void 0 ? void 0 : config.timeShowing) === 0)) {
this._config.timeShowing = config.timeShowing;
}
this._config.timeToStop = defaultConfig.timeToStop;
if ((config === null || config === void 0 ? void 0 : config.timeToStop) || (!(config === null || config === void 0 ? void 0 : config.timeToStop) && (config === null || config === void 0 ? void 0 : config.timeToStop) === 0)) {
this._config.timeToStop = config.timeToStop;
}
this._config.callbackShow = (_a = config === null || config === void 0 ? void 0 : config.callbackShow) !== null && _a !== void 0 ? _a : defaultConfig.callbackShow;
this._config.callbackStop = config === null || config === void 0 ? void 0 : config.callbackStop;
if (!this._config.callbackStop) {
this._config.callbackStop = (_b = config === null || config === void 0 ? void 0 : config.callbackShow) !== null && _b !== void 0 ? _b : defaultConfig.callbackStop;
}
}
set _trigger(state) {
this.trigger$.next(state);
if (state) {
setTimeout(() => {
this._config.callbackShow(...this._startArguments);
this._show = true;
if (!!this._config.timeShowing) {
this._timeoutShow = setTimeout(() => {
this._show = false;
}, this._config.timeShowing);
}
});
}
}
set _show(state) {
this.show$.next(state);
if (!state) {
setTimeout(() => {
this._config.callbackStop(...this._stopArguments);
this._trigger = false;
}, this._config.timeToStop);
}
}
_setStopArguments(...arg) {
this._stopArguments = arg;
}
setConfig(config) {
if (!!config.timeShowing) {
this._config.timeShowing = config.timeShowing;
}
if (!!config.timeToStop) {
this._config.timeToStop = config.timeToStop;
}
if (!!config.callbackShow) {
this._config.callbackShow = config.callbackShow;
}
if (!!config.callbackStop) {
this._config.callbackStop = config.callbackStop;
}
}
start(...arg) {
clearTimeout(this._timeoutShow);
this._startArguments = arg;
this._trigger = true;
return this._setStopArguments.bind(this);
}
stop() {
clearTimeout(this._timeoutShow);
}
remove() {
this.stop();
this._show = false;
}
}
export { ɵ0, ɵ1 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmNocm9ub3VzLXBhaXItdmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FzeW5jaHJvbm91cy1wYWlyLXZhcmlhYmxlcy9hc3luY2hyb25vdXMtcGFpci12YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztXQVlmLEdBQUcsRUFBRSxHQUFFLENBQUMsT0FDUixHQUFHLEVBQUUsR0FBRSxDQUFDO0FBSnhCLE1BQU0sYUFBYSxHQUFvQztJQUNyRCxXQUFXLEVBQUUsR0FBRztJQUNoQixVQUFVLEVBQUUsR0FBRztJQUNmLFlBQVksSUFBVTtJQUN0QixZQUFZLElBQVU7Q0FDdkIsQ0FBQztBQUVGLE1BQU0sT0FBTyx5QkFBeUI7SUFpQ3BDLFlBQVksU0FBMEMsYUFBYTs7UUFoQzVELGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQyxVQUFLLEdBQXFCLElBQUksT0FBTyxFQUFFLENBQUM7UUFnQzdDLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWxCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDckQsSUFBSSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxXQUFXLEtBQUksQ0FBQyxDQUFDLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFdBQVcsQ0FBQSxJQUFJLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLFdBQVcsTUFBSyxDQUFDLENBQUMsRUFBRTtZQUM5RSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxN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Q0FBQyxZQUFZLENBQUM7U0FDakQ7UUFDRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3pCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsR0FBZTtRQUM3QixZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sSUFBSTtRQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOcGFXaWxkY2FyZENhbGxiYWNrIH0gZnJvbSAnLi4vX3R5cGVzL2RhdGEudHlwZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jaHJvbm91c1BhaXJWYXJpYWJsZXNDb25maWcge1xuICB0aW1lU2hvd2luZz86IG51bWJlcjtcbiAgdGltZVRvU3RvcD86IG51bWJlcjtcbiAgY2FsbGJhY2tTaG93PzogTnBhV2lsZGNhcmRDYWxsYmFjaztcbiAgY2FsbGJhY2tTdG9wPzogTnBhV2lsZGNhcmRDYWxsYmFjaztcbn1cblxuY29uc3QgZGVmYXVsdENvbmZpZzogQXN5bmNocm9ub3VzUGFpclZhcmlhYmxlc0NvbmZpZyA9IHtcbiAgdGltZVNob3dpbmc6IDQwMCxcbiAgdGltZVRvU3RvcDogNDAwLFxuICBjYWxsYmFja1Nob3c6ICgpID0+IHt9LFxuICBjYWxsYmFja1N0b3A6ICgpID0+IHt9XG59O1xuXG5leHBvcnQgY2xhc3MgQXN5bmNocm9ub3VzUGFpclZhcmlhYmxlcyB7XG4gIHB1YmxpYyB0cmlnZ2VyJDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBzaG93JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBzZXQgX3RyaWdnZXIoc3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRyaWdnZXIkLm5leHQoc3RhdGUpO1xuICAgIGlmIChzdGF0ZSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2NvbmZpZy5jYWxsYmFja1Nob3coLi4udGhpcy5fc3RhcnRBcmd1bWVudHMpO1xuICAgICAgICB0aGlzLl9zaG93ID0gdHJ1ZTtcbiAgICAgICAgaWYgKCEhdGhpcy5fY29uZmlnLnRpbWVTaG93aW5nKSB7XG4gICAgICAgICAgdGhpcy5fdGltZW91dFNob3cgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcbiAgICAgICAgICB9LCB0aGlzLl9jb25maWcudGltZVNob3dpbmcpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBzZXQgX3Nob3coc3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnNob3ckLm5leHQoc3RhdGUpO1xuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jb25maWcuY2FsbGJhY2tTdG9wKC4uLnRoaXMuX3N0b3BBcmd1bWVudHMpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyID0gZmFsc2U7XG4gICAgICB9LCB0aGlzLl9jb25maWcudGltZVRvU3RvcCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3RpbWVvdXRTaG93OiBOb2RlSlMuVGltZW91dDtcblxuICBwcml2YXRlIF9zdGFydEFyZ3VtZW50czogQXJyYXk8YW55PjtcbiAgcHJpdmF0ZSBfc3RvcEFyZ3VtZW50czogQXJyYXk8YW55PjtcbiAgcHJpdmF0ZSBfY29uZmlnOiBBc3luY2hyb25vdXNQYWlyVmFyaWFibGVzQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQXN5bmNocm9ub3VzUGFpclZhcmlhYmxlc0NvbmZpZyA9IGRlZmF1bHRDb25maWcpIHtcbiAgICB0aGlzLl9zdGFydEFyZ3VtZW50cyA9IFtdO1xuICAgIHRoaXMuX3N0b3BBcmd1bWVudHMgPSBbXTtcblxuICAgIHRoaXMuX2NvbmZpZyA9IHt9O1xuXG4gICAgdGhpcy5fY29uZmlnLnRpbWVTaG93aW5nID0gZGVmYXVsdENvbmZpZy50aW1lU2hvd2luZztcbiAgICBpZiAoY29uZmlnPy50aW1lU2hvd2luZyB8fCAoIWNvbmZpZz8udGltZVNob3dpbmcgJiYgY29uZmlnPy50aW1lU2hvd2luZyA9PT0gMCkpIHtcbiAgICAgIHRoaXMuX2NvbmZpZy50aW1lU2hvd2luZyA9IGNvbmZpZy50aW1lU2hvd2luZztcbiAgICB9XG4gICAgdGhpcy5fY29uZmlnLnRpbWVUb1N0b3AgPSBkZWZhdWx0Q29uZmlnLnRpbWVUb1N0b3A7XG4gICAgaWYgKGNvbmZpZz8udGltZVRvU3RvcCB8fCAoIWNvbmZpZz8udGltZVRvU3RvcCAmJiBjb25maWc/LnRpbWVUb1N0b3AgPT09IDApKSB7XG4gICAgICB0aGlzLl9jb25maWcudGltZVRvU3RvcCA9IGNvbmZpZy50aW1lVG9TdG9wO1xuICAgIH1cbiAgICB0aGlzLl9jb25maWcuY2FsbGJhY2tTaG93ID0gY29uZmlnPy5jYWxsYmFja1Nob3cgPz8gZGVmYXVsdENvbmZpZy5jYWxsYmFja1Nob3c7XG4gICAgdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCA9IGNvbmZpZz8uY2FsbGJhY2tTdG9wO1xuICAgIGlmICghdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCkge1xuICAgICAgdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCA9IGNvbmZpZz8uY2FsbGJhY2tTaG93ID8/IGRlZmF1bHRDb25maWcuY2FsbGJhY2tTdG9wO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldFN0b3BBcmd1bWVudHMoLi4uYXJnOiBBcnJheTxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5fc3RvcEFyZ3VtZW50cyA9IGFyZztcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb25maWcoY29uZmlnOiBBc3luY2hyb25vdXNQYWlyVmFyaWFibGVzQ29uZmlnKTogdm9pZCB7XG4gICAgaWYgKCEhY29uZmlnLnRpbWVTaG93aW5nKSB7XG4gICAgICB0aGlzLl9jb25maWcudGltZVNob3dpbmcgPSBjb25maWcudGltZVNob3dpbmc7XG4gICAgfVxuICAgIGlmICghIWNvbmZpZy50aW1lVG9TdG9wKSB7XG4gICAgICB0aGlzLl9jb25maWcudGltZVRvU3RvcCA9IGNvbmZpZy50aW1lVG9TdG9wO1xuICAgIH1cbiAgICBpZiAoISFjb25maWcuY2FsbGJhY2tTaG93KSB7XG4gICAgICB0aGlzLl9jb25maWcuY2FsbGJhY2tTaG93ID0gY29uZmlnLmNhbGxiYWNrU2hvdztcbiAgICB9XG4gICAgaWYgKCEhY29uZmlnLmNhbGxiYWNrU3RvcCkge1xuICAgICAgdGhpcy5fY29uZmlnLmNhbGxiYWNrU3RvcCA9IGNvbmZpZy5jYWxsYmFja1N0b3A7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXJ0KC4uLmFyZzogQXJyYXk8YW55Pik6IE5wYVdpbGRjYXJkQ2FsbGJhY2sge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0U2hvdyk7XG4gICAgdGhpcy5fc3RhcnRBcmd1bWVudHMgPSBhcmc7XG4gICAgdGhpcy5fdHJpZ2dlciA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuX3NldFN0b3BBcmd1bWVudHMuYmluZCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdG9wKCk6IHZvaWQge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0U2hvdyk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcCgpO1xuICAgIHRoaXMuX3Nob3cgPSBmYWxzZTtcbiAgfVxufVxuIl19