You are here

protected function ConfigSelectorSortTrait::sortConfigEntities in Configuration selector 8

Same name and namespace in other branches
  1. 8.2 src/ConfigSelectorSortTrait.php \Drupal\config_selector\ConfigSelectorSortTrait::sortConfigEntities()

Sorts an array of configuration entities by priority then config name.

Parameters

\Drupal\Core\Config\Entity\ConfigEntityInterface[] $configs: Array of configuration entities to sort.

Return value

\Drupal\Core\Config\Entity\ConfigEntityInterface[] The sorted array of configuration entities.

4 calls to ConfigSelectorSortTrait::sortConfigEntities()
ActiveEntity::get in src/ActiveEntity.php
Gets the active entity from the entity type and config_selector feature.
ConfigSelector::selectConfig in src/ConfigSelector.php
Selects configuration to enable and disable after installing a module.
ConfigSelector::selectConfigOnUninstall in src/ConfigSelector.php
Selects configuration to enable after uninstalling a module.
FeatureManageForm::form in src/Form/FeatureManageForm.php
Gets the actual form array to be built.

File

src/ConfigSelectorSortTrait.php, line 19

Class

ConfigSelectorSortTrait
Provides a sort function for sorting config entities for config_selector.

Namespace

Drupal\config_selector

Code

protected function sortConfigEntities(array $configs) {
  uksort($configs, function ($a, $b) use ($configs) {
    $a_priority = $configs[$a]
      ->getThirdPartySetting('config_selector', 'priority', 0);
    $b_priority = $configs[$b]
      ->getThirdPartySetting('config_selector', 'priority', 0);
    if ($a_priority === $b_priority) {
      return strcmp($a, $b);
    }
    return $a_priority < $b_priority ? -1 : 1;
  });
  return $configs;
}