Merge remote-tracking branch 'origin/timeline-flash-997'

This commit is contained in:
Pete Richards 2016-06-10 14:50:36 -07:00
commit 4c097faf88
3 changed files with 13 additions and 9 deletions

View File

@ -472,7 +472,7 @@ define([
"implementation": TimelineZoomController,
"depends": [
"$scope",
"$timeout",
"$window",
"TIMELINE_ZOOM_CONFIGURATION"
]
},

View File

@ -28,7 +28,7 @@ define(
* Controls the pan-zoom state of a timeline view.
* @constructor
*/
function TimelineZoomController($scope, $timeout, ZOOM_CONFIGURATION) {
function TimelineZoomController($scope, $window, ZOOM_CONFIGURATION) {
// Prefer to start with the middle index
var zoomLevels = ZOOM_CONFIGURATION.levels || [1000],
zoomIndex = Math.floor(zoomLevels.length / 2),
@ -54,9 +54,10 @@ define(
}
function setScroll(x) {
$timeout(function () {
$window.requestAnimationFrame(function () {
$scope.scroll.x = x;
}, 0);
$scope.$apply();
});
}
function initializeZoomFromTimespan(timespan) {

View File

@ -28,7 +28,7 @@ define(
describe("The timeline zoom state controller", function () {
var testConfiguration,
mockScope,
mockTimeout,
mockWindow,
controller;
beforeEach(function () {
@ -36,13 +36,16 @@ define(
levels: [1000, 2000, 3500],
width: 12321
};
mockScope = jasmine.createSpyObj("$scope", ['$watch']);
mockScope =
jasmine.createSpyObj("$scope", ['$watch', '$apply']);
mockScope.commit = jasmine.createSpy('commit');
mockScope.scroll = { x: 0, width: 1000 };
mockTimeout = jasmine.createSpy('$timeout');
mockWindow = {
requestAnimationFrame: jasmine.createSpy('raf')
};
controller = new TimelineZoomController(
mockScope,
mockTimeout,
mockWindow,
testConfiguration
);
});
@ -109,7 +112,7 @@ define(
call.args[1](mockScope[call.args[0]]);
});
mockTimeout.calls.forEach(function (call) {
mockWindow.requestAnimationFrame.calls.forEach(function (call) {
call.args[0]();
});
});