diff --git a/src/frontend/app/basket/basket-home.component.html b/src/frontend/app/basket/basket-home.component.html index 78c195198473abb4ff85e33fbe9dccb4023a04ef..6909dc72d7fb626f1a3fb8dd833c13b8b8ee36c6 100755 --- a/src/frontend/app/basket/basket-home.component.html +++ b/src/frontend/app/basket/basket-home.component.html @@ -1,11 +1,11 @@ -<mat-expansion-panel #basketPanel *ngIf="loading || homeData.regroupedBaskets.length > 0 || homeData.assignedBaskets.length > 0" class="basketList" [expanded]="!loading"> +<mat-expansion-panel #basketPanel class="basketList" [expanded]="!loading"> <mat-expansion-panel-header> <mat-panel-title> <i class="fa fa-inbox panelIconMenu"></i> {{lang.myBaskets}} </mat-panel-title> </mat-expansion-panel-header> <ng-container *ngIf="!loading"> - <mat-form-field floatLabel="never" appearance="outline" class="basketsFilter" + <mat-form-field [style.display]="homeData.assignedBaskets.length > 0 || homeData.regroupedBaskets.length > 0 ? 'inline-block' : 'none'" floatLabel="never" appearance="outline" class="basketsFilter" style="padding-left:20px;padding-right:20px;font-size: 11px;"> <input matInput placeholder="{{lang.filterBy}}" #listFilter> </mat-form-field> @@ -61,5 +61,8 @@ </a> </mat-nav-list> </ng-container> + <div class="noBasket" *ngIf="homeData.assignedBaskets.length === 0 && homeData.regroupedBaskets.length === 0"> + {{lang.noAvailableBasket}} + </div> </ng-container> </mat-expansion-panel> \ No newline at end of file diff --git a/src/frontend/app/basket/basket-home.component.scss b/src/frontend/app/basket/basket-home.component.scss index 6e490a254d4d7ef0de62a3c5b34a34721ee41bcb..988bbcc6e4330cf5967854490554604e983dafd4 100644 --- a/src/frontend/app/basket/basket-home.component.scss +++ b/src/frontend/app/basket/basket-home.component.scss @@ -60,4 +60,11 @@ .panelIconMenu { font-size: 22px; +} + +.noBasket { + text-align: center; + font-size: 13px; + opacity: 0.5; + font-style: italic; } \ No newline at end of file diff --git a/src/frontend/app/folder/document-list/folder-document-list.component.html b/src/frontend/app/folder/document-list/folder-document-list.component.html index a9262b981b05d0472518ec0041bea5090918ec43..0eb9a52ac67e801ce8fe438e3f4f6ee0728ed84d 100644 --- a/src/frontend/app/folder/document-list/folder-document-list.component.html +++ b/src/frontend/app/folder/document-list/folder-document-list.component.html @@ -8,7 +8,7 @@ <basket-home #basketHome [snavL]="snav"></basket-home> <mat-divider></mat-divider> <panel-folder #panelFolder *ngIf="folderInfo.id !== '' && folderInfo.id !== undefined" - [selectedId]="folderInfo.id"></panel-folder> + [selectedId]="folderInfo.id" [showTree]="true"></panel-folder> </mat-sidenav> <mat-sidenav-content> <mat-card id="viewThumbnail" style="display:none;position: fixed;z-index: 2;margin-left: 1px;"> diff --git a/src/frontend/app/folder/document-list/folder-document-list.component.ts b/src/frontend/app/folder/document-list/folder-document-list.component.ts index f8f4a3869e1aa4a34dff738a14af9a87a1f76192..09cb50518f057668b129abad468e99e6a39071dd 100644 --- a/src/frontend/app/folder/document-list/folder-document-list.component.ts +++ b/src/frontend/app/folder/document-list/folder-document-list.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit, ViewChild, EventEmitter, ViewContainerRef } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { LANG } from '../../translate.component'; -import { merge, Observable, of as observableOf, Subject, of } from 'rxjs'; +import { merge, Observable, of as observableOf, Subject, of, Subscription } from 'rxjs'; import { NotificationService } from '../../notification.service'; import { MatDialog, MatDialogRef } from '@angular/material/dialog'; import { MatPaginator } from '@angular/material/paginator'; @@ -94,6 +94,7 @@ export class FolderDocumentListComponent implements OnInit { folderInfoOpened: boolean = false; private destroy$ = new Subject<boolean>(); + subscription: Subscription; @ViewChild('actionsListContext', { static: true }) actionsList: FolderActionListComponent; @ViewChild('appPanelList', { static: true }) appPanelList: PanelListComponent; @@ -112,13 +113,24 @@ export class FolderDocumentListComponent implements OnInit { public dialog: MatDialog, private sanitizer: DomSanitizer, private headerService: HeaderService, - public filtersListService: FiltersListService, + public filtersListService: FiltersListService, private notify: NotificationService, public overlay: Overlay, public viewContainerRef: ViewContainerRef, public appService: AppService, private foldersService: FoldersService) { + $j("link[href='merged_css.php']").remove(); + + // Event after process action + this.subscription = this.foldersService.catchEvent().subscribe((result: any) => { + + if (result.type === 'refreshFolderInformations') { + if(result.content.id == this.folderInfo.id) { + this.refreshFolderInformations(); + } + } + }); } ngOnInit(): void { @@ -144,9 +156,9 @@ export class FolderDocumentListComponent implements OnInit { this.foldersService.setFolder(this.folderInfo); this.headerService.setHeader(this.folderInfo.label, '', 'fa fa-folder-open'); setTimeout(() => { - this.basketHome.togglePanel(false); + this.basketHome.togglePanel(false); }, 200); - + }); this.basketUrl = '../../rest/folders/' + params['folderId'] + '/resources'; this.filtersListService.filterMode = false; @@ -170,6 +182,7 @@ export class FolderDocumentListComponent implements OnInit { ngOnDestroy() { this.destroy$.next(true); + this.subscription.unsubscribe(); } initResultList() { @@ -245,6 +258,20 @@ export class FolderDocumentListComponent implements OnInit { this.currentResource.countNotes = nb; } + refreshFolderInformations() { + this.http.get('../../rest/folders/' + this.folderInfo.id) + .subscribe((data: any) => { + this.folderInfo = + { + 'id': data.folder.id, + 'label': data.folder.label, + 'ownerDisplayName': data.folder.ownerDisplayName, + 'entitiesSharing': data.folder.sharing.entities.map((entity: any) => entity.label), + }; + this.headerService.setHeader(this.folderInfo.label, '', 'fa fa-folder-open'); + }); + } + refreshBadgeAttachments(nb: number) { this.currentResource.countAttachments = nb; } @@ -317,18 +344,18 @@ export class FolderDocumentListComponent implements OnInit { } selectSpecificRes(row: any) { - let thisSelect = { checked : true }; - let thisDeselect = { checked : false }; - + let thisSelect = { checked: true }; + let thisDeselect = { checked: false }; + this.toggleAllRes(thisDeselect); this.toggleRes(thisSelect, row); } open({ x, y }: MouseEvent, row: any) { - - let thisSelect = { checked : true }; - let thisDeselect = { checked : false }; - if ( row.checked === false) { + + let thisSelect = { checked: true }; + let thisDeselect = { checked: false }; + if (row.checked === false) { row.checked = true; this.toggleAllRes(thisDeselect); this.toggleRes(thisSelect, row); diff --git a/src/frontend/app/folder/folder-tree.component.ts b/src/frontend/app/folder/folder-tree.component.ts index 36df9a34c34de45a6f95997161e3ca1e9850d85c..4455e46c10804fd995145dbd973b983d9cd5f76e 100644 --- a/src/frontend/app/folder/folder-tree.component.ts +++ b/src/frontend/app/folder/folder-tree.component.ts @@ -144,7 +144,9 @@ export class FolderTreeComponent implements OnInit { } else if (result.type === 'refreshFolderPinned') { this.treeControl.dataNodes.filter(folder => folder.id === result.content.id)[0].pinned = result.content.pinned; } else { - this.openTree(this.foldersService.getCurrentFolder().id); + if (this.treeControl.dataNodes !== undefined) { + this.openTree(this.foldersService.getCurrentFolder().id); + } } }); } @@ -361,7 +363,8 @@ export class FolderTreeComponent implements OnInit { if (data !== undefined) { this.getFolders(); this.foldersService.getPinnedFolders(); - } + this.foldersService.setEvent({type:'refreshFolderInformations', content: node}); + } }) ).subscribe(); } diff --git a/src/frontend/app/folder/folders.service.ts b/src/frontend/app/folder/folders.service.ts index 8ddbe34e54f66c75fdaa752ea02d471443243955..23c40f91fe33e8e6aebf39505e28adc0a8f464e3 100644 --- a/src/frontend/app/folder/folders.service.ts +++ b/src/frontend/app/folder/folders.service.ts @@ -42,6 +42,10 @@ export class FoldersService { return this.eventAction.asObservable(); } + setEvent(content: any) { + return this.eventAction.next(content); + } + goToFolder(folder: any) { this.setFolder(folder); this.router.navigate(['/folders/' + folder.id]); diff --git a/src/frontend/app/folder/panel/panel-folder.component.ts b/src/frontend/app/folder/panel/panel-folder.component.ts index bb0479e6fa4f2a208a6b916d88f53ac5d3c157bd..db6a4bff9fb5ad28ab95ffeec3244c72ef24b4fd 100644 --- a/src/frontend/app/folder/panel/panel-folder.component.ts +++ b/src/frontend/app/folder/panel/panel-folder.component.ts @@ -14,8 +14,8 @@ export class PanelFolderComponent implements OnInit { lang: any = LANG; - showTree: boolean = false; @Input('selectedId') id: number; + @Input('showTree') showTree: boolean = false; @ViewChild('folderTree', { static: false }) folderTree: FolderTreeComponent; @Output('refreshEvent') refreshEvent = new EventEmitter<string>(); diff --git a/src/frontend/lang/lang-fr.ts b/src/frontend/lang/lang-fr.ts index 0ef8877927f407b208330ecc82f3cd23edab52b1..22e14d95062b9252001f6b3eb1bc05602d03bc45 100755 --- a/src/frontend/lang/lang-fr.ts +++ b/src/frontend/lang/lang-fr.ts @@ -1250,6 +1250,4 @@ export const LANG_FR = { "configVisaWorkflowInDetailDesc" : "Permet de configurer le circuit de visa depuis la fiche détaillée", "noFile" : "Aucun fichier", "noFileMsg" : "<b>Attention</b>, aucun fichier téléversé.<br/><br/>Voulez-vous continuer ?", - - };