@Override protected void onFinalizeNodeState (@Nonnull final IHCConversionSettingsToNode aConversionSettings, @Nonnull final IHCHasChildrenMutable <?, ? super IHCNode> aTargetNode) { super.onFinalizeNodeState (aConversionSettings, aTargetNode); addClass (CBootstrapCSS.NAVBAR_TOGGLER); customAttrs ().setDataAttr ("toggle", "collapse"); // With hash sign customAttrs ().setDataAttr ("target", "#" + m_sIDToToggle); // without hash sign! customAttrs ().setAriaControls (m_sIDToToggle); customAttrs ().setAriaExpanded (false); customAttrs ().setAriaLabel ("Toggle navigation"); // Main toggle button addChild (new HCSpan ().addClass (CBootstrapCSS.NAVBAR_TOGGLER_ICON)); } }
public BootstrapCardCollapsible (@Nullable final IHCNode aHeaderText, final boolean bIsOpen) { m_aHeader = addAndReturnChild (new BootstrapCardHeader ()); // Collapsible div final HCDiv aCollapseDiv = addAndReturnChild (new HCDiv ().ensureID ().addClass (CBootstrapCSS.COLLAPSE)); if (bIsOpen) aCollapseDiv.addClass (CBootstrapCSS.SHOW); aCollapseDiv.customAttrs ().setAriaLabeledBy (m_aHeader); m_aBody = aCollapseDiv.addAndReturnChild (new BootstrapCardBody ()); // Toggle in header final HCA aToggle = m_aHeader.addAndReturnChild (new HCA ().setHref (new SimpleURL ("#" + aCollapseDiv.getID ())) .addClass (CBootstrapCSS.D_BLOCK)); aToggle.customAttrs ().setDataAttr ("toggle", "collapse"); aToggle.customAttrs ().setAriaExpanded (bIsOpen); aToggle.customAttrs ().setAriaControls (aCollapseDiv.getID ()); aToggle.addChild (aHeaderText); aToggle.addChild (EFontAwesome4Icon.CHEVRON_DOWN.getAsNode ().addClass (CBootstrapCSS.FLOAT_RIGHT)); if (!bIsOpen) aToggle.addClass (CSS_CLASS_COLLAPSED); }