From 67c9631e6915fb4f7214389c530d6567b7d8b3ad Mon Sep 17 00:00:00 2001 From: paf <paf@titelfrei.de> Date: Mon, 4 Jan 2021 11:43:55 +0100 Subject: [PATCH] nicer fileValididationReport-Display --- src/app/shared/alert/alert.component.ts | 16 ++++++++++++++++ src/app/shared/alert/alert.module.ts | 11 +++++++++++ .../workspace-admin/files/files.component.css | 2 +- .../workspace-admin/files/files.component.html | 2 +- src/app/workspace-admin/workspace.module.ts | 4 +++- 5 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 src/app/shared/alert/alert.component.ts create mode 100644 src/app/shared/alert/alert.module.ts diff --git a/src/app/shared/alert/alert.component.ts b/src/app/shared/alert/alert.component.ts new file mode 100644 index 00000000..c4600567 --- /dev/null +++ b/src/app/shared/alert/alert.component.ts @@ -0,0 +1,16 @@ +import { Component, Input, ViewEncapsulation } from '@angular/core'; + +@Component({ + selector: 'alert', + template: '<span [innerHTML]="transform(text)"></span>', + styles: ['.highlight {color: #003333}'], + encapsulation: ViewEncapsulation.None +}) +export class AlertComponent { + @Input() text: string; + + transform = (text: string): string => text.replace( + /\u0060([^\u0060]+)\u0060/g, + (match, match2) => `<span style='color:green' class='highlight'>${match2}</span>` + ); +} diff --git a/src/app/shared/alert/alert.module.ts b/src/app/shared/alert/alert.module.ts new file mode 100644 index 00000000..6c18d2f2 --- /dev/null +++ b/src/app/shared/alert/alert.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { AlertComponent } from './alert.component'; + +@NgModule({ + imports: [], + exports: [ + AlertComponent + ], + declarations: [AlertComponent] +}) +export class AlertModule { } diff --git a/src/app/workspace-admin/files/files.component.css b/src/app/workspace-admin/files/files.component.css index 4f8eb512..541eef91 100644 --- a/src/app/workspace-admin/files/files.component.css +++ b/src/app/workspace-admin/files/files.component.css @@ -36,7 +36,7 @@ .report-error, .checkerror { - color: brown; + color: #821324; } .report-warning, diff --git a/src/app/workspace-admin/files/files.component.html b/src/app/workspace-admin/files/files.component.html index 060a242c..7a1746ed 100644 --- a/src/app/workspace-admin/files/files.component.html +++ b/src/app/workspace-admin/files/files.component.html @@ -38,7 +38,7 @@ <div *ngFor="let message of element.report[level]"> <div class="vertical-align-middle"> <mat-icon class="report-{{level}}">{{level}}</mat-icon> - <span>{{message}}</span> + <alert text="{{message}}"></alert> </div> </div> </ng-container> diff --git a/src/app/workspace-admin/workspace.module.ts b/src/app/workspace-admin/workspace.module.ts index 8f5ed6a8..591c3ac1 100644 --- a/src/app/workspace-admin/workspace.module.ts +++ b/src/app/workspace-admin/workspace.module.ts @@ -29,6 +29,7 @@ import { FilesComponent } from './files/files.component'; import { ResultsComponent } from './results/results.component'; import { SyscheckComponent } from './syscheck/syscheck.component'; import { IqbFilesModule } from './files/iqb-files'; +import { AlertModule } from '../shared/alert/alert.module'; @NgModule({ imports: [ @@ -55,7 +56,8 @@ import { IqbFilesModule } from './files/iqb-files'; IqbComponentsModule, MatCardModule, FlexLayoutModule, - IqbFilesModule + IqbFilesModule, + AlertModule ], exports: [ WorkspaceComponent -- GitLab