| Current Path : /var/www/surf/TYPO3/vendor/typo3/cms-backend/Classes/Tree/ |
| Current File : /var/www/surf/TYPO3/vendor/typo3/cms-backend/Classes/Tree/TreeRepresentationNode.php |
<?php
/*
* This file is part of the TYPO3 CMS project.
*
* It is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License, either version 2
* of the License, or any later version.
*
* For the full copyright and license information, please read the
* LICENSE.txt file that was distributed with this source code.
*
* The TYPO3 project - inspiring people to share!
*/
namespace TYPO3\CMS\Backend\Tree;
use TYPO3\CMS\Core\Imaging\Icon;
/**
* Representation Tree Node
*/
class TreeRepresentationNode extends TreeNode
{
/**
* Node Label
*
* @var string
*/
protected $label = '';
/**
* Node Type
*
* @var string
*/
protected $type = '';
/**
* Node CSS Class
*
* @var string
*/
protected $class = '';
/**
* Node Icon
*
* @var string|Icon
*/
protected $icon = '';
/**
* Callback function that is called e.g after a click on the label
*
* @var string
*/
protected $callbackAction = '';
/**
* @param string $class
*/
public function setClass($class)
{
$this->class = $class;
}
/**
* @return string
*/
public function getClass()
{
return $this->class;
}
/**
* @param string|Icon $icon
*/
public function setIcon($icon)
{
$this->icon = $icon;
}
/**
* @return string|Icon
*/
public function getIcon()
{
return $this->icon;
}
/**
* @param string $label
*/
public function setLabel($label)
{
$this->label = $label;
}
/**
* @return string
*/
public function getLabel()
{
return $this->label;
}
/**
* @param string $type
*/
public function setType($type)
{
$this->type = $type;
}
/**
* @return string
*/
public function getType()
{
return $this->type;
}
/**
* Sets the callback action
*
* @param string $callbackAction
*/
public function setCallbackAction($callbackAction)
{
$this->callbackAction = $callbackAction;
}
/**
* Returns the callback action
*
* @return string
*/
public function getCallbackAction()
{
return $this->callbackAction;
}
/**
* Returns the node in an array representation that can be used for serialization
*
* @param bool $addChildNodes
* @return array
*/
public function toArray($addChildNodes = true)
{
$arrayRepresentation = parent::toArray();
$arrayRepresentation = array_merge($arrayRepresentation, [
'label' => $this->label,
'type' => $this->type,
'class' => $this->class,
'icon' => $this->icon,
'callbackAction' => $this->callbackAction,
]);
return $arrayRepresentation;
}
/**
* Sets data of the node by a given data array
*
* @param array $data
*/
public function dataFromArray($data)
{
parent::dataFromArray($data);
$this->setLabel($data['label']);
$this->setType($data['type']);
$this->setClass($data['class']);
$this->setIcon($data['icon']);
$this->setCallbackAction($data['callbackAction']);
}
}