Mercurial > hg > ugly-duckling
annotate src/app/feature-extraction-menu/feature-extraction-menu.component.ts @ 46:88052122ec01
Basic select box listing all outputs from available feature extractors a la Sonic Visualiser menus.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Mon, 05 Dec 2016 11:59:22 +0000 |
parents | 13f5f228ed98 |
children | 933c64ebcd13 |
rev | line source |
---|---|
dev@44 | 1 import {Component, OnInit} from '@angular/core'; |
dev@44 | 2 import {FeatureExtractionService} from "../services/feature-extraction/feature-extraction.service"; |
dev@44 | 3 |
dev@44 | 4 interface ExtractorInfo { |
dev@44 | 5 key: string; |
dev@44 | 6 name: string; |
dev@44 | 7 } |
dev@44 | 8 |
dev@44 | 9 @Component({ |
dev@44 | 10 selector: 'app-feature-extraction-menu', |
dev@44 | 11 templateUrl: './feature-extraction-menu.component.html', |
dev@44 | 12 styleUrls: ['./feature-extraction-menu.component.css'] |
dev@44 | 13 }) |
dev@44 | 14 export class FeatureExtractionMenuComponent implements OnInit { |
dev@44 | 15 |
dev@44 | 16 extractors: ExtractorInfo[]; |
dev@44 | 17 |
dev@44 | 18 constructor(private piperService: FeatureExtractionService) { |
dev@44 | 19 this.extractors = []; |
dev@44 | 20 } |
dev@44 | 21 |
dev@44 | 22 ngOnInit() { |
dev@44 | 23 this.piperService.list().then(available => { |
dev@46 | 24 const maxCharacterLimit = 50; |
dev@46 | 25 available.available.forEach(staticData => { |
dev@46 | 26 if (staticData.basicOutputInfo.length > 1) |
dev@46 | 27 staticData.basicOutputInfo.forEach(output => this.extractors.push({ |
dev@46 | 28 key: `${staticData.key}:${output.identifier}`, |
dev@46 | 29 name: `${staticData.basic.name}: ${output.name}`.substr(0, maxCharacterLimit) + '...' |
dev@46 | 30 }) |
dev@46 | 31 ); |
dev@46 | 32 else |
dev@46 | 33 this.extractors.push({ |
dev@46 | 34 key: staticData.key, |
dev@46 | 35 name: staticData.basic.name.substr(0, maxCharacterLimit) + '...' |
dev@46 | 36 }); |
dev@46 | 37 }); |
dev@44 | 38 }); |
dev@44 | 39 } |
dev@44 | 40 |
dev@44 | 41 } |