feat(jira): debounce snacks by a bit

This commit is contained in:
Johannes Millan 2020-05-14 17:24:51 +02:00
parent 172ad27d16
commit d36717a173
4 changed files with 20 additions and 4 deletions

View file

@ -17,7 +17,7 @@ export const sendJiraRequest = ({requestId, requestInit, url, jiraCfg}:
fetch(url, {
...requestInit,
// allow self signed certificates
...(jiraCfg && jiraCfg.isAllowSelfSignedCertificate
...(jiraCfg && jiraCfg.isAllowSelfSignedCertificate
? {
agent: new Agent({
rejectUnauthorized: false,

View file

@ -127,6 +127,7 @@
"conventional-changelog-cli": "^2.0.21",
"core-js": "^3.1.3",
"cross-env": "^5.2.0",
"debounce-fn": "^4.0.0",
"electron": "^8.2.3",
"electron-builder": "^22.5.1",
"electron-notarize": "^0.2.1",

View file

@ -8,9 +8,8 @@ import {SnackCustomComponent} from './snack-custom/snack-custom.component';
import {TranslateService} from '@ngx-translate/core';
import {MatSnackBar, MatSnackBarRef, SimpleSnackBar} from '@angular/material/snack-bar';
import {Actions, ofType} from '@ngrx/effects';
import {ProjectActionTypes} from '../../features/project/store/project.actions';
import {WorkContextService} from '../../features/work-context/work-context.service';
import {setActiveWorkContext} from '../../features/work-context/store/work-context.actions';
import * as debounceFn from 'debounce-fn';
@Injectable({
providedIn: 'root',
@ -19,6 +18,10 @@ export class SnackService {
private _ref: MatSnackBarRef<SnackCustomComponent | SimpleSnackBar>;
private _onWorkContextChange$: Observable<any> = this._actions$.pipe(ofType(setActiveWorkContext));
private readonly _debouncedOpenSnack
: (params: SnackParams) => void
= debounceFn(this._openSnack.bind(this), {wait: 100});
constructor(
private _store$: Store<any>,
private _translateService: TranslateService,
@ -34,7 +37,7 @@ export class SnackService {
if (typeof params === 'string') {
params = {msg: params};
}
this._openSnack(params);
this._debouncedOpenSnack(params);
}
close() {

View file

@ -3745,6 +3745,13 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
debounce-fn@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==
dependencies:
mimic-fn "^3.0.0"
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@ -7366,6 +7373,11 @@ mimic-fn@^2.0.0, mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
mimic-fn@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.0.0.tgz#76044cfa8818bbf6999c5c9acadf2d3649b14b4b"
integrity sha512-PiVO95TKvhiwgSwg1IdLYlCTdul38yZxZMIcnDSFIBUm4BNZha2qpQ4GpJ++15bHoKDtrW2D69lMfFwdFYtNZQ==
mimic-response@^1.0.0, mimic-response@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"