Skip to content
Snippets Groups Projects
Commit 67021624 authored by paf's avatar paf
Browse files

improve display of players in file list

parent 9087cd65
No related branches found
No related tags found
No related merge requests found
...@@ -27,10 +27,14 @@ ...@@ -27,10 +27,14 @@
</ng-container> </ng-container>
</div> </div>
<mat-card class="full-file-report"> <mat-card class="full-file-report">
<mat-card-header *ngIf="element.info.label || element.info.id"> <mat-card-header *ngIf="element.info.label || element.id">
<mat-card-title> <mat-card-title>
{{element.info.label || '#' + element.info.id}} {{element.info.label}}
<span *ngIf="element.info.label && element.info.id" style="color:silver">#{{element.info.id}}</span> <span
*ngIf="element.id !== element.name.toUpperCase()"
style="{{element.info.label ? 'color:silver' : ''}}">
#{{element.id}}
</span>
</mat-card-title> </mat-card-title>
<mat-card-subtitle>{{element.info.description}}</mat-card-subtitle> <mat-card-subtitle>{{element.info.description}}</mat-card-subtitle>
</mat-card-header> </mat-card-header>
......
...@@ -11,6 +11,7 @@ import { ...@@ -11,6 +11,7 @@ import {
ConfirmDialogComponent, ConfirmDialogData, MessageDialogComponent, ConfirmDialogComponent, ConfirmDialogData, MessageDialogComponent,
MessageDialogData, MessageType MessageDialogData, MessageType
} from 'iqb-components'; } from 'iqb-components';
import { map } from 'rxjs/operators';
import { WorkspaceDataService } from '../workspacedata.service'; import { WorkspaceDataService } from '../workspacedata.service';
import { GetFileResponseData } from '../workspace.interfaces'; import { GetFileResponseData } from '../workspace.interfaces';
import { BackendService, FileDeletionReport } from '../backend.service'; import { BackendService, FileDeletionReport } from '../backend.service';
...@@ -58,6 +59,7 @@ export class FilesComponent implements OnInit { ...@@ -58,6 +59,7 @@ export class FilesComponent implements OnInit {
constructor( constructor(
@Inject('SERVER_URL') private serverUrl: string, @Inject('SERVER_URL') private serverUrl: string,
@Inject('VERONA_API_VERSION_SUPPORTED') private veronaApiVersionSupported: string,
private bs: BackendService, private bs: BackendService,
public wds: WorkspaceDataService, public wds: WorkspaceDataService,
public confirmDialog: MatDialog, public confirmDialog: MatDialog,
...@@ -137,14 +139,14 @@ export class FilesComponent implements OnInit { ...@@ -137,14 +139,14 @@ export class FilesComponent implements OnInit {
this.serverfiles = new MatTableDataSource([]); this.serverfiles = new MatTableDataSource([]);
this.mds.setSpinnerOff(); this.mds.setSpinnerOff();
} else { } else {
this.bs.getFiles().subscribe( this.bs.getFiles()
(fileList: GetFileResponseData[]) => { .pipe(map(fileList => this.addFrontendChecksToFiles(fileList)))
.subscribe((fileList: GetFileResponseData[]) => {
this.serverfiles = new MatTableDataSource(fileList); this.serverfiles = new MatTableDataSource(fileList);
this.serverfiles.sort = this.sort; this.serverfiles.sort = this.sort;
this.fileStats = FilesComponent.getStats(fileList); this.fileStats = FilesComponent.getStats(fileList);
this.mds.setSpinnerOff(); this.mds.setSpinnerOff();
} });
);
} }
} }
...@@ -173,6 +175,26 @@ export class FilesComponent implements OnInit { ...@@ -173,6 +175,26 @@ export class FilesComponent implements OnInit {
return stats; return stats;
} }
private addFrontendChecksToFiles(fileList: GetFileResponseData[]): GetFileResponseData[] {
return fileList.map(files => this.addFrontendChecksToFile(files));
}
private addFrontendChecksToFile(file: GetFileResponseData): GetFileResponseData {
if (typeof file.info['verona-version'] !== 'undefined') {
const fileMayor = file.info['verona-version'].toString().split('.').shift();
const systemMayor = this.veronaApiVersionSupported.split('.').shift();
if (fileMayor !== systemMayor) {
if (typeof file.report.error === 'undefined') {
// eslint-disable-next-line no-param-reassign
file.report.error = [];
}
file.report.error.push(`Verona Version of this Player is not compatible
with this system's version (\`${this.veronaApiVersionSupported}\`)!`);
}
}
return file;
}
public download(element: GetFileResponseData): void { public download(element: GetFileResponseData): void {
this.mds.setSpinnerOn(); this.mds.setSpinnerOn();
this.bs.downloadFile(element.type, element.name) this.bs.downloadFile(element.type, element.name)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment