Completed
Push — master ( a2b9d1...d3fba9 )
by WEBEWEB
01:53
created

BadgeTwigExtension::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
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\AdminBSBBundle\Twig\Extension\UI;
13
14
use Twig_SimpleFunction;
15
use WBW\Library\Core\Argument\ArrayHelper;
16
17
/**
18
 * Badge Twig extension.
19
 *
20
 * @author webeweb <https://github.com/webeweb/>
21
 * @package WBW\Bundle\AdminBSBBundle\Twig\Extension\UI
22
 */
23
class BadgeTwigExtension extends AbstractBadgeTwigExtension {
24
25
    /**
26
     * Service name.
27
     *
28
     * @var string
29
     */
30
    const SERVICE_NAME = "webeweb.adminbsb.twig.extension.ui.badge";
31
32
    /**
33
     * Displays an AdminBSB button badge "Danger".
34
     *
35
     * @param array $args The arguments.
36
     * @return string Returns the AdminBSB button badge "Danger".
37
     */
38
    public function adminBSBButtonBadgeDangerFunction(array $args = []) {
39
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), "btn-danger");
40
    }
41
42
    /**
43
     * Displays an AdminBSB button badge "Default".
44
     *
45
     * @param array $args The arguments.
46
     * @return string Returns the AdminBSB button badge "Default".
47
     */
48
    public function adminBSBButtonBadgeDefaultFunction(array $args = []) {
49
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), "btn-default");
50
    }
51
52
    /**
53
     * Displays an AdminBSB button badge "Info".
54
     *
55
     * @param array $args The arguments.
56
     * @return string Returns the AdminBSB button badge "Info".
57
     */
58
    public function adminBSBButtonBadgeInfoFunction(array $args = []) {
59
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), "btn-info");
60
    }
61
62
    /**
63
     * Displays an AdminBSB list badge.
64
     *
65
     * @param array $args The arguments.
66
     * @return string Returns the AdminBSB list badge.
67
     */
68
    public function adminBSBButtonBadgeListFunction(array $args = []) {
69
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), false, self::fixColor(ArrayHelper::get($args, "color", "red"), "bg-"), true, ArrayHelper::get($args, "link"));
70
    }
71
72
    /**
73
     * Displays an AdminBSB button badge "Material design".
74
     *
75
     * @param array $args The arguments.
76
     * @return string Returns the AdminBSB button badge "Material design".
77
     */
78
    public function adminBSBButtonBadgeMaterialDesignFunction(array $args = []) {
79
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), self::fixColor(ArrayHelper::get($args, "color", "red"), "bg-"));
80
    }
81
82
    /**
83
     * Displays an AdminBSB button badge "Primary".
84
     *
85
     * @param array $args The arguments.
86
     * @return string Returns the AdminBSB button badge "Primary".
87
     */
88
    public function adminBSBButtonBadgePrimaryFunction(array $args = []) {
89
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), "btn-primary");
90
    }
91
92
    /**
93
     * Displays an AdminBSB button badge "Success".
94
     *
95
     * @param array $args The arguments.
96
     * @return string Returns the AdminBSB button badge "Success".
97
     */
98
    public function adminBSBButtonBadgeSuccessFunction(array $args = []) {
99
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), "btn-success");
100
    }
101
102
    /**
103
     * Displays an AdminBSB button badge "Warning".
104
     *
105
     * @param array $args The arguments.
106
     * @return string Returns the AdminBSB button badge "Warning".
107
     */
108
    public function adminBSBButtonBadgeWarningFunction(array $args = []) {
109
        return $this->adminBSBBadge(ArrayHelper::get($args, "content"), ArrayHelper::get($args, "label"), ArrayHelper::get($args, "large", false), "btn-warning");
110
    }
111
112
    /**
113
     * Get the Twig functions.
114
     *
115
     * @return array Returns the Twig functions.
116
     */
117
    public function getFunctions() {
118
        return [
119
            new Twig_SimpleFunction("adminBSBButtonBadgeDanger", [$this, "adminBSBButtonBadgeDangerFunction"], ["is_safe" => ["html"]]),
120
            new Twig_SimpleFunction("adminBSBButtonBadgeDefault", [$this, "adminBSBButtonBadgeDefaultFunction"], ["is_safe" => ["html"]]),
121
            new Twig_SimpleFunction("adminBSBButtonBadgeInfo", [$this, "adminBSBButtonBadgeInfoFunction"], ["is_safe" => ["html"]]),
122
            new Twig_SimpleFunction("adminBSBButtonBadgeList", [$this, "adminBSBButtonBadgeListFunction"], ["is_safe" => ["html"]]),
123
            new Twig_SimpleFunction("adminBSBButtonBadgeMaterialDesign", [$this, "adminBSBButtonBadgeMaterialDesignFunction"], ["is_safe" => ["html"]]),
124
            new Twig_SimpleFunction("adminBSBButtonBadgePrimary", [$this, "adminBSBButtonBadgePrimaryFunction"], ["is_safe" => ["html"]]),
125
            new Twig_SimpleFunction("adminBSBButtonBadgeSuccess", [$this, "adminBSBButtonBadgeSuccessFunction"], ["is_safe" => ["html"]]),
126
            new Twig_SimpleFunction("adminBSBButtonBadgeWarning", [$this, "adminBSBButtonBadgeWarningFunction"], ["is_safe" => ["html"]]),
127
        ];
128
    }
129
}
130