diff --git a/src/frontend/app/folder/folder-pinned/folder-pinned.component.ts b/src/frontend/app/folder/folder-pinned/folder-pinned.component.ts index 19f4fb0407669f39a97a645a53766f9a2fb78683..9fc9a6a06b90d7957ffb93d9b2c69b31247dce86 100644 --- a/src/frontend/app/folder/folder-pinned/folder-pinned.component.ts +++ b/src/frontend/app/folder/folder-pinned/folder-pinned.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, Input } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { LANG } from '../../translate.component'; @@ -15,6 +15,8 @@ export class FolderPinnedComponent implements OnInit { lang: any = LANG; subscription: Subscription; + + @Input('noInit') noInit: boolean = false; constructor( public http: HttpClient, @@ -28,7 +30,9 @@ export class FolderPinnedComponent implements OnInit { ngOnInit(): void { this.foldersService.initFolder(); - this.foldersService.getPinnedFolders(); + if (!this.noInit) { + this.foldersService.getPinnedFolders(); + } } gotToFolder(folder: any) { diff --git a/src/frontend/app/folder/panel/panel-folder.component.html b/src/frontend/app/folder/panel/panel-folder.component.html index 7cfa6109d04be24944a79ca19546d1388bc2b4b9..6a1c929637095c1ba9175ace613899eb251487e8 100644 --- a/src/frontend/app/folder/panel/panel-folder.component.html +++ b/src/frontend/app/folder/panel/panel-folder.component.html @@ -4,7 +4,7 @@ <i class="fa fa-thumbtack panelIconMenu"></i> {{lang.myPinnedFolder}} </mat-panel-title> </mat-expansion-panel-header> - <folder-pinned></folder-pinned> + <folder-pinned [noInit]="true"></folder-pinned> </mat-expansion-panel> <mat-divider></mat-divider> <mat-expansion-panel class="folderList" [expanded]="false"> diff --git a/src/frontend/app/folder/panel/panel-folder.component.ts b/src/frontend/app/folder/panel/panel-folder.component.ts index defdb4025b17d03fa1bd3b9c1601461c9fee2197..ad5e2a36b5b6012dd0094f5273debddaf800eb94 100644 --- a/src/frontend/app/folder/panel/panel-folder.component.ts +++ b/src/frontend/app/folder/panel/panel-folder.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Input, ViewChild, Output, EventEmitter } from '@angular/core'; +import { Component, OnInit, Input, ViewChild, Output, EventEmitter, ChangeDetectorRef } from '@angular/core'; import { LANG } from '../../translate.component'; import { FolderTreeComponent } from '../folder-tree.component'; import { FoldersService } from '../folders.service'; @@ -18,6 +18,7 @@ export class PanelFolderComponent implements OnInit { lang: any = LANG; @Input('selectedId') id: number; + @ViewChild('folderTree', { static: false }) folderTree: FolderTreeComponent; @Output('refreshEvent') refreshEvent = new EventEmitter<string>(); @@ -27,13 +28,17 @@ export class PanelFolderComponent implements OnInit { constructor( public foldersService: FoldersService, public actionService: ActionsService, + private changeDetectorRef: ChangeDetectorRef ) { this.subscription = this.actionService.catchAction().subscribe(message => { + this.refreshFoldersTree(); }); } - ngOnInit(): void { } + ngOnInit(): void { + this.foldersService.getPinnedFolders(); + } ngOnDestroy() { // unsubscribe to ensure no memory leaks