[Timeline] Remain centered during zoom

#936
This commit is contained in:
Victor Woeltjen
2016-05-23 15:32:48 -07:00
parent 5b6ea600ba
commit f35947361c
2 changed files with 5 additions and 3 deletions

View File

@@ -104,14 +104,14 @@
<div class="split-pane-component l-timeline-pane t-pane-h l-pane-top t-timeline-gantt l-timeline-gantt s-timeline-gantt">
<div class="l-hover-btns-holder s-hover-btns-holder t-btns-zoom">
<a class="t-btn l-btn s-btn"
ng-click="zoomController.zoom(-1)"
ng-click="zoomController.zoom(-1, scroll)"
ng-show="true"
title="Zoom in">
<span class="ui-symbol icon zoom-in">X</span>
</a>
<a class="t-btn l-btn s-btn"
ng-click="zoomController.zoom(1)"
ng-click="zoomController.zoom(1, scroll)"
ng-show="true"
title="Zoom out">
<span class="ui-symbol icon zoom-out">Y</span>

View File

@@ -80,11 +80,13 @@ define(
* @returns {number} current zoom level (as the size of a
* major tick mark, in pixels)
*/
zoom: function (amount) {
zoom: function (amount, bounds) {
// Update the zoom level if called with an argument
if (arguments.length > 0 && !isNaN(amount)) {
var center = this.toMillis(bounds.x + bounds.width / 2);
setZoomLevel(zoomIndex + amount);
storeZoom(zoomIndex);
bounds.x = this.toPixels(center) - bounds.width / 2;
}
return zoomLevels[zoomIndex];
},