Move dashboard blocks to itop project and keep demonstrator one

This commit is contained in:
Benjamin DALSASS
2026-01-13 11:24:56 +01:00
parent 7ca2c56dad
commit cd6d130bcb
6 changed files with 206 additions and 77 deletions

View File

@@ -0,0 +1,48 @@
<?php
namespace Combodo\iTop\Application\Dashboard\FormBlock;
use Combodo\iTop\Forms\Block\Base\ChoiceFormBlock;
use Combodo\iTop\Forms\Block\Base\FormBlock;
use Combodo\iTop\Forms\Block\Base\IntegerFormBlock;
use Combodo\iTop\PropertyType\PropertyTypeService;
class DashletFormBlock extends FormBlock
{
protected function BuildForm(): void
{
// type
$aPropertyTypes = PropertyTypeService::GetInstance()->ListPropertyTypesByType('Dashlet');
$this->Add('class', ChoiceFormBlock::class, [
'label' => 'Class',
'choices' => array_combine($aPropertyTypes, $aPropertyTypes),
]);
// column
$this->Add('position_x', IntegerFormBlock::class, [
'label' => 'Position X',
]);
// row
$this->Add('position_y', IntegerFormBlock::class, [
'label' => 'Position Y',
]);
// column
$this->Add('height', IntegerFormBlock::class, [
'label' => 'Height',
]);
// row
$this->Add('width', IntegerFormBlock::class, [
'label' => 'Width',
]);
// dashlet
$this->Add('dashlet', DashletPropertiesFormBlock::class, [
'label' => 'Dashlet',
])
->InputDependsOn(DashletPropertiesFormBlock::INPUT_DASHLET_TYPE, 'class', ChoiceFormBlock::OUTPUT_VALUE);
}
}