function ResourceTypeBuildEventSubscriber::disableResourceTypeFields

Same name and namespace in other branches
  1. 10 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php \Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber::disableResourceTypeFields()
  2. 9 core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php \Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber::disableResourceTypeFields()
  3. 8.9.x core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php \Drupal\jsonapi_test_resource_type_building\EventSubscriber\ResourceTypeBuildEventSubscriber::disableResourceTypeFields()

Disables any resource type fields that have been aliased by a test.

Parameters

\Drupal\jsonapi\ResourceType\ResourceTypeBuildEvent $event: The build event.

File

core/modules/jsonapi/tests/modules/jsonapi_test_resource_type_building/src/EventSubscriber/ResourceTypeBuildEventSubscriber.php, line 69

Class

ResourceTypeBuildEventSubscriber
Event subscriber which tests disabling resource types.

Namespace

Drupal\jsonapi_test_resource_type_building\EventSubscriber

Code

public function disableResourceTypeFields(ResourceTypeBuildEvent $event) {
  $aliases = \Drupal::state()->get('jsonapi_test_resource_type_builder.disabled_resource_type_fields', []);
  $resource_type_name = $event->getResourceTypeName();
  if (in_array($resource_type_name, array_keys($aliases), TRUE)) {
    foreach ($event->getFields() as $field) {
      if (isset($aliases[$resource_type_name][$field->getInternalName()]) && $aliases[$resource_type_name][$field->getInternalName()] === TRUE) {
        $event->disableField($field);
      }
    }
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.