Mercurial > hg > ugly-duckling
changeset 441:55e17af8a0ee
Small refactor.
author | Lucas Thompson <dev@lucas.im> |
---|---|
date | Mon, 26 Jun 2017 11:00:21 +0100 |
parents | 8f658642d031 |
children | 51a5df5569a4 |
files | src/app/feature-extraction-menu/feature-extraction-menu.component.html src/app/feature-extraction-menu/feature-extraction-menu.component.ts |
diffstat | 2 files changed, 17 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/src/app/feature-extraction-menu/feature-extraction-menu.component.html Mon Jun 26 01:55:11 2017 +0100 +++ b/src/app/feature-extraction-menu/feature-extraction-menu.component.html Mon Jun 26 11:00:21 2017 +0100 @@ -7,9 +7,7 @@ <md-list-item *ngFor="let output of extractor.outputs" (click)="extract(output)"> - <md-icon md-list-icon> - {{output.iconName ? output.iconName : 'extension'}} - </md-icon> + <md-icon md-list-icon>{{getFeatureIconName(output)}}</md-icon> <h4 md-line>{{output.name}}</h4> <p md-line>{{output.combinedKey}}</p> <button md-icon-button
--- a/src/app/feature-extraction-menu/feature-extraction-menu.component.ts Mon Jun 26 01:55:11 2017 +0100 +++ b/src/app/feature-extraction-menu/feature-extraction-menu.component.ts Mon Jun 26 11:00:21 2017 +0100 @@ -11,14 +11,14 @@ } from '../services/feature-extraction/feature-extraction.service'; import {ListResponse} from 'piper'; import {Subscription} from 'rxjs/Subscription'; -import {HigherLevelFeatureShape} from "../visualisations/FeatureUtilities"; +import {HigherLevelFeatureShape} from '../visualisations/FeatureUtilities'; export interface ExtractorOutputInfo { extractorKey: string; combinedKey: string; outputId: string; name: string; - iconName?: string; + typeUri?: string; } interface ExtractorInfo { @@ -41,14 +41,6 @@ 'http://purl.org/ontology/af/Pitch': 'tracks' }; -const featureIconMap = { - vector: 'show_chart', - matrix: 'grid_on', - tracks: 'multiline_chart', - instants: 'view_week', - notes: 'audiotrack', -}; - @Component({ selector: 'ugly-feature-extraction-menu', templateUrl: './feature-extraction-menu.component.html', @@ -84,20 +76,16 @@ const outputs: ExtractorOutputInfo[] = staticData.basicOutputInfo.map(output => { const combinedKey = `${staticData.key}:${output.identifier}`; - const hasTypeInfo = staticData.staticOutputInfo && + const maybeTypeInfo = staticData.staticOutputInfo && staticData.staticOutputInfo.get(output.identifier) && staticData.staticOutputInfo.get(output.identifier).typeURI; - const getIcon = () => featureIconMap[crudeTypeUriMap[ - staticData.staticOutputInfo.get(output.identifier).typeURI - ]]; - const hasIcon = hasTypeInfo && getIcon(); return Object.assign({ extractorKey: staticData.key, combinedKey: combinedKey, name: output.name, outputId: output.identifier }, - hasIcon ? {iconName: getIcon()} : {} + maybeTypeInfo ? {typeUri: maybeTypeInfo} : {} ); }); acc.push({name, outputs}); @@ -127,6 +115,18 @@ this.piperService.updateAvailableLibraries(); } + getFeatureIconName(outputInfo: ExtractorOutputInfo): string { + const featureIconMap = { + vector: 'show_chart', + matrix: 'grid_on', + tracks: 'multiline_chart', + instants: 'view_week', + notes: 'audiotrack', + }; + const maybeIcon = featureIconMap[crudeTypeUriMap[outputInfo.typeUri]]; + return maybeIcon ? maybeIcon : 'extension'; + } + ngOnDestroy(): void { this.librariesUpdatedSubscription.unsubscribe(); }