D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
share
/
grafana
/
public
/
app
/
plugins
/
panel
/
geomap
/
utils
/
Filename :
selection.ts
back
Copy
import { SelectableValue } from '@grafana/data'; export interface SelectionInfo<T = any> { options: Array<SelectableValue<T>>; current?: SelectableValue<T>; } /** * The select component is really annoying -- if the current value is not in the list of options * it won't show up. This is a wrapper to make that happen. */ export function getSelectionInfo<T>(v?: T, options?: Array<SelectableValue<T>>): SelectionInfo<T> { if (v && !options) { const current = { label: `${v}`, value: v }; return { options: [current], current }; } if (!options) { options = []; } let current = options.find((item) => item.value === v); if (v && !current) { current = { label: `${v} (not found)`, value: v, }; options.push(current); } return { options, current, }; }