Passed
Push — master ( 79b252...216091 )
by Jean-Christophe
03:27
created

Semantic::setStyle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 1
eloc 1
c 1
b 0
f 1
nc 1
nop 1
dl 0
loc 2
rs 10
1
<?php
2
3
namespace Ajax;
4
5
use Ajax\common\BaseGui;
6
use Ajax\semantic\traits\SemanticComponentsTrait;
7
use Ajax\semantic\traits\SemanticHtmlElementsTrait;
8
use Ajax\semantic\traits\SemanticHtmlCollectionsTrait;
9
use Ajax\semantic\traits\SemanticHtmlModulesTrait;
10
use Ajax\semantic\traits\SemanticHtmlViewsTrait;
11
use Ajax\semantic\traits\SemanticWidgetsTrait;
12
13
class Semantic extends BaseGui {
14
	use SemanticComponentsTrait,SemanticHtmlElementsTrait,SemanticHtmlCollectionsTrait,
15
	SemanticHtmlModulesTrait,SemanticHtmlViewsTrait,SemanticWidgetsTrait;
16
17
	private $language;
18
19
    private $style;
20
21
	public function __construct($autoCompile=true) {
22
		parent::__construct($autoCompile);
23
	}
24
25
26
	public function setLanguage($language){
27
		if($language!==$this->language){
28
			$file=\realpath(dirname(__FILE__)."/semantic/components/validation/languages/".$language.".js");
29
			if(\file_exists($file)){
30
				$script=\file_get_contents($file);
31
				$this->js->exec($script,true);
32
				$this->language=$language;
33
			}
34
		}
35
	}
36
37
    public function compile($internal = false) {
38
        if($this->style!=null){
39
            parent::compile($internal);
40
        }else {
41
            if ($internal === false && $this->autoCompile === true)
42
                throw new \Exception("Impossible to compile if autoCompile is set to 'true'");
43
            $style=$this->style;
44
            foreach ($this->components as $component) {
45
                $component->addToProperty("class", $style);
46
                $component->compile();
47
            }
48
        }
49
    }
50
51
    public function setStyle($style='inverted'){
52
        $this->style=$style;
53
    }
54
55
    public function getStyle(){
56
        return $this->style;
57
    }
58
}
59