| 1 views.install | views_update_1010() |
Use new responsive table column UI rather than custom css class.
Related topics
File
- core/
modules/ views/ views.install, line 262 - Contains install and update functions for Views.
Code
function views_update_1010() {
$views_updated = 0;
$view_names = config_get_names_with_prefix('views.view.');
foreach ($view_names as $view_name) {
$config = config($view_name);
$view_updated = FALSE;
$displays = $config->get('display');
foreach ($displays as $display_key => $display_details) {
$fields = $display_details['display_options']['fields'] NULL;
$style = $display_details['display_options']['style_plugin'] NULL;
if (!$fields || $style !== 'table') {
continue;
}
foreach ($fields as $field_key => $field) {
if (!isset($field['element_label_class'])) {
continue;
}
$label_classes = explode(' ', $field['element_label_class']);
$has_low = in_array('priority-low', $label_classes);
$has_medium = in_array('priority-medium', $label_classes);
$label_classes = array_values(array_filter($label_classes, function($p) {
return $p !== 'priority-low' && $p !== 'priority-medium';
}));
if ($has_low || $has_medium) {
$updated_classes = implode(' ', $label_classes);
$config->set('display.' . $display_key . '.display_options.fields.' . $field_key . '.element_label_class', $updated_classes);
$responsive = '';
if ($has_low) {
$responsive = 'priority-low';
}
if ($has_medium) {
$responsive = 'priority-medium';
}
$config->set('display.' . $display_key . '.display_options.style_options.info.' . $field_key . '.responsive', $responsive);
$view_updated = TRUE;
}
}
}
if ($view_updated) {
$views_updated++;
$config->save();
}
}
if ($views_updated) {
return format_plural($views_updated, 'One view updated to move responsive table classes to the table display settings.', '@count views updated to move responsive table classes to the table display settings.');
}
}