diff options
| author | bob <bcz@cs.brown.edu> | 2019-04-03 11:45:15 -0400 |
|---|---|---|
| committer | bob <bcz@cs.brown.edu> | 2019-04-03 11:45:15 -0400 |
| commit | bb7d5a26ec68f283c5adb42d4d6554253de7176f (patch) | |
| tree | 7efa817102ba54e916601611f608dd4bd761a437 /src/client/northstar/model/binRanges/NominalVisualBinRange.ts | |
| parent | 43a0768690caa89c606dd5d296d3cc8825c1702b (diff) | |
| parent | c406c8d123ce0aa9d63fb8a4dd90adfe83d2889d (diff) | |
merged with master
Diffstat (limited to 'src/client/northstar/model/binRanges/NominalVisualBinRange.ts')
| -rw-r--r-- | src/client/northstar/model/binRanges/NominalVisualBinRange.ts | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/client/northstar/model/binRanges/NominalVisualBinRange.ts b/src/client/northstar/model/binRanges/NominalVisualBinRange.ts new file mode 100644 index 000000000..407ff3ea6 --- /dev/null +++ b/src/client/northstar/model/binRanges/NominalVisualBinRange.ts @@ -0,0 +1,52 @@ +import { NominalBinRange, BinLabel } from '../../model/idea/idea' +import { VisualBinRange } from './VisualBinRange' + +export class NominalVisualBinRange extends VisualBinRange { + public DataBinRange: NominalBinRange; + + constructor(dataBinRange: NominalBinRange) { + super(); + this.DataBinRange = dataBinRange; + } + + public AddStep(value: number): number { + return value + 1; + } + + public GetValueFromIndex(index: number): number { + return index; + } + + public GetBins(): number[] { + var bins = new Array<number>(); + var idx = 0; + for (var key in this.DataBinRange.labelsValue) { + if (this.DataBinRange.labelsValue.hasOwnProperty(key)) { + bins.push(idx); + idx++; + } + } + return bins; + } + + public GetLabel(value: number): string { + return this.DataBinRange.valuesLabel![value]; + } + + public GetLabels(): Array<BinLabel> { + var labels = new Array<BinLabel>(); + var count = 0; + for (var key in this.DataBinRange.valuesLabel) { + if (this.DataBinRange.valuesLabel.hasOwnProperty(key)) { + var value = this.DataBinRange.valuesLabel[key]; + labels.push(new BinLabel({ + value: parseFloat(key), + minValue: count++, + maxValue: count, + label: value + })); + } + } + return labels; + } +}
\ No newline at end of file |
