diff --git a/electron/jira.ts b/electron/jira.ts index 2057c67d3..9e1ec57d2 100644 --- a/electron/jira.ts +++ b/electron/jira.ts @@ -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, diff --git a/package.json b/package.json index 1e022092f..c118ae43b 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/src/app/core/snack/snack.service.ts b/src/app/core/snack/snack.service.ts index 8f87894b9..5ceeb8571 100644 --- a/src/app/core/snack/snack.service.ts +++ b/src/app/core/snack/snack.service.ts @@ -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; private _onWorkContextChange$: Observable = this._actions$.pipe(ofType(setActiveWorkContext)); + private readonly _debouncedOpenSnack + : (params: SnackParams) => void + = debounceFn(this._openSnack.bind(this), {wait: 100}); + constructor( private _store$: Store, private _translateService: TranslateService, @@ -34,7 +37,7 @@ export class SnackService { if (typeof params === 'string') { params = {msg: params}; } - this._openSnack(params); + this._debouncedOpenSnack(params); } close() { diff --git a/yarn.lock b/yarn.lock index 9cc3d8297..5a1ad8f8c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -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"