mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-20 09:08:42 +02:00
🎨 Add automatic class return type to MetaModel::GetObject() and MetaModel::NewObject()
This commit is contained in:
@@ -849,5 +849,222 @@ Call $this->AddInitialAttributeFlags($sAttCode, $iFlags) for all the initial att
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
<property_trees _delta="define" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://www.combodo.com/itop-schema/3.3">
|
||||
<property_tree id="DashletGroupBy" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Label"/><!-- LabelFormBlock -->
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Query</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/> <!-- mandatory quoi ! -->
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-OQL"/><!-- OqlFormBlock -->
|
||||
</node>
|
||||
<node id="group_by" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-GroupBy</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttributeGroupBy"> <!-- par défaut, il proposera le state attribute de la classe -->
|
||||
<class>{{query.selected_class}}</class>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="style" xsi:type="Combodo-Property"> <!-- possible de le cacher, etc.... celui-ci nous met dedans -->
|
||||
<label>UI:DashletGroupBy:Prop-Style</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-defaults-to>bars</xml-node-empty-defaults-to>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-Choice">
|
||||
<values>
|
||||
<value id="bars">
|
||||
<label>UI:DashletGroupByBars:Label</label>
|
||||
</value>
|
||||
<value id="pie">
|
||||
<label>UI:DashletGroupByPie:Label</label>
|
||||
</value>
|
||||
<value id="table">
|
||||
<label>UI:DashletGroupByTable:Label</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="aggregation_function" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Function</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/> <!-- mandatory quoi ! -->
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-AggregateFunction"> <!-- par défaut : count -->
|
||||
<class>{{query.selected_class}}</class> <!-- pour savoir si il y a des attributs additionnables -->
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="aggregation_attribute" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-FunctionAttribute</label>
|
||||
<relevance-condition>{{aggregation_function.value != 'count'}}</relevance-condition>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/> <!-- mandatory quoi ! -->
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<class>{{query.selected_class}}</class>
|
||||
<category>numeric</category>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="order_by" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-OrderField</label>
|
||||
<value-type xsi:type="Combodo-ValueType-ChoiceFromInput">
|
||||
<values>
|
||||
<value id="attribute">
|
||||
<label>{{aggregation_attribute.label}}</label>
|
||||
</value>
|
||||
<value id="function">
|
||||
<label>{{aggregation_function.label}}</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="limit" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Limit</label>
|
||||
<relevance-condition>{{order_by.value = 'function'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueType-Integer"/>
|
||||
</node>
|
||||
<node id="order_direction" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-OrderDirection</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-Choice">
|
||||
<values>
|
||||
<value id="asc">
|
||||
<label>UI:DashletGroupBy:Order:asc</label>
|
||||
</value>
|
||||
<value id="desc">
|
||||
<label>UI:DashletGroupBy:Order:desc</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
<display-default>desc</display-default>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletBadge" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="class" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletBadge:Prop-Class</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Class">
|
||||
<categories-csv>bizmodel</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletHeaderDynamic" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Label">
|
||||
<not-blank/>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="icon" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Icon</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Choice">
|
||||
<values>
|
||||
<value id="todo">
|
||||
<label>ToDo</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="subtitle" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Subtitle</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Label"/>
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Query</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-OQL"/>
|
||||
</node>
|
||||
<node id="group_by" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-GroupBy</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<class>{{query.selected_class}}</class>
|
||||
<category>enum</category>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="values" xsi:type="Combodo-CollectionOfValues">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Values</label>
|
||||
<data-transform>
|
||||
<xml-format xsi:type="xml-format-csv"/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttributeValue">
|
||||
<class>{{query.selected_class}}</class>
|
||||
<attribute>{{group_by.value}}</attribute>
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletHeaderStatic" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderStatic:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Label"/>
|
||||
</node>
|
||||
<node id="icon" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderStatic:Prop-Icon</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Icon"/>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletObjectList" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletObjectList:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Label">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletObjectList:Prop-Query</label>
|
||||
<value-type xsi:type="Combodo-ValueType-OQL"/>
|
||||
</node>
|
||||
<node id="menu" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletObjectList:Prop-Menu</label>
|
||||
<value-type xsi:type="Combodo-ValueType-Boolean">
|
||||
<on>
|
||||
<!-- not so cute, but matches exactly 3.2 implementation of boolean fields -->
|
||||
<label>UI:UserManagement:ActionAllowed:Yes</label>
|
||||
<value>true</value>
|
||||
</on>
|
||||
<off>
|
||||
<label>UI:UserManagement:ActionAllowed:No</label>
|
||||
<value>false</value>
|
||||
</off>
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletPlainText" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="text" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletPlainText:Prop-Text</label>
|
||||
<constraints>
|
||||
<not_blank/>
|
||||
</constraints>
|
||||
<value-type xsi:type="Combodo-ValueType-Text"/>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
</property_trees>
|
||||
</meta>
|
||||
</itop_design>
|
||||
|
||||
@@ -1185,169 +1185,5 @@
|
||||
</property>
|
||||
</properties>
|
||||
</attribute_properties_definition>
|
||||
<property_trees _delta="define" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://www.combodo.com/itop-schema/3.3">
|
||||
<property_tree id="DashletGroupBy" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeLabel"/><!-- LabelFormBlock -->
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Query</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/> <!-- mandatory quoi ! -->
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeOQL"/><!-- OqlFormBlock -->
|
||||
</node>
|
||||
<node id="group_by" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-GroupBy</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttributeGroupBy"> <!-- par défaut, il proposera le state attribute de la classe -->
|
||||
<class>{{query.selected_class}}</class>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="style" xsi:type="Combodo-Property"> <!-- possible de le cacher, etc.... celui-ci nous met dedans -->
|
||||
<label>UI:DashletGroupBy:Prop-Style</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-defaults-to>bars</xml-node-empty-defaults-to>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeChoice">
|
||||
<values>
|
||||
<value id="bars">
|
||||
<label>UI:DashletGroupByBars:Label</label>
|
||||
</value>
|
||||
<value id="pie">
|
||||
<label>UI:DashletGroupByPie:Label</label>
|
||||
</value>
|
||||
<value id="table">
|
||||
<label>UI:DashletGroupByTable:Label</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="aggregation_function" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Function</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/> <!-- mandatory quoi ! -->
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeAggregateFunction"> <!-- par défaut : count -->
|
||||
<class>{{query.selected_class}}</class> <!-- pour savoir si il y a des attributs additionnables -->
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="aggregation_attribute" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-FunctionAttribute</label>
|
||||
<relevance-condition>{{aggregation_function.value != 'count'}}</relevance-condition>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/> <!-- mandatory quoi ! -->
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<class>{{query.selected_class}}</class>
|
||||
<category>numeric</category>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="order_by" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-OrderField</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeChoiceFromInput">
|
||||
<values>
|
||||
<value id="attribute">
|
||||
<label>{{aggregation_attribute.label}}</label>
|
||||
</value>
|
||||
<value id="function">
|
||||
<label>{{aggregation_function.label}}</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="limit" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-Limit</label>
|
||||
<relevance-condition>{{order_by.value = 'function'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeInteger"/>
|
||||
</node>
|
||||
<node id="order_direction" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletGroupBy:Prop-OrderDirection</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeChoice">
|
||||
<values>
|
||||
<value id="asc">
|
||||
<label>UI:DashletGroupBy:Order:asc</label>
|
||||
</value>
|
||||
<value id="desc">
|
||||
<label>UI:DashletGroupBy:Order:desc</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
<display-default>desc</display-default>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletBadge" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="class" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletBadge:Prop-Class</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClass">
|
||||
<categories-csv>bizmodel</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
<property_tree id="DashletHeaderDynamic" xsi:type="Combodo-PropertyTree">
|
||||
<extends>Dashlet</extends>
|
||||
<nodes>
|
||||
<node id="title" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeLabel">
|
||||
<not-blank/>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="icon" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Icon</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeChoice">
|
||||
<values>
|
||||
<value id="todo">
|
||||
<label>ToDo</label>
|
||||
</value>
|
||||
</values>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="subtitle" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Subtitle</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeLabel"/>
|
||||
</node>
|
||||
<node id="query" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Query</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeOQL"/>
|
||||
</node>
|
||||
<node id="group_by" xsi:type="Combodo-Property">
|
||||
<label>UI:DashletHeaderDynamic:Prop-GroupBy</label>
|
||||
<data-transform>
|
||||
<xml-node-empty-not-allowed/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<class>{{query.selected_class}}</class>
|
||||
<category>enum</category>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="values" xsi:type="Combodo-CollectionOfValues">
|
||||
<label>UI:DashletHeaderDynamic:Prop-Values</label>
|
||||
<data-transform>
|
||||
<xml-format xsi:type="xml-format-csv"/>
|
||||
</data-transform>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttributeValue">
|
||||
<class>{{query.selected_class}}</class>
|
||||
<attribute>{{group_by.value}}</attribute>
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
</property_tree>
|
||||
</property_trees>
|
||||
</meta>
|
||||
</itop_design>
|
||||
|
||||
@@ -553,6 +553,9 @@ return array(
|
||||
'Combodo\\iTop\\PropertyTree\\AbstractProperty' => $baseDir . '/sources/PropertyTree/AbstractProperty.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionOfTrees' => $baseDir . '/sources/PropertyTree/CollectionOfTrees.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionOfValues' => $baseDir . '/sources/PropertyTree/CollectionOfValues.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionType\\AbstractCollectionType' => $baseDir . '/sources/PropertyTree/CollectionType/AbstractCollectionType.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionType\\CollectionTypeCollection' => $baseDir . '/sources/PropertyTree/CollectionType/CollectionTypeCollection.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionType\\CollectionTypeFactory' => $baseDir . '/sources/PropertyTree/CollectionType/CollectionTypeFactory.php',
|
||||
'Combodo\\iTop\\PropertyTree\\Property' => $baseDir . '/sources/PropertyTree/Property.php',
|
||||
'Combodo\\iTop\\PropertyTree\\PropertyTree' => $baseDir . '/sources/PropertyTree/PropertyTree.php',
|
||||
'Combodo\\iTop\\PropertyTree\\PropertyTreeDesign' => $baseDir . '/sources/PropertyTree/PropertyTreeDesign.php',
|
||||
@@ -560,6 +563,7 @@ return array(
|
||||
'Combodo\\iTop\\PropertyTree\\PropertyTreeFactory' => $baseDir . '/sources/PropertyTree/PropertyTreeFactory.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\AbstractValueType' => $baseDir . '/sources/PropertyTree/ValueType/AbstractValueType.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeAggregateFunction' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeAggregateFunction.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeBoolean' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeBoolean.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeChoice' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeChoice.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeChoiceFromInput' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeChoiceFromInput.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeClass' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeClass.php',
|
||||
@@ -567,11 +571,13 @@ return array(
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeClassAttributeGroupBy' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeClassAttributeGroupBy.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeClassAttributeValue' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeClassAttributeValue.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeFactory' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeFactory.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeIcon' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeIcon.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeInteger' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeInteger.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeLabel' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeLabel.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeOQL' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeOQL.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeProfileName' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeProfileName.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeString' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeString.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeText' => $baseDir . '/sources/PropertyTree/ValueType/ValueTypeText.php',
|
||||
'Combodo\\iTop\\Renderer\\BlockRenderer' => $baseDir . '/sources/Renderer/BlockRenderer.php',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\BsFieldRendererMappings' => $baseDir . '/sources/Renderer/Bootstrap/BsFieldRendererMappings.php',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\BsFormRenderer' => $baseDir . '/sources/Renderer/Bootstrap/BsFormRenderer.php',
|
||||
|
||||
@@ -939,6 +939,9 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\PropertyTree\\AbstractProperty' => __DIR__ . '/../..' . '/sources/PropertyTree/AbstractProperty.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionOfTrees' => __DIR__ . '/../..' . '/sources/PropertyTree/CollectionOfTrees.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionOfValues' => __DIR__ . '/../..' . '/sources/PropertyTree/CollectionOfValues.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionType\\AbstractCollectionType' => __DIR__ . '/../..' . '/sources/PropertyTree/CollectionType/AbstractCollectionType.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionType\\CollectionTypeCollection' => __DIR__ . '/../..' . '/sources/PropertyTree/CollectionType/CollectionTypeCollection.php',
|
||||
'Combodo\\iTop\\PropertyTree\\CollectionType\\CollectionTypeFactory' => __DIR__ . '/../..' . '/sources/PropertyTree/CollectionType/CollectionTypeFactory.php',
|
||||
'Combodo\\iTop\\PropertyTree\\Property' => __DIR__ . '/../..' . '/sources/PropertyTree/Property.php',
|
||||
'Combodo\\iTop\\PropertyTree\\PropertyTree' => __DIR__ . '/../..' . '/sources/PropertyTree/PropertyTree.php',
|
||||
'Combodo\\iTop\\PropertyTree\\PropertyTreeDesign' => __DIR__ . '/../..' . '/sources/PropertyTree/PropertyTreeDesign.php',
|
||||
@@ -946,6 +949,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\PropertyTree\\PropertyTreeFactory' => __DIR__ . '/../..' . '/sources/PropertyTree/PropertyTreeFactory.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\AbstractValueType' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/AbstractValueType.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeAggregateFunction' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeAggregateFunction.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeBoolean' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeBoolean.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeChoice' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeChoice.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeChoiceFromInput' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeChoiceFromInput.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeClass' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeClass.php',
|
||||
@@ -953,11 +957,13 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeClassAttributeGroupBy' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeClassAttributeGroupBy.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeClassAttributeValue' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeClassAttributeValue.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeFactory' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeFactory.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeIcon' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeIcon.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeInteger' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeInteger.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeLabel' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeLabel.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeOQL' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeOQL.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeProfileName' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeProfileName.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeString' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeString.php',
|
||||
'Combodo\\iTop\\PropertyTree\\ValueType\\ValueTypeText' => __DIR__ . '/../..' . '/sources/PropertyTree/ValueType/ValueTypeText.php',
|
||||
'Combodo\\iTop\\Renderer\\BlockRenderer' => __DIR__ . '/../..' . '/sources/Renderer/BlockRenderer.php',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\BsFieldRendererMappings' => __DIR__ . '/../..' . '/sources/Renderer/Bootstrap/BsFieldRendererMappings.php',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\BsFormRenderer' => __DIR__ . '/../..' . '/sources/Renderer/Bootstrap/BsFormRenderer.php',
|
||||
|
||||
@@ -11,6 +11,8 @@ use Combodo\iTop\Forms\Block\AbstractFormBlock;
|
||||
use Combodo\iTop\Forms\Block\AbstractTypeFormBlock;
|
||||
use Combodo\iTop\Forms\FormType\Base\CollectionFormType;
|
||||
use Combodo\iTop\Forms\IO\Format\ClassIOFormat;
|
||||
use Combodo\iTop\Forms\IO\Format\IntegerIOFormat;
|
||||
use Combodo\iTop\Forms\IO\Format\NumberIOFormat;
|
||||
use Combodo\iTop\Forms\Register\IORegister;
|
||||
use Combodo\iTop\Forms\Register\OptionsRegister;
|
||||
use Combodo\iTop\Forms\Register\RegisterException;
|
||||
@@ -23,10 +25,8 @@ use Combodo\iTop\Forms\Register\RegisterException;
|
||||
*/
|
||||
class CollectionBlock extends AbstractTypeFormBlock
|
||||
{
|
||||
// Inputs
|
||||
public const INPUT_CLASS_NAME = 'class';
|
||||
|
||||
private AbstractTypeFormBlock $oPrototypeBlock;
|
||||
public const OUTPUT_COUNT = 'count';
|
||||
|
||||
/** @inheritdoc */
|
||||
public function GetFormType(): string
|
||||
@@ -53,7 +53,7 @@ class CollectionBlock extends AbstractTypeFormBlock
|
||||
protected function RegisterIO(IORegister $oIORegister): void
|
||||
{
|
||||
parent::RegisterIO($oIORegister);
|
||||
$oIORegister->AddInput(self::INPUT_CLASS_NAME, ClassIOFormat::class);
|
||||
$oIORegister->AddOutput(self::OUTPUT_COUNT, IntegerIOFormat::class);
|
||||
}
|
||||
|
||||
/** @inheritdoc */
|
||||
|
||||
@@ -104,7 +104,7 @@ class AttributeChoiceFormBlock extends ChoiceFormBlock
|
||||
}
|
||||
break;
|
||||
|
||||
case 'group_by':
|
||||
case 'groupable':
|
||||
$aForbiddenAttType = [
|
||||
'AttributeLinkedSet',
|
||||
'AttributeFriendlyName',
|
||||
|
||||
@@ -9,7 +9,6 @@ namespace Combodo\iTop\PropertyTree;
|
||||
|
||||
use Combodo\iTop\DesignElement;
|
||||
use Combodo\iTop\PropertyTree\ValueType\AbstractValueType;
|
||||
use utils;
|
||||
|
||||
/**
|
||||
* @since 3.3.0
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2025 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\PropertyTree\CollectionType;
|
||||
|
||||
use Combodo\iTop\DesignElement;
|
||||
use utils;
|
||||
|
||||
abstract class AbstractCollectionType
|
||||
{
|
||||
abstract public function GetFormBlockClass(): string;
|
||||
|
||||
public function InitFromDomNode(DesignElement $oDomNode): void
|
||||
{
|
||||
$sBlockNodeClass = $this->GetFormBlockClass();
|
||||
$oBlockNode = new $sBlockNodeClass('foo');
|
||||
foreach ($oBlockNode->GetInputs() as $oInput) {
|
||||
$sInputName = $oInput->GetName();
|
||||
$this->aInputs[$sInputName] = $oInput;
|
||||
$sInputValue = $oDomNode->GetChildText($sInputName);
|
||||
if (utils::IsNotNullOrEmptyString($sInputValue)) {
|
||||
$this->aInputValues[$sInputName] = $sInputValue;
|
||||
}
|
||||
}
|
||||
foreach ($oBlockNode->GetOutputs() as $oOutput) {
|
||||
$this->aOutputs[] = $oOutput->GetName();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2025 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\PropertyTree\CollectionType;
|
||||
|
||||
use Combodo\iTop\Forms\Block\Base\CollectionBlock;
|
||||
|
||||
class CollectionTypeCollection extends AbstractCollectionType
|
||||
{
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return CollectionBlock::class;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2025 Combodo SAS
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\PropertyTree\CollectionType;
|
||||
|
||||
use Combodo\iTop\DesignElement;
|
||||
use Combodo\iTop\PropertyTree\PropertyTreeException;
|
||||
|
||||
class CollectionTypeFactory
|
||||
{
|
||||
private static CollectionTypeFactory $oInstance;
|
||||
|
||||
protected function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
final public static function GetInstance(): CollectionTypeFactory
|
||||
{
|
||||
if (!isset(static::$oInstance)) {
|
||||
static::$oInstance = new CollectionTypeFactory();
|
||||
}
|
||||
|
||||
return static::$oInstance;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \Combodo\iTop\DesignElement $oDomNode
|
||||
*
|
||||
* @return \Combodo\iTop\PropertyTree\CollectionType\AbstractCollectionType
|
||||
* @throws \Combodo\iTop\PropertyTree\PropertyTreeException
|
||||
*/
|
||||
public function CreateCollectionTypeFromDomNode(DesignElement $oDomNode): AbstractCollectionType
|
||||
{
|
||||
$sNodeType = $oDomNode->getAttribute('xsi:type');
|
||||
|
||||
if (is_a($sNodeType, AbstractCollectionType::class, true)) {
|
||||
$oNode = new $sNodeType();
|
||||
$oNode->InitFromDomNode($oDomNode);
|
||||
|
||||
return $oNode;
|
||||
}
|
||||
|
||||
throw new PropertyTreeException('Unknown collection-type node class: '.json_encode($sNodeType));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,7 @@ namespace Combodo\iTop\PropertyTree;
|
||||
|
||||
use Combodo\iTop\DesignDocument;
|
||||
use Exception;
|
||||
use ReturnTypeWillChange;
|
||||
use utils;
|
||||
|
||||
class PropertyTreeDesign extends DesignDocument
|
||||
@@ -70,7 +71,7 @@ class PropertyTreeDesign extends DesignDocument
|
||||
* @return int
|
||||
*/
|
||||
// Return type union is not supported by PHP 7.4, we can remove the following PHP attribute and add the return type once iTop min PHP version is PHP 8.0+
|
||||
#[\ReturnTypeWillChange]
|
||||
#[ReturnTypeWillChange]
|
||||
public function save($filename, $options = null)
|
||||
{
|
||||
$this->documentElement->setAttribute('xsi:noNamespaceSchemaLocation', 'https://www.combodo.com/itop-schema/'.ITOP_DESIGN_LATEST_VERSION);
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
namespace Combodo\iTop\PropertyTree;
|
||||
|
||||
class PropertyTreeException extends \Exception
|
||||
use Exception;
|
||||
|
||||
class PropertyTreeException extends Exception
|
||||
{
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ namespace Combodo\iTop\PropertyTree;
|
||||
|
||||
use Combodo\iTop\DesignDocument;
|
||||
use Combodo\iTop\DesignElement;
|
||||
use utils;
|
||||
|
||||
class PropertyTreeFactory
|
||||
{
|
||||
|
||||
19
sources/PropertyTree/ValueType/ValueTypeBoolean.php
Normal file
19
sources/PropertyTree/ValueType/ValueTypeBoolean.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\CheckboxFormBlock;
|
||||
use Combodo\iTop\PropertyTree\ValueType\AbstractValueType;
|
||||
|
||||
class ValueTypeBoolean extends AbstractValueType
|
||||
{
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return CheckboxFormBlock::class;
|
||||
}
|
||||
}
|
||||
18
sources/PropertyTree/ValueType/ValueTypeIcon.php
Normal file
18
sources/PropertyTree/ValueType/ValueTypeIcon.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?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\ChoiceFormBlock;
|
||||
|
||||
class ValueTypeIcon extends AbstractValueType
|
||||
{
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return ChoiceFormBlock::class;
|
||||
}
|
||||
}
|
||||
18
sources/PropertyTree/ValueType/ValueTypeText.php
Normal file
18
sources/PropertyTree/ValueType/ValueTypeText.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<?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\TextAreaFormBlock;
|
||||
|
||||
class ValueTypeText extends AbstractValueType
|
||||
{
|
||||
public function GetFormBlockClass(): string
|
||||
{
|
||||
return TextAreaFormBlock::class;
|
||||
}
|
||||
}
|
||||
@@ -102,14 +102,19 @@ class_alias(\Combodo\iTop\PropertyTree\Property::class, 'Combodo-Property');
|
||||
class_alias(\Combodo\iTop\PropertyTree\CollectionOfValues::class, 'Combodo-CollectionOfValues');
|
||||
class_alias(\Combodo\iTop\PropertyTree\CollectionOfTrees::class, 'Combodo-CollectionOfTrees');
|
||||
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeAggregateFunction::class, 'Combodo-ValueTypeAggregateFunction');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeChoice::class, 'Combodo-ValueTypeChoice');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeChoiceFromInput::class, 'Combodo-ValueTypeChoiceFromInput');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClass::class, 'Combodo-ValueTypeClass');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClassAttribute::class, 'Combodo-ValueTypeClassAttribute');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClassAttributeGroupBy::class, 'Combodo-ValueTypeClassAttributeGroupBy');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClassAttributeValue::class, 'Combodo-ValueTypeClassAttributeValue');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeInteger::class, 'Combodo-ValueTypeInteger');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeLabel::class, 'Combodo-ValueTypeLabel');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeOQL::class, 'Combodo-ValueTypeOQL');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeString::class, 'Combodo-ValueTypeString');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeAggregateFunction::class, 'Combodo-ValueType-AggregateFunction');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeBoolean::class, 'Combodo-ValueType-Boolean');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeChoice::class, 'Combodo-ValueType-Choice');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeChoiceFromInput::class, 'Combodo-ValueType-ChoiceFromInput');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClass::class, 'Combodo-ValueType-Class');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClassAttribute::class, 'Combodo-ValueType-ClassAttribute');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClassAttributeGroupBy::class, 'Combodo-ValueType-ClassAttributeGroupBy');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeClassAttributeValue::class, 'Combodo-ValueType-ClassAttributeValue');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeIcon::class, 'Combodo-ValueType-Icon');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeInteger::class, 'Combodo-ValueType-Integer');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeLabel::class, 'Combodo-ValueType-Label');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeOQL::class, 'Combodo-ValueType-OQL');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeString::class, 'Combodo-ValueType-String');
|
||||
class_alias(\Combodo\iTop\PropertyTree\ValueType\ValueTypeText::class, 'Combodo-ValueType-Text');
|
||||
|
||||
class_alias(\Combodo\iTop\PropertyTree\CollectionType\CollectionTypeCollection::class, 'Combodo-CollectionType-Collection');
|
||||
|
||||
@@ -43,12 +43,12 @@ class FormsCompilerTest extends ItopDataTestCase
|
||||
<nodes>
|
||||
<node id="title_property" xsi:type="Combodo-Property">
|
||||
<label>UI:BasicTest:Prop-Title</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeLabel">
|
||||
<value-type xsi:type="Combodo-ValueType-Label">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="class_property" xsi:type="Combodo-Property">
|
||||
<label>UI:BasicTest:Prop-Class</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClass">
|
||||
<value-type xsi:type="Combodo-ValueType-Class">
|
||||
<categories-csv>test</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
@@ -115,12 +115,12 @@ PHP,
|
||||
<nodes>
|
||||
<node id="aggregate_function_property" xsi:type="Combodo-Property">
|
||||
<label>UI:AggregateFunction</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeAggregateFunction">
|
||||
<value-type xsi:type="Combodo-ValueType-AggregateFunction">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="choice_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Choice</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeChoice">
|
||||
<value-type xsi:type="Combodo-ValueType-Choice">
|
||||
<values>
|
||||
<value id="value_a">
|
||||
<label>Label A</label>
|
||||
@@ -133,48 +133,48 @@ PHP,
|
||||
</node>
|
||||
<node id="class_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Class</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClass">
|
||||
<value-type xsi:type="Combodo-ValueType-Class">
|
||||
<categories-csv>test</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="class_attribute_property" xsi:type="Combodo-Property">
|
||||
<label>UI:ClassAttribute</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="class_attribute_group_by_property" xsi:type="Combodo-Property">
|
||||
<label>UI:ClassAttributeGroupBy</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttributeGroupBy">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttributeGroupBy">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="class_attribute_value_property" xsi:type="Combodo-Property">
|
||||
<label>UI:ClassAttributeValue</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttributeValue">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttributeValue">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="integer_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Integer</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeInteger">
|
||||
<value-type xsi:type="Combodo-ValueType-Integer">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="label_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Label</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeLabel">
|
||||
<value-type xsi:type="Combodo-ValueType-Label">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="oql_property" xsi:type="Combodo-Property">
|
||||
<label>UI:OQL</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeOQL">
|
||||
<value-type xsi:type="Combodo-ValueType-OQL">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="string_property" xsi:type="Combodo-Property">
|
||||
<label>UI:String</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="choice_from_input" xsi:type="Combodo-Property">
|
||||
<label>UI:ChoiceFromInput</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeChoiceFromInput">
|
||||
<value-type xsi:type="Combodo-ValueType-ChoiceFromInput">
|
||||
<values>
|
||||
<value id="value_a">
|
||||
<label>{{class_attribute_property.label}}</label>
|
||||
@@ -257,15 +257,16 @@ PHP,
|
||||
<node id="sub_tree_collection" xsi:type="Combodo-CollectionOfTrees">
|
||||
<label>UI:SubTree</label>
|
||||
<button-label>UI:AddSubTree</button-label>
|
||||
<collection-type xsi:type="Combodo-CollectionType-Collection"/>
|
||||
<prototype>
|
||||
<node id="string_property" xsi:type="Combodo-Property">
|
||||
<label>UI:String</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="integer_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Integer</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeInteger">
|
||||
<value-type xsi:type="Combodo-ValueType-Integer">
|
||||
</value-type>
|
||||
</node>
|
||||
</prototype>
|
||||
@@ -309,7 +310,7 @@ PHP,
|
||||
<nodes>
|
||||
<node id="class_attribute_property" xsi:type="Combodo-Property">
|
||||
<label>UI:ClassAttribute</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<class>Contact</class>
|
||||
<invalid-input>Test</invalid-input>
|
||||
</value-type>
|
||||
@@ -338,7 +339,7 @@ PHP,
|
||||
<nodes>
|
||||
<node id="class_attribute_property" xsi:type="Combodo-Property">
|
||||
<label>'Class' and "Attribute"</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<class>{{CONCAT("'", '"')}}</class>
|
||||
<category>'Class' and "Attribute"</category>
|
||||
<invalid-input>Test</invalid-input>
|
||||
@@ -373,13 +374,13 @@ PHP,
|
||||
<nodes>
|
||||
<node id="class_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Class</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClass">
|
||||
<value-type xsi:type="Combodo-ValueType-Class">
|
||||
<categories-csv>test</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="class_attribute_property" xsi:type="Combodo-Property">
|
||||
<label>UI:ClassAttribute</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<class>{{class_property.text}}</class>
|
||||
</value-type>
|
||||
</node>
|
||||
@@ -413,13 +414,13 @@ PHP,
|
||||
<nodes>
|
||||
<node id="class_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Class</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClass">
|
||||
<value-type xsi:type="Combodo-ValueType-Class">
|
||||
<categories-csv>test</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="class_attribute_property" xsi:type="Combodo-Property">
|
||||
<label>UI:ClassAttribute</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClassAttribute">
|
||||
<value-type xsi:type="Combodo-ValueType-ClassAttribute">
|
||||
<class>{{IF(class_property.value = '', 'Person', class_property.value)}}</class>
|
||||
</value-type>
|
||||
</node>
|
||||
@@ -458,13 +459,13 @@ PHP,
|
||||
<nodes>
|
||||
<node id="source_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Source</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="dependant_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Dependant</label>
|
||||
<relevance-condition>{{source_property.text != 'count'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
@@ -500,18 +501,18 @@ PHP,
|
||||
<nodes>
|
||||
<node id="source_a_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Source</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="source_b_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Source</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="dependant_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Dependant</label>
|
||||
<relevance-condition>{{IF(source_a_property.text != '', source_a_property.text, source_b_property.text)}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
@@ -551,7 +552,7 @@ PHP,
|
||||
<nodes>
|
||||
<node id="class_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Class</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeClass">
|
||||
<value-type xsi:type="Combodo-ValueType-Class">
|
||||
<categories-csv>addon/authentication,grant_by_profile,silo</categories-csv>
|
||||
</value-type>
|
||||
</node>
|
||||
@@ -569,9 +570,9 @@ class FormFor__ClassCategory extends Combodo\iTop\Forms\Block\Base\FormBlock
|
||||
\Dict::S('Class:UserExternal') => 'UserExternal',
|
||||
\Dict::S('Class:UserLDAP') => 'UserLDAP',
|
||||
\Dict::S('Class:UserLocal') => 'UserLocal',
|
||||
\Dict::S('Class:AuditRule') => 'AuditRule',
|
||||
\Dict::S('Class:AuditCategory') => 'AuditCategory',
|
||||
\Dict::S('Class:AuditDomain') => 'AuditDomain',
|
||||
\Dict::S('Class:AuditRule') => 'AuditRule',
|
||||
\Dict::S('Class:QueryOQL') => 'QueryOQL',
|
||||
\Dict::S('Class:ActionEmail') => 'ActionEmail',
|
||||
\Dict::S('Class:TriggerOnPortalUpdate') => 'TriggerOnPortalUpdate',
|
||||
@@ -651,7 +652,7 @@ PHP,
|
||||
<node id="dependant_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Dependant</label>
|
||||
<relevance-condition>{{source_property.text == 'count'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
@@ -669,7 +670,7 @@ XML,
|
||||
<node id="dependant_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Dependant</label>
|
||||
<relevance-condition>{{source_property.text = 'count'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
@@ -686,13 +687,13 @@ XML,
|
||||
<nodes>
|
||||
<node id="source_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Source</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="dependant_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Dependant</label>
|
||||
<relevance-condition>{{source_property.text_output != 'count'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
@@ -709,13 +710,13 @@ XML,
|
||||
<nodes>
|
||||
<node id="source_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Source</label>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
<node id="dependant_property" xsi:type="Combodo-Property">
|
||||
<label>UI:Dependant</label>
|
||||
<relevance-condition>{{source_property != 'count'}}</relevance-condition>
|
||||
<value-type xsi:type="Combodo-ValueTypeString">
|
||||
<value-type xsi:type="Combodo-ValueType-String">
|
||||
</value-type>
|
||||
</node>
|
||||
</nodes>
|
||||
|
||||
Reference in New Issue
Block a user