From 9a7bc39db7fc1d50b77770981ef95b197ff8a5d7 Mon Sep 17 00:00:00 2001 From: Alex Orluc <alex.orluc@maarch.org> Date: Thu, 31 May 2018 17:59:36 +0200 Subject: [PATCH] FEAT #7731 add docservers component --- .../docservers-administration.component.html | 73 ++++++++++++++++++- .../docservers-administration.component.ts | 56 ++++++++++++-- 2 files changed, 122 insertions(+), 7 deletions(-) diff --git a/apps/maarch_entreprise/Views/docservers-administration.component.html b/apps/maarch_entreprise/Views/docservers-administration.component.html index efb7bea3ca8..db9da702701 100644 --- a/apps/maarch_entreprise/Views/docservers-administration.component.html +++ b/apps/maarch_entreprise/Views/docservers-administration.component.html @@ -19,7 +19,76 @@ <mat-spinner style="margin:auto;"></mat-spinner> </div> <mat-card *ngIf="!loading" class="card-app-content"> + <h3>Zone documentaire <small>DOC</small></h3> + <hr/> <div class="row"> + <div class="col-md-4" *ngFor="let docserver of this.docserversFasthd"> + <mat-card> + <div color="warn" style="position: absolute;top: 10px;left: 10px;font-weight: bold;"> + {{docserver.priority_number}} + </div> + <button *ngIf="docserver.is_readonly == 'N'" mat-icon-button color="accent" style="position: absolute;top: 5px;right:10px;" title="Verrouiller la zone de stockage (lecture seule)"> + <mat-icon class="fa fa-lock-open"></mat-icon> + </button> + <button *ngIf="docserver.is_readonly == 'Y'" mat-icon-button color="warn" style="position: absolute;top: 5px;right:10px;" title="Déverouiller la zone de stockage (lecture seule)"> + <mat-icon class="fa fa-lock"></mat-icon> + </button> + <div class="row" style="margin-top: 10px;"> + <div class="col-md-12"> + <mat-form-field> + <input matInput required name="label" id="label" title="{{lang.label}}" type="text" placeholder="{{lang.label}}" maxlength="255" + [(ngModel)]="docserver.device_label" [disabled]="docserver.is_readonly == 'Y'"> + </mat-form-field> + </div> + <div class="col-md-4"> + <mat-progress-spinner *ngIf="docserver.percent_number < 70" name="percent_val" id="percent_val" color="primary" mode="determinate" [value]="docserver.percent_number" style="margin:auto;"> + </mat-progress-spinner> + <mat-progress-spinner *ngIf="docserver.percent_number >= 70" name="percent_val" id="percent_val" color="warn" mode="determinate" [value]="docserver.percent_number" style="margin:auto;"> + </mat-progress-spinner> + <span style="position: absolute;top: 40px;left:60px;font-weight: bold;" title="{{docserver.actual_size_number}} Go">{{docserver.percent_number}}%</span> + </div> + <div class="col-md-8"> + <mat-form-field> + <input matInput required name="Collection" id="Collection" title="Collection" type="text" placeholder="Collection" + [(ngModel)]="docserver.coll_id" maxlength="255" disabled> + </mat-form-field> + <mat-form-field> + <input matInput required name="identifier" id="identifier" title="Identifiant" type="text" placeholder="Identifiant" + [(ngModel)]="docserver.docserver_id" maxlength="255" disabled> + </mat-form-field> + <mat-form-field> + <mat-select id="status" name="status" title="Docserver secondaire" placeholder="Docserver secondaire" + required> + <mat-option value="none"> + Aucun + </mat-option> + <mat-option value="fasthd_man_2"> + FASTHD_MAN_2 + </mat-option> + </mat-select> + </mat-form-field> + <mat-form-field> + <input matInput required name="max_size" id="max_size" title="Taille maximale" type="number" placeholder="Taille maximale" + [(ngModel)]="docserver.size_limit_number" [disabled]="docserver.is_readonly == 'Y'"> + <span matSuffix> Go</span> + </mat-form-field> + </div> + <div class="col-md-12"> + <mat-form-field> + <input matInput required name="path" id="path" title="path" type="text" placeholder="Chemin" maxlength="255" [(ngModel)]="docserver.path_template" [disabled]="docserver.is_readonly == 'Y'"> + </mat-form-field> + </div> + </div> + + </mat-card> + </div> + </div> + <h3>Zone Imagette</h3> + <hr/> + <div class="row"> + + </div> + <!--<div class="row"> <div class="col-md-6 col-xs-6"> <mat-form-field> <input matInput (keyup)="applyFilter($event.target.value)" placeholder="{{lang.filterBy}}"> @@ -56,8 +125,8 @@ </ng-container> <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row> <mat-row *matRowDef="let row; columns: displayedColumns;" routerLink="/administration/docservers/{{row.docserver_id}}" style="cursor:pointer;" matTooltip="{{lang.view}}"></mat-row> - </mat-table> + </mat-table>--> </mat-card> </mat-sidenav-content> - </mat-sidenav-container> + </mat-sidenav-container> </div> \ No newline at end of file diff --git a/apps/maarch_entreprise/js/angular/app/administration/docservers-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/docservers-administration.component.ts index 62a7c7f6dd5..dab84c6f19d 100644 --- a/apps/maarch_entreprise/js/angular/app/administration/docservers-administration.component.ts +++ b/apps/maarch_entreprise/js/angular/app/administration/docservers-administration.component.ts @@ -23,6 +23,7 @@ export class DocserversAdministrationComponent implements OnInit { dataSource : any; docservers : any = {}; + docserversFasthd : any = []; @ViewChild(MatPaginator) paginator: MatPaginator; @ViewChild(MatSort) sort: MatSort; @@ -53,11 +54,56 @@ export class DocserversAdministrationComponent implements OnInit { this.http.get(this.coreUrl + 'rest/docservers') .subscribe((data: any) => { this.docservers = data.docservers; - setTimeout(() => { - this.dataSource = new MatTableDataSource(this.docservers); - this.dataSource.paginator = this.paginator; - this.dataSource.sort = this.sort; - }, 0); + + this.docserversFasthd = [ + { + actual_size_number: 44444444444, + adr_priority_number: 2, + coll_id: "letterbox_coll", + creation_date: "2011-01-13 14:47:49.197164", + device_label: "Fast internal disc bay for letterbox mode", + docserver_id: "FASTHD_MAN", + docserver_location_id: "NANTERRE", + docserver_type_id: "DOC", + enabled: "Y", + is_readonly: "N", + path_template: "/var/www/html/docservers/maarch_courrier_develop/manual/", + priority_number: 10, + size_limit_number: 50000000000 + }, + { + actual_size_number: 2455890616, + adr_priority_number: 2, + coll_id: "letterbox_coll", + creation_date: "2011-01-13 14:47:49.197164", + device_label: "Fast internal disc bay for letterbox mode", + docserver_id: "FASTHD_AI", + docserver_location_id: "NANTERRE", + docserver_type_id: "DOC", + enabled: "Y", + is_readonly: "Y", + path_template: "/var/www/html/docservers/maarch_courrier_develop/ai/", + priority_number: 10, + size_limit_number: 50000000000 + } + ] + this.docserversFasthd.forEach((elem: any, index: number) => { + var factor = null; + + elem.size_limit_number = elem.size_limit_number / 1000000000; + factor = Math.pow(10, 2); + elem.size_limit_number = Math.round(elem.size_limit_number * factor) / factor; + + elem.actual_size_number = elem.actual_size_number / 1000000000; + factor = Math.pow(10, 2); + elem.actual_size_number = Math.round(elem.actual_size_number * factor) / factor; + + //percent + elem.percent_number = (elem.actual_size_number*100)/elem.size_limit_number; + }); + + console.log(this.docserversFasthd); + this.loading = false; }); -- GitLab