mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 07:24:13 +01:00
N°6041 - Introduce dynamic register of fields and renderers in Bootstrap form renderers
This commit is contained in:
@@ -418,6 +418,7 @@ return array(
|
||||
'Combodo\\iTop\\Form\\Validator\\NotEmptyExtKeyValidator' => $baseDir . '/sources/Form/Validator/NotEmptyExtKeyValidator.php',
|
||||
'Combodo\\iTop\\Form\\Validator\\Validator' => $baseDir . '/sources/Form/Validator/Validator.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',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\FieldRenderer\\BsFieldRenderer' => $baseDir . '/sources/Renderer/Bootstrap/FieldRenderer/BsFieldRenderer.php',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\FieldRenderer\\BsFileUploadFieldRenderer' => $baseDir . '/sources/Renderer/Bootstrap/FieldRenderer/BsFileUploadFieldRenderer.php',
|
||||
@@ -2926,6 +2927,7 @@ return array(
|
||||
'iDBObjectSetIterator' => $baseDir . '/core/dbobjectiterator.php',
|
||||
'iDBObjectURLMaker' => $baseDir . '/application/applicationcontext.class.inc.php',
|
||||
'iDisplay' => $baseDir . '/core/dbobject.class.php',
|
||||
'iFieldRendererMappingsExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||
'iKeyboardShortcut' => $baseDir . '/sources/Application/UI/Hook/iKeyboardShortcut.php',
|
||||
'iLogFileNameBuilder' => $baseDir . '/core/log.class.inc.php',
|
||||
'iLoginExtension' => $baseDir . '/application/applicationextension.inc.php',
|
||||
|
||||
@@ -783,6 +783,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'Combodo\\iTop\\Form\\Validator\\NotEmptyExtKeyValidator' => __DIR__ . '/../..' . '/sources/Form/Validator/NotEmptyExtKeyValidator.php',
|
||||
'Combodo\\iTop\\Form\\Validator\\Validator' => __DIR__ . '/../..' . '/sources/Form/Validator/Validator.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',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\FieldRenderer\\BsFieldRenderer' => __DIR__ . '/../..' . '/sources/Renderer/Bootstrap/FieldRenderer/BsFieldRenderer.php',
|
||||
'Combodo\\iTop\\Renderer\\Bootstrap\\FieldRenderer\\BsFileUploadFieldRenderer' => __DIR__ . '/../..' . '/sources/Renderer/Bootstrap/FieldRenderer/BsFileUploadFieldRenderer.php',
|
||||
@@ -3291,6 +3292,7 @@ class ComposerStaticInit7f81b4a2a468a061c306af5e447a9a9f
|
||||
'iDBObjectSetIterator' => __DIR__ . '/../..' . '/core/dbobjectiterator.php',
|
||||
'iDBObjectURLMaker' => __DIR__ . '/../..' . '/application/applicationcontext.class.inc.php',
|
||||
'iDisplay' => __DIR__ . '/../..' . '/core/dbobject.class.php',
|
||||
'iFieldRendererMappingsExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||
'iKeyboardShortcut' => __DIR__ . '/../..' . '/sources/Application/UI/Hook/iKeyboardShortcut.php',
|
||||
'iLogFileNameBuilder' => __DIR__ . '/../..' . '/core/log.class.inc.php',
|
||||
'iLoginExtension' => __DIR__ . '/../..' . '/application/applicationextension.inc.php',
|
||||
|
||||
173
sources/Renderer/Bootstrap/BsFieldRendererMappings.php
Normal file
173
sources/Renderer/Bootstrap/BsFieldRendererMappings.php
Normal file
@@ -0,0 +1,173 @@
|
||||
<?php
|
||||
/*
|
||||
* @copyright Copyright (C) 2010-2023 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/
|
||||
|
||||
namespace Combodo\iTop\Renderer\Bootstrap;
|
||||
|
||||
use Combodo\iTop\Form\Field\BlobField;
|
||||
use Combodo\iTop\Form\Field\CaseLogField;
|
||||
use Combodo\iTop\Form\Field\CheckboxField;
|
||||
use Combodo\iTop\Form\Field\DateTimeField;
|
||||
use Combodo\iTop\Form\Field\DurationField;
|
||||
use Combodo\iTop\Form\Field\EmailField;
|
||||
use Combodo\iTop\Form\Field\FileUploadField;
|
||||
use Combodo\iTop\Form\Field\HiddenField;
|
||||
use Combodo\iTop\Form\Field\ImageField;
|
||||
use Combodo\iTop\Form\Field\LabelField;
|
||||
use Combodo\iTop\Form\Field\LinkedSetField;
|
||||
use Combodo\iTop\Form\Field\MultipleSelectField;
|
||||
use Combodo\iTop\Form\Field\PasswordField;
|
||||
use Combodo\iTop\Form\Field\PhoneField;
|
||||
use Combodo\iTop\Form\Field\RadioField;
|
||||
use Combodo\iTop\Form\Field\SelectField;
|
||||
use Combodo\iTop\Form\Field\SelectObjectField;
|
||||
use Combodo\iTop\Form\Field\SetField;
|
||||
use Combodo\iTop\Form\Field\StringField;
|
||||
use Combodo\iTop\Form\Field\SubFormField;
|
||||
use Combodo\iTop\Form\Field\TagSetField;
|
||||
use Combodo\iTop\Form\Field\TextAreaField;
|
||||
use Combodo\iTop\Form\Field\UrlField;
|
||||
use Combodo\iTop\Renderer\Bootstrap\FieldRenderer\BsFileUploadFieldRenderer;
|
||||
use Combodo\iTop\Renderer\Bootstrap\FieldRenderer\BsLinkedSetFieldRenderer;
|
||||
use Combodo\iTop\Renderer\Bootstrap\FieldRenderer\BsSelectObjectFieldRenderer;
|
||||
use Combodo\iTop\Renderer\Bootstrap\FieldRenderer\BsSetFieldRenderer;
|
||||
use Combodo\iTop\Renderer\Bootstrap\FieldRenderer\BsSimpleFieldRenderer;
|
||||
use Combodo\iTop\Renderer\Bootstrap\FieldRenderer\BsSubFormFieldRenderer;
|
||||
use iFieldRendererMappingsExtension;
|
||||
|
||||
/**
|
||||
* Class BsFieldRendererMappings
|
||||
*
|
||||
* @author Guillaume Lajarige <guillaume.lajarige@combodo.com>
|
||||
* @package Combodo\iTop\Renderer\Bootstrap
|
||||
* @since 3.1.0 N°6041
|
||||
*/
|
||||
class BsFieldRendererMappings implements iFieldRendererMappingsExtension
|
||||
{
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public static function RegisterSupportedFields(): array
|
||||
{
|
||||
return [
|
||||
[
|
||||
HiddenField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
LabelField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
PasswordField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
StringField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
UrlField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
EmailField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
PhoneField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
TextAreaField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
CaseLogField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
SelectField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
MultipleSelectField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
RadioField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
CheckboxField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
SubFormField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSubFormFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
SelectObjectField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSelectObjectFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
LinkedSetField::class,
|
||||
BsFormRenderer::class,
|
||||
BsLinkedSetFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
SetField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSetFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
TagSetField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSetFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
DateTimeField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
DurationField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
FileUploadField::class,
|
||||
BsFormRenderer::class,
|
||||
BsFileUploadFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
BlobField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
[
|
||||
ImageField::class,
|
||||
BsFormRenderer::class,
|
||||
BsSimpleFieldRenderer::class,
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -30,38 +30,4 @@ use Combodo\iTop\Form\Form;
|
||||
class BsFormRenderer extends FormRenderer
|
||||
{
|
||||
const DEFAULT_RENDERER_NAMESPACE = 'Combodo\\iTop\\Renderer\\Bootstrap\\FieldRenderer\\';
|
||||
|
||||
/**
|
||||
* Default constructor
|
||||
*
|
||||
* @param \Combodo\iTop\Form\Form $oForm
|
||||
*/
|
||||
public function __construct(Form $oForm = null)
|
||||
{
|
||||
parent::__construct($oForm);
|
||||
$this->AddSupportedField('HiddenField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('LabelField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('PasswordField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('StringField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('UrlField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('EmailField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('PhoneField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('TextAreaField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('CaseLogField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('SelectField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('MultipleSelectField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('RadioField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('CheckboxField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('SubFormField', 'BsSubFormFieldRenderer');
|
||||
$this->AddSupportedField('SelectObjectField', 'BsSelectObjectFieldRenderer');
|
||||
$this->AddSupportedField('LinkedSetField', 'BsLinkedSetFieldRenderer');
|
||||
$this->AddSupportedField('SetField', 'BsSetFieldRenderer');
|
||||
$this->AddSupportedField('TagSetField', 'BsSetFieldRenderer');
|
||||
$this->AddSupportedField('DateTimeField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('DurationField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('FileUploadField', 'BsFileUploadFieldRenderer');
|
||||
$this->AddSupportedField('BlobField', 'BsSimpleFieldRenderer');
|
||||
$this->AddSupportedField('ImageField', 'BsSimpleFieldRenderer');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user