From 5d41d1b619a22caa560d10364c7c8c9c2bf8a3f0 Mon Sep 17 00:00:00 2001 From: Benedikt Seeger <benedikt.seeger@ptb.de> Date: Thu, 27 Feb 2025 15:34:32 +0100 Subject: [PATCH] added language changing of conformity data --- ...mple_dcc_WithExampleConformatyStatment.xml | 8 ++++---- src/dccQuantity.js | 19 ++++++++++--------- src/renderers/MeasurementRenderer.js | 4 ++-- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/data/sin_acceleration_example_dcc_WithExampleConformatyStatment.xml b/data/sin_acceleration_example_dcc_WithExampleConformatyStatment.xml index f9918de..14ddc04 100644 --- a/data/sin_acceleration_example_dcc_WithExampleConformatyStatment.xml +++ b/data/sin_acceleration_example_dcc_WithExampleConformatyStatment.xml @@ -664,8 +664,8 @@ Entsprechend ISO 2041 ist die Phasenverschiebung definiert zu Δφqa = φq - φa <dcc:data> <dcc:quantity refType="basic_toleranceLimitLower"> <dcc:name> - <dcc:content lang="en">Untere Konformitäts-Grenze des Betrags des Ladungsübertragungskoeffizenten</dcc:content> - <dcc:content lang="de">Lower conformity limit for Charge transfer coefficient magnitude</dcc:content> + <dcc:content lang="de">Untere Konformitäts-Grenze des Betrags des Ladungsübertragungskoeffizenten</dcc:content> + <dcc:content lang="en">Lower conformity limit for Charge transfer coefficient magnitude</dcc:content> </dcc:name> <si:realListXMLList> <si:valueXMLList>0.1236615</si:valueXMLList> @@ -674,8 +674,8 @@ Entsprechend ISO 2041 ist die Phasenverschiebung definiert zu Δφqa = φq - φa </dcc:quantity> <dcc:quantity refType="basic_toleranceLimitUpper"> <dcc:name> - <dcc:content lang="en">Obere Konformitäts-Grenze des Betrags des Ladungsübertragungskoeffizenten</dcc:content> - <dcc:content lang="de">Upper conformity limit for Charge transfer coefficient magnitude</dcc:content> + <dcc:content lang="de">Obere Konformitäts-Grenze des Betrags des Ladungsübertragungskoeffizenten</dcc:content> + <dcc:content lang="en">Upper conformity limit for Charge transfer coefficient magnitude</dcc:content> </dcc:name> <si:realListXMLList> <si:valueXMLList>0.1366785</si:valueXMLList> diff --git a/src/dccQuantity.js b/src/dccQuantity.js index 9945469..d621355 100644 --- a/src/dccQuantity.js +++ b/src/dccQuantity.js @@ -114,9 +114,9 @@ export class DCCRealQuantity extends DCCQuantity { } export class DCCConformity { - constructor(metaDataJson, language) { + constructor(metaDataJson, defaultLanguage) { this.metaDataJson = metaDataJson; - this.language = language; + this.defaultLanguage = defaultLanguage; } getConformityValues() { @@ -127,7 +127,8 @@ export class DCCConformity { return []; } - _getTolerance(q, language) { + // Helper method to select the tolerance name based on the provided language. + _getTolerance(q, language = this.defaultLanguage) { if (q['dcc:name'] && q['dcc:name']['dcc:content']) { let content = q['dcc:name']['dcc:content']; if (Array.isArray(content)) { @@ -139,11 +140,11 @@ export class DCCConformity { return ''; } - getLowerLimit() { + getLowerLimit(language = this.defaultLanguage) { 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; @@ -159,18 +160,18 @@ export class DCCConformity { lowerUnit = unit.toHTML({ oneLine: true }); } } - return { value: lowerValue, unit: lowerUnit, name: this._getTolerance(q, this.language) }; + return { value: lowerValue, unit: lowerUnit, name: this._getTolerance(q, language) }; } } } return null; } - getUpperLimit() { + getUpperLimit(language = this.defaultLanguage) { 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; @@ -186,7 +187,7 @@ export class DCCConformity { upperUnit = unit.toHTML({ oneLine: true }); } } - return { value: upperValue, unit: upperUnit, name: this._getTolerance(q, this.language) }; + return { value: upperValue, unit: upperUnit, name: this._getTolerance(q, language) }; } } } diff --git a/src/renderers/MeasurementRenderer.js b/src/renderers/MeasurementRenderer.js index 42e9562..306213b 100644 --- a/src/renderers/MeasurementRenderer.js +++ b/src/renderers/MeasurementRenderer.js @@ -295,8 +295,8 @@ export function renderMeasurementResults(measurementResults, language) { group.forEach(trace => { const confObj = extraInfo[trace.index].conformity; if (confObj) { - const lower = confObj.getLowerLimit(); - const upper = confObj.getUpperLimit(); + const lower = confObj.getLowerLimit(language); + const upper = confObj.getUpperLimit(language); if (lower && typeof lower.value === 'number') { toleranceTraces.push({ x: [Math.min(...xValues), Math.max(...xValues)], -- GitLab