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 }