5 * Update hooks for the Entity browser module.
9 * Updates submit text for existing Entity browsers.
11 function entity_browser_update_8001() {
12 /** @var \Drupal\Core\Config\ConfigFactoryInterface $config_factory */
13 $config_factory = \Drupal::service('config.factory');
15 foreach ($config_factory->listAll('entity_browser.browser') as $name) {
16 $entity_browser = $config_factory->getEditable($name);
17 if ($text = $entity_browser->get('submit_text')) {
18 $entity_browser->clear('submit_text');
19 foreach ($entity_browser->get('widgets') as $widget_uuid => $widget) {
20 $entity_browser->set("widgets.$widget_uuid.settings.submit_text", $text);
21 $entity_browser->save();
28 * Migrates duplicated Views entity_browser_select fields.
30 function entity_browser_update_8002() {
31 // Map entity data tables to base tables.
33 foreach (\Drupal::entityTypeManager()->getDefinitions() as $entity_type_name => $entity_type) {
34 $base_table = $entity_type->getBaseTable();
35 $data_table = $entity_type->getDataTable();
36 if ($base_table && $data_table) {
37 $table_map[$data_table] = $base_table;
41 $config_factory = \Drupal::configFactory();
42 foreach ($config_factory->listAll('views.view.') as $view_config_name) {
44 $view = $config_factory->getEditable($view_config_name);
45 $displays = $view->get('display');
46 foreach ($displays as $display_name => &$display) {
47 if ($display['display_options'] && isset($display['display_options']['fields'])) {
48 foreach ($display['display_options']['fields'] as $field_name => &$field) {
49 if ($field['plugin_id'] === 'entity_browser_select' && isset($table_map[$field['table']])) {
50 $field['table'] = $table_map[$field['table']];
57 $view->set('display', $displays);