annotate src/app/progress-spinner/progress-spinner.component.ts @ 236:53ea6406d601

Generate new project with latest @angular/cli, including Angular 4.
author Lucas Thompson <dev@lucas.im>
date Tue, 25 Apr 2017 20:01:09 +0100
parents 1c1cc4ec183c
children cf4a17efb5d4
rev   line source
dev@115 1 /**
dev@115 2 * Created by lucast on 14/03/2017.
dev@115 3 */
dev@115 4
dev@115 5
dev@236 6 import {Component, Input} from '@angular/core';
dev@115 7 @Component({
dev@115 8 selector: 'ugly-progress-spinner',
dev@115 9 template: `
dev@115 10 <div class="container" [hidden]="!isVisible">
dev@115 11 <md-spinner
dev@115 12 class="spinner"
dev@224 13 [attr.color]="'primary'"
dev@224 14 [mode]="isDeterminate ? 'determinate' : 'indeterminate'"
dev@224 15 [value]="currentProcess"
dev@115 16 ></md-spinner>
dev@115 17 </div>
dev@115 18 `,
dev@115 19 styles: [`
dev@115 20 .container {
dev@115 21 height: 40px;
dev@115 22 width: 40px;
dev@115 23 position: absolute;
dev@197 24 top: calc(50% - 20px);
dev@197 25 left: calc(50% - 20px);
dev@115 26 }
dev@224 27
dev@115 28 .spinner {
dev@115 29 width: 100%;
dev@115 30 height: 100%;
dev@115 31 }
dev@115 32 `]
dev@115 33 })
dev@115 34 export class ProgressSpinnerComponent {
dev@236 35 private currentProcess = 0;
dev@224 36
dev@236 37 @Input() isVisible = true;
dev@236 38 @Input() isDeterminate = false;
dev@224 39 @Input()
dev@224 40 set progress(value: number) {
dev@224 41 if (value < 0) {
dev@224 42 this.currentProcess = 0;
dev@224 43 } else if (value > 100) {
dev@224 44 this.currentProcess = 100;
dev@224 45 } else {
dev@224 46 this.currentProcess = value;
dev@224 47 }
dev@224 48 }
dev@115 49 }