diff --git a/core/misc/icons/333333/grid.svg b/core/misc/icons/333333/grid.svg
new file mode 100644
index 0000000000..502bf1c142
--- /dev/null
+++ b/core/misc/icons/333333/grid.svg
@@ -0,0 +1 @@
+
diff --git a/core/misc/icons/333333/table.svg b/core/misc/icons/333333/table.svg
new file mode 100644
index 0000000000..98ada644c6
--- /dev/null
+++ b/core/misc/icons/333333/table.svg
@@ -0,0 +1 @@
+
diff --git a/core/modules/media_library/config/install/views.view.media_library.yml b/core/modules/media_library/config/install/views.view.media_library.yml
index 1079e8644f..8c501199b6 100644
--- a/core/modules/media_library/config/install/views.view.media_library.yml
+++ b/core/modules/media_library/config/install/views.view.media_library.yml
@@ -421,7 +421,7 @@ display:
widget:
display_plugin: page
id: widget
- display_title: 'Widget (grid)'
+ display_title: Widget
position: 2
display_options:
display_extenders: { }
@@ -611,8 +611,8 @@ display:
identifier: ''
optional: true
widget: select
- multiple: true
- remember: true
+ multiple: false
+ remember: false
default_group: All
default_group_multiple: { }
group_items: { }
@@ -658,7 +658,7 @@ display:
validate_options: { }
glossary: false
limit: 0
- cas: none
+ case: none
path_case: none
transform_dash: false
break_phrase: false
@@ -670,24 +670,18 @@ display:
id: display_link_grid
table: views
field: display_link
- relationship: none
- group_type: group
- admin_label: ''
- empty: true
display_id: widget
label: 'Show as grid'
plugin_id: display_link
+ empty: true
display_link_table:
id: display_link_table
table: views
field: display_link
- relationship: none
- group_type: group
- admin_label: ''
- empty: true
display_id: widget_table
label: 'Show as table'
plugin_id: display_link
+ empty: true
cache_metadata:
max-age: -1
contexts:
@@ -705,330 +699,84 @@ display:
display_options:
display_extenders: { }
path: admin/content/media-widget-table
+ style:
+ type: table
+ options:
+ row_class: 'media-library-item js-media-library-item js-click-to-select'
+ default_row_class: true
+ defaults:
+ style: false
+ row: false
+ fields: false
+ access: false
+ filters: false
+ filter_groups: false
+ arguments: false
+ header: false
+ row:
+ type: fields
fields:
media_library_select_form:
id: media_library_select_form
+ label: ''
table: media
field: media_library_select_form
relationship: none
- group_type: group
- admin_label: ''
- label: ''
- exclude: false
- alter:
- alter_text: false
- text: ''
- make_link: false
- path: ''
- absolute: false
- external: false
- replace_spaces: false
- path_case: none
- trim_whitespace: false
- alt: ''
- rel: ''
- link_class: ''
- prefix: ''
- suffix: ''
- target: ''
- nl2br: false
- max_length: 0
- word_boundary: true
- ellipsis: true
- more_link: false
- more_link_text: ''
- more_link_path: ''
- strip_tags: false
- trim: false
- preserve_tags: ''
- html: false
- element_type: ''
- element_class: ''
- element_label_type: ''
- element_label_class: ''
- element_label_colon: false
- element_wrapper_type: ''
- element_wrapper_class: js-click-to-select-checkbox
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
entity_type: media
plugin_id: media_library_select_form
+ element_wrapper_class: js-click-to-select-checkbox
+ element_class: ''
thumbnail__target_id:
id: thumbnail__target_id
+ label: Thumbnail
table: media_field_data
field: thumbnail__target_id
relationship: none
- group_type: group
- admin_label: ''
- label: Thumbnail
- exclude: false
- alter:
- alter_text: false
- text: ''
- make_link: false
- path: ''
- absolute: false
- external: false
- replace_spaces: false
- path_case: none
- trim_whitespace: false
- alt: ''
- rel: ''
- link_class: ''
- prefix: ''
- suffix: ''
- target: ''
- nl2br: false
- max_length: 0
- word_boundary: true
- ellipsis: true
- more_link: false
- more_link_text: ''
- more_link_path: ''
- strip_tags: false
- trim: false
- preserve_tags: ''
- html: false
- element_type: ''
- element_class: ''
- element_label_type: ''
- element_label_class: ''
- element_label_colon: true
- element_wrapper_type: ''
- element_wrapper_class: ''
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- click_sort_column: target_id
type: image
- settings:
- image_style: thumbnail
- image_link: ''
- group_column: ''
- group_columns: { }
- group_rows: true
- delta_limit: 0
- delta_offset: 0
- delta_reversed: false
- delta_first_last: false
- multi_type: separator
- separator: ', '
- field_api_classes: false
entity_type: media
entity_field: thumbnail
plugin_id: field
+ settings:
+ image_style: thumbnail
+ image_link: ''
name:
id: name
+ label: Name
table: media_field_data
field: name
relationship: none
- group_type: group
- admin_label: ''
- label: Name
- exclude: false
- alter:
- alter_text: false
- text: ''
- make_link: false
- path: ''
- absolute: false
- external: false
- replace_spaces: false
- path_case: none
- trim_whitespace: false
- alt: ''
- rel: ''
- link_class: ''
- prefix: ''
- suffix: ''
- target: ''
- nl2br: false
- max_length: 0
- word_boundary: true
- ellipsis: true
- more_link: false
- more_link_text: ''
- more_link_path: ''
- strip_tags: false
- trim: false
- preserve_tags: ''
- html: false
- element_type: ''
- element_class: ''
- element_label_type: ''
- element_label_class: ''
- element_label_colon: true
- element_wrapper_type: ''
- element_wrapper_class: ''
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- click_sort_column: value
type: string
- settings:
- link_to_entity: false
- group_column: value
- group_columns: { }
- group_rows: true
- delta_limit: 0
- delta_offset: 0
- delta_reversed: false
- delta_first_last: false
- multi_type: separator
- separator: ', '
- field_api_classes: false
entity_type: media
entity_field: name
plugin_id: field
+ settings:
+ link_to_entity: false
uid:
id: uid
+ label: Author
table: media_field_revision
field: uid
relationship: none
- group_type: group
- admin_label: ''
- label: Author
- exclude: false
- alter:
- alter_text: false
- text: ''
- make_link: false
- path: ''
- absolute: false
- external: false
- replace_spaces: false
- path_case: none
- trim_whitespace: false
- alt: ''
- rel: ''
- link_class: ''
- prefix: ''
- suffix: ''
- target: ''
- nl2br: false
- max_length: 0
- word_boundary: true
- ellipsis: true
- more_link: false
- more_link_text: ''
- more_link_path: ''
- strip_tags: false
- trim: false
- preserve_tags: ''
- html: false
- element_type: ''
- element_class: ''
- element_label_type: ''
- element_label_class: ''
- element_label_colon: true
- element_wrapper_type: ''
- element_wrapper_class: ''
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- click_sort_column: target_id
type: entity_reference_label
- settings:
- link: true
- group_column: target_id
- group_columns: { }
- group_rows: true
- delta_limit: 0
- delta_offset: 0
- delta_reversed: false
- delta_first_last: false
- multi_type: separator
- separator: ', '
- field_api_classes: false
entity_type: media
entity_field: uid
plugin_id: field
+ settings:
+ link: true
changed:
id: changed
+ label: Updated
table: media_field_data
field: changed
relationship: none
- group_type: group
- admin_label: ''
- label: Updated
- exclude: false
- alter:
- alter_text: false
- text: ''
- make_link: false
- path: ''
- absolute: false
- external: false
- replace_spaces: false
- path_case: none
- trim_whitespace: false
- alt: ''
- rel: ''
- link_class: ''
- prefix: ''
- suffix: ''
- target: ''
- nl2br: false
- max_length: 0
- word_boundary: true
- ellipsis: true
- more_link: false
- more_link_text: ''
- more_link_path: ''
- strip_tags: false
- trim: false
- preserve_tags: ''
- html: false
- element_type: ''
- element_class: ''
- element_label_type: ''
- element_label_class: ''
- element_label_colon: true
- element_wrapper_type: ''
- element_wrapper_class: ''
- element_default_classes: true
- empty: ''
- hide_empty: false
- empty_zero: false
- hide_alter_empty: true
- click_sort_column: value
type: timestamp
+ entity_type: media
+ entity_field: changed
+ plugin_id: field
settings:
date_format: short
custom_date_format: ''
timezone: ''
- group_column: value
- group_columns: { }
- group_rows: true
- delta_limit: 0
- delta_offset: 0
- delta_reversed: false
- delta_first_last: false
- multi_type: separator
- separator: ', '
- field_api_classes: false
- entity_type: media
- entity_field: changed
- plugin_id: field
- defaults:
- fields: false
- access: false
- filters: false
- filter_groups: false
- arguments: false
- style: false
- row: false
- header: false
- display_description: ''
access:
type: perm
options:
@@ -1064,8 +812,8 @@ display:
identifier: ''
optional: true
widget: select
- multiple: true
- remember: true
+ multiple: false
+ remember: false
default_group: All
default_group_multiple: { }
group_items: { }
@@ -1104,8 +852,8 @@ display:
identifier: ''
optional: true
widget: select
- multiple: true
- remember: true
+ multiple: false
+ remember: false
default_group: All
default_group_multiple: { }
group_items: { }
@@ -1158,65 +906,23 @@ display:
entity_type: media
entity_field: bundle
plugin_id: string
- style:
- type: table
- options:
- grouping: { }
- row_class: 'media-library-item js-media-library-item js-click-to-select'
- default_row_class: true
- override: true
- sticky: false
- caption: ''
- summary: ''
- description: ''
- columns:
- rendered_entity: rendered_entity
- media_library_select_form: media_library_select_form
- info:
- rendered_entity:
- sortable: false
- default_sort_order: asc
- align: ''
- separator: ''
- empty_column: false
- responsive: ''
- media_library_select_form:
- align: ''
- separator: ''
- empty_column: false
- responsive: ''
- default: '-1'
- empty_table: false
- row:
- type: fields
- options:
- default_field_elements: true
- inline: { }
- separator: ''
- hide_empty: false
header:
display_link_grid:
id: display_link_grid
table: views
field: display_link
- relationship: none
- group_type: group
- admin_label: ''
- empty: true
display_id: widget
label: 'Show as grid'
plugin_id: display_link
+ empty: true
display_link_table:
id: display_link_table
table: views
field: display_link
- relationship: none
- group_type: group
- admin_label: ''
- empty: true
display_id: widget_table
label: 'Show as table'
plugin_id: display_link
+ empty: true
cache_metadata:
max-age: -1
contexts:
diff --git a/core/modules/media_library/css/media_library.theme.css b/core/modules/media_library/css/media_library.theme.css
index 61be1a7507..67b17ab5b6 100644
--- a/core/modules/media_library/css/media_library.theme.css
+++ b/core/modules/media_library/css/media_library.theme.css
@@ -87,8 +87,33 @@
margin-right: 8px;
}
-#drupal-modal .view-header {
+.media-library-view.view-display-id-widget .view-header,
+.media-library-view.view-display-id-widget_table .view-header {
margin: 16px 0;
+ text-align: right;
+}
+
+.media-library-view.view-display-id-widget .view-header .button--primary,
+.media-library-view.view-display-id-widget_table .view-header .button--primary {
+ float: left;
+}
+
+.media-library-view.view-display-id-widget .views-display-link,
+.media-library-view.view-display-id-widget_table .views-display-link {
+ line-height: 16px;
+ padding-left: 20px;
+ color: #333;
+}
+
+.media-library-view.view-display-id-widget .views-display-link-widget,
+.media-library-view.view-display-id-widget_table .views-display-link-widget {
+ background: url(../../../misc/icons/333333/grid.svg) 0 0 no-repeat;
+ margin-right: 10px;
+}
+
+.media-library-view.view-display-id-widget .views-display-link-widget_table,
+.media-library-view.view-display-id-widget_table .views-display-link-widget_table{
+ background: url(../../../misc/icons/333333/table.svg) 0 0 no-repeat;
}
.media-library-item {
diff --git a/core/modules/media_library/js/media_library.ui.es6.js b/core/modules/media_library/js/media_library.ui.es6.js
index c6776f719e..5ed4469057 100644
--- a/core/modules/media_library/js/media_library.ui.es6.js
+++ b/core/modules/media_library/js/media_library.ui.es6.js
@@ -139,7 +139,7 @@
*/
Drupal.behaviors.MediaLibraryViewsDisplay = {
attach(context) {
- $('.js-media-library-view .views-display-link', context)
+ $('.js-media-library-view-display-link', context)
.once('media-library-views-display-link')
.on('click', e => {
e.preventDefault();
diff --git a/core/modules/media_library/js/media_library.ui.js b/core/modules/media_library/js/media_library.ui.js
index a8ffd0b070..780fe3b788 100644
--- a/core/modules/media_library/js/media_library.ui.js
+++ b/core/modules/media_library/js/media_library.ui.js
@@ -71,7 +71,7 @@
Drupal.behaviors.MediaLibraryViewsDisplay = {
attach: function attach(context) {
- $('.js-media-library-view .views-display-link', context).once('media-library-views-display-link').on('click', function (e) {
+ $('.js-media-library-view-display-link', context).once('media-library-views-display-link').on('click', function (e) {
e.preventDefault();
e.stopPropagation();
diff --git a/core/modules/media_library/media_library.module b/core/modules/media_library/media_library.module
index ae4d9add5c..41d276b2c5 100644
--- a/core/modules/media_library/media_library.module
+++ b/core/modules/media_library/media_library.module
@@ -53,7 +53,26 @@ function media_library_theme() {
}
/**
- * Implements hook_preprocess_view().
+ * Implements hook_preprocess_container().
+ */
+function media_library_preprocess_container(&$variables) {
+ if (isset($variables['element']['#view_id']) && $variables['element']['#view_id'] === 'media_library' && in_array($variables['element']['#display_id'], ['widget', 'widget_table'])) {
+ $variables['attributes']['id'] = 'media-library-view';
+ }
+}
+
+/**
+ * Implements hook_link_alter().
+ */
+function media_library_link_alter(&$variables) {
+ $is_view_display_link = isset($variables['options']['view'], $variables['options']['target_display_id']);
+ if ($is_view_display_link && $variables['options']['view']->id() === 'media_library' && in_array($variables['options']['view']->current_display, ['widget', 'widget_table'])) {
+ $variables['options']['attributes']['class'][] = 'js-media-library-view-display-link';
+ }
+}
+
+/**
+ * Implements hook_preprocess_views_view().
*
* Adds a link to add media above the view.
*/
@@ -80,9 +99,6 @@ function media_library_preprocess_views_view(&$variables) {
],
];
}
- // Add ID to the views container to allow the content to be updated via
- // AJAX.
- $variables['attributes']['id'] = 'media-library-view';
}
}
@@ -92,7 +108,7 @@ function media_library_preprocess_views_view(&$variables) {
function media_library_views_post_render(ViewExecutable $view, &$output, CachePluginBase $cache) {
if ($view->id() === 'media_library') {
$output['#attached']['library'][] = 'media_library/view';
- if ($view->current_display === 'widget') {
+ if (in_array($view->current_display, ['widget', 'widget_table'])) {
$query = MediaLibraryState::fromRequest(\Drupal::request())->all();
// If the current query contains any parameters we use to contextually
// filter the view, ensure they persist across AJAX rebuilds.
diff --git a/core/modules/media_library/media_library.post_update.php b/core/modules/media_library/media_library.post_update.php
index 48f2820abb..cbf64c6986 100644
--- a/core/modules/media_library/media_library.post_update.php
+++ b/core/modules/media_library/media_library.post_update.php
@@ -6,6 +6,7 @@
*/
use Drupal\media\Entity\MediaType;
+use Drupal\views\Views;
/**
* Create and configure Media Library form and view displays for media types.
@@ -28,3 +29,133 @@ function media_library_post_update_display_modes() {
]);
}
}
+
+/**
+ * Add a table display to the media library view and link grid/table displays.
+ */
+function media_library_post_update_table_display() {
+ $view = Views::getView('media_library');
+
+ $view->setDisplay('widget');
+ $grid_display = $view->getDisplay('widget');
+
+ $table_display = $view->newDisplay('page', 'Widget (table)', 'widget_table');
+ $table_display->setOption('path', 'admin/content/media-widget-table');
+
+ // Set table as the display style.
+ $table_display->overrideOption('style', [
+ 'type' => 'table',
+ 'options' => [
+ 'row_class' => 'media-library-item js-media-library-item js-click-to-select',
+ 'default_row_class' => TRUE,
+ ],
+ ]);
+
+ // Set fields for table display.
+ $table_display->overrideOption('row', [
+ 'type' => 'fields',
+ ]);
+ $table_display->overrideOption('fields', [
+ 'media_library_select_form' => [
+ 'id' => 'media_library_select_form',
+ 'label' => '',
+ 'table' => 'media',
+ 'field' => 'media_library_select_form',
+ 'relationship' => 'none',
+ 'entity_type' => 'media',
+ 'plugin_id' => 'media_library_select_form',
+ 'element_wrapper_class' => 'js-click-to-select-checkbox',
+ 'element_class' => '',
+ ],
+ 'thumbnail__target_id' => [
+ 'id' => 'thumbnail__target_id',
+ 'label' => 'Thumbnail',
+ 'table' => 'media_field_data',
+ 'field' => 'thumbnail__target_id',
+ 'relationship' => 'none',
+ 'type' => 'image',
+ 'entity_type' => 'media',
+ 'entity_field' => 'thumbnail',
+ 'plugin_id' => 'field',
+ 'settings' => [
+ 'image_style' => 'thumbnail',
+ 'image_link' => '',
+ ],
+ ],
+ 'name' => [
+ 'id' => 'name',
+ 'label' => 'Name',
+ 'table' => 'media_field_data',
+ 'field' => 'name',
+ 'relationship' => 'none',
+ 'type' => 'string',
+ 'entity_type' => 'media',
+ 'entity_field' => 'name',
+ 'plugin_id' => 'field',
+ 'settings' => [
+ 'link_to_entity' => FALSE,
+ ],
+ ],
+ 'uid' => [
+ 'id' => 'uid',
+ 'label' => 'Author',
+ 'table' => 'media_field_revision',
+ 'field' => 'uid',
+ 'relationship' => 'none',
+ 'type' => 'entity_reference_label',
+ 'entity_type' => 'media',
+ 'entity_field' => 'uid',
+ 'plugin_id' => 'field',
+ 'settings' => [
+ 'link' => TRUE,
+ ],
+ ],
+ 'changed' => [
+ 'id' => 'changed',
+ 'label' => 'Updated',
+ 'table' => 'media_field_data',
+ 'field' => 'changed',
+ 'relationship' => 'none',
+ 'type' => 'timestamp',
+ 'entity_type' => 'media',
+ 'entity_field' => 'changed',
+ 'plugin_id' => 'field',
+ 'settings' => [
+ 'date_format' => 'short',
+ 'custom_date_format' => '',
+ 'timezone' => '',
+ ],
+ ],
+ ]);
+
+ // Override the table display options in the same way as the grid display.
+ $table_display->overrideOption('access', $grid_display->getOption('access'));
+ $table_display->overrideOption('filters', $grid_display->getOption('filters'));
+ $table_display->overrideOption('arguments', $grid_display->getOption('arguments'));
+
+ // Add display links to both widget and widget table displays.
+ $display_links = [
+ 'display_link_grid' => [
+ 'id' => 'display_link_grid',
+ 'table' => 'views',
+ 'field' => 'display_link',
+ 'display_id' => 'widget',
+ 'label' => 'Show as grid',
+ 'plugin_id' => 'display_link',
+ 'empty' => TRUE,
+ ],
+ 'display_link_table' => [
+ 'id' => 'display_link_table',
+ 'table' => 'views',
+ 'field' => 'display_link',
+ 'display_id' => 'widget_table',
+ 'label' => 'Show as table',
+ 'plugin_id' => 'display_link',
+ 'empty' => TRUE,
+ ],
+ ];
+ $grid_display->overrideOption('header', $display_links);
+ $table_display->overrideOption('header', $display_links);
+
+ $view->save();
+}
diff --git a/core/modules/media_library/tests/fixtures/update/drupal-8.media_library-update-view-table-display-2981044.php b/core/modules/media_library/tests/fixtures/update/drupal-8.media_library-update-view-table-display-2981044.php
new file mode 100644
index 0000000000..c115449755
--- /dev/null
+++ b/core/modules/media_library/tests/fixtures/update/drupal-8.media_library-update-view-table-display-2981044.php
@@ -0,0 +1,111 @@
+merge('key_value')
+ ->fields([
+ 'value' => 'i:8000;',
+ 'name' => 'media_library',
+ 'collection' => 'system.schema',
+ ])
+ ->condition('collection', 'system.schema')
+ ->condition('name', 'media_library')
+ ->execute();
+
+// Update core.extension.
+$extensions = $connection->select('config')
+ ->fields('config', ['data'])
+ ->condition('collection', '')
+ ->condition('name', 'core.extension')
+ ->execute()
+ ->fetchField();
+$extensions = unserialize($extensions);
+$extensions['module']['media_library'] = 0;
+$connection->update('config')
+ ->fields([
+ 'data' => serialize($extensions),
+ 'collection' => '',
+ 'name' => 'core.extension',
+ ])
+ ->condition('collection', '')
+ ->condition('name', 'core.extension')
+ ->execute();
+
+// Insert media library config objects.
+$connection->insert('config')
+->fields(array(
+ 'collection',
+ 'name',
+ 'data',
+))
+->values(array(
+ 'collection' => '',
+ 'name' => 'core.entity_form_display.media.file.media_library',
+ 'data' => 'a:11:{s:4:"uuid";s:36:"86ab9619-c970-4416-971d-e5c8614b3368";s:8:"langcode";s:2:"en";s:6:"status";b:1;s:12:"dependencies";a:1:{s:6:"config";a:3:{i:0;s:41:"core.entity_form_mode.media.media_library";i:1;s:39:"field.field.media.file.field_media_file";i:2;s:15:"media.type.file";}}s:5:"_core";a:1:{s:19:"default_config_hash";s:43:"RFmywOcuem167havmD4VLgBTO1Swq9hyA-_f5aYTi8c";}s:2:"id";s:24:"media.file.media_library";s:16:"targetEntityType";s:5:"media";s:6:"bundle";s:4:"file";s:4:"mode";s:13:"media_library";s:7:"content";a:1:{s:4:"name";a:5:{s:4:"type";s:16:"string_textfield";s:6:"weight";i:0;s:6:"region";s:7:"content";s:8:"settings";a:2:{s:4:"size";i:60;s:11:"placeholder";s:0:"";}s:20:"third_party_settings";a:0:{}}}s:6:"hidden";a:5:{s:7:"created";b:1;s:16:"field_media_file";b:1;s:4:"path";b:1;s:6:"status";b:1;s:3:"uid";b:1;}}',
+))
+->values(array(
+ 'collection' => '',
+ 'name' => 'core.entity_form_display.media.image.media_library',
+ 'data' => 'a:11:{s:4:"uuid";s:36:"2bbea060-3cd8-4881-a3aa-c898d6619b16";s:8:"langcode";s:2:"en";s:6:"status";b:1;s:12:"dependencies";a:2:{s:6:"config";a:4:{i:0;s:41:"core.entity_form_mode.media.media_library";i:1;s:41:"field.field.media.image.field_media_image";i:2;s:21:"image.style.thumbnail";i:3;s:16:"media.type.image";}s:6:"module";a:1:{i:0;s:5:"image";}}s:5:"_core";a:1:{s:19:"default_config_hash";s:43:"PlyfyVZfALLkP7nbxLpaVKIDUWRioZghWpFDv0_rJ68";}s:2:"id";s:25:"media.image.media_library";s:16:"targetEntityType";s:5:"media";s:6:"bundle";s:5:"image";s:4:"mode";s:13:"media_library";s:7:"content";a:2:{s:17:"field_media_image";a:5:{s:4:"type";s:11:"image_image";s:6:"weight";i:1;s:6:"region";s:7:"content";s:8:"settings";a:2:{s:18:"progress_indicator";s:8:"throbber";s:19:"preview_image_style";s:9:"thumbnail";}s:20:"third_party_settings";a:0:{}}s:4:"name";a:5:{s:4:"type";s:16:"string_textfield";s:6:"weight";i:0;s:6:"region";s:7:"content";s:8:"settings";a:2:{s:4:"size";i:60;s:11:"placeholder";s:0:"";}s:20:"third_party_settings";a:0:{}}}s:6:"hidden";a:4:{s:7:"created";b:1;s:4:"path";b:1;s:6:"status";b:1;s:3:"uid";b:1;}}',
+))
+->values(array(
+ 'collection' => '',
+ 'name' => 'core.entity_view_display.media.file.media_library',
+ 'data' => 'a:11:{s:4:"uuid";s:36:"67e6d857-8ecb-49f5-95e1-6b1c4306c31f";s:8:"langcode";s:2:"en";s:6:"status";b:1;s:12:"dependencies";a:2:{s:6:"config";a:4:{i:0;s:41:"core.entity_view_mode.media.media_library";i:1;s:39:"field.field.media.file.field_media_file";i:2;s:21:"image.style.thumbnail";i:3;s:15:"media.type.file";}s:6:"module";a:1:{i:0;s:5:"image";}}s:5:"_core";a:1:{s:19:"default_config_hash";s:43:"vhAK2lCOWK2paUpJawj7yiSLFO9wwsx6WE8_oDmvbwU";}s:2:"id";s:24:"media.file.media_library";s:16:"targetEntityType";s:5:"media";s:6:"bundle";s:4:"file";s:4:"mode";s:13:"media_library";s:7:"content";a:1:{s:9:"thumbnail";a:6:{s:4:"type";s:5:"image";s:6:"weight";i:0;s:6:"region";s:7:"content";s:5:"label";s:6:"hidden";s:8:"settings";a:2:{s:11:"image_style";s:9:"thumbnail";s:10:"image_link";s:0:"";}s:20:"third_party_settings";a:0:{}}}s:6:"hidden";a:4:{s:7:"created";b:1;s:16:"field_media_file";b:1;s:4:"name";b:1;s:3:"uid";b:1;}}',
+))
+->values(array(
+ 'collection' => '',
+ 'name' => 'core.entity_view_display.media.image.media_library',
+ 'data' => 'a:11:{s:4:"uuid";s:36:"277ca98b-2ada-4251-ad69-aa73e72d60fe";s:8:"langcode";s:2:"en";s:6:"status";b:1;s:12:"dependencies";a:2:{s:6:"config";a:4:{i:0;s:41:"core.entity_view_mode.media.media_library";i:1;s:41:"field.field.media.image.field_media_image";i:2;s:18:"image.style.medium";i:3;s:16:"media.type.image";}s:6:"module";a:1:{i:0;s:5:"image";}}s:5:"_core";a:1:{s:19:"default_config_hash";s:43:"PaGXvzRcL9eII--JV4eCVfObjrNo0l-u1dB_WJtB9ig";}s:2:"id";s:25:"media.image.media_library";s:16:"targetEntityType";s:5:"media";s:6:"bundle";s:5:"image";s:4:"mode";s:13:"media_library";s:7:"content";a:1:{s:9:"thumbnail";a:6:{s:4:"type";s:5:"image";s:6:"weight";i:0;s:6:"region";s:7:"content";s:5:"label";s:6:"hidden";s:8:"settings";a:2:{s:11:"image_style";s:6:"medium";s:10:"image_link";s:0:"";}s:20:"third_party_settings";a:0:{}}}s:6:"hidden";a:4:{s:7:"created";b:1;s:17:"field_media_image";b:1;s:4:"name";b:1;s:3:"uid";b:1;}}',
+))
+->values(array(
+ 'collection' => '',
+ 'name' => 'core.entity_view_mode.media.media_library',
+ 'data' => 'a:9:{s:4:"uuid";s:36:"20b2f1f7-a864-4d41-a15f-32f66789f73d";s:8:"langcode";s:2:"en";s:6:"status";b:1;s:12:"dependencies";a:2:{s:8:"enforced";a:1:{s:6:"module";a:1:{i:0;s:13:"media_library";}}s:6:"module";a:1:{i:0;s:5:"media";}}s:5:"_core";a:1:{s:19:"default_config_hash";s:43:"pkq0uj-IoqEQRBOP_ddUDV0ZJ-dKQ_fLcppsEDF2UO8";}s:2:"id";s:19:"media.media_library";s:5:"label";s:13:"Media library";s:16:"targetEntityType";s:5:"media";s:5:"cache";b:1;}',
+))
+->values(array(
+ 'collection' => '',
+ 'name' => 'views.view.media_library',
+ 'data' => 'a:14:{s:4:"uuid";s:36:"3bc9cf0f-cb66-4dbe-8d7e-862cb85e5932";s:8:"langcode";s:2:"en";s:6:"status";b:1;s:12:"dependencies";a:3:{s:6:"config";a:1:{i:0;s:41:"core.entity_view_mode.media.media_library";}s:8:"enforced";a:1:{s:6:"module";a:1:{i:0;s:13:"media_library";}}s:6:"module";a:3:{i:0;s:5:"media";i:1;s:13:"media_library";i:2;s:4:"user";}}s:5:"_core";a:1:{s:19:"default_config_hash";s:43:"1F1cSZ5MlvxdwjdyrwnH2I8CWngOp8Pu2SXDzix2QUc";}s:2:"id";s:13:"media_library";s:5:"label";s:13:"Media library";s:6:"module";s:5:"views";s:11:"description";s:0:"";s:3:"tag";s:0:"";s:10:"base_table";s:16:"media_field_data";s:10:"base_field";s:3:"mid";s:4:"core";s:3:"8.x";s:7:"display";a:3:{s:7:"default";a:6:{s:14:"display_plugin";s:7:"default";s:2:"id";s:7:"default";s:13:"display_title";s:6:"Master";s:8:"position";i:0;s:15:"display_options";a:18:{s:6:"access";a:2:{s:4:"type";s:4:"perm";s:7:"options";a:1:{s:4:"perm";s:21:"access media overview";}}s:5:"cache";a:2:{s:4:"type";s:3:"tag";s:7:"options";a:0:{}}s:5:"query";a:2:{s:4:"type";s:11:"views_query";s:7:"options";a:5:{s:19:"disable_sql_rewrite";b:0;s:8:"distinct";b:0;s:7:"replica";b:0;s:13:"query_comment";s:0:"";s:10:"query_tags";a:0:{}}}s:12:"exposed_form";a:2:{s:4:"type";s:5:"basic";s:7:"options";a:7:{s:13:"submit_button";s:13:"Apply Filters";s:12:"reset_button";b:0;s:18:"reset_button_label";s:5:"Reset";s:19:"exposed_sorts_label";s:7:"Sort by";s:17:"expose_sort_order";b:0;s:14:"sort_asc_label";s:3:"Asc";s:15:"sort_desc_label";s:4:"Desc";}}s:5:"pager";a:2:{s:4:"type";s:4:"mini";s:7:"options";a:6:{s:14:"items_per_page";i:25;s:6:"offset";i:0;s:2:"id";i:0;s:11:"total_pages";N;s:6:"expose";a:7:{s:14:"items_per_page";b:0;s:20:"items_per_page_label";s:14:"Items per page";s:22:"items_per_page_options";s:13:"5, 10, 25, 50";s:26:"items_per_page_options_all";b:0;s:32:"items_per_page_options_all_label";s:7:"- All -";s:6:"offset";b:0;s:12:"offset_label";s:6:"Offset";}s:4:"tags";a:2:{s:8:"previous";s:6:"‹‹";s:4:"next";s:6:"››";}}}s:5:"style";a:2:{s:4:"type";s:7:"default";s:7:"options";a:3:{s:8:"grouping";a:0:{}s:9:"row_class";s:59:"media-library-item js-media-library-item js-click-to-select";s:17:"default_row_class";b:1;}}s:3:"row";a:2:{s:4:"type";s:6:"fields";s:7:"options";a:4:{s:22:"default_field_elements";b:1;s:6:"inline";a:0:{}s:9:"separator";s:0:"";s:10:"hide_empty";b:0;}}s:6:"fields";a:2:{s:15:"media_bulk_form";a:26:{s:2:"id";s:15:"media_bulk_form";s:5:"table";s:5:"media";s:5:"field";s:15:"media_bulk_form";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"label";s:0:"";s:7:"exclude";b:0;s:5:"alter";a:26:{s:10:"alter_text";b:0;s:4:"text";s:0:"";s:9:"make_link";b:0;s:4:"path";s:0:"";s:8:"absolute";b:0;s:8:"external";b:0;s:14:"replace_spaces";b:0;s:9:"path_case";s:4:"none";s:15:"trim_whitespace";b:0;s:3:"alt";s:0:"";s:3:"rel";s:0:"";s:10:"link_class";s:0:"";s:6:"prefix";s:0:"";s:6:"suffix";s:0:"";s:6:"target";s:0:"";s:5:"nl2br";b:0;s:10:"max_length";i:0;s:13:"word_boundary";b:1;s:8:"ellipsis";b:1;s:9:"more_link";b:0;s:14:"more_link_text";s:0:"";s:14:"more_link_path";s:0:"";s:10:"strip_tags";b:0;s:4:"trim";b:0;s:13:"preserve_tags";s:0:"";s:4:"html";b:0;}s:12:"element_type";s:0:"";s:13:"element_class";s:27:"js-click-to-select-checkbox";s:18:"element_label_type";s:0:"";s:19:"element_label_class";s:0:"";s:19:"element_label_colon";b:0;s:20:"element_wrapper_type";s:0:"";s:21:"element_wrapper_class";s:0:"";s:23:"element_default_classes";b:1;s:5:"empty";s:0:"";s:10:"hide_empty";b:0;s:10:"empty_zero";b:0;s:16:"hide_alter_empty";b:1;s:12:"action_title";s:6:"Action";s:15:"include_exclude";s:7:"exclude";s:16:"selected_actions";a:0:{}s:11:"entity_type";s:5:"media";s:9:"plugin_id";s:9:"bulk_form";}s:15:"rendered_entity";a:24:{s:2:"id";s:15:"rendered_entity";s:5:"table";s:5:"media";s:5:"field";s:15:"rendered_entity";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"label";s:0:"";s:7:"exclude";b:0;s:5:"alter";a:26:{s:10:"alter_text";b:0;s:4:"text";s:0:"";s:9:"make_link";b:0;s:4:"path";s:0:"";s:8:"absolute";b:0;s:8:"external";b:0;s:14:"replace_spaces";b:0;s:9:"path_case";s:4:"none";s:15:"trim_whitespace";b:0;s:3:"alt";s:0:"";s:3:"rel";s:0:"";s:10:"link_class";s:0:"";s:6:"prefix";s:0:"";s:6:"suffix";s:0:"";s:6:"target";s:0:"";s:5:"nl2br";b:0;s:10:"max_length";i:0;s:13:"word_boundary";b:1;s:8:"ellipsis";b:1;s:9:"more_link";b:0;s:14:"more_link_text";s:0:"";s:14:"more_link_path";s:0:"";s:10:"strip_tags";b:0;s:4:"trim";b:0;s:13:"preserve_tags";s:0:"";s:4:"html";b:0;}s:12:"element_type";s:0:"";s:13:"element_class";s:27:"media-library-item__content";s:18:"element_label_type";s:0:"";s:19:"element_label_class";s:0:"";s:19:"element_label_colon";b:0;s:20:"element_wrapper_type";s:0:"";s:21:"element_wrapper_class";s:0:"";s:23:"element_default_classes";b:1;s:5:"empty";s:0:"";s:10:"hide_empty";b:0;s:10:"empty_zero";b:0;s:16:"hide_alter_empty";b:1;s:9:"view_mode";s:13:"media_library";s:11:"entity_type";s:5:"media";s:9:"plugin_id";s:15:"rendered_entity";}}s:7:"filters";a:3:{s:6:"status";a:16:{s:2:"id";s:6:"status";s:5:"table";s:16:"media_field_data";s:5:"field";s:6:"status";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:8:"operator";s:1:"=";s:5:"value";s:1:"1";s:5:"group";i:1;s:7:"exposed";b:1;s:6:"expose";a:10:{s:11:"operator_id";s:0:"";s:5:"label";s:17:"Publishing status";s:11:"description";N;s:12:"use_operator";b:0;s:8:"operator";s:9:"status_op";s:10:"identifier";s:6:"status";s:8:"required";b:1;s:8:"remember";b:0;s:8:"multiple";b:0;s:14:"remember_roles";a:1:{s:13:"authenticated";s:13:"authenticated";}}s:10:"is_grouped";b:1;s:10:"group_info";a:10:{s:5:"label";s:9:"Published";s:11:"description";s:0:"";s:10:"identifier";s:6:"status";s:8:"optional";b:1;s:6:"widget";s:6:"select";s:8:"multiple";b:0;s:8:"remember";b:0;s:13:"default_group";s:3:"All";s:22:"default_group_multiple";a:0:{}s:11:"group_items";a:2:{i:1;a:3:{s:5:"title";s:9:"Published";s:8:"operator";s:1:"=";s:5:"value";s:1:"1";}i:2;a:3:{s:5:"title";s:11:"Unpublished";s:8:"operator";s:1:"=";s:5:"value";s:1:"0";}}}s:9:"plugin_id";s:7:"boolean";s:11:"entity_type";s:5:"media";s:12:"entity_field";s:6:"status";}s:4:"name";a:16:{s:2:"id";s:4:"name";s:5:"table";s:16:"media_field_data";s:5:"field";s:4:"name";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:8:"operator";s:8:"contains";s:5:"value";s:0:"";s:5:"group";i:1;s:7:"exposed";b:1;s:6:"expose";a:10:{s:11:"operator_id";s:7:"name_op";s:5:"label";s:4:"Name";s:11:"description";s:0:"";s:12:"use_operator";b:0;s:8:"operator";s:7:"name_op";s:10:"identifier";s:4:"name";s:8:"required";b:0;s:8:"remember";b:0;s:8:"multiple";b:0;s:14:"remember_roles";a:3:{s:13:"authenticated";s:13:"authenticated";s:9:"anonymous";s:1:"0";s:13:"administrator";s:1:"0";}}s:10:"is_grouped";b:0;s:10:"group_info";a:10:{s:5:"label";s:0:"";s:11:"description";s:0:"";s:10:"identifier";s:0:"";s:8:"optional";b:1;s:6:"widget";s:6:"select";s:8:"multiple";b:0;s:8:"remember";b:0;s:13:"default_group";s:3:"All";s:22:"default_group_multiple";a:0:{}s:11:"group_items";a:0:{}}s:11:"entity_type";s:5:"media";s:12:"entity_field";s:4:"name";s:9:"plugin_id";s:6:"string";}s:6:"bundle";a:16:{s:2:"id";s:6:"bundle";s:5:"table";s:16:"media_field_data";s:5:"field";s:6:"bundle";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:8:"operator";s:2:"in";s:5:"value";a:0:{}s:5:"group";i:1;s:7:"exposed";b:1;s:6:"expose";a:11:{s:11:"operator_id";s:9:"bundle_op";s:5:"label";s:10:"Media type";s:11:"description";s:0:"";s:12:"use_operator";b:0;s:8:"operator";s:9:"bundle_op";s:10:"identifier";s:4:"type";s:8:"required";b:0;s:8:"remember";b:0;s:8:"multiple";b:0;s:14:"remember_roles";a:3:{s:13:"authenticated";s:13:"authenticated";s:9:"anonymous";s:1:"0";s:13:"administrator";s:1:"0";}s:6:"reduce";b:0;}s:10:"is_grouped";b:0;s:10:"group_info";a:10:{s:5:"label";s:10:"Media type";s:11:"description";N;s:10:"identifier";s:6:"bundle";s:8:"optional";b:1;s:6:"widget";s:6:"select";s:8:"multiple";b:0;s:8:"remember";b:0;s:13:"default_group";s:3:"All";s:22:"default_group_multiple";a:0:{}s:11:"group_items";a:3:{i:1;a:0:{}i:2;a:0:{}i:3;a:0:{}}}s:11:"entity_type";s:5:"media";s:12:"entity_field";s:6:"bundle";s:9:"plugin_id";s:6:"bundle";}}s:5:"sorts";a:3:{s:7:"created";a:13:{s:2:"id";s:7:"created";s:5:"table";s:16:"media_field_data";s:5:"field";s:7:"created";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"order";s:4:"DESC";s:7:"exposed";b:1;s:6:"expose";a:1:{s:5:"label";s:12:"Newest first";}s:11:"granularity";s:6:"second";s:11:"entity_type";s:5:"media";s:12:"entity_field";s:7:"created";s:9:"plugin_id";s:4:"date";}s:4:"name";a:12:{s:2:"id";s:4:"name";s:5:"table";s:16:"media_field_data";s:5:"field";s:4:"name";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"order";s:3:"ASC";s:7:"exposed";b:1;s:6:"expose";a:1:{s:5:"label";s:10:"Name (A-Z)";}s:11:"entity_type";s:5:"media";s:12:"entity_field";s:4:"name";s:9:"plugin_id";s:8:"standard";}s:6:"name_1";a:12:{s:2:"id";s:6:"name_1";s:5:"table";s:16:"media_field_data";s:5:"field";s:4:"name";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"order";s:4:"DESC";s:7:"exposed";b:1;s:6:"expose";a:1:{s:5:"label";s:10:"Name (Z-A)";}s:11:"entity_type";s:5:"media";s:12:"entity_field";s:4:"name";s:9:"plugin_id";s:8:"standard";}}s:5:"title";s:5:"Media";s:6:"header";a:0:{}s:6:"footer";a:0:{}s:5:"empty";a:1:{s:16:"area_text_custom";a:10:{s:2:"id";s:16:"area_text_custom";s:5:"table";s:5:"views";s:5:"field";s:16:"area_text_custom";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"empty";b:1;s:8:"tokenize";b:0;s:7:"content";s:19:"No media available.";s:9:"plugin_id";s:11:"text_custom";}}s:13:"relationships";a:0:{}s:17:"display_extenders";a:0:{}s:8:"use_ajax";b:1;s:9:"css_class";s:40:"media-library-view js-media-library-view";}s:14:"cache_metadata";a:3:{s:7:"max-age";i:0;s:8:"contexts";a:5:{i:0;s:28:"languages:language_interface";i:1;s:3:"url";i:2;s:14:"url.query_args";i:3;s:22:"url.query_args:sort_by";i:4;s:16:"user.permissions";}s:4:"tags";a:5:{i:0;s:51:"config:core.entity_view_display.media.audio.default";i:1;s:50:"config:core.entity_view_display.media.file.default";i:2;s:51:"config:core.entity_view_display.media.image.default";i:3;s:58:"config:core.entity_view_display.media.remote_video.default";i:4;s:51:"config:core.entity_view_display.media.video.default";}}}s:4:"page";a:6:{s:14:"display_plugin";s:4:"page";s:2:"id";s:4:"page";s:13:"display_title";s:4:"Page";s:8:"position";i:1;s:15:"display_options";a:3:{s:17:"display_extenders";a:0:{}s:4:"path";s:19:"admin/content/media";s:4:"menu";a:8:{s:4:"type";s:3:"tab";s:5:"title";s:5:"Media";s:11:"description";s:49:"Allows users to browse and administer media items";s:8:"expanded";b:0;s:6:"parent";s:20:"system.admin_content";s:6:"weight";i:5;s:7:"context";s:1:"0";s:9:"menu_name";s:5:"admin";}}s:14:"cache_metadata";a:3:{s:7:"max-age";i:0;s:8:"contexts";a:5:{i:0;s:28:"languages:language_interface";i:1;s:3:"url";i:2;s:14:"url.query_args";i:3;s:22:"url.query_args:sort_by";i:4;s:16:"user.permissions";}s:4:"tags";a:5:{i:0;s:51:"config:core.entity_view_display.media.audio.default";i:1;s:50:"config:core.entity_view_display.media.file.default";i:2;s:51:"config:core.entity_view_display.media.image.default";i:3;s:58:"config:core.entity_view_display.media.remote_video.default";i:4;s:51:"config:core.entity_view_display.media.video.default";}}}s:6:"widget";a:6:{s:14:"display_plugin";s:4:"page";s:2:"id";s:6:"widget";s:13:"display_title";s:6:"Widget";s:8:"position";i:2;s:15:"display_options";a:6:{s:17:"display_extenders";a:0:{}s:4:"path";s:26:"admin/content/media-widget";s:6:"fields";a:2:{s:15:"rendered_entity";a:24:{s:2:"id";s:15:"rendered_entity";s:5:"table";s:5:"media";s:5:"field";s:15:"rendered_entity";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"label";s:0:"";s:7:"exclude";b:0;s:5:"alter";a:26:{s:10:"alter_text";b:0;s:4:"text";s:0:"";s:9:"make_link";b:0;s:4:"path";s:0:"";s:8:"absolute";b:0;s:8:"external";b:0;s:14:"replace_spaces";b:0;s:9:"path_case";s:4:"none";s:15:"trim_whitespace";b:0;s:3:"alt";s:0:"";s:3:"rel";s:0:"";s:10:"link_class";s:0:"";s:6:"prefix";s:0:"";s:6:"suffix";s:0:"";s:6:"target";s:0:"";s:5:"nl2br";b:0;s:10:"max_length";i:0;s:13:"word_boundary";b:1;s:8:"ellipsis";b:1;s:9:"more_link";b:0;s:14:"more_link_text";s:0:"";s:14:"more_link_path";s:0:"";s:10:"strip_tags";b:0;s:4:"trim";b:0;s:13:"preserve_tags";s:0:"";s:4:"html";b:0;}s:12:"element_type";s:0:"";s:13:"element_class";s:27:"media-library-item__content";s:18:"element_label_type";s:0:"";s:19:"element_label_class";s:0:"";s:19:"element_label_colon";b:0;s:20:"element_wrapper_type";s:0:"";s:21:"element_wrapper_class";s:0:"";s:23:"element_default_classes";b:1;s:5:"empty";s:0:"";s:10:"hide_empty";b:0;s:10:"empty_zero";b:0;s:16:"hide_alter_empty";b:1;s:9:"view_mode";s:13:"media_library";s:11:"entity_type";s:5:"media";s:9:"plugin_id";s:15:"rendered_entity";}s:25:"media_library_select_form";a:23:{s:2:"id";s:25:"media_library_select_form";s:5:"table";s:5:"media";s:5:"field";s:25:"media_library_select_form";s:12:"relationship";s:4:"none";s:10:"group_type";s:5:"group";s:11:"admin_label";s:0:"";s:5:"label";s:0:"";s:7:"exclude";b:0;s:5:"alter";a:26:{s:10:"alter_text";b:0;s:4:"text";s:0:"";s:9:"make_link";b:0;s:4:"path";s:0:"";s:8:"absolute";b:0;s:8:"external";b:0;s:14:"replace_spaces";b:0;s:9:"path_case";s:4:"none";s:15:"trim_whitespace";b:0;s:3:"alt";s:0:"";s:3:"rel";s:0:"";s:10:"link_class";s:0:"";s:6:"prefix";s:0:"";s:6:"suffix";s:0:"";s:6:"target";s:0:"";s:5:"nl2br";b:0;s:10:"max_length";i:0;s:13:"word_boundary";b:1;s:8:"ellipsis";b:1;s:9:"more_link";b:0;s:14:"more_link_text";s:0:"";s:14:"more_link_path";s:0:"";s:10:"strip_tags";b:0;s:4:"trim";b:0;s:13:"preserve_tags";s:0:"";s:4:"html";b:0;}s:12:"element_type";s:0:"";s:13:"element_class";s:0:"";s:18:"element_label_type";s:0:"";s:19:"element_label_class";s:0:"";s:19:"element_label_colon";b:0;s:20:"element_wrapper_type";s:0:"";s:21:"element_wrapper_class";s:27:"js-click-to-select-checkbox";s:23:"element_default_classes";b:1;s:5:"empty";s:0:"";s:10:"hide_empty";b:0;s:10:"empty_zero";b:0;s:16:"hide_alter_empty";b:1;s:11:"entity_type";s:5:"media";s:9:"plugin_id";s:25:"media_library_select_form";}}s:8:"defaults";a:2:{s:6:"fields";b:0;s:6:"access";b:0;}s:19:"display_description";s:0:"";s:6:"access";a:2:{s:4:"type";s:4:"perm";s:7:"options";a:1:{s:4:"perm";s:10:"view media";}}}s:14:"cache_metadata";a:3:{s:7:"max-age";i:-1;s:8:"contexts";a:5:{i:0;s:28:"languages:language_interface";i:1;s:3:"url";i:2;s:14:"url.query_args";i:3;s:22:"url.query_args:sort_by";i:4;s:16:"user.permissions";}s:4:"tags";a:5:{i:0;s:51:"config:core.entity_view_display.media.audio.default";i:1;s:50:"config:core.entity_view_display.media.file.default";i:2;s:51:"config:core.entity_view_display.media.image.default";i:3;s:58:"config:core.entity_view_display.media.remote_video.default";i:4;s:51:"config:core.entity_view_display.media.video.default";}}}}}',
+))
+->execute();
+
+// Insert media library key_value entries.
+$connection->insert('key_value')
+->fields(array(
+ 'collection',
+ 'name',
+ 'value',
+))
+->values(array(
+ 'collection' => 'config.entity.key_store.entity_view_display',
+ 'name' => 'uuid:67e6d857-8ecb-49f5-95e1-6b1c4306c31f',
+ 'value' => 'a:1:{i:0;s:49:"core.entity_view_display.media.file.media_library";}',
+))
+->values(array(
+ 'collection' => 'config.entity.key_store.entity_view_display',
+ 'name' => 'uuid:277ca98b-2ada-4251-ad69-aa73e72d60fe',
+ 'value' => 'a:1:{i:0;s:50:"core.entity_view_display.media.image.media_library";}',
+))
+->values(array(
+ 'collection' => 'config.entity.key_store.entity_view_mode',
+ 'name' => 'uuid:20b2f1f7-a864-4d41-a15f-32f66789f73d',
+ 'value' => 'a:1:{i:0;s:41:"core.entity_view_mode.media.media_library";}',
+))
+->values(array(
+ 'collection' => 'config.entity.key_store.view',
+ 'name' => 'uuid:3bc9cf0f-cb66-4dbe-8d7e-862cb85e5932',
+ 'value' => 'a:1:{i:0;s:24:"views.view.media_library";}',
+))
+->execute();
diff --git a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
index 64f3ff59b3..ddc92a77b9 100644
--- a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
+++ b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
@@ -267,6 +267,36 @@ public function testWidget() {
$page->find('css', '.ui-dialog-titlebar-close')->click();
$assert_session->assertWaitOnAjaxRequest();
+ // Assert the media library contains header links to switch between the grid
+ // and table display.
+ $assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]')->click();
+ $assert_session->assertWaitOnAjaxRequest();
+ $assert_session->elementExists('css', '.media-library-view .media-library-item article');
+ $assert_session->elementNotExists('css', '.media-library-view table tr.media-library-item');
+ $assert_session->elementExists('named', ['link', 'Show as grid']);
+ $assert_session->elementExists('named', ['link', 'Show as table'])->click();
+ $assert_session->pageTextContains('Dog');
+ $assert_session->pageTextContains('Bear');
+ $assert_session->pageTextNotContains('Turtle');
+ $assert_session->assertWaitOnAjaxRequest();
+ $assert_session->elementNotExists('css', '.media-library-view .media-library-item article');
+ $assert_session->elementExists('css', '.media-library-view table tr.media-library-item');
+ $assert_session->pageTextContains('Dog');
+ $assert_session->pageTextContains('Bear');
+ $assert_session->pageTextNotContains('Turtle');
+ $assert_session->elementExists('named', ['link', 'Show as table']);
+ $assert_session->elementExists('named', ['link', 'Show as grid'])->click();
+ $assert_session->assertWaitOnAjaxRequest();
+ $assert_session->elementExists('css', '.media-library-view .media-library-item article');
+ $assert_session->elementNotExists('css', '.media-library-view table tr.media-library-item');
+ $assert_session->pageTextContains('Dog');
+ $assert_session->pageTextContains('Bear');
+ $assert_session->pageTextNotContains('Turtle');
+ $assert_session->elementExists('named', ['link', 'Show as grid']);
+ $assert_session->elementExists('named', ['link', 'Show as table']);
+ $page->find('css', '.ui-dialog-titlebar-close')->click();
+ $assert_session->assertWaitOnAjaxRequest();
+
// Assert the exposed name filter of the view.
$assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]')->click();
$assert_session->assertWaitOnAjaxRequest();