define([ 'angular', 'app', 'underscore' ], function (angular, app, _) { 'use strict'; var module = angular.module('kibana.controllers'); module.controller('ZoomCtrl', function($scope, filterSrv) { // function $scope.zoom // factor :: Zoom factor, so 0.5 = cuts timespan in half, 2 doubles timespan $scope.zoom = function(factor) { var _range = filterSrv.timeRange('last'); var _timespan = (_range.to.valueOf() - _range.from.valueOf()); var _center = _range.to.valueOf() - _timespan/2; var _to = (_center + (_timespan*factor)/2); var _from = (_center - (_timespan*factor)/2); // If we're not already looking into the future, don't. if(_to > Date.now() && _range.to < Date.now()) { var _offset = _to - Date.now(); _from = _from - _offset; _to = Date.now(); } if(factor > 1) { filterSrv.removeByType('time'); } filterSrv.set({ type:'time', from:moment.utc(_from).toDate(), to:moment.utc(_to).toDate(), field:"@timestamp" }); }; }); });