@grafana/ui
Version:
Grafana Components Library
83 lines (78 loc) • 2.69 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var data = require('@grafana/data');
var i18n = require('@grafana/i18n');
var schema = require('@grafana/schema');
var RadioButtonGroup = require('../../components/Forms/RadioButtonGroup/RadioButtonGroup.cjs');
var IconButton = require('../../components/IconButton/IconButton.cjs');
var Input = require('../../components/Input/Input.cjs');
var Stack = require('../../components/Layout/Stack/Stack.cjs');
var config = require('../../components/uPlot/config.cjs');
;
const StackingEditor = ({
value,
context,
onChange,
item
}) => {
var _a, _b;
return /* @__PURE__ */ jsxRuntime.jsxs(Stack.Stack, { children: [
/* @__PURE__ */ jsxRuntime.jsx(
RadioButtonGroup.RadioButtonGroup,
{
value: (value == null ? void 0 : value.mode) || schema.StackingMode.None,
options: (_b = (_a = item.settings) == null ? void 0 : _a.options) != null ? _b : [],
onChange: (v) => {
onChange({
...value,
mode: v
});
}
}
),
context.isOverride && (value == null ? void 0 : value.mode) && (value == null ? void 0 : value.mode) !== schema.StackingMode.None && /* @__PURE__ */ jsxRuntime.jsx(
Input.Input,
{
type: "text",
placeholder: i18n.t("grafana-ui.stacking-builder.group", "Group"),
suffix: /* @__PURE__ */ jsxRuntime.jsx(
IconButton.IconButton,
{
name: "question-circle",
tooltip: i18n.t("grafana-ui.stacking-builder.group-tooltip", "Name of the stacking group"),
tooltipPlacement: "top"
}
),
defaultValue: value == null ? void 0 : value.group,
onChange: (v) => {
onChange({
...value,
group: v.currentTarget.value.trim()
});
}
}
)
] });
};
function addStackingConfig(builder, defaultConfig, category = ["Graph styles"]) {
const graphFieldOptions = config.getGraphFieldOptions();
builder.addCustomEditor({
id: "stacking",
path: "stacking",
name: i18n.t("grafana-ui.builder.stacking.name-stack-series", "Stack series"),
category,
useFieldset: true,
defaultValue: defaultConfig,
editor: StackingEditor,
override: StackingEditor,
settings: {
options: graphFieldOptions.stacking
},
process: data.identityOverrideProcessor,
shouldApply: (f) => f.type === data.FieldType.number
});
}
exports.StackingEditor = StackingEditor;
exports.addStackingConfig = addStackingConfig;
//# sourceMappingURL=stacking.cjs.map