You are here

public function FormModeManager::filterInactiveDisplay in Form mode manager 8.2

Filter form mode collection depending activation in bundle.

The getStorage() onto 'entity_form_display' can't be played , in specific cases eg: entityTypeAlter because that cause an, endless loop caused by Annotation::reset during instantiation of plugin.

Parameters

array $form_mode: A form mode collection to be filtered.

string $entity_type_id: The entity type ID of entity.

Return value

array The collection filtered without usage of storage.

Overrides FormModeManagerInterface::filterInactiveDisplay

1 call to FormModeManager::filterInactiveDisplay()
FormModeManager::getAllFormModesDefinitions in src/FormModeManager.php
Gets the entity form mode info for all entity types used.

File

src/FormModeManager.php, line 191

Class

FormModeManager
FormDisplayManager service.

Namespace

Drupal\form_mode_manager

Code

public function filterInactiveDisplay(array &$form_modes, $entity_type_id) {
  foreach ($form_modes as $form_mode_id => $form_mode_definition) {
    if (!array_key_exists($this
      ->getFormModeMachineName($form_mode_id), $this
      ->getActiveDisplays($entity_type_id))) {
      unset($form_modes[$form_mode_id]);
    }
  }
}