in src/components/side-panel/map-style-panel/map-layer-selector.js [58:114]
function LayerGroupSelectorFactory() {
const LayerGroupSelector = ({layers, editableLayers, onChange, topLayers}) => (
<StyledInteractionPanel className="map-style__layer-group__selector">
<div className="layer-group__header">
<PanelLabel>
<FormattedMessage id={'mapLayers.title'} />
</PanelLabel>
</div>
<PanelContent className="map-style__layer-group">
{editableLayers.map(slug => (
<StyledLayerGroupItem className="layer-group__select" key={slug}>
<PanelLabelWrapper>
<PanelHeaderAction
className="layer-group__visibility-toggle"
id={`${slug}-toggle`}
tooltip={layers[slug] ? 'tooltip.hide' : 'tooltip.show'}
onClick={() =>
onChange({
visibleLayerGroups: {
...layers,
[slug]: !layers[slug]
}
})
}
IconComponent={layers[slug] ? EyeSeen : EyeUnseen}
active={layers[slug]}
flush
/>
<LayerLabel active={layers[slug]}>
<FormattedMessage id={`mapLayers.${camelize(slug)}`} />
</LayerLabel>
</PanelLabelWrapper>
<CenterFlexbox className="layer-group__bring-top">
<PanelHeaderAction
id={`${slug}-top`}
tooltip="tooltip.moveToTop"
disabled={!layers[slug]}
IconComponent={Upload}
active={topLayers[slug]}
onClick={() =>
onChange({
topLayerGroups: {
...topLayers,
[slug]: !topLayers[slug]
}
})
}
/>
</CenterFlexbox>
</StyledLayerGroupItem>
))}
</PanelContent>
</StyledInteractionPanel>
);
return LayerGroupSelector;
}