@grafana/ui
Version:
Grafana Components Library
32 lines (29 loc) • 1.27 kB
JavaScript
import { useMemo } from 'react';
import { Registry } from '@grafana/data';
import { selectableValueToComboboxOption } from '../Combobox/utils.mjs';
import { getFieldNameByRegexMatcherItem } from './FieldNameByRegexMatcherEditor.mjs';
import { getFieldNameMatcherItem } from './FieldNameMatcherEditor.mjs';
import { getFieldNamesMatcherItem } from './FieldNamesMatcherEditor.mjs';
import { getFieldTypeMatcherItem } from './FieldTypeMatcherEditor.mjs';
import { getFieldValueMatcherItem } from './FieldValueMatcher.mjs';
import { getFieldsByFrameRefIdItem } from './FieldsByFrameRefIdMatcher.mjs';
;
const fieldMatchersUI = new Registry(() => [
getFieldNameMatcherItem(),
getFieldNameByRegexMatcherItem(),
getFieldTypeMatcherItem(),
getFieldsByFrameRefIdItem(),
getFieldNamesMatcherItem(),
getFieldValueMatcherItem()
]);
function useFieldMatchersOptions(asComboboxOptions) {
return useMemo(() => {
const selectableValues = fieldMatchersUI.selectOptions().options;
if (asComboboxOptions) {
return selectableValues.map(selectableValueToComboboxOption).filter((v) => !!v);
}
return selectableValues;
}, [asComboboxOptions]);
}
export { fieldMatchersUI, useFieldMatchersOptions };
//# sourceMappingURL=fieldMatchersUI.mjs.map