in src/utils/layer-utils.js [25:54]
export function findDefaultLayer(dataset, layerClasses = {}) {
if (!dataset) {
return [];
}
const layerProps = Object.keys(layerClasses).reduce((previous, lc) => {
const result =
typeof layerClasses[lc].findDefaultLayerProps === 'function'
? layerClasses[lc].findDefaultLayerProps(dataset, previous)
: {props: []};
const props = Array.isArray(result) ? result : result.props || [];
const foundLayers = result.foundLayers || previous;
return foundLayers.concat(
props.map(p => ({
...p,
type: lc,
dataId: dataset.id
}))
);
}, []);
// go through all layerProps to create layer
return layerProps.map(props => {
const layer = new layerClasses[props.type](props);
return typeof layer.setInitialLayerConfig === 'function' && Array.isArray(dataset.allData)
? layer.setInitialLayerConfig(dataset.allData)
: layer;
});
}