1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace ComboStrap; 4*04fd306cSNickeau 5*04fd306cSNickeau 6*04fd306cSNickeau 7*04fd306cSNickeau 8*04fd306cSNickeauclass DropDownTag 9*04fd306cSNickeau{ 10*04fd306cSNickeau 11*04fd306cSNickeau public const TAG = "dropdown"; 12*04fd306cSNickeau 13*04fd306cSNickeau public static function renderEnterXhtml(TagAttributes $tagAttributes): string 14*04fd306cSNickeau { 15*04fd306cSNickeau 16*04fd306cSNickeau $dropDownId = ExecutionContext::getActualOrCreateFromEnv() 17*04fd306cSNickeau ->getIdManager() 18*04fd306cSNickeau ->generateNewHtmlIdForComponent(DropDownTag::TAG); 19*04fd306cSNickeau 20*04fd306cSNickeau $name = $tagAttributes->getValueAndRemoveIfPresent("name","unknown name"); 21*04fd306cSNickeau $tagAttributes->addClassName("nav-item"); 22*04fd306cSNickeau $tagAttributes->addClassName("dropdown"); 23*04fd306cSNickeau 24*04fd306cSNickeau /** 25*04fd306cSNickeau * New namespace for data attribute 26*04fd306cSNickeau */ 27*04fd306cSNickeau $bootstrapNameSpace = Bootstrap::getDataNamespace(); 28*04fd306cSNickeau $dataToggleAttribute = "data{$bootstrapNameSpace}-toggle"; 29*04fd306cSNickeau $liHtml = $tagAttributes->toHtmlEnterTag("li"); 30*04fd306cSNickeau return <<<EOF 31*04fd306cSNickeau$liHtml 32*04fd306cSNickeau <a id="$dropDownId" href="#" class="nav-link dropdown-toggle active" {$dataToggleAttribute}="dropdown" role="button" aria-haspopup="true" aria-expanded="false" title="$name">$name</a> 33*04fd306cSNickeau <div class="dropdown-menu" aria-labelledby="$dropDownId"> 34*04fd306cSNickeauEOF; 35*04fd306cSNickeau 36*04fd306cSNickeau } 37*04fd306cSNickeau 38*04fd306cSNickeau public static function renderExitXhtml(): string 39*04fd306cSNickeau { 40*04fd306cSNickeau return '</div></li>'; 41*04fd306cSNickeau } 42*04fd306cSNickeau} 43