mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Add exploration option to node layout * Add hidden node count * Add grid layout option * Fix panning bounds calculation * Add legend with sorting * Allow sorting on any stats or arc value * Fix merge * Make sorting better * Reset focused node on layout change * Refactor limit hook a bit * Disable selected layout button * Don't show markers if only 1 node is hidden * Move legend to the bottom * Fix text backgrounds * Add show in graph layout action in grid layout * Center view on the focused node, fix perf issue when expanding big graph * Limit the node counting * Comment and linting fixes * Bit of code cleanup and comments * Add state for computing layout * Prevent computing map with partial data * Add rollup plugin for worker * Add rollup plugin for worker * Enhance data from worker * Fix perf issues with reduce and object creation * Improve comment * Fix tests * Css fixes * Remove worker plugin * Add comments * Fix test * Add test for exploration * Add test switching to grid layout * Apply suggestions from code review Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com> * Remove unused plugin * Fix function name * Remove unused rollup plugin * Review fixes * Fix context menu shown on layout change * Make buttons bigger * Moved NodeGraph to core grafana Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
20 lines
578 B
TypeScript
20 lines
578 B
TypeScript
import usePrevious from 'react-use/lib/usePrevious';
|
|
import { Config } from './layout';
|
|
import { NodeDatum } from './types';
|
|
|
|
export function useFocusPositionOnLayout(config: Config, nodes: NodeDatum[], focusedNodeId: string | undefined) {
|
|
const prevLayoutGrid = usePrevious(config.gridLayout);
|
|
let focusPosition;
|
|
if (prevLayoutGrid === true && !config.gridLayout && focusedNodeId) {
|
|
const node = nodes.find((n) => n.id === focusedNodeId);
|
|
if (node) {
|
|
focusPosition = {
|
|
x: -node.x!,
|
|
y: -node.y!,
|
|
};
|
|
}
|
|
}
|
|
|
|
return focusPosition;
|
|
}
|