mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-02 23:18:43 +02:00
🎨 Add automatic class return type to MetaModel::GetObject() and MetaModel::NewObject()
This commit is contained in:
@@ -9,6 +9,10 @@ namespace Combodo\iTop\PropertyTree;
|
||||
|
||||
use Combodo\iTop\DesignElement;
|
||||
use Combodo\iTop\Forms\Block\Base\CollectionBlock;
|
||||
use Combodo\iTop\PropertyTree\CollectionType\AbstractCollectionType;
|
||||
use Combodo\iTop\PropertyTree\CollectionType\CollectionTypeFactory;
|
||||
use Combodo\iTop\PropertyTree\ValueType\AbstractValueType;
|
||||
use Combodo\iTop\PropertyTree\ValueType\ValueTypeFactory;
|
||||
|
||||
/**
|
||||
* @since 3.3.0
|
||||
@@ -16,6 +20,7 @@ use Combodo\iTop\Forms\Block\Base\CollectionBlock;
|
||||
class CollectionOfTrees extends AbstractProperty
|
||||
{
|
||||
protected ?string $sButtonLabel;
|
||||
protected ?AbstractCollectionType $oCollectionType;
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
@@ -27,6 +32,13 @@ class CollectionOfTrees extends AbstractProperty
|
||||
|
||||
$this->sButtonLabel = $oDomNode->GetChildText('button-label');
|
||||
|
||||
$oCollectionTypeNode = $oDomNode->GetOptionalElement('collection-type');
|
||||
if ($oCollectionTypeNode) {
|
||||
$this->oCollectionType = CollectionTypeFactory::GetInstance()->CreateCollectionTypeFromDomNode($oCollectionTypeNode);
|
||||
} else {
|
||||
throw new PropertyTreeException("Node: {$this->sId}, missing collection-type in node specification");
|
||||
}
|
||||
|
||||
// read child properties
|
||||
foreach ($oDomNode->GetUniqueElement('prototype')->childNodes as $oNode) {
|
||||
if ($oNode instanceof DesignElement) {
|
||||
|
||||
Reference in New Issue
Block a user