Add settings page for managing forecasting API key and URL via UI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
cae411eae7
commit
1c411e402e
19809 changed files with 1962608 additions and 97 deletions
32
frontend/node_modules/recharts/es6/util/round.js
generated
vendored
Normal file
32
frontend/node_modules/recharts/es6/util/round.js
generated
vendored
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
// if you go lower than 3, wild wild things happen during rendering
|
||||
var defaultRoundPrecision = 4;
|
||||
export function round(num) {
|
||||
var roundPrecision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultRoundPrecision;
|
||||
var factor = 10 ** roundPrecision;
|
||||
var rounded = Math.round(num * factor) / factor;
|
||||
if (Object.is(rounded, -0)) {
|
||||
return 0;
|
||||
}
|
||||
return rounded;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function will accept a string template literal and for each
|
||||
* variable placeholder, it will round the value to avoid long float numbers in
|
||||
* the SVG path which might cause rendering issues in some browsers.
|
||||
*/
|
||||
export function roundTemplateLiteral(strings) {
|
||||
for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
||||
values[_key - 1] = arguments[_key];
|
||||
}
|
||||
return strings.reduce((result, string, i) => {
|
||||
var value = values[i - 1];
|
||||
if (typeof value === 'string') {
|
||||
return result + value + string;
|
||||
}
|
||||
if (value !== undefined) {
|
||||
return result + round(value) + string;
|
||||
}
|
||||
return result + string;
|
||||
}, '');
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue