- Fixed some bugs related to options
This commit is contained in:
parent
f00c98b7ff
commit
30ddd4c98b
|
@ -26,9 +26,9 @@ class UiElement implements \ArrayAccess, \Iterator, \JsonSerializable {
|
||||||
* tag-type single Only render a single tag. Cannot contains any childrens
|
* tag-type single Only render a single tag. Cannot contains any childrens
|
||||||
* force-tag-open tag Control the way the opening tag is rendered
|
* force-tag-open tag Control the way the opening tag is rendered
|
||||||
* force-tag-close tag-close " " " " closing " " "
|
* force-tag-close tag-close " " " " closing " " "
|
||||||
* no-attr Attributes will not be rendered
|
* no-attr true Attributes will not be rendered
|
||||||
* no-id ID is not automatically given (* may be removed *)
|
* no-id true ID is not automatically given (* may be removed *)
|
||||||
* escape-tag-end If you need to echo the Node inside another string, it may be useful to escape the "/" char using "\/"
|
* escape-tag-end true If you need to echo the Node inside another string, it may be useful to escape the "/" char using "\/"
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public array $options = [];
|
public array $options = [];
|
||||||
|
@ -148,7 +148,7 @@ class UiElement implements \ArrayAccess, \Iterator, \JsonSerializable {
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function option(string $var, $value = 1) : self
|
public function option(string $var, mixed $value = true) : self
|
||||||
{
|
{
|
||||||
$this->options[$var] = $value;
|
$this->options[$var] = $value;
|
||||||
|
|
||||||
|
@ -200,14 +200,14 @@ class UiElement implements \ArrayAccess, \Iterator, \JsonSerializable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( in_array('no-tag', $this->options, true) ) {
|
if ( $this->options['no-tag'] ?? false ) {
|
||||||
return $this->content . $content;
|
return $this->content . $content;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$compiledAttributes = (count($attributesList) && ! in_array('no-attr', $this->options, true) ? " " . implode(" ", $attributesList) : "");
|
$compiledAttributes = $this->options['no-attr'] ?? false ? "" : " " . implode(" ", $attributesList);
|
||||||
|
|
||||||
# Force the node to contain a certain opening tag (php is a good example)
|
# Force the node to contain a certain opening tag (php is a good example)
|
||||||
if ( in_array('force-tag-open', $this->options, true) ) {
|
if ( $this->options['force-tag-open'] ?? false ) {
|
||||||
$opentag = $this->options['force-tag-open'] . $compiledAttributes;
|
$opentag = $this->options['force-tag-open'] . $compiledAttributes;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -219,11 +219,11 @@ class UiElement implements \ArrayAccess, \Iterator, \JsonSerializable {
|
||||||
$closetag = "";
|
$closetag = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ( in_array('force-tag-close', $this->options, true) ) {
|
elseif ( $this->options['force-tag-close'] ?? false ) {
|
||||||
$closetag = $this->options['force-tag-close'];
|
$closetag = $this->options['force-tag-close'];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$closetag = $this->tag ? "<" . (in_array('escape-tag-end', $this->options) ? "\/" : "/" ) . "{$this->tag}>" : "";
|
$closetag = $this->tag ? "<" . ( $this->options['escape-tag-end'] ?? false ? "\/" : "/" ) . "{$this->tag}>" : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
return $opentag . $this->content . $content . $closetag;
|
return $opentag . $this->content . $content . $closetag;
|
||||||
|
@ -259,7 +259,6 @@ class UiElement implements \ArrayAccess, \Iterator, \JsonSerializable {
|
||||||
{
|
{
|
||||||
return $this->insert( static::INSERT_MODE_PREPEND, ...( is_array($arguments) ? array_reverse($arguments) : $arguments) );
|
return $this->insert( static::INSERT_MODE_PREPEND, ...( is_array($arguments) ? array_reverse($arguments) : $arguments) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function insert(int $mode, ...$elements) : self
|
protected function insert(int $mode, ...$elements) : self
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue