protected function WebformDevelSchema::getDefinition in Webform 6.x
Get webform element schema.
Parameters
\Drupal\Core\Field\BaseFieldDefinition $definition: A webform submission base field definition.
Return value
array An array containing the schema for a webform submission base field definition.
1 call to WebformDevelSchema::getDefinition()
- WebformDevelSchema::getElements in modules/
webform_devel/ src/ WebformDevelSchema.php - Get a webform's scheme elements.
File
- modules/
webform_devel/ src/ WebformDevelSchema.php, line 130
Class
- WebformDevelSchema
- Provides a webform schema generator.
Namespace
Drupal\webform_develCode
protected function getDefinition(BaseFieldDefinition $definition) {
$data = [];
// Name.
$data['name'] = $definition
->getName();
// Title.
$data['title'] = $definition
->getName();
// Element type.
$data['type'] = $definition
->getType();
// Datatype.
$datatype = '';
switch ($definition
->getType()) {
case 'created':
case 'changed':
case 'completed':
case 'timestamp':
$datatype = 'Timestamp';
break;
case 'language':
case 'string':
case 'uuid':
case 'entity_reference':
$datatype = 'Text';
break;
case 'string_long':
$datatype = 'Blob';
break;
case 'integer':
$datatype = 'Number';
break;
case 'boolean':
$datatype = 'Boolean';
break;
}
$data['datatype'] = $datatype;
// Maxlength.
$maxlength = $definition
->getSetting('max_length');
switch ($datatype) {
case 'Blob':
$maxlength = 'Unlimited';
}
$data['maxlength'] = $maxlength;
// Required.
$data['required'] = '';
// Multiple.
$data['multiple'] = $definition
->getCardinality();
// Options.
$data['options'] = [];
return $data;
}