GSA / uswds-sf-lightning-community

A Salesforce Lightning Community Theme and related components built upon US Web Design System
Other
32 stars 15 forks source link

Footer element not rendering with nav links #207

Open GSATaylorVanwinkle opened 11 months ago

GSATaylorVanwinkle commented 11 months ago

Describe the bug

To Reproduce

1. 2.

Expected behavior

When setting the references in the theme configurations to the items built in the navigation section, I expect to see the components appear when the value is entered into 'Identifier Nav Menu Name'.

Screenshots Visual of the errored page footer image

Visual of the exact same config in another community image

Desktop (please complete the following information):

Smartphone (please complete the following information):

NA Additional context WE have tried removing everything we can to see if this is caused by something else not rendering and have not seen a solutions. We believe that the issue is in the aura: iteration component for the {!v.menuItems} since there are no variables coming in.

<nav
  class="usa-identifier__section usa-identifier__section--required-links"
  aria-label="{! v.identifierContent.requiredLinksAria }"
>
  <div class="usa-identifier__container">
      DIV2
    <!-- insert loop here -->
    <ul onclick="{!c.onClick}" class="usa-identifier__required-links-list">
      <aura:iteration
        items="{! v.menuItems}"
        var="item"
        start="{! v.startNumber }"
      >
        <li class="usa-identifier__required-links-item">
          <a
            data-menu-item-id="{!item.id}"
            class="usa-identifier__required-link usa-link"
            >{!item.label}</a
          >
            !item.label
        </li>
      </aura:iteration>
    </ul>
  </div>
</nav>
mvogelgesang commented 10 months ago

@GSATaylorVanwinkle The Identifier Component Name field accepts an ID or API name. If the label of navigation menu changed, the API name does not change along with it. You can try either creating a whole new navigation menu and plugging that into the Identifier Name field or running soql to lookup the correct API name.

Separately, the Identifier navigation menu component is expecting a non-nested navigation menu. If there is nesting in place, it likely will not render.

ToddBrown-Github commented 10 months ago

Good morning @mvogelgesang! Hope you have been well!

Just wanted to mention that we have not tried a ID but have tried using API Name with several new menu item lists in the sandbox to try to rule out something weird with the pre-existing nav menu items list. No luck. We added console logging in the Identifier component to confirm the identifier name value is being passed fine from the OGP FACA community's USWDS Theme property field to the component's ID attribute, but where other OGP communities at that point end up returning "menu item results" back from the Salesforce navigationBaseComponent, this FACA community is not receiving any results. We also are just using a single level list, no sub-levels. We have multiple Theme Layouts defined that implement USWDS Theme and so we were noticing this kind of acts like the other issues you resolved with the fix patches for v2.1 that we've actually just upgraded to.

Any ideas what we should try next?

Thanks for your time and consideration!!

Todd

ToddBrown-Github commented 10 months ago

Just closing this issue as resolved after discussing more with @mvogelgesang. The issue was related to the above suggestion to look at the "real" API name that Salesforce assigned to the nav menu list when it was created. We found that if you have spaces or another similarly named nav list that Salesforce will name the object something other than the label you see. We queried the actual "Developer Name" value and used that and the footer nav items displayed fine. Thanks Mark!