mirror of
https://github.com/nasa/openmct.git
synced 2025-04-12 05:40:17 +00:00
Merge remote-tracking branch 'github-open/open53' into open-master
This commit is contained in:
commit
8c1b70f085
platform/commonUI/general
@ -135,7 +135,7 @@
|
||||
{
|
||||
"key": "mctSplitPane",
|
||||
"implementation": "directives/MCTSplitPane.js",
|
||||
"depends": [ "$parse", "$log" ]
|
||||
"depends": [ "$parse", "$log", "$interval" ]
|
||||
},
|
||||
{
|
||||
"key": "mctSplitter",
|
||||
|
@ -28,6 +28,7 @@ define(
|
||||
|
||||
// Pixel width to allocate for the splitter itself
|
||||
var DEFAULT_ANCHOR = 'left',
|
||||
POLLING_INTERVAL = 15, // milliseconds
|
||||
CHILDREN_WARNING_MESSAGE = [
|
||||
"Invalid mct-split-pane contents.",
|
||||
"This element should contain exactly three",
|
||||
@ -94,7 +95,7 @@ define(
|
||||
* @memberof platform/commonUI/general
|
||||
* @constructor
|
||||
*/
|
||||
function MCTSplitPane($parse, $log) {
|
||||
function MCTSplitPane($parse, $log, $interval) {
|
||||
var anchors = {
|
||||
left: true,
|
||||
right: true,
|
||||
@ -105,6 +106,7 @@ define(
|
||||
function controller($scope, $element, $attrs) {
|
||||
var anchorKey = $attrs.anchor || DEFAULT_ANCHOR,
|
||||
anchor,
|
||||
activeInterval,
|
||||
positionParsed = $parse($attrs.position),
|
||||
position; // Start undefined, until explicitly set
|
||||
|
||||
@ -162,14 +164,14 @@ define(
|
||||
// Getter-setter for the pixel offset of the splitter,
|
||||
// relative to the current edge.
|
||||
function getSetPosition(value) {
|
||||
var min, max;
|
||||
var min, max, prior = position;
|
||||
if (typeof value === 'number') {
|
||||
position = value;
|
||||
enforceExtrema();
|
||||
updateElementPositions();
|
||||
|
||||
// Pass change up so this state can be shared
|
||||
if (positionParsed.assign) {
|
||||
if (positionParsed.assign && position !== prior) {
|
||||
positionParsed.assign($scope, position);
|
||||
}
|
||||
}
|
||||
@ -193,6 +195,16 @@ define(
|
||||
$element.children().eq(anchor.reversed ? 2 : 0)[0]
|
||||
));
|
||||
|
||||
// And poll for position changes enforced by styles
|
||||
activeInterval = $interval(function () {
|
||||
getSetPosition(getSetPosition());
|
||||
}, POLLING_INTERVAL, false);
|
||||
|
||||
// ...and stop polling when we're destroyed.
|
||||
$scope.$on('$destroy', function () {
|
||||
$interval.cancel(activeInterval);
|
||||
});
|
||||
|
||||
// Interface exposed by controller, for mct-splitter to user
|
||||
return {
|
||||
position: getSetPosition,
|
||||
|
@ -48,10 +48,6 @@ define(
|
||||
|
||||
element.addClass("splitter");
|
||||
|
||||
// Now that we have the above class, the splitter width
|
||||
// will have changed, so trigger a positioning update.
|
||||
mctSplitPane.position(mctSplitPane.position());
|
||||
|
||||
scope.splitter = {
|
||||
// Begin moving this splitter
|
||||
startMove: function () {
|
||||
|
Loading…
x
Reference in New Issue
Block a user