diff --git a/src/dccQuantity.js b/src/dccQuantity.js index ec6afdfd2d17a636a6f1c808a7a049de6076f547..9945469fc81cd8dcb2dc369774a28aca5147e746 100644 --- a/src/dccQuantity.js +++ b/src/dccQuantity.js @@ -127,11 +127,23 @@ export class DCCConformity { return []; } + _getTolerance(q, language) { + if (q['dcc:name'] && q['dcc:name']['dcc:content']) { + let content = q['dcc:name']['dcc:content']; + if (Array.isArray(content)) { + const match = content.find(item => item.$ && item.$.lang === language) || content[0]; + return match._ || match; + } + return content._ || content; + } + return ''; + } + getLowerLimit() { const data = this.metaDataJson['dcc:data']; if (data && data['dcc:quantity']) { let quantities = data['dcc:quantity']; - if (!Array.isArray(quantities)) quantities = [quantities]; + if (!Array.isArray(quantities)) { quantities = [quantities]; } for (let q of quantities) { if (q.$ && q.$.refType && q.$.refType.includes('basic_toleranceLimitLower')) { let lowerValue = null; @@ -147,7 +159,7 @@ export class DCCConformity { lowerUnit = unit.toHTML({ oneLine: true }); } } - return { value: lowerValue, unit: lowerUnit, name: this.getQuantityName(q) }; + return { value: lowerValue, unit: lowerUnit, name: this._getTolerance(q, this.language) }; } } } @@ -158,7 +170,7 @@ export class DCCConformity { const data = this.metaDataJson['dcc:data']; if (data && data['dcc:quantity']) { let quantities = data['dcc:quantity']; - if (!Array.isArray(quantities)) quantities = [quantities]; + if (!Array.isArray(quantities)) { quantities = [quantities]; } for (let q of quantities) { if (q.$ && q.$.refType && q.$.refType.includes('basic_toleranceLimitUpper')) { let upperValue = null; @@ -174,22 +186,10 @@ export class DCCConformity { upperUnit = unit.toHTML({ oneLine: true }); } } - return { value: upperValue, unit: upperUnit, name: this.getQuantityName(q) }; + return { value: upperValue, unit: upperUnit, name: this._getTolerance(q, this.language) }; } } } return null; } - - getQuantityName(q) { - if (q['dcc:name'] && q['dcc:name']['dcc:content']) { - let content = q['dcc:name']['dcc:content']; - if (Array.isArray(content)) { - const match = content.find(item => item.$ && item.$.lang === this.language) || content[0]; - return match._ || match; - } - return content._ || content; - } - return ''; - } } diff --git a/src/renderers/MeasurementRenderer.js b/src/renderers/MeasurementRenderer.js index b6ec0321c20bb6d29eff861c649c44dee6a943ea..42e95629768dab4d8e025cd5894d31a36ae70f76 100644 --- a/src/renderers/MeasurementRenderer.js +++ b/src/renderers/MeasurementRenderer.js @@ -343,6 +343,14 @@ export function renderMeasurementResults(measurementResults, language) { tickfont: { family: 'Arial', size: 14, color: 'black' }, type: logY ? 'log' : 'linear' }, + // Place legend on top over the plot without shifting x-axis scaling. + legend: { + orientation: 'h', + x: 0.5, + y: 0.98, + xanchor: 'center', + yanchor: 'top' + }, hovermode: 'closest', margin: { t: 20, b: 40 } };