Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). Varbase Media Header 9.2.1 Minor update available for module varbase_media_header (9.2.1). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides tools to easily clean up and manage Views, such as removing specific filters or replacing them with new configurations. It can also help with cleaning up View dependencies when uninstalling modules.

This module is initally created for helping uninstall module: multiversion

Add some services to cleanup views easily

Services:

  • views_cleanup.filter_cleanup
  • views_cleanup.filter_replacement
  • views_cleanup.filter_add
  • views_cleanup.aggregate_views_filter_option
  • views_cleanup.denpendencies
  • views_cleanup.fields_cleanup

Examples

\Drupal::service('views_cleanup.filter_cleanup')
->cleanupViewsFiltersByFilterCheckOptions(['entity_field' => '_deleted']);
\Drupal::service('views_cleanup.denpendencies')
->cleanupViewsDependencyModules(['multiversion']);
  $new_filter_config = [
    'id' => 'deleted',
    'table' => 'node_field_data',
    'field' => 'deleted',
    'relationship' => 'none',
    'group_type' => 'group',
    'admin_label' => '',
    'entity_type' => 'node',
    'entity_field' => 'deleted',
    'plugin_id' => 'date',
    'operator' => 'not empty',
    'value' => ['min' => '', 'max' => '', 'value' => '', 'type' => 'date',],
    'group' => 1,
    'exposed' => FALSE,
    'expose' => [
      'operator_id' => '',
      'label' => '',
      'description' => '',
      'use_operator' => FALSE,
      'operator' => '',
      'operator_limit_selection' => FALSE,
      'operator_list' => [],
      'identifier' => '',
      'required' => FALSE,
      'remember' => FALSE,
      'multiple' => FALSE,
      'remember_roles' => ['authenticated' => 'authenticated',],
      'min_placeholder' => '',
      'max_placeholder' => '',
      'placeholder' => '',
    ],
    'is_grouped' => FALSE,
    'group_info' => [
      'label' => '',
      'description' => '',
      'identifier' => '',
      'optional' => TRUE,
      'widget' => 'select',
      'multiple' => FALSE,
      'remember' => FALSE,
      'default_group' => 'All',
      'default_group_multiple' => [],
      'group_items' => [],
    ],
  ];
\Drupal::service('views_cleanup.filter_replacement')
  ->replaceViewsFilterByFilterCheckOptions([
    'entity_type' => 'node',
    'entity_field' => '_deleted',
    'operator' => '=',
    'value' => '1',
  ], 'deleted', $new_filter_config);

Activity

Total releases
2
First release
Jan 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 2
Maintenance
Dormant

Releases

Version Type Release date
2.0.1 Stable Jan 26, 2025
2.0.x-dev Dev Jan 26, 2025