static findDefaultLayerProps()

in src/layers/trip-layer/trip-layer.js [123:155]


  static findDefaultLayerProps({label, fields = [], allData = [], id}, foundLayers) {
    const geojsonColumns = fields.filter(f => f.type === 'geojson').map(f => f.name);

    const defaultColumns = {
      geojson: uniq([...GEOJSON_FIELDS.geojson, ...geojsonColumns])
    };

    const geoJsonColumns = this.findDefaultColumnField(defaultColumns, fields);

    const tripColumns = (geoJsonColumns || []).filter(col =>
      isTripGeoJsonField(allData, fields[col.geojson.fieldIdx])
    );

    if (!tripColumns.length) {
      return {props: []};
    }

    return {
      props: tripColumns.map(columns => ({
        label: (typeof label === 'string' && label.replace(/\.[^/.]+$/, '')) || this.type,
        columns,
        isVisible: true
      })),

      // if a geojson layer is created from this column, delete it
      foundLayers: foundLayers.filter(
        prop =>
          prop.type !== 'geojson' ||
          prop.dataId !== id ||
          !tripColumns.find(c => prop.columns.geojson.name === c.geojson.name)
      )
    };
  }