1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeau 4*04fd306cSNickeaunamespace ComboStrap; 5*04fd306cSNickeau 6*04fd306cSNickeau 7*04fd306cSNickeauuse ComboStrap\Meta\Api\MetadataText; 8*04fd306cSNickeauuse ComboStrap\Meta\Field\PageH1; 9*04fd306cSNickeauuse ComboStrap\Meta\Store\MetadataDokuWikiStore; 10*04fd306cSNickeau 11*04fd306cSNickeauclass Lead extends MetadataText 12*04fd306cSNickeau{ 13*04fd306cSNickeau 14*04fd306cSNickeau public const PROPERTY_NAME = 'lead'; 15*04fd306cSNickeau 16*04fd306cSNickeau 17*04fd306cSNickeau public static function createForMarkup($page): Label 18*04fd306cSNickeau { 19*04fd306cSNickeau return (new Label()) 20*04fd306cSNickeau ->setResource($page); 21*04fd306cSNickeau } 22*04fd306cSNickeau 23*04fd306cSNickeau static public function getTab(): string 24*04fd306cSNickeau { 25*04fd306cSNickeau return MetaManagerForm::TAB_PAGE_VALUE; 26*04fd306cSNickeau } 27*04fd306cSNickeau 28*04fd306cSNickeau static public function getDescription(): string 29*04fd306cSNickeau { 30*04fd306cSNickeau return "The lead is a tagline for a page"; 31*04fd306cSNickeau } 32*04fd306cSNickeau 33*04fd306cSNickeau static public function getLabel(): string 34*04fd306cSNickeau { 35*04fd306cSNickeau return "Lead"; 36*04fd306cSNickeau } 37*04fd306cSNickeau 38*04fd306cSNickeau static public function getName(): string 39*04fd306cSNickeau { 40*04fd306cSNickeau return self::PROPERTY_NAME; 41*04fd306cSNickeau } 42*04fd306cSNickeau 43*04fd306cSNickeau static public function getPersistenceType(): string 44*04fd306cSNickeau { 45*04fd306cSNickeau return MetadataDokuWikiStore::PERSISTENT_DOKUWIKI_KEY; 46*04fd306cSNickeau } 47*04fd306cSNickeau 48*04fd306cSNickeau static public function isMutable(): bool 49*04fd306cSNickeau { 50*04fd306cSNickeau return true; 51*04fd306cSNickeau } 52*04fd306cSNickeau 53*04fd306cSNickeau static public function getCanonical(): string 54*04fd306cSNickeau { 55*04fd306cSNickeau return self::getName(); 56*04fd306cSNickeau } 57*04fd306cSNickeau 58*04fd306cSNickeau public function getDefaultValue() 59*04fd306cSNickeau { 60*04fd306cSNickeau if ($this->getResource()->isRootHomePage()) { 61*04fd306cSNickeau return Site::getTagLine(); 62*04fd306cSNickeau } 63*04fd306cSNickeau throw new ExceptionNotFound(); 64*04fd306cSNickeau } 65*04fd306cSNickeau 66*04fd306cSNickeau 67*04fd306cSNickeau static public function isOnForm(): bool 68*04fd306cSNickeau { 69*04fd306cSNickeau return true; 70*04fd306cSNickeau } 71*04fd306cSNickeau} 72