Skip to content

Commit c0f8918

Browse files
committed
Implemented Log Segments/Points
1 parent 21abbfe commit c0f8918

12 files changed

+157
-14
lines changed

src/app/app.component.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,12 @@ <h3>Select audio</h3>
2020
</button>&nbsp;
2121
</div>
2222

23-
<waveform-view [selectedAudio]="selectedAudio"></waveform-view>
23+
<waveform-view
24+
[selectedAudio]="selectedAudio"
25+
(segmentsEmitter)="updateSegments($event)"
26+
(pointsEmitter)="updatePoints($event)">
27+
</waveform-view>
28+
29+
<segments-list [segments]="segments"></segments-list>
30+
<points-list [points]="points"></points-list>
2431
</div>

src/app/app.component.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Component } from '@angular/core';
2+
import { Point, Segment } from 'peaks.js';
23

34
import ExampleAudio from './example-audio';
45

@@ -29,7 +30,18 @@ export class AppComponent {
2930
exampleAudio: ExampleAudio[] = audioUrls;
3031
selectedAudio: ExampleAudio = audioUrls[0];
3132

33+
segments: Segment[] = [];
34+
points: Point[] = [];
35+
3236
onSelect(audio: ExampleAudio): void {
3337
this.selectedAudio = audio;
3438
}
39+
40+
updateSegments(segments: Segment[]) {
41+
this.segments = segments;
42+
}
43+
44+
updatePoints(points: Point[]) {
45+
this.points = points;
46+
}
3547
}

src/app/app.module.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,15 @@ import { BrowserModule } from '@angular/platform-browser';
44
import { AppComponent } from './app.component';
55
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
66
import { WaveformViewComponent } from './waveform-view/waveform-view.component';
7+
import { SegmentsListComponent } from './segments-list/segments-list.component';
8+
import { PointsListComponent } from './points-list/points-list.component';
79

810
@NgModule({
911
declarations: [
1012
AppComponent,
11-
WaveformViewComponent
13+
WaveformViewComponent,
14+
SegmentsListComponent,
15+
PointsListComponent
1216
],
1317
imports: [
1418
BrowserModule,

src/app/points-list/points-list.component.css

Whitespace-only changes.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<h3 *ngIf="points.length > 0">Points</h3>
2+
3+
<table class="table table-striped" *ngIf="points.length > 0">
4+
<thead>
5+
<tr>
6+
<th scope="col">ID</th>
7+
<th scope="col">Time</th>
8+
<th scope="col">Label</th>
9+
</tr>
10+
</thead>
11+
<tbody>
12+
<tr *ngFor="let point of points">
13+
<td>{{ point.id }}</td>
14+
<td>{{ point.time }}</td>
15+
<td>{{ point.labelText }}</td>
16+
</tr>
17+
</tbody>
18+
</table>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { ComponentFixture, TestBed } from '@angular/core/testing';
2+
3+
import { PointsListComponent } from './points-list.component';
4+
5+
describe('PointsListComponent', () => {
6+
let component: PointsListComponent;
7+
let fixture: ComponentFixture<PointsListComponent>;
8+
9+
beforeEach(async () => {
10+
await TestBed.configureTestingModule({
11+
declarations: [ PointsListComponent ]
12+
})
13+
.compileComponents();
14+
15+
fixture = TestBed.createComponent(PointsListComponent);
16+
component = fixture.componentInstance;
17+
fixture.detectChanges();
18+
});
19+
20+
it('should create', () => {
21+
expect(component).toBeTruthy();
22+
});
23+
});
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Component, Input } from '@angular/core';
2+
import { Point } from 'peaks.js';
3+
4+
@Component({
5+
selector: 'points-list',
6+
templateUrl: './points-list.component.html',
7+
styleUrls: ['./points-list.component.css']
8+
})
9+
export class PointsListComponent {
10+
@Input() points: Point[] = [];
11+
}

src/app/segments-list/segments-list.component.css

Whitespace-only changes.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<h3 *ngIf="segments.length > 0">Segments</h3>
2+
3+
<table class="table table-striped" *ngIf="segments.length > 0">
4+
<thead>
5+
<tr>
6+
<th scope="col">ID</th>
7+
<th scope="col">Start Time</th>
8+
<th scope="col">End Time</th>
9+
<th scope="col">Label</th>
10+
</tr>
11+
</thead>
12+
<tbody>
13+
<tr *ngFor="let segment of segments">
14+
<td>{{ segment.id }}</td>
15+
<td>{{ segment.startTime }}</td>
16+
<td>{{ segment.endTime }}</td>
17+
<td>{{ segment.labelText }}</td>
18+
</tr>
19+
</tbody>
20+
</table>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { ComponentFixture, TestBed } from '@angular/core/testing';
2+
3+
import { SegmentsListComponent } from './segments-list.component';
4+
5+
describe('SegmentsListComponent', () => {
6+
let component: SegmentsListComponent;
7+
let fixture: ComponentFixture<SegmentsListComponent>;
8+
9+
beforeEach(async () => {
10+
await TestBed.configureTestingModule({
11+
declarations: [ SegmentsListComponent ]
12+
})
13+
.compileComponents();
14+
15+
fixture = TestBed.createComponent(SegmentsListComponent);
16+
component = fixture.componentInstance;
17+
fixture.detectChanges();
18+
});
19+
20+
it('should create', () => {
21+
expect(component).toBeTruthy();
22+
});
23+
});

0 commit comments

Comments
 (0)