{"version":3,"file":"FieldNameMatcherEditor.mjs","sources":["../../../../src/components/MatchersUI/FieldNameMatcherEditor.tsx"],"sourcesContent":["import { memo, useCallback } from 'react';\n\nimport { FieldMatcherID, fieldMatchers } from '@grafana/data';\nimport { t } from '@grafana/i18n';\n\nimport { Combobox } from '../Combobox/Combobox';\nimport { type ComboboxOption } from '../Combobox/types';\n\nimport { type FieldMatcherUIRegistryItem, type MatcherUIProps } from './types';\nimport { frameHasName, useFieldDisplayNames, useMatcherSelectOptions } from './utils';\n\nexport const FieldNameMatcherEditor = memo<MatcherUIProps<string>>((props) => {\n  const { data, options, onChange: onChangeFromProps, id, scope = 'series' } = props;\n  const names = useFieldDisplayNames(data);\n  const selectOptions = useMatcherSelectOptions(names, options, { scope });\n\n  const onChange = useCallback(\n    (selection: ComboboxOption) => {\n      if (!frameHasName(selection.value, names)) {\n        return;\n      }\n\n      const scope = names.scopes.get(selection.value!);\n      return onChangeFromProps(selection.value!, scope);\n    },\n    [names, onChangeFromProps]\n  );\n\n  const selectedOption = selectOptions.find((v) => v.value === options);\n  return (\n    <Combobox\n      value={selectedOption}\n      options={selectOptions}\n      onChange={onChange}\n      placeholder={t('grafana-ui.select.placeholder', 'Choose')}\n      id={id}\n    />\n  );\n});\nFieldNameMatcherEditor.displayName = 'FieldNameMatcherEditor';\n\nexport const getFieldNameMatcherItem: () => FieldMatcherUIRegistryItem<string> = () => ({\n  id: FieldMatcherID.byName,\n  component: FieldNameMatcherEditor,\n  matcher: fieldMatchers.get(FieldMatcherID.byName),\n  name: t('grafana-ui.matchers-ui.name-fields-with-name', 'Fields with name'),\n  description: t('grafana-ui.matchers-ui.description-fields-with-name', 'Set properties for a specific field'),\n  optionsToLabel: (options) => options,\n});\n"],"names":["scope"],"mappings":";;;;;;;;AAWO,MAAM,sBAAA,GAAyB,IAAA,CAA6B,CAAC,KAAA,KAAU;AAC5E,EAAA,MAAM,EAAE,MAAM,OAAA,EAAS,QAAA,EAAU,mBAAmB,EAAA,EAAI,KAAA,GAAQ,UAAS,GAAI,KAAA;AAC7E,EAAA,MAAM,KAAA,GAAQ,qBAAqB,IAAI,CAAA;AACvC,EAAA,MAAM,gBAAgB,uBAAA,CAAwB,KAAA,EAAO,OAAA,EAAS,EAAE,OAAO,CAAA;AAEvE,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,SAAA,KAA8B;AAC7B,MAAA,IAAI,CAAC,YAAA,CAAa,SAAA,CAAU,KAAA,EAAO,KAAK,CAAA,EAAG;AACzC,QAAA;AAAA,MACF;AAEA,MAAA,MAAMA,MAAAA,GAAQ,KAAA,CAAM,MAAA,CAAO,GAAA,CAAI,UAAU,KAAM,CAAA;AAC/C,MAAA,OAAO,iBAAA,CAAkB,SAAA,CAAU,KAAA,EAAQA,MAAK,CAAA;AAAA,IAClD,CAAA;AAAA,IACA,CAAC,OAAO,iBAAiB;AAAA,GAC3B;AAEA,EAAA,MAAM,iBAAiB,aAAA,CAAc,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,UAAU,OAAO,CAAA;AACpE,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,cAAA;AAAA,MACP,OAAA,EAAS,aAAA;AAAA,MACT,QAAA;AAAA,MACA,WAAA,EAAa,CAAA,CAAE,+BAAA,EAAiC,QAAQ,CAAA;AAAA,MACxD;AAAA;AAAA,GACF;AAEJ,CAAC;AACD,sBAAA,CAAuB,WAAA,GAAc,wBAAA;AAE9B,MAAM,0BAAoE,OAAO;AAAA,EACtF,IAAI,cAAA,CAAe,MAAA;AAAA,EACnB,SAAA,EAAW,sBAAA;AAAA,EACX,OAAA,EAAS,aAAA,CAAc,GAAA,CAAI,cAAA,CAAe,MAAM,CAAA;AAAA,EAChD,IAAA,EAAM,CAAA,CAAE,8CAAA,EAAgD,kBAAkB,CAAA;AAAA,EAC1E,WAAA,EAAa,CAAA,CAAE,qDAAA,EAAuD,qCAAqC,CAAA;AAAA,EAC3G,cAAA,EAAgB,CAAC,OAAA,KAAY;AAC/B,CAAA;;;;"}