hyperprop-charting-library 0.1.28 → 0.1.29
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.
|
@@ -2665,9 +2665,11 @@ function createChart(element, options = {}) {
|
|
|
2665
2665
|
};
|
|
2666
2666
|
const setData = (nextData) => {
|
|
2667
2667
|
const hadData = data.length > 0;
|
|
2668
|
+
const previousCount = data.length;
|
|
2668
2669
|
const previousCenterRounded = hadData ? Math.round(xCenter) : 0;
|
|
2669
2670
|
const previousCenterFraction = hadData ? xCenter - previousCenterRounded : 0;
|
|
2670
2671
|
const previousCenterTimeMs = hadData && previousCenterRounded >= 0 && previousCenterRounded < data.length ? data[previousCenterRounded]?.time.getTime() ?? null : null;
|
|
2672
|
+
const wasAtRightEdge = hadData && xCenter + xSpan / 2 >= previousCount - 1;
|
|
2671
2673
|
data = parseData(nextData);
|
|
2672
2674
|
if (data.length === 0) {
|
|
2673
2675
|
xCenter = 0;
|
|
@@ -2681,7 +2683,9 @@ function createChart(element, options = {}) {
|
|
|
2681
2683
|
resetYViewport();
|
|
2682
2684
|
} else {
|
|
2683
2685
|
if (mergedOptions.preserveViewportOnDataUpdate) {
|
|
2684
|
-
if (
|
|
2686
|
+
if (wasAtRightEdge) {
|
|
2687
|
+
xCenter = data.length - xSpan / 2 + rightEdgePaddingBars;
|
|
2688
|
+
} else if (previousCenterTimeMs !== null) {
|
|
2685
2689
|
const nextCenter = findNearestIndexForTimeMs(previousCenterTimeMs);
|
|
2686
2690
|
if (nextCenter !== null) {
|
|
2687
2691
|
xCenter = nextCenter + previousCenterFraction;
|
|
@@ -2641,9 +2641,11 @@ function createChart(element, options = {}) {
|
|
|
2641
2641
|
};
|
|
2642
2642
|
const setData = (nextData) => {
|
|
2643
2643
|
const hadData = data.length > 0;
|
|
2644
|
+
const previousCount = data.length;
|
|
2644
2645
|
const previousCenterRounded = hadData ? Math.round(xCenter) : 0;
|
|
2645
2646
|
const previousCenterFraction = hadData ? xCenter - previousCenterRounded : 0;
|
|
2646
2647
|
const previousCenterTimeMs = hadData && previousCenterRounded >= 0 && previousCenterRounded < data.length ? data[previousCenterRounded]?.time.getTime() ?? null : null;
|
|
2648
|
+
const wasAtRightEdge = hadData && xCenter + xSpan / 2 >= previousCount - 1;
|
|
2647
2649
|
data = parseData(nextData);
|
|
2648
2650
|
if (data.length === 0) {
|
|
2649
2651
|
xCenter = 0;
|
|
@@ -2657,7 +2659,9 @@ function createChart(element, options = {}) {
|
|
|
2657
2659
|
resetYViewport();
|
|
2658
2660
|
} else {
|
|
2659
2661
|
if (mergedOptions.preserveViewportOnDataUpdate) {
|
|
2660
|
-
if (
|
|
2662
|
+
if (wasAtRightEdge) {
|
|
2663
|
+
xCenter = data.length - xSpan / 2 + rightEdgePaddingBars;
|
|
2664
|
+
} else if (previousCenterTimeMs !== null) {
|
|
2661
2665
|
const nextCenter = findNearestIndexForTimeMs(previousCenterTimeMs);
|
|
2662
2666
|
if (nextCenter !== null) {
|
|
2663
2667
|
xCenter = nextCenter + previousCenterFraction;
|
package/dist/index.cjs
CHANGED
|
@@ -2665,9 +2665,11 @@ function createChart(element, options = {}) {
|
|
|
2665
2665
|
};
|
|
2666
2666
|
const setData = (nextData) => {
|
|
2667
2667
|
const hadData = data.length > 0;
|
|
2668
|
+
const previousCount = data.length;
|
|
2668
2669
|
const previousCenterRounded = hadData ? Math.round(xCenter) : 0;
|
|
2669
2670
|
const previousCenterFraction = hadData ? xCenter - previousCenterRounded : 0;
|
|
2670
2671
|
const previousCenterTimeMs = hadData && previousCenterRounded >= 0 && previousCenterRounded < data.length ? data[previousCenterRounded]?.time.getTime() ?? null : null;
|
|
2672
|
+
const wasAtRightEdge = hadData && xCenter + xSpan / 2 >= previousCount - 1;
|
|
2671
2673
|
data = parseData(nextData);
|
|
2672
2674
|
if (data.length === 0) {
|
|
2673
2675
|
xCenter = 0;
|
|
@@ -2681,7 +2683,9 @@ function createChart(element, options = {}) {
|
|
|
2681
2683
|
resetYViewport();
|
|
2682
2684
|
} else {
|
|
2683
2685
|
if (mergedOptions.preserveViewportOnDataUpdate) {
|
|
2684
|
-
if (
|
|
2686
|
+
if (wasAtRightEdge) {
|
|
2687
|
+
xCenter = data.length - xSpan / 2 + rightEdgePaddingBars;
|
|
2688
|
+
} else if (previousCenterTimeMs !== null) {
|
|
2685
2689
|
const nextCenter = findNearestIndexForTimeMs(previousCenterTimeMs);
|
|
2686
2690
|
if (nextCenter !== null) {
|
|
2687
2691
|
xCenter = nextCenter + previousCenterFraction;
|
package/dist/index.js
CHANGED
|
@@ -2641,9 +2641,11 @@ function createChart(element, options = {}) {
|
|
|
2641
2641
|
};
|
|
2642
2642
|
const setData = (nextData) => {
|
|
2643
2643
|
const hadData = data.length > 0;
|
|
2644
|
+
const previousCount = data.length;
|
|
2644
2645
|
const previousCenterRounded = hadData ? Math.round(xCenter) : 0;
|
|
2645
2646
|
const previousCenterFraction = hadData ? xCenter - previousCenterRounded : 0;
|
|
2646
2647
|
const previousCenterTimeMs = hadData && previousCenterRounded >= 0 && previousCenterRounded < data.length ? data[previousCenterRounded]?.time.getTime() ?? null : null;
|
|
2648
|
+
const wasAtRightEdge = hadData && xCenter + xSpan / 2 >= previousCount - 1;
|
|
2647
2649
|
data = parseData(nextData);
|
|
2648
2650
|
if (data.length === 0) {
|
|
2649
2651
|
xCenter = 0;
|
|
@@ -2657,7 +2659,9 @@ function createChart(element, options = {}) {
|
|
|
2657
2659
|
resetYViewport();
|
|
2658
2660
|
} else {
|
|
2659
2661
|
if (mergedOptions.preserveViewportOnDataUpdate) {
|
|
2660
|
-
if (
|
|
2662
|
+
if (wasAtRightEdge) {
|
|
2663
|
+
xCenter = data.length - xSpan / 2 + rightEdgePaddingBars;
|
|
2664
|
+
} else if (previousCenterTimeMs !== null) {
|
|
2661
2665
|
const nextCenter = findNearestIndexForTimeMs(previousCenterTimeMs);
|
|
2662
2666
|
if (nextCenter !== null) {
|
|
2663
2667
|
xCenter = nextCenter + previousCenterFraction;
|