From 62f4238825d91f0a9a35cf4d7b6914eb658a8e05 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Mon, 6 Jan 2020 20:18:45 +0100
Subject: [PATCH] fix update nb res tracking

---
 src/frontend/app/list/basket-list.component.html | 2 +-
 src/frontend/app/list/basket-list.component.ts   | 6 +++++-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/frontend/app/list/basket-list.component.html b/src/frontend/app/list/basket-list.component.html
index f8011b6181f..5774f08bcf3 100644
--- a/src/frontend/app/list/basket-list.component.html
+++ b/src/frontend/app/list/basket-list.component.html
@@ -3,7 +3,7 @@
             [fixedInViewport]="appService.getViewMode()" [opened]="appService.getViewMode() ? false : true" autoFocus="false"
             style="overflow-x:hidden;" [ngStyle]="{'width': appService.getViewMode() ? '80%' : '350px'}">
             <header-panel [snavLeft]="snav"></header-panel>
-            <menu-shortcut></menu-shortcut>
+            <menu-shortcut #menuShortcut></menu-shortcut>
             <menu-nav></menu-nav>
             <basket-home #basketHome (refreshEvent)="refreshDao()" [snavL]="snav"
                 [currentBasketInfo]="currentBasketInfo"></basket-home>
diff --git a/src/frontend/app/list/basket-list.component.ts b/src/frontend/app/list/basket-list.component.ts
index 411bf04a568..d9dfbb3ef30 100755
--- a/src/frontend/app/list/basket-list.component.ts
+++ b/src/frontend/app/list/basket-list.component.ts
@@ -9,7 +9,7 @@ import { MatSidenav } from '@angular/material/sidenav';
 import { MatSort } from '@angular/material/sort';
 
 import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
-import { startWith, switchMap, map, catchError, takeUntil } from 'rxjs/operators';
+import { startWith, switchMap, map, catchError, takeUntil, tap } from 'rxjs/operators';
 import { ActivatedRoute, Router } from '@angular/router';
 import { HeaderService } from '../../service/header.service';
 import { FiltersListService } from '../../service/filtersList.service';
@@ -24,6 +24,7 @@ import { PanelFolderComponent } from '../folder/panel/panel-folder.component';
 import { FoldersService } from '../folder/folders.service';
 import { ActionsService } from '../actions/actions.service';
 import { ContactsListModalComponent } from '../contact/list/modal/contacts-list-modal.component';
+import { MenuShortcutComponent } from '../menu/menu-shortcut.component';
 
 
 declare function $j(selector: any): any;
@@ -99,6 +100,7 @@ export class BasketListComponent implements OnInit {
     @ViewChild('filtersTool', { static: true }) filtersTool: FiltersToolComponent;
     @ViewChild('appPanelList', { static: true }) appPanelList: PanelListComponent;
     @ViewChild('basketHome', { static: true }) basketHome: BasketHomeComponent;
+    @ViewChild('menuShortcut', { static: true }) menuShortcut: MenuShortcutComponent;
     @ViewChild('panelFolder', { static: true }) panelFolder: PanelFolderComponent;
 
     currentSelectedChrono: string = '';
@@ -491,6 +493,7 @@ export class BasketListComponent implements OnInit {
     toggleMailTracking(row: any) {
         if (!row.mailTracking) {
             this.http.post('../../rest/resources/follow', {resources: [row.resId]}).pipe(
+                tap(() => this.menuShortcut.nbResourcesFollowed++),
                 catchError((err: any) => {
                     this.notify.handleErrors(err);
                     return of(false);
@@ -498,6 +501,7 @@ export class BasketListComponent implements OnInit {
             ).subscribe();
         } else {
             this.http.request('DELETE', '../../rest/resources/unfollow', { body: { resources: [row.resId] } }).pipe(
+                tap(() => this.menuShortcut.nbResourcesFollowed--),
                 catchError((err: any) => {
                     this.notify.handleErrors(err);
                     return of(false);
-- 
GitLab