Completed
Push — master ( aa1d0c...064b6c )
by Jean-Christophe
04:19
created

TableTrait   A

Complexity

Total Complexity 14

Size/Duplication

Total Lines 57
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 0
Metric Value
wmc 14
lcom 1
cbo 0
dl 0
loc 57
rs 10
c 0
b 0
f 0

12 Methods

Rating   Name   Duplication   Size   Complexity  
getTable() 0 1 ?
A addToPropertyTable() 0 3 1
A setCelled() 0 3 1
A setBasic() 0 6 2
A setCollapsing() 0 3 1
A setDefinition() 0 3 1
A setStructured() 0 3 1
A setSortable() 0 7 3
A setSingleLine() 0 3 1
A setFixed() 0 3 1
A setSelectable() 0 3 1
A setStriped() 0 3 1
1
<?php
2
namespace Ajax\semantic\html\collections\table\traits;
3
4
trait TableTrait{
5
	/**
6
	 * @return HtmlTable
7
	 */
8
	abstract protected function getTable();
9
10
	protected function addToPropertyTable($property,$value){
11
		return $this->getTable()->addToProperty($property, $value);
12
	}
13
14
	public function setCelled() {
15
		return $this->addToPropertyTable("class", "celled");
16
	}
17
18
	public function setBasic($very=false) {
19
		$table=$this->getTable();
20
		if ($very)
21
			$table->addToPropertyCtrl("class", "very", array ("very" ));
22
		return $table->addToPropertyCtrl("class", "basic", array ("basic" ));
23
	}
24
25
	public function setCollapsing() {
26
		return $this->addToPropertyTable("class", "collapsing");
27
	}
28
29
	public function setDefinition() {
30
		return $this->addToPropertyTable("class", "definition");
31
	}
32
33
	public function setStructured() {
34
		return $this->addToPropertyTable("class", "structured");
35
	}
36
37
	public function setSortable($colIndex=NULL) {
38
		$table=$this->getTable();
39
		if (isset($colIndex) && $table->hasPart("thead")) {
40
			$table->getHeader()->sort($colIndex);
41
		}
42
		return $table->addToProperty("class", "sortable");
43
	}
44
45
	public function setSingleLine() {
46
		return $this->addToPropertyTable("class", "single line");
47
	}
48
49
	public function setFixed() {
50
		return $this->addToPropertyTable("class", "fixed");
51
	}
52
53
	public function setSelectable() {
54
		return $this->addToPropertyTable("class", "selectable");
55
	}
56
57
	public function setStriped() {
58
		return $this->addToPropertyTable("class", "striped");
59
	}
60
}