diff --git a/frontend/src/app/annotate/annotation-menu/annotation-menu.component.html b/frontend/src/app/annotate/annotation-menu/annotation-menu.component.html index 820687f..6383f4a 100644 --- a/frontend/src/app/annotate/annotation-menu/annotation-menu.component.html +++ b/frontend/src/app/annotate/annotation-menu/annotation-menu.component.html @@ -23,6 +23,8 @@
@if (proofs) { + } @else { + }
@@ -36,6 +38,8 @@
@if (proofs) { + } @else { + }
diff --git a/frontend/src/app/annotate/annotation-menu/annotation-menu.component.ts b/frontend/src/app/annotate/annotation-menu/annotation-menu.component.ts index 1fdb485..1ba1af4 100644 --- a/frontend/src/app/annotate/annotation-menu/annotation-menu.component.ts +++ b/frontend/src/app/annotate/annotation-menu/annotation-menu.component.ts @@ -11,6 +11,7 @@ import { ParseService } from "@/services/parse.service"; import { AnnotationParseResultsComponent } from "../annotation-parse-results/annotation-parse-results.component"; import { TableauSVG } from '../tableau-svg/tableau-svg.component'; import { AnnotationCommentsComponent } from "../annotation-comments/annotation-comments.component"; +import { NoDataComponent } from "@/shared/no-data/no-data.component"; @Component({ selector: "la-annotation-menu", @@ -22,6 +23,7 @@ import { AnnotationCommentsComponent } from "../annotation-comments/annotation-c AnnotationParseResultsComponent, TableauSVG, AnnotationCommentsComponent, + NoDataComponent, ], templateUrl: "./annotation-menu.component.html", styleUrl: "./annotation-menu.component.scss", diff --git a/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.html b/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.html index 2700127..3468c82 100644 --- a/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.html +++ b/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.html @@ -21,9 +21,7 @@

} @empty { -
- No parse results to display yet. Press the 'Parse and Prove' button to see the parse results. -
+ } diff --git a/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.ts b/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.ts index e96ec5a..7181b56 100644 --- a/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.ts +++ b/frontend/src/app/annotate/annotation-parse-results/annotation-parse-results.component.ts @@ -6,6 +6,7 @@ import { NgbAccordionModule } from "@ng-bootstrap/ng-bootstrap"; import { map } from "rxjs"; import { CommonModule } from "@angular/common"; import { CCGNode, CCGParse } from "@/types"; +import { NoDataComponent } from "@/shared/no-data/no-data.component"; export interface TreeWithType { type: string; @@ -35,7 +36,12 @@ function unfoldParseResult(parse: CCGParse): UnfoldedParseResult { @Component({ selector: "la-annotation-parse-results", standalone: true, - imports: [ParseTreeTableComponent, NgbAccordionModule, CommonModule], + imports: [ + ParseTreeTableComponent, + NgbAccordionModule, + CommonModule, + NoDataComponent, + ], templateUrl: "./annotation-parse-results.component.html", styleUrl: "./annotation-parse-results.component.scss", }) diff --git a/frontend/src/app/shared/no-data/no-data.component.html b/frontend/src/app/shared/no-data/no-data.component.html new file mode 100644 index 0000000..cb3faae --- /dev/null +++ b/frontend/src/app/shared/no-data/no-data.component.html @@ -0,0 +1,6 @@ +@let noDataType = dataType(); + + + No {{ noDataType }} results to display yet. Press the 'Parse and Prove' + button to see the {{ noDataType }} results. + diff --git a/frontend/src/app/shared/no-data/no-data.component.scss b/frontend/src/app/shared/no-data/no-data.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/app/shared/no-data/no-data.component.spec.ts b/frontend/src/app/shared/no-data/no-data.component.spec.ts new file mode 100644 index 0000000..a0a7c36 --- /dev/null +++ b/frontend/src/app/shared/no-data/no-data.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { NoDataComponent } from './no-data.component'; + +describe('NoDataComponent', () => { + let component: NoDataComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [NoDataComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(NoDataComponent); + component = fixture.componentInstance; + const componentRef = fixture.componentRef; + componentRef.setInput("dataType", "parse"); + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/frontend/src/app/shared/no-data/no-data.component.ts b/frontend/src/app/shared/no-data/no-data.component.ts new file mode 100644 index 0000000..857cbc5 --- /dev/null +++ b/frontend/src/app/shared/no-data/no-data.component.ts @@ -0,0 +1,11 @@ +import { Component, input } from '@angular/core'; + +@Component({ + selector: 'la-no-data', + templateUrl: './no-data.component.html', + styleUrl: './no-data.component.scss', + standalone: true, +}) +export class NoDataComponent { + public readonly dataType = input.required<'parse' | 'proof'>(); +}