{"version":3,"file":"tooltip.mjs","sources":["../../../../src/options/builder/tooltip.tsx"],"sourcesContent":["import { DataFrame, PanelOptionsEditorBuilder } from '@grafana/data';\nimport { OptionsWithTooltip, TooltipDisplayMode, SortOrder } from '@grafana/schema';\n\n/** @internal */\nexport const optsWithHideZeros: OptionsWithTooltip = {\n  tooltip: {\n    mode: TooltipDisplayMode.Single,\n    sort: SortOrder.None,\n    hideZeros: false,\n  },\n};\n\nexport function addTooltipOptions<T extends OptionsWithTooltip>(\n  builder: PanelOptionsEditorBuilder<T>,\n  singleOnly = false,\n  setProximity = false,\n  defaultOptions?: Partial<OptionsWithTooltip>\n) {\n  const category = ['Tooltip'];\n  const modeOptions = singleOnly\n    ? [\n        { value: TooltipDisplayMode.Single, label: 'Single' },\n        { value: TooltipDisplayMode.None, label: 'Hidden' },\n      ]\n    : [\n        { value: TooltipDisplayMode.Single, label: 'Single' },\n        { value: TooltipDisplayMode.Multi, label: 'All' },\n        { value: TooltipDisplayMode.None, label: 'Hidden' },\n      ];\n\n  const sortOptions = [\n    { value: SortOrder.None, label: 'None' },\n    { value: SortOrder.Ascending, label: 'Ascending' },\n    { value: SortOrder.Descending, label: 'Descending' },\n  ];\n\n  builder\n    .addRadio({\n      path: 'tooltip.mode',\n      name: 'Tooltip mode',\n      category,\n      defaultValue: defaultOptions?.tooltip?.mode ?? TooltipDisplayMode.Single,\n      settings: {\n        options: modeOptions,\n      },\n    })\n    .addRadio({\n      path: 'tooltip.sort',\n      name: 'Values sort order',\n      category,\n      defaultValue: defaultOptions?.tooltip?.sort ?? SortOrder.None,\n      showIf: (options: T) => options.tooltip?.mode === TooltipDisplayMode.Multi,\n      settings: {\n        options: sortOptions,\n      },\n    })\n    .addBooleanSwitch({\n      path: 'tooltip.hideZeros',\n      name: 'Hide zeros',\n      category,\n      defaultValue: false,\n      showIf: (options: T) =>\n        defaultOptions?.tooltip?.hideZeros !== undefined && options.tooltip?.mode === TooltipDisplayMode.Multi,\n    });\n\n  if (setProximity) {\n    builder.addNumberInput({\n      path: 'tooltip.hoverProximity',\n      name: 'Hover proximity',\n      description: 'How close the cursor must be to a point to trigger the tooltip, in pixels',\n      category,\n      settings: {\n        integer: true,\n      },\n      showIf: (options: T) => options.tooltip?.mode !== TooltipDisplayMode.None,\n    });\n  }\n\n  builder\n    .addNumberInput({\n      path: 'tooltip.maxWidth',\n      name: 'Max width',\n      category,\n      settings: {\n        integer: true,\n      },\n      showIf: (options: T) => options.tooltip?.mode !== TooltipDisplayMode.None,\n    })\n    .addNumberInput({\n      path: 'tooltip.maxHeight',\n      name: 'Max height',\n      category,\n      defaultValue: undefined,\n      settings: {\n        integer: true,\n      },\n      showIf: (options: T, data: DataFrame[] | undefined, annotations: DataFrame[] | undefined) => {\n        return (\n          options.tooltip?.mode === TooltipDisplayMode.Multi ||\n          annotations?.some((df) => {\n            return df.meta?.custom?.resultType === 'exemplar';\n          })\n        );\n      },\n    });\n}\n"],"names":["_a","_b"],"mappings":"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"}