43         bool $isEditable = 
false    50         $this->
setId(
'acc_documents');
    55         $this->
setTitle($this->
lng->txt(
'acc_tbl_docs_title'));
    56         $this->
setFormAction($this->
ctrl->getFormAction($this->getParentObject(), $command));
    64         $this->
setRowTemplate(
'tpl.acc_documents_row.html', 
'Services/Accessibility');
    66         if ($this->isEditable) {
    79         if ($this->isEditable) {
    86                 'is_checkbox' => 
true,
    93             'txt' => $this->
lng->txt(
'acc_tbl_docs_head_sorting'),
   102             'txt' => $this->
lng->txt(
'acc_tbl_docs_head_title'),
   110             'field' => 
'creation_ts',
   111             'txt' => $this->
lng->txt(
'acc_tbl_docs_head_created'),
   118             'field' => 
'modification_ts',
   119             'txt' => $this->
lng->txt(
'acc_tbl_docs_head_last_change'),
   126             'field' => 
'criteria',
   127             'txt' => $this->
lng->txt(
'acc_tbl_docs_head_criteria'),
   133         if ($this->isEditable) {
   135                 'field' => 
'actions',
   136                 'txt' => $this->
lng->txt(
'actions'),
   149         foreach ($data[
'items'] as 
$key => $document) {
   152             $data[
'items'][
$key] = [
   153                 'id' => $document->getId(),
   154                 'title' => $document->getTitle(),
   155                 'creation_ts' => $document->getCreationTs(),
   156                 'modification_ts' => $document->getModificationTs(),
   157                 'text' => $document->getText(),
   159                 'criteriaAssignments' => $document->criteria()
   170         if (in_array($column, [
'creation_ts', 
'modification_ts'])) {
   172         } elseif (
'sorting' === $column) {
   174         } elseif (
'title' === $column) {
   176         } elseif (
'actions' === $column) {
   178         } elseif (
'chb' === $column) {
   180         } elseif (
'criteria' === $column) {
   181             return $this->formatCriterionAssignments($column, $row);
   184         return parent::formatCellValue($column, $row);
   192         if (!$this->isEditable) {
   198         $editBtn = $this->uiFactory
   201                 $this->
lng->txt(
'edit'),
   205         $deleteModal = $this->uiFactory
   208                 $this->
lng->txt(
'acc_doc_delete'),
   209                 $this->
lng->txt(
'acc_sure_delete_documents_s'),
   213         $deleteBtn = $this->uiFactory
   215             ->shy($this->
lng->txt(
'delete'), 
'#')
   216             ->withOnClick($deleteModal->getShowSignal());
   218         $this->uiComponents[] = $deleteModal;
   220         $attachCriterionBtn = $this->uiFactory
   223                 $this->
lng->txt(
'acc_tbl_docs_action_add_criterion'),
   229         $dropDown = $this->uiFactory
   231             ->standard([$editBtn, $deleteBtn, $attachCriterionBtn])
   232             ->withLabel($this->
lng->txt(
'actions'));
   234         return $this->uiRenderer->render([$dropDown]);
   241     protected function formatCriterionAssignments(
string $column, array $row): 
string   245         if (0 === count($row[
'criteriaAssignments'])) {
   246             return $this->
lng->txt(
'acc_tbl_docs_cell_not_criterion');
   249         foreach ($row[
'criteriaAssignments'] as $criterion) {
   255             $editBtn = $this->uiFactory
   258                     $this->
lng->txt(
'edit'),
   262             $deleteModal = $this->uiFactory
   265                     $this->
lng->txt(
'acc_doc_detach_crit_confirm_title'),
   266                     $this->
lng->txt(
'acc_doc_sure_detach_crit'),
   270             $deleteBtn = $this->uiFactory
   272                 ->shy($this->
lng->txt(
'delete'), 
'#')
   273                 ->withOnClick($deleteModal->getShowSignal());
   275             $dropDown = $this->uiFactory
   277                 ->standard([$editBtn, $deleteBtn]);
   279             $criterionType = $this->criterionTypeFactory->findByTypeIdent($criterion->getCriterionId(), 
true);
   280             $typeGui = $criterionType->ui($this->
lng);
   282             $items[implode(
' ', [
   283                 $typeGui->getIdentPresentation(),
   284                 ($this->isEditable ? $this->uiRenderer->render($dropDown) : 
'')
   286                 $this->uiFactory->legacy(
   287                     $this->uiRenderer->render(
   288                         $typeGui->getValuePresentation(
   289                             $criterion->getCriterionValue(),
   295             if ($this->isEditable) {
   296                 $this->uiComponents[] = $deleteModal;
   303         $criteriaList = $this->uiFactory
   305             ->descriptive($items);
   307         return $this->uiRenderer->render([
   312     protected function formatTitle(
string $column, array $row): string
   314         $modal = $this->uiFactory
   316             ->lightbox([$this->uiFactory->modal()->lightboxTextPage($row[
'text'], $row[
'title'])]);
   318         $titleLink = $this->uiFactory
   320             ->shy($row[$column], 
'#')
   321             ->withOnClick($modal->getShowSignal());
   323         return $this->uiRenderer->render([$titleLink, $modal]);
   328         $value = ($this->i++) * $this->factor;
   329         if (!$this->isEditable) {
   330             return (
string) $value;
   334         $sortingField->setValue((
string) $value);
   335         $sortingField->setMaxLength(4);
   336         $sortingField->setSize(2);
   338         return $sortingField->render();
   343         return parent::getHTML() . $this->uiRenderer->render($this->uiComponents);
 An entity that renders components to a string output. 
 
setFormAction(string $a_form_action, bool $a_multipart=false)
 
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
 
Class ChatMainBarProvider . 
 
setSelectAllCheckbox(string $a_select_all_checkbox, bool $a_select_all_on_top=false)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
formatCellValue(string $column, array $row)
 
setFormName(string $a_name="")
 
__construct(ilAccessibilityControllerEnabled $a_parent_obj, string $command, ilAccessibilityCriterionTypeFactoryInterface $criterionTypeFactory, ILIAS\UI\Factory $uiFactory, ILIAS\UI\Renderer $uiRenderer, bool $isEditable=false)
 
ILIAS UI Factory $uiFactory
 
formatSorting(array $row)
 
setExternalSorting(bool $a_val)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setDefaultOrderField(string $a_defaultorderfield)
 
preProcessData(array &$data)
 
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template. 
 
formatTitle(string $column, array $row)
 
setDefaultOrderDirection(string $a_defaultorderdirection)
 
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
 
ILIAS UI Renderer $uiRenderer
 
setLimit(int $a_limit=0, int $a_default_limit=0)
 
ilAccessibilityCriterionTypeFactoryInterface $criterionTypeFactory
 
Class ilAccessibilityDocumentTableGUI. 
 
addMultiCommand(string $a_cmd, string $a_text)
 
formatActionsDropDown(string $column, array $row)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setExternalSegmentation(bool $a_val)