# HG changeset patch # User Sascha L. Teichmann # Date 1582279716 -3600 # Node ID 9be18803268d26818243d7fd6e365612c73ddefc # Parent 427f87ac96d6acbf22ec4de7f4756dc641d33b70# Parent b65898de11ad1cd7e468442c40ac3ffa112cbc13 Merge default into fairway-marks-import branch. diff -r 427f87ac96d6 -r 9be18803268d client/src/components/fairway/Fairwayprofile.vue --- a/client/src/components/fairway/Fairwayprofile.vue Thu Feb 20 18:19:47 2020 +0100 +++ b/client/src/components/fairway/Fairwayprofile.vue Fri Feb 21 11:08:36 2020 +0100 @@ -108,6 +108,12 @@
No data available.
+
+ No valid reference waterlevel data available. +
+
+ No valid waterlevel data available. +
@@ -164,6 +170,22 @@ const GROUND_COLOR = "#4A2F06"; const WATER_COLOR = "#005DFF"; +const isNumber = value => { + if (typeof value !== "number") { + return false; + } + + if (value !== Number(value)) { + return false; + } + + if (Number.isFinite(value) === false) { + return false; + } + + return true; +}; + export default { mixins: [diagram, pdfgen, templateLoader], name: "fairwayprofile", @@ -213,13 +235,15 @@ : "Current"; if (this.additionalSurvey) dates.push(this.additionalSurvey.date_info); dates.map(d => this.$options.filters.dateTime(d, true)); + const waterlevelMeasurement = + this.waterlevelValid && this.refWaterlevelValid + ? `${this.$options.filters.waterlevel(this.waterlevel)} m` + : this.$gettext("No valid value available"); return `${this.$gettext("Fairwayprofile")}: ${ this.selectedBottleneck } (${dates.join( ", " - )}) WL: ${waterlevelLabel} (${this.$options.filters.waterlevel( - this.waterlevel - )} m)`; + )}) WL: ${waterlevelLabel} ( ${waterlevelMeasurement} )`; }, currentData() { if ( @@ -253,6 +277,12 @@ if (!this.selectedSurvey) return 0; return this.selectedSurvey.waterlevel_value; }, + waterlevelValid() { + return isNumber(this.waterlevel); + }, + refWaterlevelValid() { + return isNumber(this.refWaterlevel); + }, fileName() { return this.downloadFilename( this.$gettext("Fairwayprofile"), @@ -516,6 +546,7 @@ }); }, renderTo({ element, dimensions }) { + if (!this.waterlevelValid || !this.refWaterlevelValid) return; let svg = d3.select(element).append("svg"); svg.attr("width", "100%"); svg.attr("height", "100%");