Fix Level 3 Products Widget product selection status

This commit is contained in:
Dan Paulat 2022-09-11 08:29:31 -05:00
parent 4325f352b1
commit 14545fd83a
3 changed files with 22 additions and 7 deletions

View file

@ -256,7 +256,7 @@ void Level3ProductsWidget::UpdateProductSelection(
if (group == common::RadarProductGroup::Level3) if (group == common::RadarProductGroup::Level3)
{ {
common::Level3ProductCategory category = common::Level3ProductCategory category =
common::GetLevel3CategoryByProduct(productName); common::GetLevel3CategoryByAwipsId(productName);
p->UpdateProductSelection(category); p->UpdateProductSelection(category);
} }
else else

View file

@ -74,6 +74,8 @@ GetLevel3CategoryDefaultProduct(Level3ProductCategory category);
Level3ProductCategory GetLevel3Category(const std::string& categoryName); Level3ProductCategory GetLevel3Category(const std::string& categoryName);
Level3ProductCategory Level3ProductCategory
GetLevel3CategoryByProduct(const std::string& productName); GetLevel3CategoryByProduct(const std::string& productName);
Level3ProductCategory
GetLevel3CategoryByAwipsId(const std::string& awipsId);
const std::string& GetLevel3Palette(int16_t productCode); const std::string& GetLevel3Palette(int16_t productCode);
std::string GetLevel3ProductByAwipsId(const std::string& awipsId); std::string GetLevel3ProductByAwipsId(const std::string& awipsId);

View file

@ -266,12 +266,18 @@ Level3ProductCategory GetLevel3Category(const std::string& categoryName)
Level3ProductCategory GetLevel3CategoryByProduct(const std::string& productName) Level3ProductCategory GetLevel3CategoryByProduct(const std::string& productName)
{ {
auto result = std::find_if( auto result = std::find_if(
level3CategoryDefaultAwipsId_.cbegin(), level3CategoryProductList_.cbegin(),
level3CategoryDefaultAwipsId_.cend(), level3CategoryProductList_.cend(),
[&](const std::pair<Level3ProductCategory, std::string>& pair) -> bool [&](
{ return pair.second == productName; }); const std::pair<Level3ProductCategory, std::vector<std::string>>& pair)
-> bool
{
return std::find(pair.second.cbegin(),
pair.second.cend(),
productName) != pair.second.cend();
});
if (result != level3CategoryDefaultAwipsId_.cend()) if (result != level3CategoryProductList_.cend())
{ {
return result->first; return result->first;
} }
@ -281,6 +287,13 @@ Level3ProductCategory GetLevel3CategoryByProduct(const std::string& productName)
} }
} }
Level3ProductCategory GetLevel3CategoryByAwipsId(const std::string& awipsId)
{
std::string productName = GetLevel3ProductByAwipsId(awipsId);
return GetLevel3CategoryByProduct(productName);
}
const std::string& GetLevel3Palette(int16_t productCode) const std::string& GetLevel3Palette(int16_t productCode)
{ {
auto it = level3Palette_.find(productCode); auto it = level3Palette_.find(productCode);