From 8a048f3c45af1b86dc188087ca4387572ea9c52d Mon Sep 17 00:00:00 2001 From: cywang90 Date: Tue, 27 Jul 2021 17:57:00 -0400 Subject: [PATCH] fixed nav data formatter time display bug --- .../Shared/NavDataInfo/G3x5_NavDataInfo.js | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/src/workingtitle-vcockpits-instruments-navsystems-g3000/html_ui/WTg3000/Avionics/Shared/NavDataInfo/G3x5_NavDataInfo.js b/src/workingtitle-vcockpits-instruments-navsystems-g3000/html_ui/WTg3000/Avionics/Shared/NavDataInfo/G3x5_NavDataInfo.js index 2d3e18574..97160afe1 100644 --- a/src/workingtitle-vcockpits-instruments-navsystems-g3000/html_ui/WTg3000/Avionics/Shared/NavDataInfo/G3x5_NavDataInfo.js +++ b/src/workingtitle-vcockpits-instruments-navsystems-g3000/html_ui/WTg3000/Avionics/Shared/NavDataInfo/G3x5_NavDataInfo.js @@ -239,10 +239,10 @@ class WT_G3x5_NavDataInfoViewTimeFormatter extends WT_G3x5_NavDataInfoViewFormat /** * * @param {WT_G3x5_NavDataInfoTime} navDataInfo - * @param {WT_TimeObject} time * @returns {String} */ - _getFormattedTime(navDataInfo, time) { + _getFormattedTime(navDataInfo) { + let time = navDataInfo.getValue(); let format = navDataInfo.getFormat(); if (format !== WT_G3x5_TimeFormatSetting.Mode.UTC) { time = this._offsetTime.set(time).add(navDataInfo.getLocalOffset()); @@ -250,6 +250,31 @@ class WT_G3x5_NavDataInfoViewTimeFormatter extends WT_G3x5_NavDataInfoViewFormat return time.format(WT_Timezone.UTC, this._getFormatString(format)); } + /** + * + * @param {WT_G3x5_NavDataInfoTime} navDataInfo + * @returns {String} + */ + _getFormattedSuffix(navDataInfo) { + let format = navDataInfo.getFormat(); + switch (format) { + case WT_G3x5_TimeFormatSetting.Mode.UTC: + return "UTC"; + case WT_G3x5_TimeFormatSetting.Mode.LOCAL_24_HOUR: + return "LCL"; + case WT_G3x5_TimeFormatSetting.Mode.LOCAL_12_HOUR: + let time = navDataInfo.getValue(); + if (this._defaultChecker.isDefault(time)) { + return "LCL"; + } else { + time = this._offsetTime.set(time).add(navDataInfo.getLocalOffset()); + return time.format(WT_Timezone.UTC, "{ampm}").toUpperCase(); + } + default: + return ""; + } + } + /** * Formats a nav data info's current value for a nav data info view. * @param {WT_G3x5_NavDataInfo} navDataInfo - a nav data info object. @@ -257,13 +282,15 @@ class WT_G3x5_NavDataInfoViewTimeFormatter extends WT_G3x5_NavDataInfoViewFormat */ format(navDataInfo, view) { let time = navDataInfo.getValue(); - view.setTextValue(this._defaultChecker.isDefault(time) ? this._defaultText : this._getFormattedTime(navDataInfo, time)); + let numberText = this._defaultChecker.isDefault(time) ? this._defaultText : this._getFormattedTime(navDataInfo); + let unitText = this._getFormattedSuffix(navDataInfo); + view.setNumberUnitValue(numberText, unitText); } } WT_G3x5_NavDataInfoViewTimeFormatter.FORMAT_STRINGS = [ - `{hour-pad}:{minute-pad}{ampm}`, + `{hour-pad}:{minute-pad}`, `{hour-24-pad}:{minute-pad}`, - `{hour-24-pad}:{minute-pad}UTC` + `{hour-24-pad}:{minute-pad}` ]; class WT_G3x5_NavDataInfoViewRecycler extends WT_HTMLElementRecycler {