From 10a011313fe07ddd71db2d7c036395b346eede18 Mon Sep 17 00:00:00 2001 From: Alex ORLUC <alex.orluc@maarch.org> Date: Wed, 24 Jun 2020 14:28:35 +0200 Subject: [PATCH] FEAT #13671 TIME 1 show desc if err prerequisites --- src/frontend/app/app-routing.module.ts | 2 +- src/frontend/app/app.module.ts | 7 ++++--- .../app/installer/installer.component.html | 2 +- .../app/installer/installer.component.ts | 3 ++- .../prerequisite/prerequisite.component.html | 5 ++++- .../prerequisite/prerequisite.component.scss | 8 +++++++- .../prerequisite/prerequisite.component.ts | 19 +++++++++++++++++-- 7 files changed, 36 insertions(+), 10 deletions(-) diff --git a/src/frontend/app/app-routing.module.ts b/src/frontend/app/app-routing.module.ts index dc092bfa093..65ed51faa2b 100755 --- a/src/frontend/app/app-routing.module.ts +++ b/src/frontend/app/app-routing.module.ts @@ -44,7 +44,7 @@ const routes: Routes = [ { path: 'basketList/users/:userSerialId/groups/:groupSerialId/baskets/:basketId', canActivate: [AppGuard], component: BasketListComponent }, { path: 'login', component: LoginComponent }, { - path: '**', + path: '', redirectTo: 'home', pathMatch: 'full' }, diff --git a/src/frontend/app/app.module.ts b/src/frontend/app/app.module.ts index 43ee63abf7b..9f1408d4269 100755 --- a/src/frontend/app/app.module.ts +++ b/src/frontend/app/app.module.ts @@ -2,14 +2,15 @@ import { NgModule, Injectable } from '@angular/core'; import { SharedModule } from './app-common.module'; import { AppRoutingModule } from './app-routing.module'; -import { ProcessModule } from './process/process.module'; -import { DocumentViewerModule } from './viewer/document-viewer.module'; -import { AppListModule } from './app-list.module'; import { BrowserModule, HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http'; +import { ProcessModule } from './process/process.module'; +import { DocumentViewerModule } from './viewer/document-viewer.module'; +import { AppListModule } from './app-list.module'; + import { AuthInterceptor } from '../service/auth-interceptor.service'; import { FiltersListService } from '../service/filtersList.service'; import { FoldersService } from './folder/folders.service'; diff --git a/src/frontend/app/installer/installer.component.html b/src/frontend/app/installer/installer.component.html index aafc6c6b2db..699069827c0 100644 --- a/src/frontend/app/installer/installer.component.html +++ b/src/frontend/app/installer/installer.component.html @@ -7,7 +7,7 @@ <div class="container" [class.fullContainer]="appService.getViewMode()"> <div class="container-content" style="overflow: hidden;"> <mat-horizontal-stepper [@.disabled]="true" linear #stepper style="height: 100vh;overflow: auto;" (selectionChange)="initStep($event)"> - <mat-step> + <mat-step label="install"> <ng-template matStepLabel>Installation</ng-template> <div class="stepContainer"> <div class="stepContent"> diff --git a/src/frontend/app/installer/installer.component.ts b/src/frontend/app/installer/installer.component.ts index f758f1b7339..7dc6da11885 100644 --- a/src/frontend/app/installer/installer.component.ts +++ b/src/frontend/app/installer/installer.component.ts @@ -66,7 +66,8 @@ export class InstallerComponent implements OnInit, AfterViewInit { } initStep(ev: any) { - // console.log(ev.selectedStep.content); + console.log((ev)); + this.stepContent.toArray()[ev.selectedIndex].initStep(); } endInstall() { diff --git a/src/frontend/app/installer/prerequisite/prerequisite.component.html b/src/frontend/app/installer/prerequisite/prerequisite.component.html index 7a40fd37f87..bf5c3e80fd9 100644 --- a/src/frontend/app/installer/prerequisite/prerequisite.component.html +++ b/src/frontend/app/installer/prerequisite/prerequisite.component.html @@ -9,7 +9,10 @@ <mat-grid-tile *ngFor="let package of packagesList[groupPackage.key]"> <mat-list-item> <mat-icon mat-list-icon class="fa iconCheckPackage icon_{{package.state}}"></mat-icon> - <div mat-line class="packageName">{{lang['install_'+package.label]}} <i class="fa fa-info-circle" [title]="lang['install_'+package.label+'_desc']"></i></div> + <div mat-line class="packageName"> + {{lang['install_'+package.label]}} <i #toto="matTooltip" [id]="package.label" class="fa fa-info-circle" [matTooltip]="lang['install_'+package.label+'_desc']" + [matTooltipClass]="package.state !== 'ok' ? 'tooltip-red' : ''" matTooltipPosition="right"></i> + </div> </mat-list-item> </mat-grid-tile> </mat-grid-list> diff --git a/src/frontend/app/installer/prerequisite/prerequisite.component.scss b/src/frontend/app/installer/prerequisite/prerequisite.component.scss index e7e49b26f50..4e6723a95b0 100644 --- a/src/frontend/app/installer/prerequisite/prerequisite.component.scss +++ b/src/frontend/app/installer/prerequisite/prerequisite.component.scss @@ -66,4 +66,10 @@ opacity: 0.5; color: $primary; } -} \ No newline at end of file +} + +::ng-deep.tooltip-red { + background: #b71c1c; + font-size: 14px; + } + \ No newline at end of file diff --git a/src/frontend/app/installer/prerequisite/prerequisite.component.ts b/src/frontend/app/installer/prerequisite/prerequisite.component.ts index 3d7e25f1782..ab0a0b406ee 100644 --- a/src/frontend/app/installer/prerequisite/prerequisite.component.ts +++ b/src/frontend/app/installer/prerequisite/prerequisite.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChildren, QueryList, ViewChild, ElementRef } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { HttpClient } from '@angular/common/http'; import { tap } from 'rxjs/internal/operators/tap'; @@ -7,6 +7,7 @@ import { of } from 'rxjs/internal/observable/of'; import { catchError } from 'rxjs/internal/operators/catchError'; import { LANG } from '../../translate.component'; import { environment } from '../../../environments/environment'; +import { MatTooltip } from '@angular/material/tooltip'; @Component({ selector: 'app-prerequisite', @@ -63,7 +64,7 @@ export class PrerequisiteComponent implements OnInit { { label: 'fileinfo', required: true - }, { + }, { label: 'pdoPgsql', required: true }, @@ -106,6 +107,8 @@ export class PrerequisiteComponent implements OnInit { docMaarchUrl: string = `https://docs.maarch.org/gitbook/html/MaarchCourrier/${environment.VERSION.split('.')[0] + '.' + environment.VERSION.split('.')[1]}/guat/guat_prerequisites/home.html`; + @ViewChildren('toto') toto: QueryList<any>; + constructor( public http: HttpClient, private notify: NotificationService, @@ -141,6 +144,18 @@ export class PrerequisiteComponent implements OnInit { ).subscribe(); } + initStep() { + let i = 0; + Object.keys(this.packagesList).forEach(group => { + this.packagesList[group].forEach((item: any, key: number) => { + if (this.packagesList[group][key].state === 'ko') { + this.toto.toArray().filter((itemKo: any) => itemKo._elementRef.nativeElement.id === this.packagesList[group][key].label)[0].toggle(); + } + i++; + }); + }); + } + checkStep() { let state = 'success'; Object.keys(this.packagesList).forEach((group: any) => { -- GitLab