xref: /template/strap/ComboStrap/Lead.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
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