@grafana/flamegraph
Version:
Grafana flamegraph visualization component
1 lines • 1.24 kB
Source Map (JSON)
{"version":3,"file":"hooks.mjs","sources":["../../src/hooks.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { type FlameGraphDataContainer } from './FlameGraph/dataTransform';\nimport { ColorScheme, ColorSchemeDiff } from './types';\n\n/**\n * Manages the color scheme state, resetting it when the data changes between\n * diff and non-diff profiles.\n */\nexport function useColorScheme(dataContainer: FlameGraphDataContainer | undefined) {\n const defaultColorScheme = dataContainer?.isDiffFlamegraph() ? ColorSchemeDiff.Default : ColorScheme.PackageBased;\n const [colorScheme, setColorScheme] = useState<ColorScheme | ColorSchemeDiff>(defaultColorScheme);\n\n useEffect(() => {\n setColorScheme(defaultColorScheme);\n }, [defaultColorScheme]);\n\n return [colorScheme, setColorScheme] as const;\n}\n"],"names":[],"mappings":";;;;AASO,SAAS,eAAe,aAAA,EAAoD;AACjF,EAAA,MAAM,kBAAA,GAAA,CAAqB,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,gBAAA,EAAA,IAAqB,eAAA,CAAgB,UAAU,WAAA,CAAY,YAAA;AACrG,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAwC,kBAAkB,CAAA;AAEhG,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,kBAAkB,CAAA;AAAA,EACnC,CAAA,EAAG,CAAC,kBAAkB,CAAC,CAAA;AAEvB,EAAA,OAAO,CAAC,aAAa,cAAc,CAAA;AACrC;;;;"}