@@ -13,17 +13,17 @@ discard block |
||
| 13 | 13 | use Ajax\service\JArray; |
| 14 | 14 | |
| 15 | 15 | class HtmlDropdown extends HtmlSemDoubleElement { |
| 16 | - use FieldTrait,LabeledIconTrait { |
|
| 16 | + use FieldTrait, LabeledIconTrait { |
|
| 17 | 17 | addIcon as addIconP; |
| 18 | 18 | } |
| 19 | 19 | |
| 20 | - protected $mClass = "menu"; |
|
| 20 | + protected $mClass="menu"; |
|
| 21 | 21 | |
| 22 | - protected $mTagName = "div"; |
|
| 22 | + protected $mTagName="div"; |
|
| 23 | 23 | |
| 24 | - protected $items = array(); |
|
| 24 | + protected $items=array(); |
|
| 25 | 25 | |
| 26 | - protected $_params = array( |
|
| 26 | + protected $_params=array( |
|
| 27 | 27 | "action" => "nothing", |
| 28 | 28 | "on" => "hover", |
| 29 | 29 | "showOnFocus" => true |
@@ -37,29 +37,29 @@ discard block |
||
| 37 | 37 | |
| 38 | 38 | protected $_multiple; |
| 39 | 39 | |
| 40 | - public function __construct($identifier, $value = "", $items = array(), $associative = true) { |
|
| 40 | + public function __construct($identifier, $value="", $items=array(), $associative=true) { |
|
| 41 | 41 | parent::__construct($identifier, "div"); |
| 42 | - $this->_template = include dirname(__FILE__) . '/../templates/tplDropdown.php'; |
|
| 42 | + $this->_template=include dirname(__FILE__).'/../templates/tplDropdown.php'; |
|
| 43 | 43 | $this->setProperty("class", "ui dropdown"); |
| 44 | - $this->_multiple = false; |
|
| 45 | - $content = []; |
|
| 46 | - $text = ''; |
|
| 44 | + $this->_multiple=false; |
|
| 45 | + $content=[]; |
|
| 46 | + $text=''; |
|
| 47 | 47 | if ($value instanceof HtmlSemDoubleElement) { |
| 48 | - $text = $value; |
|
| 49 | - } elseif ($value !== null) { |
|
| 50 | - $text = new HtmlSemDoubleElement("text-" . $this->identifier, "div"); |
|
| 48 | + $text=$value; |
|
| 49 | + } elseif ($value!==null) { |
|
| 50 | + $text=new HtmlSemDoubleElement("text-".$this->identifier, "div"); |
|
| 51 | 51 | $text->setClass("text"); |
| 52 | 52 | $this->setValue($value); |
| 53 | 53 | } |
| 54 | - if ($text != null) { |
|
| 55 | - $content = [ |
|
| 54 | + if ($text!=null) { |
|
| 55 | + $content=[ |
|
| 56 | 56 | "text" => $text |
| 57 | 57 | ]; |
| 58 | 58 | } |
| 59 | - $content["arrow"] = new HtmlIcon($identifier . "-icon", "dropdown"); |
|
| 60 | - $this->content = $content; |
|
| 61 | - $this->tagName = "div"; |
|
| 62 | - $this->_associative = $associative; |
|
| 59 | + $content["arrow"]=new HtmlIcon($identifier."-icon", "dropdown"); |
|
| 60 | + $this->content=$content; |
|
| 61 | + $this->tagName="div"; |
|
| 62 | + $this->_associative=$associative; |
|
| 63 | 63 | $this->addItems($items); |
| 64 | 64 | } |
| 65 | 65 | |
@@ -71,16 +71,16 @@ discard block |
||
| 71 | 71 | return $this->input; |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | - public function addItem($item, $value = NULL, $image = NULL, $description = NULL) { |
|
| 75 | - $itemO = $this->beforeAddItem($item, $value, $image, $description); |
|
| 76 | - $this->items[] = $itemO; |
|
| 74 | + public function addItem($item, $value=NULL, $image=NULL, $description=NULL) { |
|
| 75 | + $itemO=$this->beforeAddItem($item, $value, $image, $description); |
|
| 76 | + $this->items[]=$itemO; |
|
| 77 | 77 | return $itemO; |
| 78 | 78 | } |
| 79 | 79 | |
| 80 | - public function addIcon($icon, $before = true, $labeled = false) { |
|
| 80 | + public function addIcon($icon, $before=true, $labeled=false) { |
|
| 81 | 81 | $this->removeArrow(); |
| 82 | 82 | $this->addIconP($icon, $before, $labeled); |
| 83 | - $elm = $this->getElementById("text-" . $this->identifier, $this->content); |
|
| 83 | + $elm=$this->getElementById("text-".$this->identifier, $this->content); |
|
| 84 | 84 | if (isset($elm)) { |
| 85 | 85 | $elm->setWrapAfter(""); |
| 86 | 86 | } |
@@ -88,8 +88,8 @@ discard block |
||
| 88 | 88 | } |
| 89 | 89 | |
| 90 | 90 | public function addIcons($icons) { |
| 91 | - $count = $this->count(); |
|
| 92 | - for ($i = 0; $i < \sizeof($icons) && $i < $count; $i ++) { |
|
| 91 | + $count=$this->count(); |
|
| 92 | + for ($i=0; $i<\sizeof($icons) && $i<$count; $i++) { |
|
| 93 | 93 | $this->getItem($i)->addIcon($icons[$i]); |
| 94 | 94 | } |
| 95 | 95 | } |
@@ -101,32 +101,32 @@ discard block |
||
| 101 | 101 | * @param int $position |
| 102 | 102 | * @return HtmlDropdownItem |
| 103 | 103 | */ |
| 104 | - public function insertItem($item, $position = 0) { |
|
| 105 | - $itemO = $this->beforeAddItem($item); |
|
| 106 | - $start = array_slice($this->items, 0, $position); |
|
| 107 | - $end = array_slice($this->items, $position); |
|
| 108 | - $start[] = $item; |
|
| 109 | - $this->items = array_merge($start, $end); |
|
| 104 | + public function insertItem($item, $position=0) { |
|
| 105 | + $itemO=$this->beforeAddItem($item); |
|
| 106 | + $start=array_slice($this->items, 0, $position); |
|
| 107 | + $end=array_slice($this->items, $position); |
|
| 108 | + $start[]=$item; |
|
| 109 | + $this->items=array_merge($start, $end); |
|
| 110 | 110 | return $itemO; |
| 111 | 111 | } |
| 112 | 112 | |
| 113 | 113 | protected function removeArrow() { |
| 114 | - if (\sizeof($this->content) > 1) { |
|
| 114 | + if (\sizeof($this->content)>1) { |
|
| 115 | 115 | unset($this->content["arrow"]); |
| 116 | - $this->content = \array_values($this->content); |
|
| 116 | + $this->content=\array_values($this->content); |
|
| 117 | 117 | } |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | - protected function beforeAddItem($item, $value = NULL, $image = NULL, $description = NULL) { |
|
| 121 | - $itemO = $item; |
|
| 120 | + protected function beforeAddItem($item, $value=NULL, $image=NULL, $description=NULL) { |
|
| 121 | + $itemO=$item; |
|
| 122 | 122 | if (\is_array($item)) { |
| 123 | - $description = JArray::getValue($item, "description", 3); |
|
| 124 | - $value = JArray::getValue($item, "value", 1); |
|
| 125 | - $image = JArray::getValue($item, "image", 2); |
|
| 126 | - $item = JArray::getValue($item, "item", 0); |
|
| 123 | + $description=JArray::getValue($item, "description", 3); |
|
| 124 | + $value=JArray::getValue($item, "value", 1); |
|
| 125 | + $image=JArray::getValue($item, "image", 2); |
|
| 126 | + $item=JArray::getValue($item, "item", 0); |
|
| 127 | 127 | } |
| 128 | - if (! $item instanceof HtmlDropdownItem) { |
|
| 129 | - $itemO = new HtmlDropdownItem("dd-item-" . $this->identifier . "-" . \sizeof($this->items), $item, $value, $image, $description); |
|
| 128 | + if (!$item instanceof HtmlDropdownItem) { |
|
| 129 | + $itemO=new HtmlDropdownItem("dd-item-".$this->identifier."-".\sizeof($this->items), $item, $value, $image, $description); |
|
| 130 | 130 | } elseif ($itemO instanceof HtmlDropdownItem) { |
| 131 | 131 | $this->addToProperty("class", "vertical"); |
| 132 | 132 | } |
@@ -142,11 +142,11 @@ discard block |
||
| 142 | 142 | } |
| 143 | 143 | |
| 144 | 144 | public function addInput($name) { |
| 145 | - if (! isset($name)) |
|
| 146 | - $name = "input-" . $this->identifier; |
|
| 145 | + if (!isset($name)) |
|
| 146 | + $name="input-".$this->identifier; |
|
| 147 | 147 | $this->setAction("activate"); |
| 148 | - $this->input = new HtmlInput($name, "hidden"); |
|
| 149 | - $this->input->setIdentifier("input-" . $this->identifier); |
|
| 148 | + $this->input=new HtmlInput($name, "hidden"); |
|
| 149 | + $this->input->setIdentifier("input-".$this->identifier); |
|
| 150 | 150 | return $this->input; |
| 151 | 151 | } |
| 152 | 152 | |
@@ -157,7 +157,7 @@ discard block |
||
| 157 | 157 | * @param string $icon |
| 158 | 158 | * @return HtmlDropdownItem |
| 159 | 159 | */ |
| 160 | - public function addSearchInputItem($placeHolder = NULL, $icon = NULL) { |
|
| 160 | + public function addSearchInputItem($placeHolder=NULL, $icon=NULL) { |
|
| 161 | 161 | return $this->addItem(HtmlDropdownItem::searchInput($placeHolder, $icon)); |
| 162 | 162 | } |
| 163 | 163 | |
@@ -177,7 +177,7 @@ discard block |
||
| 177 | 177 | * @param string $icon |
| 178 | 178 | * @return HtmlDropdownItem |
| 179 | 179 | */ |
| 180 | - public function addHeaderItem($caption = NULL, $icon = NULL) { |
|
| 180 | + public function addHeaderItem($caption=NULL, $icon=NULL) { |
|
| 181 | 181 | return $this->addItem(HtmlDropdownItem::header($caption, $icon)); |
| 182 | 182 | } |
| 183 | 183 | |
@@ -222,12 +222,12 @@ discard block |
||
| 222 | 222 | * @return $this |
| 223 | 223 | */ |
| 224 | 224 | public function setPropertyValues($property, $values) { |
| 225 | - $i = 0; |
|
| 226 | - if (\is_array($values) === false) { |
|
| 227 | - $values = \array_fill(0, $this->count(), $values); |
|
| 225 | + $i=0; |
|
| 226 | + if (\is_array($values)===false) { |
|
| 227 | + $values=\array_fill(0, $this->count(), $values); |
|
| 228 | 228 | } |
| 229 | 229 | foreach ($values as $value) { |
| 230 | - $c = $this->items[$i ++]; |
|
| 230 | + $c=$this->items[$i++]; |
|
| 231 | 231 | if (isset($c)) { |
| 232 | 232 | $c->setProperty($property, $value); |
| 233 | 233 | } else { |
@@ -261,12 +261,12 @@ discard block |
||
| 261 | 261 | * @param boolean $dropdown |
| 262 | 262 | */ |
| 263 | 263 | public function asDropdown($dropdown) { |
| 264 | - if ($dropdown === false) { |
|
| 265 | - $this->_template = include dirname(__FILE__) . '/../templates/tplDropdownMenu.php'; |
|
| 266 | - $dropdown = "menu"; |
|
| 264 | + if ($dropdown===false) { |
|
| 265 | + $this->_template=include dirname(__FILE__).'/../templates/tplDropdownMenu.php'; |
|
| 266 | + $dropdown="menu"; |
|
| 267 | 267 | } else { |
| 268 | - $dropdown = "dropdown"; |
|
| 269 | - $this->mClass = "menu"; |
|
| 268 | + $dropdown="dropdown"; |
|
| 269 | + $this->mClass="menu"; |
|
| 270 | 270 | } |
| 271 | 271 | return $this->addToPropertyCtrl("class", $dropdown, array( |
| 272 | 272 | "menu", |
@@ -292,7 +292,7 @@ discard block |
||
| 292 | 292 | )); |
| 293 | 293 | } |
| 294 | 294 | |
| 295 | - public function asButton($floating = false) { |
|
| 295 | + public function asButton($floating=false) { |
|
| 296 | 296 | $this->removeArrow(); |
| 297 | 297 | if ($floating) |
| 298 | 298 | $this->addToProperty("class", "floating"); |
@@ -300,15 +300,15 @@ discard block |
||
| 300 | 300 | return $this->addToProperty("class", "button"); |
| 301 | 301 | } |
| 302 | 302 | |
| 303 | - public function asSelect($name = NULL, $multiple = false, $selection = true) { |
|
| 304 | - $this->_multiple = $multiple; |
|
| 303 | + public function asSelect($name=NULL, $multiple=false, $selection=true) { |
|
| 304 | + $this->_multiple=$multiple; |
|
| 305 | 305 | if (isset($name)) |
| 306 | 306 | $this->addInput($name); |
| 307 | 307 | if ($multiple) { |
| 308 | 308 | $this->addToProperty("class", "multiple"); |
| 309 | 309 | } |
| 310 | 310 | if ($selection) { |
| 311 | - if ($this->propertyContains("class", "button") === false) |
|
| 311 | + if ($this->propertyContains("class", "button")===false) |
|
| 312 | 312 | $this->addToPropertyCtrl("class", "selection", array( |
| 313 | 313 | "selection" |
| 314 | 314 | )); |
@@ -316,31 +316,31 @@ discard block |
||
| 316 | 316 | return $this; |
| 317 | 317 | } |
| 318 | 318 | |
| 319 | - public function asSearch($name = NULL, $multiple = false, $selection = true) { |
|
| 319 | + public function asSearch($name=NULL, $multiple=false, $selection=true) { |
|
| 320 | 320 | $this->asSelect($name, $multiple, $selection); |
| 321 | 321 | return $this->addToProperty("class", "search"); |
| 322 | 322 | } |
| 323 | 323 | |
| 324 | - public function setSelect($name = NULL, $multiple = false) { |
|
| 325 | - $this->_template = '<%tagName% id="%identifier%" %properties%>%items%</%tagName%>'; |
|
| 326 | - if (! isset($name)) |
|
| 327 | - $name = "select-" . $this->identifier; |
|
| 328 | - $this->input = null; |
|
| 324 | + public function setSelect($name=NULL, $multiple=false) { |
|
| 325 | + $this->_template='<%tagName% id="%identifier%" %properties%>%items%</%tagName%>'; |
|
| 326 | + if (!isset($name)) |
|
| 327 | + $name="select-".$this->identifier; |
|
| 328 | + $this->input=null; |
|
| 329 | 329 | if ($multiple) { |
| 330 | 330 | $this->setProperty("multiple", true); |
| 331 | 331 | $this->addToProperty("class", "multiple"); |
| 332 | 332 | } |
| 333 | 333 | $this->setAction("activate"); |
| 334 | - $this->tagName = "select"; |
|
| 334 | + $this->tagName="select"; |
|
| 335 | 335 | $this->setProperty("name", $name); |
| 336 | - $this->content = null; |
|
| 336 | + $this->content=null; |
|
| 337 | 337 | foreach ($this->items as $item) { |
| 338 | 338 | $item->asOption(); |
| 339 | 339 | } |
| 340 | 340 | return $this; |
| 341 | 341 | } |
| 342 | 342 | |
| 343 | - public function asSubmenu($pointing = NULL) { |
|
| 343 | + public function asSubmenu($pointing=NULL) { |
|
| 344 | 344 | $this->setClass("ui dropdown link item"); |
| 345 | 345 | if (isset($pointing)) { |
| 346 | 346 | $this->setPointing($pointing); |
@@ -348,29 +348,29 @@ discard block |
||
| 348 | 348 | return $this; |
| 349 | 349 | } |
| 350 | 350 | |
| 351 | - public function setPointing($value = Direction::NONE) { |
|
| 352 | - return $this->addToPropertyCtrl("class", $value . " pointing", Direction::getConstantValues("pointing")); |
|
| 351 | + public function setPointing($value=Direction::NONE) { |
|
| 352 | + return $this->addToPropertyCtrl("class", $value." pointing", Direction::getConstantValues("pointing")); |
|
| 353 | 353 | } |
| 354 | 354 | |
| 355 | 355 | public function setValue($value) { |
| 356 | - $this->value = $value; |
|
| 356 | + $this->value=$value; |
|
| 357 | 357 | return $this; |
| 358 | 358 | } |
| 359 | 359 | |
| 360 | 360 | public function setDefaultText($text) { |
| 361 | - $this->content["text"] = new HtmlSemDoubleElement("", "div", "default text", $text); |
|
| 361 | + $this->content["text"]=new HtmlSemDoubleElement("", "div", "default text", $text); |
|
| 362 | 362 | return $this; |
| 363 | 363 | } |
| 364 | 364 | |
| 365 | 365 | private function applyValue() { |
| 366 | - $value = $this->value; |
|
| 366 | + $value=$this->value; |
|
| 367 | 367 | if (isset($this->input) && isset($value)) { |
| 368 | 368 | $this->input->setProperty("value", $value); |
| 369 | 369 | } else { |
| 370 | 370 | $this->setProperty("value", $value); |
| 371 | 371 | } |
| 372 | - $textElement = $this->getElementById("text-" . $this->identifier, $this->content); |
|
| 373 | - if (isset($textElement) && ($textElement instanceof HtmlDoubleElement) && ! $this->_multiple) |
|
| 372 | + $textElement=$this->getElementById("text-".$this->identifier, $this->content); |
|
| 373 | + if (isset($textElement) && ($textElement instanceof HtmlDoubleElement) && !$this->_multiple) |
|
| 374 | 374 | $textElement->setContent($value); |
| 375 | 375 | return $this; |
| 376 | 376 | } |
@@ -380,9 +380,9 @@ discard block |
||
| 380 | 380 | * @see BaseHtml::run() |
| 381 | 381 | */ |
| 382 | 382 | public function run(JsUtils $js) { |
| 383 | - if ($this->propertyContains("class", "simple") === false) { |
|
| 384 | - if (isset($this->_bsComponent) === false) { |
|
| 385 | - $this->_bsComponent = $js->semantic()->dropdown("#" . $this->identifier, $this->_params); |
|
| 383 | + if ($this->propertyContains("class", "simple")===false) { |
|
| 384 | + if (isset($this->_bsComponent)===false) { |
|
| 385 | + $this->_bsComponent=$js->semantic()->dropdown("#".$this->identifier, $this->_params); |
|
| 386 | 386 | $this->_bsComponent->setItemSelector(".item"); |
| 387 | 387 | } |
| 388 | 388 | $this->addEventsOnRun($js); |
@@ -397,31 +397,31 @@ discard block |
||
| 397 | 397 | } |
| 398 | 398 | |
| 399 | 399 | public function setAction($action) { |
| 400 | - $this->_params["action"] = $action; |
|
| 400 | + $this->_params["action"]=$action; |
|
| 401 | 401 | return $this; |
| 402 | 402 | } |
| 403 | 403 | |
| 404 | 404 | public function setOn($on) { |
| 405 | - $this->_params["on"] = $on; |
|
| 405 | + $this->_params["on"]=$on; |
|
| 406 | 406 | return $this; |
| 407 | 407 | } |
| 408 | 408 | |
| 409 | 409 | public function setShowOnFocus($value) { |
| 410 | - $this->_params["showOnFocus"] = $value; |
|
| 410 | + $this->_params["showOnFocus"]=$value; |
|
| 411 | 411 | return $this; |
| 412 | 412 | } |
| 413 | 413 | |
| 414 | 414 | public function setAllowAdditions($value) { |
| 415 | - $this->_params["allowAdditions"] = $value; |
|
| 415 | + $this->_params["allowAdditions"]=$value; |
|
| 416 | 416 | return $this; |
| 417 | 417 | } |
| 418 | 418 | |
| 419 | 419 | public function setFullTextSearch($value) { |
| 420 | - $this->_params["fullTextSearch"] = $value; |
|
| 420 | + $this->_params["fullTextSearch"]=$value; |
|
| 421 | 421 | return $this; |
| 422 | 422 | } |
| 423 | 423 | |
| 424 | - public function compile(JsUtils $js = NULL, &$view = NULL) { |
|
| 424 | + public function compile(JsUtils $js=NULL, &$view=NULL) { |
|
| 425 | 425 | $this->applyValue(); |
| 426 | 426 | return parent::compile($js, $view); |
| 427 | 427 | } |
@@ -430,19 +430,19 @@ discard block |
||
| 430 | 430 | return $this->input; |
| 431 | 431 | } |
| 432 | 432 | |
| 433 | - public function setIcon($icon = "dropdown") { |
|
| 434 | - $this->content["arrow"] = new HtmlIcon($this->identifier . "-icon", $icon); |
|
| 433 | + public function setIcon($icon="dropdown") { |
|
| 434 | + $this->content["arrow"]=new HtmlIcon($this->identifier."-icon", $icon); |
|
| 435 | 435 | return $this; |
| 436 | 436 | } |
| 437 | 437 | |
| 438 | - public function jsAddItem($caption, $value = null) { |
|
| 439 | - $value = $value ?? $caption; |
|
| 440 | - $js = "var first=$('#{$this->identifier} .item').first();if(first!=undefined){var newItem =first.clone();first.parent().append(newItem);newItem.html({$caption});newItem.attr('data-value',{$value}).removeClass('active filtered');}"; |
|
| 438 | + public function jsAddItem($caption, $value=null) { |
|
| 439 | + $value=$value ?? $caption; |
|
| 440 | + $js="var first=$('#{$this->identifier} .item').first();if(first!=undefined){var newItem =first.clone();first.parent().append(newItem);newItem.html({$caption});newItem.attr('data-value',{$value}).removeClass('active filtered');}"; |
|
| 441 | 441 | return $js; |
| 442 | 442 | } |
| 443 | 443 | |
| 444 | 444 | public function setClearable($value) { |
| 445 | - $this->_params["clearable"] = $value; |
|
| 445 | + $this->_params["clearable"]=$value; |
|
| 446 | 446 | return $this; |
| 447 | 447 | } |
| 448 | 448 | |
@@ -451,7 +451,7 @@ discard block |
||
| 451 | 451 | * Parameters addedValue, addedText, $addedChoice |
| 452 | 452 | */ |
| 453 | 453 | public function setOnAdd($jsCode) { |
| 454 | - $this->_params["onAdd"] = $jsCode; |
|
| 454 | + $this->_params["onAdd"]=$jsCode; |
|
| 455 | 455 | return $this; |
| 456 | 456 | } |
| 457 | 457 | |
@@ -460,7 +460,7 @@ discard block |
||
| 460 | 460 | * Parameters removedValue, removedText, $removedChoice |
| 461 | 461 | */ |
| 462 | 462 | public function setOnRemove($jsCode) { |
| 463 | - $this->_params["onRemove"] = $jsCode; |
|
| 463 | + $this->_params["onRemove"]=$jsCode; |
|
| 464 | 464 | return $this; |
| 465 | 465 | } |
| 466 | 466 | } |