Chris@18: stringTranslation = $string_translation; Chris@18: $this->entityTypeManager = $entity_type_manager; Chris@18: $this->config = $config_factory->get('media.settings'); Chris@18: } Chris@18: Chris@18: /** Chris@18: * {@inheritdoc} Chris@18: */ Chris@18: public static function create(ContainerInterface $container, $base_plugin_id) { Chris@18: return new static( Chris@18: $container->get('string_translation'), Chris@18: $container->get('entity_type.manager'), Chris@18: $container->get('config.factory') Chris@18: ); Chris@18: } Chris@18: Chris@18: /** Chris@18: * {@inheritdoc} Chris@18: */ Chris@18: public function getDerivativeDefinitions($base_plugin_definition) { Chris@18: // Provide an edit_form task if standalone media URLs are enabled. Chris@18: $this->derivatives["entity.media.canonical"] = [ Chris@18: 'route_name' => "entity.media.canonical", Chris@18: 'title' => $this->t('Edit'), Chris@18: 'base_route' => "entity.media.canonical", Chris@18: 'weight' => 1, Chris@18: ] + $base_plugin_definition; Chris@18: Chris@18: if ($this->config->get('standalone_url')) { Chris@18: $this->derivatives["entity.media.canonical"]['title'] = $this->t('View'); Chris@18: Chris@18: $this->derivatives["entity.media.edit_form"] = [ Chris@18: 'route_name' => "entity.media.edit_form", Chris@18: 'title' => $this->t('Edit'), Chris@18: 'base_route' => 'entity.media.canonical', Chris@18: 'weight' => 2, Chris@18: ] + $base_plugin_definition; Chris@18: } Chris@18: Chris@18: $this->derivatives["entity.media.delete_form"] = [ Chris@18: 'route_name' => "entity.media.delete_form", Chris@18: 'title' => $this->t('Delete'), Chris@18: 'base_route' => "entity.media.canonical", Chris@18: 'weight' => 10, Chris@18: ] + $base_plugin_definition; Chris@18: Chris@18: return $this->derivatives; Chris@18: } Chris@18: Chris@18: }