Skip to content

Commit 8f72032

Browse files
committed
Update HtmlFormDropdown.php
1 parent f3b1f4e commit 8f72032

File tree

1 file changed

+44
-16
lines changed

1 file changed

+44
-16
lines changed
Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,75 @@
11
<?php
2-
32
namespace Ajax\semantic\html\collections\form;
43

4+
use Ajax\semantic\html\base\constants\Direction;
5+
use Ajax\semantic\html\elements\HtmlButton;
56
use Ajax\semantic\html\modules\HtmlDropdown;
67

78
class HtmlFormDropdown extends HtmlFormField {
89

9-
public function __construct($identifier,$items=array(), $label=NULL,$value="",$multiple=false,$associative=true) {
10-
parent::__construct("field-".$identifier, (new HtmlDropdown("dropdown-".$identifier,$value,$items,$associative))->asSelect($identifier,$multiple), $label);
11-
$this->_identifier=$identifier;
10+
public function __construct($identifier, $items = array(), $label = NULL, $value = "", $multiple = false, $associative = true) {
11+
parent::__construct("field-" . $identifier, (new HtmlDropdown("dropdown-" . $identifier, $value, $items, $associative))->asSelect($identifier, $multiple), $label);
12+
$this->_identifier = $identifier;
1213
}
1314

14-
public function setItems($items){
15+
public function setItems($items) {
1516
return $this->getField()->setItems($items);
1617
}
17-
public function addItem($item,$value=NULL,$image=NULL){
18-
return $this->getField()->addItem($item,$value,$image);
18+
19+
public function addItem($item, $value = NULL, $image = NULL) {
20+
return $this->getField()->addItem($item, $value, $image);
1921
}
20-
public static function multipleDropdown($identifier,$items=array(), $label=NULL,$value="",$associative=true){
21-
return new HtmlFormDropdown($identifier,$items,$label,$value,true,$associative);
22+
23+
public static function multipleDropdown($identifier, $items = array(), $label = NULL, $value = "", $associative = true) {
24+
return new HtmlFormDropdown($identifier, $items, $label, $value, true, $associative);
2225
}
2326

2427
/**
28+
*
2529
* @return HtmlDropdown
2630
*/
27-
public function getDataField(){
31+
public function getDataField() {
2832
return $this->getField()->getInput();
2933
}
30-
public function asSelect($name=NULL,$multiple=false,$selection=true){
31-
$this->getField()->asSelect($name,$multiple,$selection);
34+
35+
public function asSelect($name = NULL, $multiple = false, $selection = true) {
36+
$this->getField()->asSelect($name, $multiple, $selection);
3237
return $this;
3338
}
3439

3540
/**
41+
*
3642
* @param boolean $floating
3743
* @return HtmlDropdown
3844
*/
39-
public function asButton($floating=false){
40-
$field=$this->content["field"];
41-
$label=$this->content["label"];
45+
public function asButton($floating = false) {
46+
$field = $this->content["field"];
47+
$label = $this->content["label"];
4248
$field->addContent($label);
43-
$this->content=["field"=>$field];
49+
$this->content = [
50+
"field" => $field
51+
];
4452
$this->content["field"]->asButton($floating);
4553
return $this->content["field"];
4654
}
55+
56+
/**
57+
*
58+
* @param string $action
59+
* @param string $direction
60+
* @param string $icon
61+
* @param boolean $labeled
62+
* @return mixed|HtmlButton
63+
*/
64+
public function addAction($action, $direction = Direction::RIGHT, $icon = NULL, $labeled = false) {
65+
$this->getField()->setStyle('display:inline-block; width: auto');
66+
$actionO = $action;
67+
if (\is_object($action) === false) {
68+
$actionO = new HtmlButton("action-" . $this->identifier, $action);
69+
if (isset($icon))
70+
$actionO->addIcon($icon, true, $labeled);
71+
}
72+
$this->addContent($actionO, \strstr($direction, Direction::LEFT) !== false);
73+
return $actionO;
74+
}
4775
}

0 commit comments

Comments
 (0)