\n Meta data inspector for the TestData data source.
\n\n {data.map((frame, index) => (\n <>\n Frame: {index}
\n \n Custom meta:
\n {JSON.stringify(frame.meta?.custom, null, 2)}\n
\n >\n ))}\n \n );\n}\n","import React, { ChangeEvent } from 'react';\n\nimport { SelectableValue } from '@grafana/data';\nimport { InlineField, InlineFieldRow, Input, Select } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nconst streamingClientFields = [\n { label: 'Speed (ms)', id: 'speed', placeholder: 'value', min: 10, step: 10 },\n { label: 'Spread', id: 'spread', placeholder: 'value', min: 0.5, step: 0.1 },\n { label: 'Noise', id: 'noise', placeholder: 'value', min: 0, step: 0.1 },\n { label: 'Bands', id: 'bands', placeholder: 'bands', min: 0, step: 1 },\n] as const;\n\nconst types = [\n { value: 'signal', label: 'Signal' },\n { value: 'logs', label: 'Logs' },\n { value: 'fetch', label: 'Fetch' },\n { value: 'traces', label: 'Traces' },\n];\n\nexport const StreamingClientEditor = ({ onChange, query }: EditorProps) => {\n const onSelectChange = ({ value }: SelectableValue) => {\n onChange({ target: { name: 'type', value } });\n };\n\n // Convert values to numbers before saving\n const onInputChange = (e: ChangeEvent