-
Notifications
You must be signed in to change notification settings - Fork 22
/
LteSmallBox.php
97 lines (86 loc) · 2.18 KB
/
LteSmallBox.php
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
namespace insolita\wgadminlte;
use yii\bootstrap\Widget;
use yii\helpers\Html;
/**
* SmallBox for AdminLte
*
* @example
* <?php
* LteSmallBox::widget([
* 'title'=>'New Regisrations',
* 'text'=>126,
* 'icon'=>'fa fa-users',
* 'footer'=>'See All',
* 'link'=>Url::to("/user/list")]);
* ?>
* @see http://joxi.ru/4AkvMeNFR8gd2q
*/
class LteSmallBox extends Widget
{
/**
* @var string $type color style of widget @see LteConst COLOR_*
*/
public $type = LteConst::COLOR_AQUA;
/**
* @var string $title (Big text) *
*/
public $title = '';
/**
* @var string $text text under head *
*/
public $text = '';
/**
* @var string $icon icon class such as "ion ion-bag or fa fa-beer"*
*/
public $icon = '';
/**
* @var string $footer text in footer*
*/
public $footer = '';
/**
* @var string $link link for footer*
*/
public $link = '#';
/**@var array additional link options*/
public $linkOptions = [];
/**
* @var string
*/
public $template
= <<<HTML
<div {options}>
<div class="inner">
<h3>{title}</h3>
<p>{text}</p>
</div>
<div class="icon">
{icon}
</div>
<a href="{link}" {linkOptions} >
{footer} <i class="fa fa-arrow-circle-right"></i>
</a>
</div>
HTML;
/**
* @return string
*/
public function run()
{
Html::addCssClass($this->options, 'small-box');
Html::addCssClass($this->options, 'bg-' . $this->type);
Html::addCssClass($this->linkOptions, 'small-box-footer');
return strtr(
$this->template,
[
'{options}'=>Html::renderTagAttributes($this->options),
'{title}' => $this->title,
'{text}' => $this->text,
'{icon}' => '<i class="' . $this->icon . '"></i>',
'{footer}' => $this->footer,
'{link}' => $this->link,
'{linkOptions}'=>Html::renderTagAttributes($this->linkOptions),
]
);
}
}