Completed
Push — master ( 7d5fc8...3fda6b )
by WEBEWEB
08:27
created

absbmdMaterialDesignSwitchButtonFunction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
/**
4
 * This file is part of the adminbsb-material-design-bundle package.
5
 *
6
 * (c) 2017 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\AdminBSBMaterialDesignBundle\Twig\Extension\Form;
13
14
use Twig_SimpleFunction;
15
use WBW\Library\Core\Utility\ArrayUtility;
16
17
/**
18
 * Switch button form Twig extension.
19
 *
20
 * @author webeweb <https://github.com/webeweb/>
21
 * @package WBW\Bundle\AdminBSBMaterialDesignBundle\Twig\Extension\Form
22
 * @final
23
 */
24
final class SwitchButtonFormTwigExtension extends AbstractFormTwigExtension {
25
26
    /**
27
     * Service name.
28
     *
29
     * @var string
30
     */
31
    const SERVICE_NAME = "webeweb.bundle.adminbsbmaterialdesignbundle.twig.extension.form.switchbutton";
32
33
    /**
34
     * Displays an AdminBSB basic switch button.
35
     *
36
     * @param array $args The arguments.
37
     * @return string Returns the AdminBSB basic switch button.
38
     */
39
    public function absbmdBasicSwitchButtonFunction(array $args = []) {
40
        return $this->absbmdSwitchButton(ArrayUtility::get($args, "offLabel"), ArrayUtility::get($args, "name"), ArrayUtility::get($args, "checked", false), ArrayUtility::get($args, "disabled", false), ArrayUtility::get($args, "onLabel"), ArrayUtility::get($args, "attr", []));
41
    }
42
43
    /**
44
     * Get the Twig functions.
45
     *
46
     * @return array Returns the Twig functions.
47
     */
48
    public function getFunctions() {
49
        return [
50
            new Twig_SimpleFunction("absbmdBasicSwitchButton", [$this, "absbmdBasicSwitchButtonFunction"], ["is_safe" => ["html"]]),
51
            new Twig_SimpleFunction("absbmdMaterialDesignSwitchButton", [$this, "absbmdMaterialDesignSwitchButtonFunction"], ["is_safe" => ["html"]]),
52
        ];
53
    }
54
55
    /**
56
     * Displays an AdminBSB material design switch button.
57
     *
58
     * @param array $args The arguments.
59
     * @return string Returns the AdminBSB material design switch button.
60
     */
61
    public function absbmdMaterialDesignSwitchButtonFunction(array $args = []) {
62
        return $this->absbmdSwitchButton(ArrayUtility::get($args, "offLabel"), ArrayUtility::get($args, "name"), ArrayUtility::get($args, "checked", false), ArrayUtility::get($args, "disabled", false), ArrayUtility::get($args, "onLabel"), ArrayUtility::get($args, "attr", []), $this->getColor(ArrayUtility::get($args, "color", "red"), " switch-col-"));
63
    }
64
65
}
66