archivesspace-8.x-1.x-dev/src/Plugin/Field/FieldWidget/ArchivalPhysicalInstanceWidget.php
src/Plugin/Field/FieldWidget/ArchivalPhysicalInstanceWidget.php
<?php
namespace Drupal\archivesspace\Plugin\Field\FieldWidget;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\Plugin\Field\FieldWidget\EntityReferenceAutocompleteWidget;
use Drupal\Core\Form\FormStateInterface;
/**
* Plugin implementation of the archival physical instance widget.
*
* @FieldWidget(
* id = "archival_physical_instance_default",
* label = @Translation("Archival Physical Instance Widget"),
* field_types = {
* "archival_physical_instance"
* }
* )
*/
class ArchivalPhysicalInstanceWidget extends EntityReferenceAutocompleteWidget {
/**
* {@inheritdoc}
*/
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
\Drupal::logger('archivesspace')->notice('APIW::formElement parent class: ' . get_parent_class());
$widget = parent::formElement($items, $delta, $element, $form, $form_state);
$item =& $items[$delta];
$widget['subcontainer_indicator'] = [
'#title' => $this->t('Sub-container Indicator'),
'#type' => 'textfield',
'#weight' => 1,
'#default_value' => $item->subcontainer_indicator ?? '',
];
// @todo figure out how to override the entity autocomplete visually hidden label.
$widget['target_id']['#title'] = $this->t('Top Container');
return $widget;
}
}
