acquia_dam-1.0.0-rc1/acquia_dam.views.inc
acquia_dam.views.inc
<?php /** * @file * Provide views data for acquia_dam. */ use Drupal\acquia_dam\BundleFieldViewsData; /** * Implements hook_views_data(). */ function acquia_dam_views_data(): array { $data = []; $data['acquia_dam_assets']['table']['group'] = t('DAM Assets'); $data['acquia_dam_assets']['table']['entity type'] = 'media'; $data['acquia_dam_assets']['table']['entity revision'] = FALSE; $data['acquia_dam_assets']['table']['base'] = [ 'title' => t('DAM Assets'), 'query_id' => 'views_remote_data_query', ]; $data['acquia_dam_assets']['media_library_select_form'] = [ 'title' => t('Select asset'), 'help' => t('Provides a field for selecting Assets in our media library view'), 'real field' => 'id', 'field' => [ 'id' => 'acquia_dam_media_library_select_form', ], ]; $data['acquia_dam_assets']['metadata_text'] = [ 'title' => t('Metadata: Text data'), 'help' => t('The metadata of the type text, text_short and text_long that to be queried'), 'filter' => [ 'field' => 'field_type', 'id' => 'asset_metadata_string', ], ]; $data['acquia_dam_assets']['search'] = [ 'title' => t('Search'), 'help' => t('Search text'), 'filter' => [ 'field' => 'search', 'id' => 'asset_search_filter', ], ]; $data['acquia_dam_assets']['category'] = [ 'title' => t('DAM category filter'), 'help' => t('WIDEN category to filter query result'), 'filter' => [ 'id' => 'asset_category_filter', ], ]; $data['acquia_dam_assets']['metadata_selection_list'] = [ 'title' => t('Metadata: Selection list'), 'help' => t('The metadata selection list that you want to query'), 'filter' => [ 'field' => 'field_type', 'id' => 'asset_metadata_in_operator', ], ]; $data['acquia_dam_assets']['filename'] = [ 'title' => t('Filename'), 'help' => t('The filename'), 'field' => [ 'id' => 'standard', ], ]; $data['acquia_dam_assets']['thumbnail'] = [ 'title' => t('Thumbnail'), 'help' => t('A thumbnail preview'), 'field' => [ 'id' => 'field', ], 'entity field' => 'thumbnail', ]; $data['acquia_dam_assets']['FileType'] = [ 'title' => t('File type'), 'help' => t('The file type'), 'argument' => [ 'id' => 'acquia_dam_asset_type', ], ]; $data['acquia_dam_assets']['acquia_dam_no_results_text'] = [ 'title' => t('Acquia Dam: No results text'), 'help' => t('Provide the message if the query returns empty.'), 'area' => [ 'id' => 'acquia_dam_no_results_text', ], ]; $data['media']['dam_asset'] = [ 'title' => t('DAM Asset filter'), 'filter' => [ 'title' => t('DAM Asset filter'), 'field' => 'id', 'id' => 'dam_asset_filter', ], ]; $data['media']['dam_asset_usage'] = [ 'title' => t('DAM asset counter field'), 'help' => t('Custom field for counting DAM asset usage.'), 'field' => [ 'id' => 'dam_asset_usage_counter', ], ]; $bundle_field_handler = \Drupal::entityTypeManager()->createHandlerInstance( BundleFieldViewsData::class, \Drupal::entityTypeManager()->getDefinition('media') ); assert($bundle_field_handler instanceof BundleFieldViewsData); $data = array_merge($data, $bundle_field_handler->getViewsData()); $data['acquia_dam_integration_link_tracking'] = []; $data['acquia_dam_integration_link_tracking']['table']['group'] = t('Acquia DAM links'); $data['acquia_dam_integration_link_tracking']['table']['base'] = [ 'field' => 'integration_link_id', 'title' => 'Acquia DAM links', ]; // Fields. $data['acquia_dam_integration_link_tracking']['integration_link_id'] = [ 'title' => t('DAM link id'), 'help' => t('DAM link id.'), 'field' => [ 'id' => 'standard', ], ]; $data['acquia_dam_integration_link_tracking']['asset_uuid'] = [ 'title' => t('DAM asset id'), 'help' => t('DAM asset uuid.'), 'field' => [ 'id' => 'standard', ], 'filter' => [ 'id' => 'string', ], 'argument' => [ 'id' => 'string', ], ]; $data['acquia_dam_integration_link_tracking']['path'] = [ 'title' => t('DAM asset link'), 'help' => t('DAM asset integration link url.'), 'field' => [ 'id' => 'standard', ], ]; $data['acquia_dam_integration_link_tracking']['entity_type'] = [ 'title' => t('Entity type'), 'help' => t('Entity type that the asset is referenced to.'), 'field' => [ 'id' => 'standard', ], ]; return $data; }