aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/forms/Fieldset.php
blob: d1915bd3d52ccf61b50c94a5091cddb7121d3006 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php

namespace Studip\Forms;

class Fieldset extends Part
{
    protected $legend = null;
    protected bool $collapsable = false;
    protected bool $collapsed = false;

    public function __construct($legend = null)
    {
        $this->legend = $legend;
    }

    public function setLegend($legend)
    {
        $this->legend = $legend;
    }


    public function setCollapsable(bool $state = true): Fieldset
    {
        $this->collapsable = $state;
        return $this;
    }

    public function setCollapsed(bool $state = true): Fieldset
    {
        $this->collapsed = $state;
        return $this;
    }

    public function render()
    {
        $template = $GLOBALS['template_factory']->open('forms/fieldset');
        $template->legend = $this->legend;
        $template->collapsable = $this->collapsable;
        $template->collapsed = $this->collapsable && $this->collapsed;
        $template->parts = $this->parts;
        return $template->render();
    }
}