@grafana/ui
Version:
Grafana Components Library
1 lines • 4.32 kB
Source Map (JSON)
{"version":3,"file":"stacking.mjs","sources":["../../../../src/options/builder/stacking.tsx"],"sourcesContent":["import {\n FieldConfigEditorBuilder,\n StandardEditorProps,\n FieldType,\n identityOverrideProcessor,\n SelectableValue,\n} from '@grafana/data';\nimport { t } from '@grafana/i18n';\nimport { GraphFieldConfig, StackingConfig, StackingMode } from '@grafana/schema';\n\nimport { RadioButtonGroup } from '../../components/Forms/RadioButtonGroup/RadioButtonGroup';\nimport { IconButton } from '../../components/IconButton/IconButton';\nimport { Input } from '../../components/Input/Input';\nimport { Stack } from '../../components/Layout/Stack/Stack';\nimport { getGraphFieldOptions } from '../../components/uPlot/config';\n\nexport const StackingEditor = ({\n value,\n context,\n onChange,\n item,\n}: StandardEditorProps<StackingConfig, { options: Array<SelectableValue<StackingMode>> }>) => {\n return (\n <Stack>\n <RadioButtonGroup\n value={value?.mode || StackingMode.None}\n options={item.settings?.options ?? []}\n onChange={(v) => {\n onChange({\n ...value,\n mode: v,\n });\n }}\n />\n {context.isOverride && value?.mode && value?.mode !== StackingMode.None && (\n <Input\n type=\"text\"\n placeholder={t('grafana-ui.stacking-builder.group', 'Group')}\n suffix={\n <IconButton\n name=\"question-circle\"\n tooltip={t('grafana-ui.stacking-builder.group-tooltip', 'Name of the stacking group')}\n tooltipPlacement=\"top\"\n />\n }\n defaultValue={value?.group}\n onChange={(v) => {\n onChange({\n ...value,\n group: v.currentTarget.value.trim(),\n });\n }}\n />\n )}\n </Stack>\n );\n};\n\nexport function addStackingConfig(\n builder: FieldConfigEditorBuilder<GraphFieldConfig>,\n defaultConfig?: StackingConfig,\n category = ['Graph styles']\n) {\n const graphFieldOptions = getGraphFieldOptions();\n builder.addCustomEditor({\n id: 'stacking',\n path: 'stacking',\n name: t('grafana-ui.builder.stacking.name-stack-series', 'Stack series'),\n category: category,\n defaultValue: defaultConfig,\n editor: StackingEditor,\n override: StackingEditor,\n settings: {\n options: graphFieldOptions.stacking,\n },\n process: identityOverrideProcessor,\n shouldApply: (f) => f.type === FieldType.number,\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;AAgBO,MAAM,iBAAiB,CAAC;AAAA,EAC7B,KAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAA8F,KAAA;AArB9F,EAAA,IAAA,EAAA,EAAA,EAAA;AAsBE,EAAA,4BACG,KACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,gBAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAA,CAAO,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,KAAQ,YAAa,CAAA,IAAA;AAAA,QACnC,UAAS,EAAK,GAAA,CAAA,EAAA,GAAA,IAAA,CAAA,QAAA,KAAL,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAf,YAA0B,EAAC;AAAA,QACpC,QAAA,EAAU,CAAC,CAAM,KAAA;AACf,UAAS,QAAA,CAAA;AAAA,YACP,GAAG,KAAA;AAAA,YACH,IAAM,EAAA;AAAA,WACP,CAAA;AAAA;AACH;AAAA,KACF;AAAA,IACC,QAAQ,UAAc,KAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAO,UAAQ,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,MAAS,aAAa,IACjE,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,MAAA;AAAA,QACL,WAAA,EAAa,CAAE,CAAA,mCAAA,EAAqC,OAAO,CAAA;AAAA,QAC3D,MACE,kBAAA,GAAA;AAAA,UAAC,UAAA;AAAA,UAAA;AAAA,YACC,IAAK,EAAA,iBAAA;AAAA,YACL,OAAA,EAAS,CAAE,CAAA,2CAAA,EAA6C,4BAA4B,CAAA;AAAA,YACpF,gBAAiB,EAAA;AAAA;AAAA,SACnB;AAAA,QAEF,cAAc,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA;AAAA,QACrB,QAAA,EAAU,CAAC,CAAM,KAAA;AACf,UAAS,QAAA,CAAA;AAAA,YACP,GAAG,KAAA;AAAA,YACH,KAAO,EAAA,CAAA,CAAE,aAAc,CAAA,KAAA,CAAM,IAAK;AAAA,WACnC,CAAA;AAAA;AACH;AAAA;AACF,GAEJ,EAAA,CAAA;AAEJ;AAEO,SAAS,kBACd,OACA,EAAA,aAAA,EACA,QAAW,GAAA,CAAC,cAAc,CAC1B,EAAA;AACA,EAAA,MAAM,oBAAoB,oBAAqB,EAAA;AAC/C,EAAA,OAAA,CAAQ,eAAgB,CAAA;AAAA,IACtB,EAAI,EAAA,UAAA;AAAA,IACJ,IAAM,EAAA,UAAA;AAAA,IACN,IAAA,EAAM,CAAE,CAAA,+CAAA,EAAiD,cAAc,CAAA;AAAA,IACvE,QAAA;AAAA,IACA,YAAc,EAAA,aAAA;AAAA,IACd,MAAQ,EAAA,cAAA;AAAA,IACR,QAAU,EAAA,cAAA;AAAA,IACV,QAAU,EAAA;AAAA,MACR,SAAS,iBAAkB,CAAA;AAAA,KAC7B;AAAA,IACA,OAAS,EAAA,yBAAA;AAAA,IACT,WAAa,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,SAAS,SAAU,CAAA;AAAA,GAC1C,CAAA;AACH;;;;"}