public function SkinListBuilder::render in Skinr 8.2
Builds the entity listing as renderable array for table.html.twig.
@todo Add a link to add a new item to the #empty text.
Overrides EntityListBuilder::render
File
- skinr_ui/
src/ Controller/ SkinListBuilder.php, line 102 - Contains \Drupal\skinr_ui\Controller\SkinListBuilder.
Class
- SkinListBuilder
- Returns responses for devel module routes.
Namespace
Drupal\skinr_ui\ControllerCode
public function render() {
$entities = $this
->load();
$list['#type'] = 'container';
$list['#attributes']['id'] = 'skin-entity-list';
$list['#attached']['library'][] = 'core/drupal.ajax';
$list['#attached']['library'][] = 'skinr_ui/skinr_ui.listing';
$form['filters'] = array(
'#type' => 'container',
'#attributes' => array(
'class' => array(
'table-filter',
'js-show',
),
),
);
$list['filters']['text'] = array(
'#type' => 'search',
'#title' => $this
->t('Filter'),
'#title_display' => 'invisible',
'#size' => 40,
'#placeholder' => $this
->t('Filter by view name or description'),
'#attributes' => array(
'class' => array(
'skin-filter-text',
),
'data-table' => '.skin-listing-table',
'autocomplete' => 'off',
'title' => $this
->t('Enter a part of the skin name or description to filter by.'),
),
);
$list['enabled']['heading']['#markup'] = '<h2>' . $this
->t('Enabled', array(), array(
'context' => 'Plural',
)) . '</h2>';
$list['disabled']['heading']['#markup'] = '<h2>' . $this
->t('Disabled', array(), array(
'context' => 'Plural',
)) . '</h2>';
foreach (array(
'enabled',
'disabled',
) as $status) {
$list[$status]['#type'] = 'container';
$list[$status]['#attributes'] = array(
'class' => array(
'skin-list-section',
$status,
),
);
$list[$status]['table'] = array(
'#type' => 'table',
'#attributes' => array(
'class' => array(
'skin-listing-table',
),
),
'#header' => $this
->buildHeader(),
'#rows' => array(),
);
foreach ($entities as $entity) {
if ($entity
->status() != ($status == 'enabled' ? TRUE : FALSE)) {
continue;
}
$list[$status]['table']['#rows'][$entity
->id()] = $this
->buildRow($entity);
}
}
// @todo Use a placeholder for the entity label if this is abstracted to
// other entity types.
$list['enabled']['table']['#empty'] = $this
->t('There are no enabled skins.');
$list['disabled']['table']['#empty'] = $this
->t('There are no disabled skins.');
return $list;
}