Completed
Push — master ( f337c2...4ac545 )
by Nate
03:29
created

Template   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 2
dl 0
loc 42
ccs 0
cts 16
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A render() 0 13 1
A renderTemplate() 0 7 1
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://flipboxfactory.com/software/guardian/license
6
 * @link       https://www.flipboxfactory.com/software/guardian/
7
 */
8
9
namespace flipbox\ember\views;
10
11
use Craft;
12
use craft\web\View;
13
use yii\base\BaseObject;
14
15
/**
16
 * @author Flipbox Factory <[email protected]>
17
 * @since 1.0.0
18
 */
19
class Template extends BaseObject implements ViewInterface
20
{
21
    /**
22
     * @var string
23
     */
24
    public $mode = View::TEMPLATE_MODE_CP;
25
26
    /**
27
     * @var string
28
     */
29
    public $template = '';
30
31
    /**
32
     * @param array $params
33
     * @return string
34
     */
35
    public function render(array $params = []): string
36
    {
37
        $view = Craft::$app->getView();
38
39
        $currentMode = $view->getTemplateMode();
40
        $view->setTemplateMode($this->mode);
41
42
        $html = $this->renderTemplate($params);
43
44
        $view->setTemplateMode($currentMode);
45
46
        return $html;
47
    }
48
49
    /**
50
     * @param array $params
51
     * @return string
52
     */
53
    protected function renderTemplate(array $params = []): string
54
    {
55
        return Craft::$app->getView()->renderTemplate(
56
            $this->template,
57
            $params
58
        );
59
    }
60
}
61