Passed
Push — master ( 39f3dd...5f0b05 )
by Jean-Christophe
07:53
created

SemanticComponentsTrait::slider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Ajax\semantic\traits;
4
5
use Ajax\common\components\GenericComponent;
6
use Ajax\semantic\components\Popup;
7
use Ajax\semantic\components\Dropdown;
8
use Ajax\semantic\components\Accordion;
9
use Ajax\common\components\SimpleComponent;
10
use Ajax\semantic\components\Sticky;
11
use Ajax\semantic\components\Checkbox;
12
use Ajax\semantic\components\Rating;
13
use Ajax\semantic\components\Progress;
14
use Ajax\semantic\components\Search;
15
use Ajax\semantic\components\Dimmer;
16
use Ajax\semantic\components\Modal;
17
use Ajax\semantic\components\Tab;
18
use Ajax\semantic\components\Shape;
19
use Ajax\semantic\components\Form;
20
use Ajax\semantic\components\SimpleSemExtComponent;
21
use Ajax\semantic\components\Toast;
22
use Ajax\semantic\components\Slider;
23
24
/**
25
 * @author jc
26
 * @property \Ajax\JsUtils $js
27
 */
28
trait SemanticComponentsTrait {
29
30
	/**
31
	 * @param SimpleComponent $component
32
	 * @param string|null $attachTo $attachTo
33
	 * @param array|string|null $params
34
	 * @return SimpleSemExtComponent
35
	 */
36
	abstract public function addComponent(SimpleComponent $component, $attachTo, $params);
37
38
	/**
39
	 *
40
	 * @param string $attachTo
41
	 * @param string|array $params
42
	 * @return SimpleSemExtComponent
43
	 */
44
	public function generic($attachTo=NULL, $params=NULL) {
45
		return $this->addComponent(new GenericComponent($this->js), $attachTo, $params);
46
	}
47
48
	/**
49
	 *
50
	 * @param string $attachTo
51
	 * @param string|array $params
52
	 * @return Popup
53
	 */
54
	public function popup($attachTo=NULL, $params=NULL) {
55
		return $this->addComponent(new Popup($this->js), $attachTo, $params);
56
	}
57
58
	/**
59
	 *
60
	 * @param string $attachTo
61
	 * @param string|array $params
62
	 * @return Dropdown
63
	 */
64
	public function dropdown($attachTo=NULL, $params=NULL) {
65
		return $this->addComponent(new Dropdown($this->js), $attachTo, $params);
66
	}
67
68
	/**
69
	 *
70
	 * @param string $attachTo
71
	 * @param string|array $params
72
	 * @return Accordion
73
	 */
74
	public function accordion($attachTo=NULL, $params=NULL) {
75
		return $this->addComponent(new Accordion($this->js), $attachTo, $params);
76
	}
77
78
	/**
79
	 * @param string $attachTo
80
	 * @param string|array $params
81
	 * @return Sticky
82
	 */
83
	public function sticky($attachTo=NULL, $params=NULL) {
84
		return $this->addComponent(new Sticky($this->js), $attachTo, $params);
85
	}
86
87
	/**
88
	 * @param string $attachTo
89
	 * @param string|array $params
90
	 * @return Checkbox
91
	 */
92
	public function checkbox($attachTo=NULL, $params=NULL) {
93
		return $this->addComponent(new Checkbox($this->js), $attachTo, $params);
94
	}
95
96
	/**
97
	 * @param string $attachTo
98
	 * @param string|array $params
99
	 * @return Rating
100
	 */
101
	public function rating($attachTo=NULL, $params=NULL) {
102
		return $this->addComponent(new Rating($this->js), $attachTo, $params);
103
	}
104
105
	/**
106
	 * @param string $attachTo
107
	 * @param string|array $params
108
	 * @return Progress
109
	 */
110
	public function progress($attachTo=NULL, $params=NULL) {
111
		return $this->addComponent(new Progress($this->js), $attachTo, $params);
112
	}
113
114
	/**
115
	 * @param string $attachTo
116
	 * @param string|array $params
117
	 * @return Search
118
	 */
119
	public function search($attachTo=NULL, $params=NULL) {
120
		return $this->addComponent(new Search($this->js), $attachTo, $params);
121
	}
122
123
	/**
124
	 * @param string $attachTo
125
	 * @param string|array $params
126
	 * @return Dimmer
127
	 */
128
	public function dimmer($attachTo=NULL, $params=NULL) {
129
		return $this->addComponent(new Dimmer($this->js), $attachTo, $params);
130
	}
131
132
	/**
133
	 * @param string $attachTo
134
	 * @param string|array $params
135
	 * @return Modal
136
	 */
137
	public function modal($attachTo=NULL, $params=NULL,$paramsParts=NULL) {
138
		$result= $this->addComponent(new Modal($this->js), $attachTo, $params);
139
		$result->setParamParts($paramsParts);
140
		return $result;
141
	}
142
143
	/**
144
	 * @param string $attachTo
145
	 * @param string|array $params
146
	 * @return Tab
147
	 */
148
	public function tab($attachTo=NULL, $params=NULL) {
149
		$result= $this->addComponent(new Tab($this->js), $attachTo, $params);
150
		return $result;
151
	}
152
153
	/**
154
	 * @param string $attachTo
155
	 * @param string|array $params
156
	 * @return Shape
157
	 */
158
	public function shape($attachTo=NULL, $params=NULL) {
159
		$result= $this->addComponent(new Shape($this->js), $attachTo, $params);
160
		return $result;
161
	}
162
163
	/**
164
	 * @param string $attachTo
165
	 * @param string|array $params
166
	 * @return Form
167
	 */
168
	public function form($attachTo=NULL, $params=NULL) {
169
		$result= $this->addComponent(new Form($this->js), $attachTo, $params);
170
		return $result;
171
	}
172
	
173
	/**
174
	 * @param string $attachTo
175
	 * @param string|array $params
176
	 * @return Toast
177
	 */
178
	public function toast($attachTo=NULL, $params=NULL) {
179
		$result= $this->addComponent(new Toast($this->js), $attachTo, $params);
180
		return $result;
181
	}
182
	
183
	/**
184
	 * @param string $attachTo
185
	 * @param string|array $params
186
	 * @return Slider
187
	 */
188
	public function slider($attachTo=NULL, $params=NULL) {
189
		$result= $this->addComponent(new Slider($this->js), $attachTo, $params);
190
		return $result;
191
	}
192
193
}
194