You are here

public function InstallablePluginBase::getAvailableInstalls in Markdown 8.2

Retrieves available installs.

Return value

\Drupal\markdown\Plugin\Markdown\InstallablePluginInterface[]

File

src/Plugin/Markdown/InstallablePluginBase.php, line 117

Class

InstallablePluginBase
Base class for installable plugins.

Namespace

Drupal\markdown\Plugin\Markdown

Code

public function getAvailableInstalls() {
  $availableInstalls = [];
  foreach ($this->pluginDefinition->libraries as $library) {
    $definition = clone $this->pluginDefinition;
    $definition
      ->merge($library);
    $definition->libraries = [];
    $availableInstall = new static($this->configuration, $this->pluginId, $definition);
    if ($this instanceof ParserAwareInterface && $availableInstall instanceof ParserAwareInterface) {
      $availableInstall
        ->setParser($this
        ->getParser());
    }
    if ($this instanceof FilterAwareInterface && $availableInstall instanceof FilterAwareInterface) {
      $availableInstall
        ->setFilter($this
        ->getFilter());
    }
    if ($this instanceof FilterFormatAwareInterface && $availableInstall instanceof FilterFormatAwareInterface) {
      $availableInstall
        ->setFilterFormat($this
        ->getFilterFormat());
    }
    $availableInstalls[] = $availableInstall;
  }
  return $availableInstalls;
}