@grafana/ui
Version:
Grafana Components Library
1 lines • 3.95 kB
Source Map (JSON)
{"version":3,"file":"legend.mjs","sources":["../../../../src/options/builder/legend.tsx"],"sourcesContent":["import { PanelOptionsEditorBuilder, standardEditorsRegistry, StatsPickerConfigSettings } from '@grafana/data';\nimport { LegendDisplayMode, OptionsWithLegend } from '@grafana/schema';\n\n/**\n * @alpha\n */\nexport function addLegendOptions<T extends OptionsWithLegend>(\n builder: PanelOptionsEditorBuilder<T>,\n includeLegendCalcs = true,\n showLegend = true\n) {\n builder\n .addBooleanSwitch({\n path: 'legend.showLegend',\n name: 'Visibility',\n category: ['Legend'],\n description: '',\n defaultValue: showLegend,\n })\n .addRadio({\n path: 'legend.displayMode',\n name: 'Mode',\n category: ['Legend'],\n description: '',\n defaultValue: LegendDisplayMode.List,\n settings: {\n options: [\n { value: LegendDisplayMode.List, label: 'List' },\n { value: LegendDisplayMode.Table, label: 'Table' },\n ],\n },\n showIf: (c) => c.legend.showLegend,\n })\n .addRadio({\n path: 'legend.placement',\n name: 'Placement',\n category: ['Legend'],\n description: '',\n defaultValue: 'bottom',\n settings: {\n options: [\n { value: 'bottom', label: 'Bottom' },\n { value: 'right', label: 'Right' },\n ],\n },\n showIf: (c) => c.legend.showLegend,\n })\n .addNumberInput({\n path: 'legend.width',\n name: 'Width',\n category: ['Legend'],\n settings: {\n placeholder: 'Auto',\n },\n showIf: (c) => c.legend.showLegend && c.legend.placement === 'right',\n });\n\n if (includeLegendCalcs) {\n builder.addCustomEditor<StatsPickerConfigSettings, string[]>({\n id: 'legend.calcs',\n path: 'legend.calcs',\n name: 'Values',\n category: ['Legend'],\n description: 'Select values or calculations to show in legend',\n editor: standardEditorsRegistry.get('stats-picker').editor,\n defaultValue: [],\n settings: {\n allowMultiple: true,\n },\n showIf: (currentConfig) => currentConfig.legend.showLegend !== false,\n });\n }\n}\n"],"names":[],"mappings":";;;AAMO,SAAS,gBACd,CAAA,OAAA,EACA,kBAAqB,GAAA,IAAA,EACrB,aAAa,IACb,EAAA;AACA,EAAA,OAAA,CACG,gBAAiB,CAAA;AAAA,IAChB,IAAM,EAAA,mBAAA;AAAA,IACN,IAAM,EAAA,YAAA;AAAA,IACN,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,IACnB,WAAa,EAAA,EAAA;AAAA,IACb,YAAc,EAAA;AAAA,GACf,EACA,QAAS,CAAA;AAAA,IACR,IAAM,EAAA,oBAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,IACnB,WAAa,EAAA,EAAA;AAAA,IACb,cAAc,iBAAkB,CAAA,IAAA;AAAA,IAChC,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,EAAE,KAAA,EAAO,iBAAkB,CAAA,IAAA,EAAM,OAAO,MAAO,EAAA;AAAA,QAC/C,EAAE,KAAA,EAAO,iBAAkB,CAAA,KAAA,EAAO,OAAO,OAAQ;AAAA;AACnD,KACF;AAAA,IACA,MAAQ,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,MAAO,CAAA;AAAA,GACzB,EACA,QAAS,CAAA;AAAA,IACR,IAAM,EAAA,kBAAA;AAAA,IACN,IAAM,EAAA,WAAA;AAAA,IACN,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,IACnB,WAAa,EAAA,EAAA;AAAA,IACb,YAAc,EAAA,QAAA;AAAA,IACd,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,EAAE,KAAA,EAAO,QAAU,EAAA,KAAA,EAAO,QAAS,EAAA;AAAA,QACnC,EAAE,KAAA,EAAO,OAAS,EAAA,KAAA,EAAO,OAAQ;AAAA;AACnC,KACF;AAAA,IACA,MAAQ,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,MAAO,CAAA;AAAA,GACzB,EACA,cAAe,CAAA;AAAA,IACd,IAAM,EAAA,cAAA;AAAA,IACN,IAAM,EAAA,OAAA;AAAA,IACN,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,IACnB,QAAU,EAAA;AAAA,MACR,WAAa,EAAA;AAAA,KACf;AAAA,IACA,MAAA,EAAQ,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,UAAc,IAAA,CAAA,CAAE,OAAO,SAAc,KAAA;AAAA,GAC9D,CAAA;AAEH,EAAA,IAAI,kBAAoB,EAAA;AACtB,IAAA,OAAA,CAAQ,eAAqD,CAAA;AAAA,MAC3D,EAAI,EAAA,cAAA;AAAA,MACJ,IAAM,EAAA,cAAA;AAAA,MACN,IAAM,EAAA,QAAA;AAAA,MACN,QAAA,EAAU,CAAC,QAAQ,CAAA;AAAA,MACnB,WAAa,EAAA,iDAAA;AAAA,MACb,MAAQ,EAAA,uBAAA,CAAwB,GAAI,CAAA,cAAc,CAAE,CAAA,MAAA;AAAA,MACpD,cAAc,EAAC;AAAA,MACf,QAAU,EAAA;AAAA,QACR,aAAe,EAAA;AAAA,OACjB;AAAA,MACA,MAAQ,EAAA,CAAC,aAAkB,KAAA,aAAA,CAAc,OAAO,UAAe,KAAA;AAAA,KAChE,CAAA;AAAA;AAEL;;;;"}