Merge remote-tracking branch 'origin/open747' into open-master

This commit is contained in:
bwyu
2015-02-06 16:45:49 -08:00
6 changed files with 124 additions and 4 deletions

View File

@@ -0,0 +1,54 @@
/*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;
}
);