NAME
Kernel::System::SysConfig::ValueType::Select – System configuration select value type backed.
PUBLIC INTERFACE
new()
Create an object. Do not use it directly, instead use:
use Kernel::System::ObjectManager;
local $Kernel::OM = Kernel::System::ObjectManager->new();
my $ValueTypeObject = $Kernel::OM->Get('Kernel::System::SysConfig::ValueType::Select');
SettingEffectiveValueCheck()
Check if provided EffectiveValue matches structure defined in XMLContentParsed.
my %Result = $ValueTypeObject->SettingEffectiveValueCheck(
XMLContentParsed => {
Value => [
{
'Item' => [
{
'Item' => [
{
'Content' => 'Option 1',
'Value' => 'option-1',
'ValueType' => 'Option',
},
{
'Content' => 'Option 2',
'Value' => 'option-2',
'ValueType' => 'Option',
},
],
'SelectedID' => 'option-1',
'ValueType' => 'Select',
},
],
},
],
},
EffectiveValue => 'option-1',
);
Result: %Result = ( EffectiveValue => 'option-1', # Note for Select ValueTypes EffectiveValue is not changed. Success => 1, Error => undef, );
SettingRender()
Extracts the effective value from a XML parsed setting.
my $SettingHTML = $ValueTypeObject->SettingRender(
Name => 'SettingName',
DefaultID => 123, # (required)
EffectiveValue => '3 medium',
DefaultValue => '3 medium', # (optional)
Class => 'My class' # (optional)
RW => 1, # (optional) Allow editing. Default 0.
Item => [ # (optional) XML parsed item
{
'ValueType' => 'Select',
...
},
],
IsArray => 1, # (optional) Item is part of the array
IsHash => 1, # (optional) Item is part of the hash
Key => 'Key', # (optional) Hash key (if available)
SkipEffectiveValueCheck => 1, # (optional) If enabled, system will not perform effective value check.
# Default: 1.
);
Returns:
$SettingHTML = '<div class "Field"...</div>';
AddItem()
Generate HTML for new array/hash item.
my $HTML = $ValueTypeObject->AddItem(
Name => 'SettingName', (required) Name
DefaultItem => { (required) DefaultItem hash
'ValueType' => 'Select',
'Content' => 'optiont-1',
},
IDSuffix => '_Array1', (optional) IDSuffix is needed for arrays and hashes.
);
Returns:
$HTML = '<select class="Modernize" id="SettingName" name="SettingName" title="SettingName">
...
</select>';
ValueAttributeGet()
Returns attribute name in the parsed XML that contains Value.
my $Result = $ValueTypeObject->ValueAttributeGet();
Result:
$Result = 'SelectedID';
ForbiddenValueTypes()
Return array of value types that are not allowed inside this value type.
my @ForbiddenValueTypes = $ValueTypeObject->ForbiddenValueTypes();
Returns:
@ForbiddenValueTypes = (
'Option',
...
);