@grafana/scenes 5.31.0 → 5.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/esm/utils/evaluateTimeRange.js +20 -2
- package/dist/esm/utils/evaluateTimeRange.js.map +1 -1
- package/dist/index.js +20 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# v5.32.0 (Fri Dec 13 2024)
|
|
2
|
+
|
|
3
|
+
#### 🚀 Enhancement
|
|
4
|
+
|
|
5
|
+
- Supply fixed now to datemath caluclations [#981](https://github.com/grafana/scenes/pull/981) ([@oscarkilhed](https://github.com/oscarkilhed))
|
|
6
|
+
|
|
7
|
+
#### Authors: 1
|
|
8
|
+
|
|
9
|
+
- Oscar Kilhed ([@oscarkilhed](https://github.com/oscarkilhed))
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
1
13
|
# v5.31.0 (Thu Dec 12 2024)
|
|
2
14
|
|
|
3
15
|
#### 🐛 Bug Fix
|
|
@@ -2,9 +2,27 @@ import { dateMath } from '@grafana/data';
|
|
|
2
2
|
|
|
3
3
|
function evaluateTimeRange(from, to, timeZone, fiscalYearStartMonth, delay) {
|
|
4
4
|
const hasDelay = delay && to === "now";
|
|
5
|
+
const now = Date.now();
|
|
6
|
+
const parseOrToDateTime = (val, options) => {
|
|
7
|
+
if (dateMath.toDateTime) {
|
|
8
|
+
return dateMath.toDateTime(val, options);
|
|
9
|
+
} else {
|
|
10
|
+
return dateMath.parse(val, options.roundUp, options.timezone, options.fiscalYearStartMonth);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
5
13
|
return {
|
|
6
|
-
|
|
7
|
-
|
|
14
|
+
to: parseOrToDateTime(hasDelay ? "now-" + delay : to, {
|
|
15
|
+
roundUp: true,
|
|
16
|
+
timezone: timeZone,
|
|
17
|
+
fiscalYearStartMonth,
|
|
18
|
+
now
|
|
19
|
+
}),
|
|
20
|
+
from: parseOrToDateTime(from, {
|
|
21
|
+
roundUp: false,
|
|
22
|
+
timezone: timeZone,
|
|
23
|
+
fiscalYearStartMonth,
|
|
24
|
+
now
|
|
25
|
+
}),
|
|
8
26
|
raw: {
|
|
9
27
|
from,
|
|
10
28
|
to
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluateTimeRange.js","sources":["../../../src/utils/evaluateTimeRange.ts"],"sourcesContent":["import { dateMath, DateTime, TimeRange } from '@grafana/data';\nimport { TimeZone } from '@grafana/schema';\n\nexport function evaluateTimeRange(\n from: string | DateTime,\n to: string | DateTime,\n timeZone: TimeZone,\n fiscalYearStartMonth?: number,\n delay?: string\n): TimeRange {\n const hasDelay = delay && to === 'now';\n\n
|
|
1
|
+
{"version":3,"file":"evaluateTimeRange.js","sources":["../../../src/utils/evaluateTimeRange.ts"],"sourcesContent":["import { dateMath, DateTime, DateTimeInput, TimeRange } from '@grafana/data';\nimport { TimeZone } from '@grafana/schema';\n\nexport function evaluateTimeRange(\n from: string | DateTime,\n to: string | DateTime,\n timeZone: TimeZone,\n fiscalYearStartMonth?: number,\n delay?: string\n): TimeRange {\n const hasDelay = delay && to === 'now';\n const now = Date.now();\n\n /** This tries to use dateMath.toDateTime if available, otherwise falls back to dateMath.parse.\n * Using dateMath.parse can potentially result in to and from being calculated using two different timestamps.\n * If two different timestamps are used, the time range \"now-24h to now\" will potentially be 24h +- number of milliseconds it takes between calculations.\n */\n const parseOrToDateTime = (\n val: string | DateTime,\n options: { roundUp: boolean; timezone: TimeZone; fiscalYearStartMonth?: number; now?: DateTimeInput }\n ) => {\n // @ts-ignore\n if (dateMath.toDateTime) {\n // @ts-ignore\n return dateMath.toDateTime(val, options);\n } else {\n return dateMath.parse(val, options.roundUp, options.timezone, options.fiscalYearStartMonth);\n }\n };\n\n /** The order of calculating to and from is important. This is because if we're using the old dateMath.parse we could potentially get two different timestamps.\n * If we calculate to first, then from. The timerange \"now-24h to now\" will err on the side of being shorter than 24h. This will aleviate some of the issues arising\n * from the timerange indeterminently alternating between less than or equal to 24h and being greater than 24h.\n */\n return {\n to: parseOrToDateTime(hasDelay ? 'now-' + delay : to, {\n roundUp: true,\n timezone: timeZone,\n fiscalYearStartMonth: fiscalYearStartMonth,\n now: now,\n })!,\n from: parseOrToDateTime(from, {\n roundUp: false,\n timezone: timeZone,\n fiscalYearStartMonth: fiscalYearStartMonth,\n now: now,\n })!,\n raw: {\n from: from,\n to: to,\n },\n };\n}\n"],"names":[],"mappings":";;AAGO,SAAS,iBACd,CAAA,IAAA,EACA,EACA,EAAA,QAAA,EACA,sBACA,KACW,EAAA;AACX,EAAM,MAAA,QAAA,GAAW,SAAS,EAAO,KAAA,KAAA,CAAA;AACjC,EAAM,MAAA,GAAA,GAAM,KAAK,GAAI,EAAA,CAAA;AAMrB,EAAM,MAAA,iBAAA,GAAoB,CACxB,GAAA,EACA,OACG,KAAA;AAEH,IAAA,IAAI,SAAS,UAAY,EAAA;AAEvB,MAAO,OAAA,QAAA,CAAS,UAAW,CAAA,GAAA,EAAK,OAAO,CAAA,CAAA;AAAA,KAClC,MAAA;AACL,MAAO,OAAA,QAAA,CAAS,MAAM,GAAK,EAAA,OAAA,CAAQ,SAAS,OAAQ,CAAA,QAAA,EAAU,QAAQ,oBAAoB,CAAA,CAAA;AAAA,KAC5F;AAAA,GACF,CAAA;AAMA,EAAO,OAAA;AAAA,IACL,EAAI,EAAA,iBAAA,CAAkB,QAAW,GAAA,MAAA,GAAS,QAAQ,EAAI,EAAA;AAAA,MACpD,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,QAAA;AAAA,MACV,oBAAA;AAAA,MACA,GAAA;AAAA,KACD,CAAA;AAAA,IACD,IAAA,EAAM,kBAAkB,IAAM,EAAA;AAAA,MAC5B,OAAS,EAAA,KAAA;AAAA,MACT,QAAU,EAAA,QAAA;AAAA,MACV,oBAAA;AAAA,MACA,GAAA;AAAA,KACD,CAAA;AAAA,IACD,GAAK,EAAA;AAAA,MACH,IAAA;AAAA,MACA,EAAA;AAAA,KACF;AAAA,GACF,CAAA;AACF;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -718,9 +718,27 @@ function parseUrlParam(value) {
|
|
|
718
718
|
|
|
719
719
|
function evaluateTimeRange(from, to, timeZone, fiscalYearStartMonth, delay) {
|
|
720
720
|
const hasDelay = delay && to === "now";
|
|
721
|
+
const now = Date.now();
|
|
722
|
+
const parseOrToDateTime = (val, options) => {
|
|
723
|
+
if (data.dateMath.toDateTime) {
|
|
724
|
+
return data.dateMath.toDateTime(val, options);
|
|
725
|
+
} else {
|
|
726
|
+
return data.dateMath.parse(val, options.roundUp, options.timezone, options.fiscalYearStartMonth);
|
|
727
|
+
}
|
|
728
|
+
};
|
|
721
729
|
return {
|
|
722
|
-
|
|
723
|
-
|
|
730
|
+
to: parseOrToDateTime(hasDelay ? "now-" + delay : to, {
|
|
731
|
+
roundUp: true,
|
|
732
|
+
timezone: timeZone,
|
|
733
|
+
fiscalYearStartMonth,
|
|
734
|
+
now
|
|
735
|
+
}),
|
|
736
|
+
from: parseOrToDateTime(from, {
|
|
737
|
+
roundUp: false,
|
|
738
|
+
timezone: timeZone,
|
|
739
|
+
fiscalYearStartMonth,
|
|
740
|
+
now
|
|
741
|
+
}),
|
|
724
742
|
raw: {
|
|
725
743
|
from,
|
|
726
744
|
to
|