annotate src/app/analysis-item/analysis-item.component.html @ 394:f45a916eb5b1

Use the cross hair layer for notes, tracks and curve. This involved bodging in unit to ShapedFeatureData, which isn't particularly easy to do because this isn't an encapsulated type. Need to come back to improving this, as I am monkey-patching a unit property onto Arrays etc.
author Lucas Thompson <dev@lucas.im>
date Thu, 01 Jun 2017 18:55:55 +0100
parents 26ca17e67364
children 3eab26a629e1
rev   line source
dev@170 1 <md-card>
dev@170 2 <md-card-header>
dev@231 3 <md-card-title>{{item.title}}</md-card-title>
dev@231 4 <md-card-subtitle>{{item.description}}</md-card-subtitle>
dev@170 5 </md-card-header>
dev@170 6 <md-card-content>
dev@236 7 <ng-template [ngIf]="isLoading()">
dev@231 8 <ugly-progress-bar
dev@224 9 [isDeterminate]="true"
dev@231 10 [progress]="item.progress"
dev@231 11 ></ugly-progress-bar>
dev@236 12 </ng-template>
dev@348 13 <div class="content">
dev@348 14 <ng-template [ngIf]="!isLoading()">
dev@348 15 <ng-template [ngIf]="isActive && isAudioItem()">
dev@348 16 <ugly-live-play-head
dev@348 17 [timeToPixel]="DOES_NOT_BELONG_HERE"
dev@348 18 [colour]="'#c33c54'"
dev@348 19 >
dev@348 20 </ugly-live-play-head>
dev@348 21 </ng-template>
dev@379 22 <ugly-waveform
dev@379 23 *ngIf="isAudioItem(); else notAudio"
dev@348 24 [timeline]="timeline"
dev@348 25 [width]="contentWidth"
dev@348 26 [audioBuffer]="item.audioData"
dev@348 27 [onSeek]="onSeek"
dev@379 28 [colour]="'#0868ac'"
dev@348 29 ></ugly-waveform>
dev@363 30
dev@363 31 <ng-template #notAudio>
dev@365 32 <div class="content"
dev@363 33 *ngIf="getFeatureShape() as shape; else showSpinner">
dev@365 34 <div [ngSwitch]="shape" class="content">
dev@365 35 <ugly-curve
dev@365 36 *ngSwitchCase="'vector'"
dev@381 37 [colour]="getNextColour()"
dev@365 38 [timeline]="timeline"
dev@365 39 [width]="contentWidth"
dev@365 40 [onSeek]="onSeek"
dev@372 41 [curve]="item.collected"
dev@370 42 ></ugly-curve>
dev@394 43 <ugly-cross-hair-inspector *ngSwitchCase="'tracks'">
dev@390 44 <ugly-tracks
dev@390 45 [colour]="getNextColour()"
dev@390 46 [timeline]="timeline"
dev@390 47 [width]="contentWidth"
dev@390 48 [onSeek]="onSeek"
dev@390 49 [tracks]="item.collected"
dev@390 50 ></ugly-tracks>
dev@394 51 </ugly-cross-hair-inspector>
dev@394 52 <ugly-cross-hair-inspector *ngSwitchCase="'notes'">
dev@390 53 <ugly-notes
dev@390 54 [colour]="getNextColour()"
dev@390 55 [timeline]="timeline"
dev@390 56 [width]="contentWidth"
dev@390 57 [onSeek]="onSeek"
dev@390 58 [notes]="item.collected"
dev@390 59 ></ugly-notes>
dev@394 60 </ugly-cross-hair-inspector>
dev@381 61 <ugly-instants
dev@381 62 *ngSwitchCase="'instants'"
dev@381 63 [colour]="getNextColour()"
dev@381 64 [timeline]="timeline"
dev@381 65 [width]="contentWidth"
dev@381 66 [onSeek]="onSeek"
dev@381 67 [instants]="item.collected"
dev@381 68 ></ugly-instants>
dev@382 69 <ugly-grid
dev@382 70 *ngSwitchCase="'matrix'"
dev@382 71 [timeline]="timeline"
dev@382 72 [width]="contentWidth"
dev@382 73 [onSeek]="onSeek"
dev@382 74 [grid]="item.collected"
dev@382 75 ></ugly-grid>
dev@382 76
dev@363 77 <div *ngSwitchDefault>Feature cannot be visualised.</div>
dev@363 78 </div>
dev@363 79 </div>
dev@363 80 <ng-template #showSpinner>
dev@363 81 <ugly-progress-spinner></ugly-progress-spinner>
dev@363 82 </ng-template>
dev@348 83 </ng-template>
dev@363 84
dev@348 85 </ng-template>
dev@348 86 </div>
dev@170 87 </md-card-content>
dev@170 88 </md-card>