mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 11:08:45 +02:00
N°8772 - test driven compiler wip
This commit is contained in:
@@ -7,10 +7,17 @@
|
||||
|
||||
namespace Combodo\iTop\PropertyTree\ValueType;
|
||||
|
||||
use Combodo\iTop\DesignElement;
|
||||
|
||||
/**
|
||||
* @since 3.3.0
|
||||
*/
|
||||
abstract class AbstractValueType
|
||||
{
|
||||
abstract public function getFormBlockClass(): string;
|
||||
abstract public function GetFormBlockClass(): string;
|
||||
|
||||
public function InitFromDomNode(DesignElement $oDomNode): void
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\DataModel\Dashlet\AggregateFunctionFormBlock;
|
||||
*/
|
||||
class ValueTypeAggregateFunction extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return AggregateFunctionFormBlock::class;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ use Combodo\iTop\Forms\Block\Base\FormBlock;
|
||||
*/
|
||||
class ValueTypeChoice extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return ChoiceFormBlock::class;
|
||||
}
|
||||
|
||||
19
sources/PropertyTree/ValueType/ValueTypeClass.php
Normal file
19
sources/PropertyTree/ValueType/ValueTypeClass.php
Normal file
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2025 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\PropertyTree\ValueType;
|
||||
|
||||
use Combodo\iTop\Forms\Block\Base\TextFormBlock;
|
||||
use Combodo\iTop\PropertyTree\ValueType\AbstractValueType;
|
||||
|
||||
class ValueTypeClass extends AbstractValueType
|
||||
{
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return TextFormBlock::class;
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\DataModel\AttributeChoiceFormBlock;
|
||||
*/
|
||||
class ValueTypeClassAttribute extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return AttributeChoiceFormBlock::class;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\DataModel\Dashlet\ClassAttributeGroupByFormBlock;
|
||||
*/
|
||||
class ValueTypeClassAttributeGroupBy extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return ClassAttributeGroupByFormBlock::class;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\DataModel\AttributeValueChoiceFormBlock;
|
||||
*/
|
||||
class ValueTypeClassAttributeValue extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return AttributeValueChoiceFormBlock::class;
|
||||
}
|
||||
|
||||
45
sources/PropertyTree/ValueType/ValueTypeFactory.php
Normal file
45
sources/PropertyTree/ValueType/ValueTypeFactory.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2025 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\PropertyTree\ValueType;
|
||||
|
||||
use Combodo\iTop\DesignElement;
|
||||
use Combodo\iTop\PropertyTree\AbstractProperty;
|
||||
use Combodo\iTop\PropertyTree\PropertyTreeException;
|
||||
use DOMElement;
|
||||
|
||||
class ValueTypeFactory
|
||||
{
|
||||
private static ValueTypeFactory $oInstance;
|
||||
|
||||
protected function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
final public static function GetInstance(): ValueTypeFactory
|
||||
{
|
||||
if (!isset(static::$oInstance)) {
|
||||
static::$oInstance = new ValueTypeFactory();
|
||||
}
|
||||
|
||||
return static::$oInstance;
|
||||
}
|
||||
|
||||
public function CreateValueTypeFromDomNode(DesignElement $oDomNode): AbstractValueType
|
||||
{
|
||||
$sNodeType = $oDomNode->getAttribute('xsi:type');
|
||||
|
||||
if (is_a($sNodeType, AbstractValueType::class, true)) {
|
||||
$oNode = new $sNodeType();
|
||||
$oNode->InitFromDomNode($oDomNode);
|
||||
|
||||
return $oNode;
|
||||
}
|
||||
|
||||
throw new PropertyTreeException('Unknown value-type node class: '.json_encode($sNodeType));
|
||||
}
|
||||
}
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\Base\IntegerFormBlock;
|
||||
*/
|
||||
class ValueTypeInteger extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return IntegerFormBlock::class;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\DataModel\LabelFormBlock;
|
||||
*/
|
||||
class ValueTypeLabel extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return LabelFormBlock::class;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ use Combodo\iTop\Forms\Block\DataModel\OqlFormBlock;
|
||||
*/
|
||||
class ValueTypeOQL extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return OqlFormBlock::class;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace Combodo\iTop\PropertyTree\ValueType;
|
||||
*/
|
||||
class ValueTypeProfileName extends AbstractValueType
|
||||
{
|
||||
public function getFormBlockClass(): string
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user