view client/src/components/identify/formatter.js @ 3636:89a39783c20a

Add forecast and measurement quality parameters to sections and stretches
author Tom Gottfried <tom@intevation.de>
date Tue, 11 Jun 2019 20:32:25 +0200
parents 6d6577a87963
children bb66e144dece
line wrap: on
line source

const formatter = {
  all(p) {
    if (p.key === "objnam") p.key = "Name";
    if (p.key === "objname") p.key = "Name";
    if (p.key === "staging_done" || p.key === "fa_critical")
      p.val = p.val ? "yes" : "no";
    if (
      (p.key === "date_info" ||
        p.key === "fa_date_info" ||
        p.key === "gm_measuredate") &&
      p.val !== null
    ) {
      p.val = new Date(p.val).toLocaleString();
    }

    // remove certain props
    let propsToRemove = ["bbox"];
    if (propsToRemove.indexOf(p.key) !== -1) return null;

    return p;
  },
  bottlenecks_geoserver: {
    label: "Bottleneck",
    props: p => {
      if (p.key === "bottleneck_id") p.key = "ID";
      if (p.key === "responsible_country") p.key = "Responsible Country";
      if (p.key === "fa_date_info") p.key = "Fairway Date";
      if (p.key === "fa_critical") p.key = "Fairway Critical";
      if (p.key === "gauge_objname") p.key = "Reference Gauge";
      if (p.key === "source_organization") p.key = "Source Organization";
      if (p.key === "gm_measuredate") p.key = "Gauge Waterlevel Date";
      if (p.key === "gm_waterlevel") p.key = "Gauge Waterlevel";
      if (p.key === "gm_n_14d") p.key = "G.W. Count in Last 14 Days";

      // remove certain props
      let propsToRemove = ["nobjnm", "reference_water_levels", "fa_data"];
      if (propsToRemove.indexOf(p.key) !== -1) return null;

      return p;
    }
  },
  fairway_dimensions: {
    label: "Fairway Dimensions"
  },
  waterway_area: {
    label: "Waterway Area"
  },
  distance_marks_geoserver: {
    label: "Distance Mark"
  },
  distance_marks_ashore_geoserver: {
    label: "Distance Mark ashore"
  },
  waterway_axis: {
    label: "Waterway Axis"
  },
  waterway_profiles: {
    label: "Waterway Profile"
  },
  stretches_geoserver: {
    label: "Stretch",
    props: p => {
      if (p.key === "gm_measuredate") p.key = "Min. Gauge Waterlevel Date";
      if (p.key === "gm_n_14d") p.key = "Min. G.W. Count in Last 14 Days";

      return p;
    }
  },
  sections_geoserver: {
    label: "Section",
    props: p => {
      if (p.key === "gm_measuredate") p.key = "Min. Gauge Waterlevel Date";
      if (p.key === "gm_n_14d") p.key = "Min. G.W. Count in Last 14 Days";

      return p;
    }
  },
  gauges_geoserver: {
    label: "Gauge",
    props: p => {
      if (p.key === "gm_measuredate") p.key = "Latest Waterlevel Date";
      if (p.key === "gm_waterlevel") p.key = "Latest Waterlevel";
      if (p.key === "gm_n_14d") p.key = "Measurement Count in Last 14 Days";

      // remove certain props
      let propsToRemove = ["nsc_data"];
      if (propsToRemove.indexOf(p.key) !== -1) return null;

      return p;
    }
  }
};

export { formatter };