mirror of
https://github.com/nasa/openmct.git
synced 2025-05-02 08:43:17 +00:00
Add in-line documentation to controller which supports the moveable splitter in Browse mode, WTD-747.
54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
/*global define*/
|
|
|
|
define(
|
|
[],
|
|
function () {
|
|
"use strict";
|
|
|
|
/**
|
|
* Controller for the splitter in Browse mode. Current implementation
|
|
* uses many hard-coded constants; this could be generalized.
|
|
* @constructor
|
|
*/
|
|
function SplitPaneController() {
|
|
var minimum = 120,
|
|
maximum = 600,
|
|
current = 200,
|
|
start = 200;
|
|
|
|
return {
|
|
/**
|
|
* Get the current position of the splitter, in pixels
|
|
* from the left edge.
|
|
* @returns {number} position of the splitter, in pixels
|
|
*/
|
|
state: function () {
|
|
return current;
|
|
},
|
|
/**
|
|
* Begin moving the splitter; this will note the splitter's
|
|
* current position, which is necessary for correct
|
|
* interpretation of deltas provided by mct-drag.
|
|
*/
|
|
startMove: function () {
|
|
start = current;
|
|
},
|
|
/**
|
|
* Move the splitter a number of pixels to the right
|
|
* (negative numbers move the splitter to the left.)
|
|
* This movement is relative to the position of the
|
|
* splitter when startMove was last invoked.
|
|
* @param {number} delta number of pixels to move
|
|
*/
|
|
move: function (delta) {
|
|
current = Math.min(
|
|
maximum,
|
|
Math.max(minimum, start + delta)
|
|
);
|
|
}
|
|
};
|
|
}
|
|
|
|
return SplitPaneController;
|
|
}
|
|
); |