heartbeat-monitor/node_modules/recharts/es6/util/calculateViewBox.js
Matt Bruce bed1169443 Initial commit: Heartbeat Monitor dashboard
- Full-featured monitoring dashboard for local web apps
- Real-time status tracking with uptime percentages
- Visual sparklines for status history
- Add/Edit/Delete apps dynamically
- Categories and color coding
- Auto-refresh every 30 seconds
- API endpoints for apps and status management
2026-02-18 11:16:01 -06:00

18 lines
613 B
JavaScript

import memoize from 'lodash/memoize';
/**
* This is memoized because the viewBox is unlikely to change often
* - but because it is computed from offset, any change to it would re-render all children.
*
* And because we have many readers of the viewBox, and update it only rarely,
* then let's optimize with memoization.
*/
export var calculateViewBox = memoize(function (offset) {
return {
x: offset.left,
y: offset.top,
width: offset.width,
height: offset.height
};
}, function (offset) {
return ['l', offset.left, 't', offset.top, 'w', offset.width, 'h', offset.height].join('');
});