[Maps] fix regression in adding TMS layer (#68471)

* [Maps] fix regression in adding TMS layer

* simplify endDataLoad signature

* rename

* review feedback

Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
Nathan Reese 2020-06-08 13:05:00 -06:00 committed by GitHub
parent 25e71c1096
commit 891342a76f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 17 deletions

View file

@ -42,12 +42,7 @@ import { DataRequestAbortError } from '../classes/util/data_request';
export type DataRequestContext = { export type DataRequestContext = {
startLoading(dataId: string, requestToken: symbol, meta: DataMeta): void; startLoading(dataId: string, requestToken: symbol, meta: DataMeta): void;
stopLoading( stopLoading(dataId: string, requestToken: symbol, data: object, meta: DataMeta): void;
dataId: string,
requestToken: symbol,
data: FeatureCollection | object,
meta: DataMeta
): void;
onLoadError(dataId: string, requestToken: symbol, errorMessage: string): void; onLoadError(dataId: string, requestToken: symbol, errorMessage: string): void;
updateSourceData(newData: unknown): void; updateSourceData(newData: unknown): void;
isRequestStillActive(dataId: string, requestToken: symbol): boolean; isRequestStillActive(dataId: string, requestToken: symbol): boolean;
@ -106,12 +101,8 @@ function getDataRequestContext(
dataFilters: getDataFilters(getState()), dataFilters: getDataFilters(getState()),
startLoading: (dataId: string, requestToken: symbol, meta: DataMeta) => startLoading: (dataId: string, requestToken: symbol, meta: DataMeta) =>
dispatch<any>(startDataLoad(layerId, dataId, requestToken, meta)), dispatch<any>(startDataLoad(layerId, dataId, requestToken, meta)),
stopLoading: ( stopLoading: (dataId: string, requestToken: symbol, data: object, meta: DataMeta) =>
dataId: string, dispatch<any>(endDataLoad(layerId, dataId, requestToken, data, meta)),
requestToken: symbol,
data: FeatureCollection | object,
meta: DataMeta
) => dispatch<any>(endDataLoad(layerId, dataId, requestToken, data, meta)),
onLoadError: (dataId: string, requestToken: symbol, errorMessage: string) => onLoadError: (dataId: string, requestToken: symbol, errorMessage: string) =>
dispatch<any>(onDataLoadError(layerId, dataId, requestToken, errorMessage)), dispatch<any>(onDataLoadError(layerId, dataId, requestToken, errorMessage)),
updateSourceData: (newData: unknown) => { updateSourceData: (newData: unknown) => {
@ -197,7 +188,7 @@ function endDataLoad(
layerId: string, layerId: string,
dataId: string, dataId: string,
requestToken: symbol, requestToken: symbol,
data: FeatureCollection | object, data: object,
meta: DataMeta meta: DataMeta
) { ) {
return async (dispatch: Dispatch, getState: () => MapStoreState) => { return async (dispatch: Dispatch, getState: () => MapStoreState) => {

View file

@ -34,7 +34,7 @@ export class TileLayer extends AbstractLayer {
startLoading(SOURCE_DATA_REQUEST_ID, requestToken, dataFilters); startLoading(SOURCE_DATA_REQUEST_ID, requestToken, dataFilters);
try { try {
const url = await this.getSource().getUrlTemplate(); const url = await this.getSource().getUrlTemplate();
stopLoading(SOURCE_DATA_REQUEST_ID, requestToken, url, {}); stopLoading(SOURCE_DATA_REQUEST_ID, requestToken, { url }, {});
} catch (error) { } catch (error) {
onLoadError(SOURCE_DATA_REQUEST_ID, requestToken, error.message); onLoadError(SOURCE_DATA_REQUEST_ID, requestToken, error.message);
} }
@ -68,15 +68,16 @@ export class TileLayer extends AbstractLayer {
//when turning the layer back into visible, it's possible the url has not been resovled yet. //when turning the layer back into visible, it's possible the url has not been resovled yet.
return; return;
} }
const url = sourceDataRequest.getData();
if (!url) { const tmsSourceData = sourceDataRequest.getData();
if (!tmsSourceData || !tmsSourceData.url) {
return; return;
} }
const sourceId = this.getId(); const sourceId = this.getId();
mbMap.addSource(sourceId, { mbMap.addSource(sourceId, {
type: 'raster', type: 'raster',
tiles: [url], tiles: [tmsSourceData.url],
tileSize: 256, tileSize: 256,
scheme: 'xyz', scheme: 'xyz',
}); });