| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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"
- });
- };
- });
- });
|