UPDATE-RATE

Die Test-Installation wird aktuell zwischen 8:00 und 18:00 Uhr stündlich zur vollen Stunde aktualisiert.

Alles neu macht der Mai

ILIAS 9 ist da! Alle Infos zu den Highlights der neuen Version gibt es hier!

Documentation

Kitchen Sink documentation of style: 'Delos' of skin: 'ILIAS'

Status Icon

Description

Purpose
Sometimes, a status or progress is better expressed by an Icon. Use the StatusIcon Column for it.

Example 1: Base

StatusIcons Columns

icon: check:
icon: check:
icon: check:
<?php
 
declare(strict_types=1);
 
namespace ILIAS\UI\examples\Table\Column\StatusIcon;
 
use ILIAS\UI\Implementation\Component\Table as T;
use ILIAS\UI\Component\Table as I;
use ILIAS\Data\Range;
use ILIAS\Data\Order;
 
function base()
{
    global $DIC;
    $f = $DIC['ui.factory'];
    $r = $DIC['ui.renderer'];
 
    $dummy_records = [23, 45, 67];
 
    $columns = [
        'i1' => $f->table()->column()->statusIcon("icon"),
        'i2' => $f->table()->column()->statusIcon("check")
    ];
 
    $data_retrieval = new class ($f, $r, $dummy_records) implements I\DataRetrieval {
        public function __construct(
            protected \ILIAS\UI\Factory $ui_factory,
            protected \ILIAS\UI\Renderer $ui_renderer,
            protected array $records
        ) {
        }
 
        public function getRows(
            I\DataRowBuilder $row_builder,
            array $visible_column_ids,
            Range $range,
            Order $order,
            ?array $filter_data,
            ?array $additional_parameters
        ): \Generator {
            foreach ($this->records as $number) {
                $row_id = '';
                $record['i1'] = $this->ui_factory->symbol()->icon()->standard('crs', '', 'small');
                $record['i2'] = $this->ui_factory->symbol()->icon()->custom(
                    'templates/default/images/standard/icon_checked.svg',
                    '',
                    'small'
                );
                yield $row_builder->buildDataRow($row_id, $record);
            }
        }
 
        public function getTotalRowCount(
            ?array $filter_data,
            ?array $additional_parameters
        ): ?int {
            return count($this->records);
        }
    };
 
    $table = $f->table()->data('StatusIcons Columns', $columns, $data_retrieval)
        ->withRequest($DIC->http()->request());
    return $r->render($table);
}
 

Relations

Parents
  1. UIComponent
  2. Table
  3. Column