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 }