mirror of
https://github.com/nasa/openmct.git
synced 2024-12-19 13:17:53 +00:00
[Plot] Integrate PlotPanZoomStackGroup
Utilize PlotPanZoomStackGroup; that is, utilize changes such that a set of pan-zoom stacks can be treated as one, while their domain axis synchronizes, and their range axis does not. WTD-625.
This commit is contained in:
parent
0ce0517e09
commit
9c1d72f917
@ -16,19 +16,13 @@ define(
|
||||
stack.pushPanZoom(origin, dimensions);
|
||||
} else {
|
||||
stack.pushPanZoom(
|
||||
[ origin[0], stack.getOrigin[1] ],
|
||||
[ dimensions[0], stack.getDimensions[1] ]
|
||||
[ origin[0], stack.getOrigin()[1] ],
|
||||
[ dimensions[0], stack.getDimensions()[1] ]
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setBasePanZoom(origin, dimensions, index) {
|
||||
stacks.forEach(function (stack, i) {
|
||||
stack.setBasePanZoom(origin, dimensions);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function popPanZoom() {
|
||||
stacks.forEach(function (stack) {
|
||||
@ -36,6 +30,12 @@ define(
|
||||
});
|
||||
}
|
||||
|
||||
function setBasePanZoom(origin, dimensions) {
|
||||
stacks.forEach(function (stack) {
|
||||
stack.setBasePanZoom(origin, dimensions);
|
||||
});
|
||||
}
|
||||
|
||||
function clearPanZoom() {
|
||||
stacks.forEach(function (stack) {
|
||||
stack.popPanZoom();
|
||||
@ -48,11 +48,11 @@ define(
|
||||
result.pushPanZoom = function (origin, dimensions) {
|
||||
pushPanZoom(origin, dimensions, index);
|
||||
};
|
||||
result.setBasePanZoom = function (origin, dimensions) {
|
||||
|
||||
};
|
||||
result.setBasePanZoom = setBasePanZoom;
|
||||
result.popPanZoom = popPanZoom;
|
||||
result.clearPanZoom = clearPanZoom;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
for (i = 0; i < count; i += 1) {
|
||||
@ -69,6 +69,9 @@ define(
|
||||
},
|
||||
getPanZoomStack: function (index) {
|
||||
return decoratedStacks[index];
|
||||
},
|
||||
getPanZoomStacks: function () {
|
||||
return decoratedStacks;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -1,15 +1,19 @@
|
||||
/*global define*/
|
||||
|
||||
define(
|
||||
["../SubPlot", "../elements/PlotPalette", "../elements/PlotPanZoomStack"],
|
||||
function (SubPlot, PlotPalette, PlotPanZoomStack) {
|
||||
["../SubPlot", "../elements/PlotPalette", "../elements/PlotPanZoomStackGroup"],
|
||||
function (SubPlot, PlotPalette, PlotPanZoomStackGroup) {
|
||||
"use strict";
|
||||
|
||||
function PlotStackMode(telemetryObjects) {
|
||||
var domainOffset,
|
||||
panZoomStack = new PlotPanZoomStack([], []),
|
||||
subplots = telemetryObjects.map(function (telemetryObject) {
|
||||
return new SubPlot([telemetryObject], panZoomStack);
|
||||
panZoomStackGroup =
|
||||
new PlotPanZoomStackGroup(telemetryObjects.length),
|
||||
subplots = telemetryObjects.map(function (telemetryObject, i) {
|
||||
return new SubPlot(
|
||||
[telemetryObject],
|
||||
panZoomStackGroup.getPanZoomStack(i)
|
||||
);
|
||||
});
|
||||
|
||||
function plotTelemetryTo(subplot, prepared, index) {
|
||||
@ -31,12 +35,14 @@ define(
|
||||
}
|
||||
|
||||
function plotTelemetry(prepared) {
|
||||
// Fit to the boundaries of the data, but don't
|
||||
// Fit to the boundaries of the data, but don't
|
||||
// override any user-initiated pan-zoom changes.
|
||||
panZoomStack.setBasePanZoom(
|
||||
prepared.getOrigin(),
|
||||
prepared.getDimensions()
|
||||
);
|
||||
panZoomStackGroup.getPanZoomStacks().forEach(function (stack) {
|
||||
stack.setBasePanZoom(
|
||||
prepared.getOrigin(),
|
||||
prepared.getDimensions()
|
||||
);
|
||||
});
|
||||
|
||||
subplots.forEach(function (subplot, index) {
|
||||
plotTelemetryTo(subplot, prepared, index);
|
||||
@ -49,16 +55,16 @@ define(
|
||||
return subplots;
|
||||
},
|
||||
isZoomed: function () {
|
||||
return panZoomStack.getDepth() > 1;
|
||||
return panZoomStackGroup.getDepth() > 1;
|
||||
},
|
||||
stepBackPanZoom: function () {
|
||||
panZoomStack.pop();
|
||||
panZoomStackGroup.popPanZoom();
|
||||
subplots.forEach(function (subplot) {
|
||||
subplot.update();
|
||||
});
|
||||
},
|
||||
unzoom: function () {
|
||||
panZoomStack.clearPanZoom();
|
||||
panZoomStackGroup.clearPanZoom();
|
||||
subplots.forEach(function (subplot) {
|
||||
subplot.update();
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user