14cadd4f8SNickeau<?php 24cadd4f8SNickeau 34cadd4f8SNickeau 44cadd4f8SNickeaunamespace ComboStrap; 54cadd4f8SNickeau 64cadd4f8SNickeau 74cadd4f8SNickeauclass Display 84cadd4f8SNickeau{ 94cadd4f8SNickeau 104cadd4f8SNickeau public const DISPLAY = "display"; 114cadd4f8SNickeau public const DISPLAY_NONE_VALUE = "none"; 12*04fd306cSNickeau public const DISPLAY_NONE_IF_EMPTY_VALUE = "none-if-empty"; 134cadd4f8SNickeau 144cadd4f8SNickeau public static function processDisplay(TagAttributes &$tagAttributes) 154cadd4f8SNickeau { 164cadd4f8SNickeau 17*04fd306cSNickeau $display = $tagAttributes->getValueAndRemove(self::DISPLAY); 184cadd4f8SNickeau if ($display !== null) { 19*04fd306cSNickeau $value = strtolower($display); 20*04fd306cSNickeau switch ($value) { 21*04fd306cSNickeau case self::DISPLAY_NONE_VALUE: 224cadd4f8SNickeau $tagAttributes->addStyleDeclarationIfNotSet("display", "none"); 23*04fd306cSNickeau return; 24*04fd306cSNickeau case self::DISPLAY_NONE_IF_EMPTY_VALUE: 25*04fd306cSNickeau try { 26*04fd306cSNickeau $id = $tagAttributes->getId(); 27*04fd306cSNickeau } catch (ExceptionNotFound $e) { 28*04fd306cSNickeau $id = $tagAttributes->getDefaultGeneratedId(); 29*04fd306cSNickeau $tagAttributes->setId($id); 30*04fd306cSNickeau } 31*04fd306cSNickeau $css = "#$id:empty { display: none; }"; 32*04fd306cSNickeau ExecutionContext::getActualOrCreateFromEnv() 33*04fd306cSNickeau ->getSnippetSystem() 34*04fd306cSNickeau ->attachCssInternalStyleSheet("display-none-if-empty-$id", $css); 35*04fd306cSNickeau return; 36*04fd306cSNickeau 37*04fd306cSNickeau } 384cadd4f8SNickeau } 394cadd4f8SNickeau } 404cadd4f8SNickeau 414cadd4f8SNickeau} 42