Skip to content

Commit

Permalink
Region map should respect saved center and zoom (elastic#12883)
Browse files Browse the repository at this point in the history
Required manual edits to backport.
  • Loading branch information
thomasneirynck committed Jul 27, 2017
1 parent 37d75ac commit e7c5af1
Showing 1 changed file with 18 additions and 5 deletions.
23 changes: 18 additions & 5 deletions src/core_plugins/region_map/public/region_map_controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@ import AggResponsePointSeriesTooltipFormatterProvider from './tooltip_formatter'
import { ResizeCheckerProvider } from 'ui/resize_checker';
import 'ui/vis_maps/lib/service_settings';


const module = uiModules.get('kibana/region_map', ['kibana']);
module.controller('KbnRegionMapController', function ($scope, $element, Private, Notifier, getAppState,
serviceSettings, config) {

const DEFAULT_ZOOM_SETTINGS = {
zoom: 2,
mapCenter: [0, 0]
};

const tooltipFormatter = Private(AggResponsePointSeriesTooltipFormatterProvider);
const ResizeChecker = Private(ResizeCheckerProvider);
const notify = new Notifier({ location: 'Region map' });
Expand Down Expand Up @@ -90,10 +94,19 @@ module.controller('KbnRegionMapController', function ($scope, $element, Private,
async function makeKibanaMap() {
const tmsSettings = await serviceSettings.getTMSService();
const minMaxZoom = tmsSettings.getMinMaxZoom(false);
kibanaMap = new KibanaMap($element[0], minMaxZoom);
const url = tmsSettings.getUrl();
const options = tmsSettings.getTMSOptions();
kibanaMap.setBaseLayer({ baseLayerType: 'tms', options: { url, ...options } });

const options = { ...minMaxZoom };
const uiState = $scope.vis.getUiState();
const zoomFromUiState = parseInt(uiState.get('mapZoom'));
const centerFromUIState = uiState.get('mapCenter');
options.zoom = !isNaN(zoomFromUiState) ? zoomFromUiState : DEFAULT_ZOOM_SETTINGS.zoom;
options.center = centerFromUIState ? centerFromUIState : DEFAULT_ZOOM_SETTINGS.mapCenter;
kibanaMap = new KibanaMap($element[0], options);


const tmsUrl = tmsSettings.getUrl();
const tmsOptions = tmsSettings.getTMSOptions();
kibanaMap.setBaseLayer({ baseLayerType: 'tms', options: { tmsUrl, ...tmsOptions } });
kibanaMap.addLegendControl();
kibanaMap.addFitControl();
kibanaMap.persistUiStateForVisualization($scope.vis);
Expand Down

0 comments on commit e7c5af1

Please sign in to comment.