public function FlagListsFlagListBuilder::buildRow in Flag Lists 4.0.x
File
- src/
FlagListsFlagListBuilder.php, line 90
Class
- FlagListsFlagListBuilder
- Defines a class to build an enhanced listing of Flag entities.
Namespace
Drupal\flag_listsCode
public function buildRow(EntityInterface $entity) {
/** @var \Drupal\flag_lists\Entity\FlaggingCollection $entity */
$row['flagListUsage']['#markup'] = $this
->t('-');
$row['creator']['#markup'] = $this
->t('-');
$total = parent::buildRow($entity);
if (!empty($this->flagListsService
->getFlagForListById($entity
->id()))) {
$row['flagListUsage']['#markup'] = $this
->t('Template');
}
if (!empty($this->flagListsService
->getflaggingCollectionIdByRelated($entity
->id()))) {
$config = $this->configFactory
->get('flag_lists.settings');
if ($config
->get('hide_collections') == 1) {
// Don't list the Flagging Collections in the overview.
return NULL;
}
$row['flagListUsage']['#markup'] = $this
->t('Flagging Collection');
$flaggingCollectionId = $this->flagListsService
->getflaggingCollectionIdByRelated($entity
->id());
$flaggingCollectionId = array_key_first($flaggingCollectionId);
$row['creator']['#markup'] = $this->flagListsService
->getFlaggingCollectionById($flaggingCollectionId)
->getOwner()
->getDisplayName();
// Add the Flagging Collection Canonical link.
$flaggingCollectionId = implode("|", $this->flagListsService
->getflaggingCollectionIdByRelated($entity
->id()));
$firstItem['view']['title'] = $this
->t('View');
$firstItem['view']['weight'] = 10;
$firstItem['view']['url'] = Url::fromRoute('entity.flagging_collection.canonical', [
'flagging_collection' => $flaggingCollectionId,
]);
$subTotal = $firstItem + $total['operations']['data']['#links'];
$total['operations']['data']['#links'] = $subTotal;
// Also unset some operations that must be handle at other places.
unset($total['operations']['data']['#links']['edit']);
unset($total['operations']['data']['#links']['disable']);
unset($total['operations']['data']['#links']['delete']);
unset($total['operations']['data']['#links']['reset']);
unset($total['operations']['data']['#links']['manage-fields']);
unset($total['operations']['data']['#links']['manage-form-display']);
unset($total['operations']['data']['#links']['manage-display']);
}
$first_array = array_splice($total, 0, 5);
$total = array_merge($first_array, $row, $total);
return $total;
}