Files
react-native-mapbox-gl/javascript/components/AbstractLayer.js
T

40 lines
931 B
JavaScript
Raw Normal View History

2017-09-22 16:16:06 -07:00
/* eslint react/prop-types: 0 */
import React from 'react';
class AbstractLayer extends React.Component {
get baseProps () {
return {
id: this.props.id,
sourceID: this.props.sourceID,
reactStyle: this.props.style,
minZoomLevel: this.props.minZoomLevel,
maxZoomLevel: this.props.maxZoomLevel,
aboveLayerID: this.props.aboveLayerID,
belowLayerID: this.props.belowLayerID,
layerIndex: this.props.layerIndex,
filter: this.getFilter(),
};
}
getFilter () {
if (!this.props.filter) {
return;
}
let flattenedFilter = [];
for (let i = 0; i < this.props.filter.length; i++) {
const item = this.props.filter[i];
if (Array.isArray(item)) {
flattenedFilter = flattenedFilter.concat(item);
} else {
flattenedFilter.push(item);
}
}
return flattenedFilter.join(';');
}
}
export default AbstractLayer;