mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* baldm0mma/transformation_info_modal * baldm0mma/transformation_info_modal/ add getDisplayContent * baldm0mma/transformation_info_modal/ reamove OperationRowHelp * baldm0mma/transformation_info_modal/ update prepMarkdown * baldm0mma/transformation_help_modal/ add example mkdwn * baldm0mma/transformation_help_modal/ add examples anno * baldm0mma/transformation_info_modal/ add calFieldHelper * baldm0mma/transformation_info_modal/ remove file * baldm0mma/transformation_info_modal/ add CalculateFieldHelper * baldm0mma/transformation_info_modal/ add TransformationEditorHelperModal * baldm0mma/transformation_info_modal/ add getHelperContent * baldm0mma/transformation_info_modal/ move TransformationEditorHelperModal * baldm0mma/transformation_info_modal/ add ReactElement * baldm0mma/transformations_info_modal * baldm0mma/transformation_info_modal/ update props for TransformationEditorHelperModal * baldm0mma/transformation_info_modal/ test * test * baldm0mma/transformation_info_modal/ reset vscode auth * baldm0mma/transformation_info_modal/ update getHelperContent * baldm0mma/transformations_info_modal/ add items for rebuilding markdown to react component * test * test * baldm0mma/transformations_info_modal/ remove comment in TransformationOperationRow * test * baldm0mma/transformation_info_modal/ add element to typing * baldm0mma/transformation_info_modal/ update getHelperContent with help component * baldm0mma/transformation_info_modal/ update modal title * baldm0mma/transformation_info_modal/ move logic to tranforms * baldm0mma/transformation_info_modal/ remove unused comments * baldm0mma/transformation_info_modal/ update standard reg * baldm0mma/trfansformation_info_modal/ remove context styling * baldm0mma/transformation_info_modal/ add content for CalculateFieldHelper * baldm0mma/transformation_info_modal/ add ConcatenateHelper * baldm0mma/transformations_info_modal/ add ConcatenateHelper * baldm0mma/transformation_info_modal/ add ConfigFromQueryHelper * baldm0mma/transformations/info_modal/ add ConvertFieldTypeHelper * baldm0mma/transformation_info_modal/ add CreateHeatmapHelp * baldm0mma/transformation_info_modal/ add ExtractFieldsHelper * baldm0mma/transformation_info_modal/ add FilterFieldsByNameHelper * baldm0mma/transformation_info_modal/ add FilterFieldsByNameHelper * baldm0mma/transformation_info_modal/ add OperationRowHelp to parse markdown * baldm0mma/transformation_info_modal/ remove commented out markdown * baldm0mma/transformations_info_modal/ remove comment * baldm0mma/transformation_info_modal/ update configFromQueryTransformRegistryItem * baldm0mma/transformation_info_modal/ update ConcatenateHelper * baldm0mma/transformation_info_modal/ update ConvertFieldTypeHelper * baldm0mma/transformation_info_modal/ update ExtractFieldsHelper * baldm0mma/transformation_info_modal/ update FieldLookupHelper * baldm0mma/transformation_info_modal/ update TransformationEditorHelperModal with determineContentDisplay() * baldm0mma/transformation_info_modal/ add FilterByRefIdHelper * baldm0mma/transformation_info_modal/ add FilterByValueHelper * baldm0mma/transformation_info_modal/ update file ext * baldm0mma/transformation_info_modal/ add GroupByHelper * baldm0mma/transformation_info_modal/ add HistogramHelper * baldm0mma/transformation_info_modal/ add JoinByFieldHelper * baldm0mma/transformation_info_modal/ add JoinByLabelsHelper * baldm0mma/transformations_info_modal/ add LabelsToFieldsHelper * baldm0mma/transformation_info_modal/ add LimitHelper * baldm0mma/transformation_info_modal/ add MergeHelper * baldm0mma/transformation_info_modal/ add PartitionByValuesHelper * baldm0mma/transformation_info_modal/ add ReduceHelper * baldm0mma/transformation_info_modal/ add RenameByRegexHelper * baldm0mma/transformation_info_modal/ add SeriesToRowsHelper * baldm0mma/transformation_info_modal/ add SortByHelper * baldm0mma/transformations_info_modal/ add spatial * baldm0mma/transformation_info_modal/ update to markdown * baldm0mma/transformation_info_modal/ remove comments * baldm0mma/transformation_info_modal/ update boarder with theme * baldm0mma/transformation_info_modal/ add test suite * baldm0mma/transformation_info_modal/ update tests * baldm0mma/transformation_info_modal/ update test to run on all transformations * baldm0mma/transformation_info_modaol/ add TimeSeriesTableHelper * baldm0mma/transformation_info_modal/ update concatenateHelper * baldm0mma/transformation_info_modal/ update calculateFieldHelper * baldmomma/transformation_info_modal/ update naming * baldm0mma/transformation_info_modal/ update getLinkToDocs location * baldm0mma/transformation_info_modal/ update docs * baldm0mma/transformation_info_modal/ update language * baldm0mma/transformation_info_modal/ rename test * baldm0mma/transformation_info_modal/ update naming 2 * baldm0mma/transformation_info_modal/ update to helper * baldm0mma/transformation_info_modal/ update docs * Apply suggestions from @imatwawana Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> * baldm0mma/transformation_info_modal/ update convertFieldTypeHelper capitalization * Hack around with generating Markdown from transformations helpers (#75677) ```console $ cd docs $ make sources/panels-visualizations/query-transform-data/transform-data/index.md $ make docs ``` Browse to http://localhost:3003/docs/grafana/latest/panels-visualizations/query-transform-data/transform-data/ Signed-off-by: Jack Baldry <jack.baldry@grafana.com> * baldm0mma/transformation_info_modal/ add calculateFieldHelper * baldm0mma/transformation_info_modal/ update concatenate * baldm0mma/transformation_info_modal/ add fieldLookup * baldm0mma/transformation_info_modal/ add filterFieldsByName * baldm0mma/transformation_info_modal/ add joinByField * baldm0mma/transformation_info_modal/ update renameByRegex * baldm0mma/transformation_info_modal/ update getHelperContent * baldm0mma/transformation_info_modal/ update calculateFieldTransformRegistryItem * baldm0mma/transformation_info_modal/ update concatenateTransformRegistryItem * baldm0mma/transformation_info_modal/ update configFromDataTransformer * baldm0mma/transformation_info_modal/ update extractFieldsTransformRegistryItem * baldm0mma/transformation_info_modal/ update formatTimeTransformerRegistryItem * baldm0mma/transformation_info_modal/ update heatmapTransformRegistryItem * baldm0mma/transformation_info_modal/ update mergeTransformerRegistryItem * baldm0mma/transformation_info_modal/ update timeSeriesTableTransformRegistryItem * baldm0mma/transformation_info_modal/ update doc builder * baldm0mma/transformation_info_modal/ update docs * baldm0mma/transformation_info_modal/ remove console log * baldm0mma/transformation_info_modal/ update console log * baldm0mma/transformation_info_modal/ update gitignore * baldm0mma/transformation_info_modal/ update calculateField * baldm0mma/transformation_info_modal/ add links * baldm0mma/transformation_info_modal/ update template * baldm0mma/transformation_info_modal/ update template with images * baldm0mma/transformation_info_modal/ build markdown * baldm0mma/transformations_info_modal/update with links * baldm0mma/transformation_info_modal/ update links * baldm0mma/transformation_info_modal/ apdate FormatTimeTransfomerEditor * baldm0mma/transformation_indo_modal/ update HeatmapTransformerEditor * baldm0mma/transformation_indo_modal/ update ConfigFromQueryTransformerEditor * baldm0mma/transformation_indo_modal/ update CalculateFieldTransformerEditor * baldm0mma/transformation_indo_modal/ update ConcatenateTransformerEditor * baldm0mma/transformation_indo_modal/ update FilterByNameTransformerEditor * baldm0mma/transformation_indo_modal/ update FilterByRefIdTransformerEditor * baldm0mma/transformation_indo_modal/ update GroupByTransformerEditor * baldm0mma/transformation_indo_modal/ update GroupingToMatrixTransformerEditor get helper * baldm0mma/transformation_indo_modal/ update SeriesToFieldsTransformerEditor get helper * baldm0mma/transformation_indo_modal/ update LabelsAsFieldsTransformerEditor * baldm0mma/transformation_info_modal/ update MergeTransformerEditor * baldm0mma/transformation_info_modal/ update OrganizeFieldsTransformerEditor * baldm0mma/transformation_info_modal/ update ReduceTransformerEditor * baldm0mma/transformation_info_modal/ update RenameByRegexTransformerEditor * baldm0mma/transformation_info_modal/ update SeriesToRowsTransformerEditor * baldm0mma/transformation_info_modal/ update SortByTransformerEditor * baldm0mma/transformation_info_modal/ update extractFieldsTransformerEditor * baldm0mma/transformation_info_modal/ update FilterByValueTransformerEditor * baldm0mma/transformation_info_modal/ update JoinByLabelsTransformerEditor * baldm0mma/transformation_info_modal/ update FieldLookupTransformerEditor * baldm0mma/transformation_info_modal/ update PartitionByValuesEditor * baldm0mma/transformation_info_modal/ update PrepareTimeSeriesEditor * baldm0mma/transformation_info_modal/ update RowsToFieldsTransformerEditor * baldm0mma/transformation_info_modal/ update spatialTransformRegistryItem * baldm0mma/transformation_info_modal/ update timeSeriesTableTransformRegistryItem * baldm0mma/transformation_info_modal/ update to helperDocs * baldm0mma/transformation_info_modal/ update built markdown * baldm0mma/transformation_info_modal/ run prettier * baldm0mma/transformation_info_modal/ update comments in getTransformationContent * baldm0mma/transformation_info_modal/ add removeMarkdownAnchorLinks * baldm0mma/transformation_info_modal/ update annos in getTransformationContent * baldm0mma/transformation_info_modal/ add requisite url prefix to markdown images * baldm0mma/transformation_info_modal/ add cleanMarkdownOfUnwantedSyntax * baldm0mma/transformation_info_modal/ update annos in content.ts * baldm0mma/transformation_info_modal/ update e2e tests with always-visiable trabnsformation * baldm0mma/transformation_info_modal/ remove note * baldm0mma/transformation_info_modal/ add annotation in getTransformationContent * baldm0mma/transformation_info_modal/ update e2e test naming --------- Signed-off-by: Jack Baldry <jack.baldry@grafana.com> Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com> Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
107 lines
3.5 KiB
TypeScript
107 lines
3.5 KiB
TypeScript
import { css } from '@emotion/css';
|
|
import React from 'react';
|
|
|
|
import {
|
|
FieldMatcherID,
|
|
GrafanaTheme2,
|
|
PluginState,
|
|
SelectableValue,
|
|
TransformerRegistryItem,
|
|
TransformerUIProps,
|
|
TransformerCategory,
|
|
} from '@grafana/data';
|
|
import { fieldMatchersUI, InlineField, InlineFieldRow, Select, useStyles2 } from '@grafana/ui';
|
|
|
|
import { getTransformationContent } from '../docs/getTransformationContent';
|
|
import { FieldToConfigMappingEditor } from '../fieldToConfigMapping/FieldToConfigMappingEditor';
|
|
|
|
import { configFromDataTransformer, ConfigFromQueryTransformOptions } from './configFromQuery';
|
|
|
|
export interface Props extends TransformerUIProps<ConfigFromQueryTransformOptions> {}
|
|
|
|
export function ConfigFromQueryTransformerEditor({ input, onChange, options }: Props) {
|
|
const styles = useStyles2(getStyles);
|
|
|
|
const refIds = input
|
|
.map((x) => x.refId)
|
|
.filter((x) => x != null)
|
|
.map((x) => ({ label: x, value: x }));
|
|
|
|
const currentRefId = options.configRefId || 'config';
|
|
const currentMatcher = options.applyTo ?? { id: FieldMatcherID.byType, options: 'number' };
|
|
const matcherUI = fieldMatchersUI.get(currentMatcher.id);
|
|
const configFrame = input.find((x) => x.refId === currentRefId);
|
|
|
|
const onRefIdChange = (value: SelectableValue<string>) => {
|
|
onChange({
|
|
...options,
|
|
configRefId: value.value || 'config',
|
|
});
|
|
};
|
|
|
|
const onMatcherChange = (value: SelectableValue<string>) => {
|
|
onChange({ ...options, applyTo: { id: value.value! } });
|
|
};
|
|
|
|
const onMatcherConfigChange = (matcherOption: unknown) => {
|
|
onChange({ ...options, applyTo: { id: currentMatcher.id, options: matcherOption } });
|
|
};
|
|
|
|
const matchers = fieldMatchersUI
|
|
.list()
|
|
.filter((o) => !o.excludeFromPicker)
|
|
.map<SelectableValue<string>>((i) => ({ label: i.name, value: i.id, description: i.description }));
|
|
|
|
return (
|
|
<>
|
|
<InlineFieldRow>
|
|
<InlineField label="Config query" labelWidth={20}>
|
|
<Select onChange={onRefIdChange} options={refIds} value={currentRefId} width={30} />
|
|
</InlineField>
|
|
</InlineFieldRow>
|
|
<InlineFieldRow>
|
|
<InlineField label="Apply to" labelWidth={20}>
|
|
<Select onChange={onMatcherChange} options={matchers} value={currentMatcher.id} width={30} />
|
|
</InlineField>
|
|
</InlineFieldRow>
|
|
<InlineFieldRow>
|
|
<InlineField label="Apply to options" labelWidth={20} className={styles.matcherOptions}>
|
|
<matcherUI.component
|
|
matcher={matcherUI.matcher}
|
|
data={input}
|
|
options={currentMatcher.options}
|
|
onChange={onMatcherConfigChange}
|
|
/>
|
|
</InlineField>
|
|
</InlineFieldRow>
|
|
<InlineFieldRow>
|
|
{configFrame && (
|
|
<FieldToConfigMappingEditor
|
|
frame={configFrame}
|
|
mappings={options.mappings}
|
|
onChange={(mappings) => onChange({ ...options, mappings })}
|
|
withReducers
|
|
/>
|
|
)}
|
|
</InlineFieldRow>
|
|
</>
|
|
);
|
|
}
|
|
|
|
export const configFromQueryTransformRegistryItem: TransformerRegistryItem<ConfigFromQueryTransformOptions> = {
|
|
id: configFromDataTransformer.id,
|
|
editor: ConfigFromQueryTransformerEditor,
|
|
transformation: configFromDataTransformer,
|
|
name: configFromDataTransformer.name,
|
|
description: configFromDataTransformer.description,
|
|
state: PluginState.beta,
|
|
categories: new Set([TransformerCategory.CalculateNewFields]),
|
|
help: getTransformationContent(configFromDataTransformer.id).helperDocs,
|
|
};
|
|
|
|
const getStyles = (theme: GrafanaTheme2) => ({
|
|
matcherOptions: css`
|
|
min-width: 404px;
|
|
`,
|
|
});
|