N°8772 - Form dependencies manager implementation

- Form SDK implementation
- Basic Forms
- Dynamics Forms
- Basic Blocks + Data Model Block
- Form Compilation
- Turbo integration
This commit is contained in:
Benjamin Dalsass
2025-12-30 11:42:55 +01:00
committed by GitHub
parent 3955b4eb22
commit 4c1ad0f4f2
813 changed files with 115243 additions and 489 deletions

View File

@@ -23,6 +23,7 @@ use Combodo\iTop\Application\WebPage\iTopWebPage;
use Combodo\iTop\Application\WebPage\Page;
use Combodo\iTop\DesignElement;
use Combodo\iTop\DesignDocument;
use Combodo\iTop\PropertyTree\PropertyTreeDesign;
require_once(APPROOT.'setup/setuputils.class.inc.php');
require_once(APPROOT.'setup/modelfactory.class.inc.php');
@@ -699,6 +700,10 @@ PHP;
$oModuleDesignsNode = $this->oFactory->GetNodes('/itop_design/module_designs')->item(0);
$this->CompileModuleDesigns($oModuleDesignsNode, $sTempTargetDir, $sFinalTargetDir);
// Create property trees XML files
$oPropertyTreesNode = $this->oFactory->GetNodes('/itop_design/meta/property_trees')->item(0);
$this->CompilePropertyTrees($oPropertyTreesNode, $sTempTargetDir, $sFinalTargetDir);
// Compile the XML parameters
/** @var \MFElement $oParametersNode */
$oParametersNode = $this->oFactory->GetNodes('/itop_design/module_parameters')->item(0);
@@ -3572,6 +3577,21 @@ EOF;
}
}
protected function CompilePropertyTrees(?DOMNode $oPropertyTrees, string $sTempTargetDir, string $sFinalTargetDir): void
{
if ($oPropertyTrees) {
foreach ($oPropertyTrees->GetNodes('property_tree') as $oPropertyTree) {
$oDoc = new PropertyTreeDesign();
$oClone = $oDoc->importNode($oPropertyTree->cloneNode(true), true);
$oDoc->appendChild($oClone);
/** @var DesignElement $oPropertyTree */
$sExtends = $oPropertyTree->GetChildText('extends', 'Default');
SetupUtils::builddir($sTempTargetDir.'/core/property_trees/'.$sExtends);
$oDoc->save($sTempTargetDir.'/core/property_trees/'.$sExtends.'/'.$oPropertyTree->getAttribute('id').'.xml');
}
}
}
/**
* @throws \DOMFormatException
*/