diff --git a/src/sql/base/browser/ui/selectBox/selectBox.ts b/src/sql/base/browser/ui/selectBox/selectBox.ts index 2fb8f58cac..5342473d6e 100644 --- a/src/sql/base/browser/ui/selectBox/selectBox.ts +++ b/src/sql/base/browser/ui/selectBox/selectBox.ts @@ -16,6 +16,21 @@ import { renderFormattedText, renderText, FormattedTextRenderOptions } from 'vs/ const $ = dom.$; +//Map used to store names and alternative names for chart types. +//This is mainly used for comparison when options are parsed into the constructor. +const altNameHash : {[oldName: string]: string} = { + ['horizontalBar']: 'Horziontal Bar', + ['bar']: 'Bar', + ['line']: 'Line', + ['pie']: 'Pie', + ['scatter']: 'Scatter', + ['timeSeries']: 'Time Series', + ['image']: 'Image', + ['count']: 'Count', + ['table']: 'Table', + ['doughnut']: 'Doughnut' +}; + export interface ISelectBoxStyles extends vsISelectBoxStyles { disabledSelectBackground?: Color; disabledSelectForeground?: Color; @@ -56,8 +71,12 @@ export class SelectBox extends vsSelectBox { private element: HTMLElement; + + constructor(options: string[], selectedOption: string, contextViewProvider: IContextViewProvider, container?: HTMLElement, selectBoxOptions?: ISelectBoxOptions) { - super(options.map(option => { return { text: option }; }), 0, contextViewProvider, undefined, selectBoxOptions); + //originally {text :option }; + super(options.map(option => {return {text : SelectBox.parseName(option)}; }), 0, contextViewProvider, undefined, selectBoxOptions); + this._optionsDictionary = new Map(); for (let i = 0; i < options.length; i++) { this._optionsDictionary.set(options[i], i); @@ -90,6 +109,16 @@ export class SelectBox extends vsSelectBox { this._register(focusTracker.onDidFocus(() => this._showMessage())); } + //static method that is used to replace original names of options into user-friendly ones for display. + private static parseName(oldName: string): string { + if(altNameHash[oldName] !== undefined) { + return altNameHash[oldName]; + } + else { + return oldName; + } + } + public style(styles: ISelectBoxStyles): void { super.style(styles); this.enabledSelectBackground = this.selectBackground; diff --git a/src/sql/workbench/parts/charts/browser/chartView.ts b/src/sql/workbench/parts/charts/browser/chartView.ts index 98bd0cba73..13d77ad034 100644 --- a/src/sql/workbench/parts/charts/browser/chartView.ts +++ b/src/sql/workbench/parts/charts/browser/chartView.ts @@ -49,6 +49,7 @@ export class ChartView extends Disposable implements IPanelView { type: ChartType.Bar }; + /** parent container */ private container: HTMLElement; /** container for the options controls */ @@ -276,6 +277,7 @@ export class ChartView extends Disposable implements IPanelView { }; break; case ControlType.combo: + let dropdown = new SelectBox(option.displayableOptions || option.options, undefined, this._contextViewService); dropdown.select(option.options.indexOf(value)); dropdown.render(optionContainer);