⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.4
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
grafana
/
public
/
app
/
plugins
/
panel
/
stat
/
Edit File: module.tsx
import { PanelPlugin } from '@grafana/data'; import { BigValueColorMode, BigValueGraphMode, BigValueJustifyMode, BigValueTextMode } from '@grafana/schema'; import { commonOptionsBuilder, sharedSingleStatMigrationHandler } from '@grafana/ui'; import { statPanelChangedHandler } from './StatMigrations'; import { StatPanel } from './StatPanel'; import { addStandardDataReduceOptions, addOrientationOption } from './common'; import { defaultOptions, Options } from './panelcfg.gen'; import { StatSuggestionsSupplier } from './suggestions'; export const plugin = new PanelPlugin<Options>(StatPanel) .useFieldConfig() .setPanelOptions((builder) => { const mainCategory = ['Stat styles']; addStandardDataReduceOptions(builder); addOrientationOption(builder, mainCategory); commonOptionsBuilder.addTextSizeOptions(builder); builder .addSelect({ path: 'textMode', name: 'Text mode', description: 'Control if name and value is displayed or just name', category: mainCategory, settings: { options: [ { value: BigValueTextMode.Auto, label: 'Auto' }, { value: BigValueTextMode.Value, label: 'Value' }, { value: BigValueTextMode.ValueAndName, label: 'Value and name' }, { value: BigValueTextMode.Name, label: 'Name' }, { value: BigValueTextMode.None, label: 'None' }, ], }, defaultValue: defaultOptions.textMode, }) .addRadio({ path: 'wideLayout', name: 'Wide layout', category: mainCategory, settings: { options: [ { value: true, label: 'On' }, { value: false, label: 'Off' }, ], }, defaultValue: defaultOptions.wideLayout, showIf: (config) => config.textMode === BigValueTextMode.ValueAndName, }); builder .addSelect({ path: 'colorMode', name: 'Color mode', defaultValue: BigValueColorMode.Value, category: mainCategory, settings: { options: [ { value: BigValueColorMode.None, label: 'None' }, { value: BigValueColorMode.Value, label: 'Value' }, { value: BigValueColorMode.Background, label: 'Background Gradient' }, { value: BigValueColorMode.BackgroundSolid, label: 'Background Solid' }, ], }, }) .addRadio({ path: 'graphMode', name: 'Graph mode', description: 'Stat panel graph / sparkline mode', category: mainCategory, defaultValue: defaultOptions.graphMode, settings: { options: [ { value: BigValueGraphMode.None, label: 'None' }, { value: BigValueGraphMode.Area, label: 'Area' }, ], }, }) .addRadio({ path: 'justifyMode', name: 'Text alignment', defaultValue: defaultOptions.justifyMode, category: mainCategory, settings: { options: [ { value: BigValueJustifyMode.Auto, label: 'Auto' }, { value: BigValueJustifyMode.Center, label: 'Center' }, ], }, }) .addBooleanSwitch({ path: 'showPercentChange', name: 'Show percent change', defaultValue: defaultOptions.showPercentChange, category: mainCategory, showIf: (config) => !config.reduceOptions.values, }); }) .setNoPadding() .setPanelChangeHandler(statPanelChangedHandler) .setSuggestionsSupplier(new StatSuggestionsSupplier()) .setMigrationHandler(sharedSingleStatMigrationHandler);
Simpan