mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
* user essentials mob! 🔱 * user essentials mob! 🔱 * user essentials mob! 🔱 lastFile:public/app/plugins/panel/stat/types.ts * user essentials mob! 🔱 * user essentials mob! 🔱 * Use generate defaults, and fix a few remaining issues * Add annolist to dashboard dist plugins * minor fixes Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com> Co-authored-by: Joao Silva <joao.silva@grafana.com> Co-authored-by: Alexandra Vargas <alexa1866@gmail.com> Co-authored-by: sam boyer <sdboyer@grafana.com>
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { FieldColorModeId, FieldConfigSource, PanelModel } from '@grafana/data';
|
|
import { BigValueTextMode, BigValueGraphMode, BigValueColorMode } from '@grafana/schema';
|
|
import { sharedSingleStatPanelChangedHandler } from '@grafana/ui';
|
|
|
|
import { PanelOptions } from './models.gen';
|
|
|
|
// This is called when the panel changes from another panel
|
|
export const statPanelChangedHandler = (
|
|
panel: PanelModel<Partial<PanelOptions>> | any,
|
|
prevPluginId: string,
|
|
prevOptions: any
|
|
) => {
|
|
// This handles most config changes
|
|
const options = sharedSingleStatPanelChangedHandler(panel, prevPluginId, prevOptions) as PanelOptions;
|
|
|
|
// Changing from angular singlestat
|
|
if (prevOptions.angular && (prevPluginId === 'singlestat' || prevPluginId === 'grafana-singlestat-panel')) {
|
|
const oldOptions = prevOptions.angular;
|
|
|
|
options.graphMode = BigValueGraphMode.None;
|
|
if (oldOptions.sparkline && oldOptions.sparkline.show) {
|
|
options.graphMode = BigValueGraphMode.Area;
|
|
}
|
|
|
|
if (oldOptions.colorBackground) {
|
|
options.colorMode = BigValueColorMode.Background;
|
|
} else if (oldOptions.colorValue) {
|
|
options.colorMode = BigValueColorMode.Value;
|
|
} else {
|
|
options.colorMode = BigValueColorMode.None;
|
|
if (oldOptions.sparkline?.lineColor && options.graphMode === BigValueGraphMode.Area) {
|
|
const cfg: FieldConfigSource = panel.fieldConfig ?? {};
|
|
cfg.defaults.color = {
|
|
mode: FieldColorModeId.Fixed,
|
|
fixedColor: oldOptions.sparkline.lineColor,
|
|
};
|
|
panel.fieldConfig = cfg;
|
|
}
|
|
}
|
|
|
|
if (oldOptions.valueName === 'name') {
|
|
options.textMode = BigValueTextMode.Name;
|
|
}
|
|
}
|
|
|
|
return options;
|
|
};
|