diff --git a/tools/winscope-ng/src/app/components/app.component.spec.ts b/tools/winscope-ng/src/app/components/app.component.spec.ts index 2a208b782..9d4323f16 100644 --- a/tools/winscope-ng/src/app/components/app.component.spec.ts +++ b/tools/winscope-ng/src/app/components/app.component.spec.ts @@ -104,6 +104,7 @@ describe("AppComponent", () => { component.dataLoaded = false; fixture.detectChanges(); expect(htmlElement.querySelector(".welcome-info")).toBeTruthy(); + expect(htmlElement.querySelector(".active-trace-file-info")).toBeFalsy(); expect(htmlElement.querySelector(".collect-traces-card")).toBeTruthy(); expect(htmlElement.querySelector(".upload-traces-card")).toBeTruthy(); expect(htmlElement.querySelector(".viewers")).toBeFalsy(); @@ -113,6 +114,7 @@ describe("AppComponent", () => { component.dataLoaded = true; fixture.detectChanges(); expect(htmlElement.querySelector(".welcome-info")).toBeFalsy(); + expect(htmlElement.querySelector(".active-trace-file-info")).toBeTruthy(); expect(htmlElement.querySelector(".collect-traces-card")).toBeFalsy(); expect(htmlElement.querySelector(".upload-traces-card")).toBeFalsy(); expect(htmlElement.querySelector(".viewers")).toBeTruthy(); diff --git a/tools/winscope-ng/src/app/components/app.component.ts b/tools/winscope-ng/src/app/components/app.component.ts index d765aebb6..59ba872e3 100644 --- a/tools/winscope-ng/src/app/components/app.component.ts +++ b/tools/winscope-ng/src/app/components/app.component.ts @@ -58,7 +58,11 @@ import {UploadTracesComponent} from "./upload_traces.component"; -
+
+ + {{activeTraceFileInfo}} + +
+ color="primary" + mat-button + class="save-button" + (click)="downloadTracesButtonClick.emit()" + >Download all traces +
@@ -96,8 +97,8 @@ interface Tab extends View { export class TraceViewComponent { @Input() viewers!: Viewer[]; @Input() store!: PersistentStore; - @Output() onDownloadTracesButtonClick = new EventEmitter(); - @Output() onActiveViewChanged = new EventEmitter(); + @Output() downloadTracesButtonClick = new EventEmitter(); + @Output() activeViewChanged = new EventEmitter(); private elementRef: ElementRef; @@ -184,7 +185,7 @@ export class TraceViewComponent { } this.currentActiveTab = tab; - this.onActiveViewChanged.emit(tab); + this.activeViewChanged.emit(tab); } public isCurrentActiveTab(tab: Tab) { diff --git a/tools/winscope-ng/src/app/components/upload_traces.component.ts b/tools/winscope-ng/src/app/components/upload_traces.component.ts index 55e195dc2..3998b17c1 100644 --- a/tools/winscope-ng/src/app/components/upload_traces.component.ts +++ b/tools/winscope-ng/src/app/components/upload_traces.component.ts @@ -26,8 +26,8 @@ import {MatSnackBar} from "@angular/material/snack-bar"; import {UploadTracesComponentDependencyInversion} from "./upload_traces_component_dependency_inversion"; import {TraceData} from "app/trace_data"; import {TRACE_INFO} from "app/trace_info"; -import {Trace} from "common/trace/trace"; -import {FileUtils} from "common/utils/file_utils"; +import {Trace, TraceFile} from "common/trace/trace"; +import {FileUtils, OnFile} from "common/utils/file_utils"; import {ParserErrorSnackBarComponent} from "./parser_error_snack_bar_component"; @Component({ @@ -67,7 +67,7 @@ import {ParserErrorSnackBarComponent} from "./parser_error_snack_bar_component";

- {{trace.file.name}} ({{TRACE_INFO[trace.type].name}}) + {{trace.traceFile.file.name}} ({{TRACE_INFO[trace.type].name}})