From 19061f898b58b2ce1a27d5b9657292e0c958422b Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Thu, 25 Jul 2019 19:34:15 +0200 Subject: [PATCH] FEAT #11296 TIME 1:30 begin document folder list --- src/frontend/app/app-routing.module.ts | 2 ++ .../folder-document-list.component.html | 8 ++--- .../folder-document-list.component.ts | 34 +++++++++---------- .../app/folder/folder-tree.component.ts | 5 ++- .../folder/panel/panel-folder.component.html | 2 +- .../folder/panel/panel-folder.component.ts | 4 ++- 6 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/frontend/app/app-routing.module.ts b/src/frontend/app/app-routing.module.ts index 4b492646a7c..1de7102e906 100755 --- a/src/frontend/app/app-routing.module.ts +++ b/src/frontend/app/app-routing.module.ts @@ -11,6 +11,7 @@ import { SignatureBookComponent } from './signature-book.component'; import { SaveNumericPackageComponent } from './save-numeric-package.component'; import { PrintSeparatorComponent } from './separator/print-separator/print-separator.component'; import { AppGuard } from '../service/app.guard'; +import { FolderDocumentListComponent } from './folder/document-list/folder-document-list.component'; @NgModule({ imports: [ @@ -21,6 +22,7 @@ import { AppGuard } from '../service/app.guard'; { path: 'about-us', canActivate: [AppGuard], component: AboutUsComponent }, { path: 'home', canActivate: [AppGuard], component: HomeComponent }, { path: 'basketList/users/:userSerialId/groups/:groupSerialId/baskets/:basketId', canActivate: [AppGuard], component: BasketListComponent }, + { path: 'folders/:folderId', canActivate: [AppGuard], component: FolderDocumentListComponent }, { path: 'saveNumericPackage', canActivate: [AppGuard], component: SaveNumericPackageComponent }, { path: 'separators/print', canActivate: [AppGuard], component: PrintSeparatorComponent }, { path: 'signatureBook/users/:userId/groups/:groupId/baskets/:basketId/resources/:resId', canActivate: [AppGuard],component: SignatureBookComponent }, 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 708a3cef746..ab65e8eb496 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 @@ -5,9 +5,9 @@ <header-panel [snavLeft]="snav"></header-panel> <menu-shortcut></menu-shortcut> <menu-nav></menu-nav> - <basket-home *ngIf="homeData" #basketHome [homeData]="homeData" [snavL]="snav" - [currentBasketInfo]="currentBasketInfo"></basket-home> + <basket-home *ngIf="homeData" #basketHome [homeData]="homeData" [snavL]="snav"></basket-home> <mat-divider></mat-divider> + <panel-folder *ngIf="folderInfo.id > 0" [selectedId]="folderInfo.id"></panel-folder> </mat-sidenav> <mat-sidenav-content> <mat-card id="viewThumbnail" style="display:none;position: fixed;z-index: 2;margin-left: 1px;"><img style="max-height: 100vh;" src="{{thumbnailUrl}}" /></mat-card> @@ -42,8 +42,8 @@ </div> <div class="table-head-tool"> <span> - <app-tools-list #actionsList [selectedRes]="selectedRes" - [currentBasketInfo]="currentBasketInfo"></app-tools-list> + <!--<app-tools-list #actionsList [selectedRes]="selectedRes" + [currentBasketInfo]="currentBasketInfo"></app-tools-list>--> </span> <span> <mat-paginator #paginatorResultList [length]="resultsLength" [pageSize]="10" 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 c4c884ed20c..3ba27915f68 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 @@ -13,6 +13,7 @@ import { HeaderService } from '../../../service/header.service'; import { Overlay } from '@angular/cdk/overlay'; import { PanelListComponent } from '../../list/panel/panel-list.component'; import { AppService } from '../../../service/app.service'; +import { ThrowStmt } from '@angular/compiler'; declare function $j(selector: any): any; @@ -63,7 +64,6 @@ export class FolderDocumentListComponent implements OnInit { resultsLength = 0; isLoadingResults = true; listProperties: any = {}; - currentBasketInfo: any = {}; currentChrono: string = ''; currentMode: string = ''; @@ -72,6 +72,9 @@ export class FolderDocumentListComponent implements OnInit { selectedRes: number[] = []; allResInBasket: number[] = []; selectedDiffusionTab: number = 0; + folderInfo: any = { + id: 0 + }; private destroy$ = new Subject<boolean>(); @@ -109,13 +112,7 @@ export class FolderDocumentListComponent implements OnInit { this.route.params.subscribe(params => { this.destroy$.next(true); - this.basketUrl = '../../rest/resourcesList/users/' + params['userSerialId'] + '/groups/' + params['groupSerialId'] + '/baskets/' + params['basketId']; - - this.currentBasketInfo = { - ownerId: params['userSerialId'], - groupId: params['groupSerialId'], - basketId: params['basketId'] - }; + this.basketUrl = '../../rest/folders/' + params['folderId']; this.selectedRes = []; this.sidenavRight.close(); window['MainHeaderComponent'].setSnav(this.sidenavLeft); @@ -149,14 +146,20 @@ export class FolderDocumentListComponent implements OnInit { return this.resultListDatabase!.getRepoIssues( this.sort.active, this.sort.direction, this.paginator.pageIndex, this.basketUrl); }), + map(data => data.folder), map(data => { + this.folderInfo = + { + "id": data.id, + "label": data.label + + }; // Flip flag to show that loading has finished. this.isLoadingResults = false; data = this.processPostData(data); - this.resultsLength = data.count; - this.allResInBasket = data.allResources; - this.currentBasketInfo.basket_id = data.basket_id; - this.headerService.setHeader(data.basketLabel); + this.resultsLength = data.countResources; + //this.allResInBasket = data.countResources; + this.headerService.setHeader('Dossier : ' + this.folderInfo.label); return data.resources; }), catchError((err: any) => { @@ -274,12 +277,9 @@ export class FolderDocumentListComponent implements OnInit { } } export interface BasketList { + folder: any; resources: any[]; - count: number; - basketLabel: string, - basket_id: string, - defaultAction: any; - allResources: number[] + countResources: number } export class ResultListHttpDao { diff --git a/src/frontend/app/folder/folder-tree.component.ts b/src/frontend/app/folder/folder-tree.component.ts index 77fded04038..24636d70b87 100644 --- a/src/frontend/app/folder/folder-tree.component.ts +++ b/src/frontend/app/folder/folder-tree.component.ts @@ -8,6 +8,7 @@ import { MatTreeFlatDataSource, MatTreeFlattener, MatDialog, MatDialogRef } from import { BehaviorSubject, of } from 'rxjs'; import { NotificationService } from '../notification.service'; import { ConfirmComponent } from '../../plugins/modal/confirm.component'; +import { Router } from '@angular/router'; declare function $j(selector: any): any; /** @@ -95,7 +96,8 @@ export class FolderTreeComponent implements OnInit { constructor( public http: HttpClient, private notify: NotificationService, - private dialog: MatDialog + private dialog: MatDialog, + private router: Router, ) { } ngOnInit(): void { @@ -147,6 +149,7 @@ export class FolderTreeComponent implements OnInit { element.selected = false; }); node.selected = true; + this.router.navigate(['/folders/'+node.id]); } showAction(node: any) { diff --git a/src/frontend/app/folder/panel/panel-folder.component.html b/src/frontend/app/folder/panel/panel-folder.component.html index 028fed08d00..d69b693f83b 100644 --- a/src/frontend/app/folder/panel/panel-folder.component.html +++ b/src/frontend/app/folder/panel/panel-folder.component.html @@ -4,5 +4,5 @@ {{lang.folders}} </mat-panel-title> </mat-expansion-panel-header> - <folder-tree></folder-tree> + <folder-tree [selectedId]="id"></folder-tree> </mat-expansion-panel> diff --git a/src/frontend/app/folder/panel/panel-folder.component.ts b/src/frontend/app/folder/panel/panel-folder.component.ts index 2cae46215e9..884195a3656 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 } from '@angular/core'; +import { Component, OnInit, Input } from '@angular/core'; import { LANG } from '../../translate.component'; declare function $j(selector: any): any; @@ -12,6 +12,8 @@ export class PanelFolderComponent implements OnInit { lang: any = LANG; + @Input('selectedId') id: number; + constructor() { } ngOnInit(): void { } -- GitLab