Mercurial > hg > ugly-duckling
annotate src/app/analysis-item/analysis-item.component.ts @ 224:1c1cc4ec183c
Setup analysis-item to display determinate spinner if progress prop provided when declared.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Fri, 21 Apr 2017 12:55:24 +0100 |
parents | 1db0bb28688b |
children | 0249ee049353 |
rev | line source |
---|---|
dev@170 | 1 /** |
dev@170 | 2 * Created by lucast on 21/03/2017. |
dev@170 | 3 */ |
dev@224 | 4 import {Component, Input, OnInit} from "@angular/core"; |
dev@181 | 5 import Waves from 'waves-ui'; |
dev@170 | 6 |
dev@200 | 7 export interface AnalysisItem { |
dev@200 | 8 rootAudioUri: string; |
dev@200 | 9 hasSharedTimeline: boolean; |
dev@200 | 10 isRoot: boolean; |
dev@200 | 11 extractorKey: string; |
dev@200 | 12 title?: string; |
dev@200 | 13 description?: string; |
dev@206 | 14 id?: string; |
dev@224 | 15 progress?: number; |
dev@170 | 16 } |
dev@170 | 17 |
dev@170 | 18 @Component({ |
dev@170 | 19 selector: 'ugly-analysis-item', |
dev@170 | 20 templateUrl: './analysis-item.component.html', |
dev@170 | 21 styleUrls: ['./analysis-item.component.css'] |
dev@170 | 22 }) |
dev@224 | 23 export class AnalysisItemComponent implements OnInit { |
dev@224 | 24 |
dev@189 | 25 @Input() timeline: Timeline; |
dev@188 | 26 @Input() title: string; |
dev@188 | 27 @Input() description: string; |
dev@200 | 28 @Input() isActive: boolean; |
dev@200 | 29 @Input() isRoot: boolean; |
dev@206 | 30 @Input() id: string; |
dev@224 | 31 @Input() progress: number; |
dev@224 | 32 private hasProgressOnInit = false; |
dev@224 | 33 |
dev@224 | 34 ngOnInit(): void { |
dev@224 | 35 this.hasProgressOnInit = this.progress != null; |
dev@224 | 36 } |
dev@224 | 37 |
dev@224 | 38 isLoading(): boolean { |
dev@224 | 39 return this.hasProgressOnInit && this.progress < 100; |
dev@224 | 40 } |
dev@170 | 41 } |