19 declare(strict_types=1);
32 $this->ui_factory = $DIC->ui()->factory();
33 $this->renderer = $DIC->ui()->renderer();
37 $this->parent_obj = $a_parent_obj;
39 $this->
ctrl = $DIC->ctrl();
40 $this->
lng = $DIC->language();
46 $this->
ctrl->setParameterByClass(ilDclTableViewGUI::class,
'table_id', $table->
getId());
47 $this->
setFormAction($this->
ctrl->getFormActionByClass(ilDclTableViewGUI::class));
48 $this->
addMultiCommand(
'confirmDeleteTableviews', $this->
lng->txt(
'dcl_delete_views'));
55 $this->
addColumn($this->
lng->txt(
'dcl_order'),
'',
'30px');
57 $this->
setRowTemplate(
'tpl.tableview_list_row.html',
'Modules/DataCollection');
58 $this->
setData($this->table->getTableViews());
60 $this->
setRowTemplate(
'tpl.detailview_list_row.html',
'Modules/DataCollection');
61 $this->
setData($this->table->getVisibleTableViews(0,
true));
65 $this->
addColumn($this->
lng->txt(
'description'),
'',
'auto');
66 $this->
addColumn($this->
lng->txt(
'actions'),
'',
'30px');
77 $this->
setId(
'dcl_tableviews');
78 $this->
setTitle($this->table->getTitle());
79 $this->
setStyle(
'table', $this->
getStyle(
'table') .
' ' .
'dcl_record_list');
102 if ($this->form_multipart) {
103 $this->tpl->touchBlock(
"form_multipart_bl");
107 $this->tpl->touchBlock(
"pdfs");
110 $this->tpl->setCurrentBlock(
"tbl_form_header");
111 $this->tpl->setVariable(
"FORMACTION", $this->
getFormAction() . $hash);
112 $this->tpl->setVariable(
"FORMNAME", $this->
getFormName());
113 $this->tpl->parseCurrentBlock();
117 $this->tpl->touchBlock(
"tbl_form_footer");
121 if (!$this->enabled[
'content']) {
131 $this->
setFooter(
"tblfooter", $this->
lng->txt(
"previous"), $this->
lng->txt(
"next"));
157 $this->tpl->addBlockFile(
161 $this->row_template_dir
164 foreach ($data as $set) {
165 $this->tpl->setCurrentBlock(
"tbl_content");
166 $this->css_row = ($this->css_row !==
"tblrow1")
169 $this->tpl->setVariable(
"CSS_ROW", $this->css_row);
172 $this->tpl->setCurrentBlock(
"tbl_content");
173 $this->tpl->parseCurrentBlock();
179 : $this->
lng->txt(
"no_items");
181 $this->css_row = ($this->css_row !==
"tblrow1")
185 $this->tpl->setCurrentBlock(
"tbl_no_entries");
186 $this->tpl->setVariable(
'TBL_NO_ENTRY_CSS_ROW', $this->css_row);
187 $this->tpl->setVariable(
'TBL_NO_ENTRY_COLUMN_COUNT', $this->column_count);
188 $this->tpl->setVariable(
'TBL_NO_ENTRY_TEXT', trim($no_items_text));
189 $this->tpl->parseCurrentBlock();
211 $this->tpl->setVariable(
"ID", $a_set->
getId());
212 $this->tpl->setVariable(
"ORDER_NAME",
"order[{$a_set->getId()}]");
213 $this->tpl->setVariable(
"ORDER_VALUE", $a_set->
getOrder());
215 $this->tpl->setVariable(
"TITLE", $a_set->
getTitle());
216 $this->
ctrl->setParameterByClass(ilDclTableViewEditGUI::class,
'tableview_id', $a_set->
getId());
217 $this->tpl->setVariable(
"TITLE_LINK", $this->
ctrl->getLinkTargetByClass(
218 [ilDclTableListGUI::class, ilDclTableViewGUI::class, ilDclTableViewEditGUI::class]
230 $dropdown_items = [];
232 $this->
ctrl->setParameterByClass(ilDclTableViewGUI::class,
'tableview_id', $id);
233 $this->
ctrl->setParameterByClass(ilDclDetailedViewDefinitionGUI::class,
'tableview_id', $id);
235 $dropdown_items[] = $this->ui_factory->link()->standard(
236 $this->
lng->txt(
'edit'),
237 $this->
ctrl->getLinkTargetByClass(ilDclTableViewEditGUI::class,
'editGeneralSettings')
239 $dropdown_items[] = $this->ui_factory->link()->standard(
240 $this->
lng->txt(
'copy'),
241 $this->
ctrl->getLinkTargetByClass(ilDclTableViewEditGUI::class,
'copy')
243 $dropdown_items[] = $this->ui_factory->link()->standard(
244 $this->
lng->txt(
'delete'),
245 $this->
ctrl->getLinkTargetByClass(ilDclTableViewEditGUI::class,
'confirmDelete')
247 $dropdown = $this->ui_factory->dropdown()->standard($dropdown_items)->withLabel($this->
lng->txt(
'actions'));
249 return $this->renderer->render($dropdown);
251 $this->
ctrl->setParameterByClass(ilDclDetailedViewGUI::class,
'tableview_id', $id);
252 $this->
ctrl->saveParameterByClass(ilDclDetailedViewGUI::class,
'record_id');
253 $link = $this->ui_factory->link()->standard(
254 $this->
lng->txt(
'view'),
255 $this->
ctrl->getLinkTargetByClass(ilDclDetailedViewGUI::class,
'renderRecord')
257 return $this->renderer->render($link);
numericOrdering(string $a_field)
Should this field be sorted numeric?
prepareOutput()
Anything that must be done before HTML is generated.
setTopCommands(bool $a_val)
getStyle(string $a_element)
setFormAction(string $a_form_action, bool $a_multipart=false)
ilDclTableViewGUI: ilDclTableViewEditGUI
setEnableTitle(bool $a_enabletitle)
addCommandButton(string $a_cmd, string $a_text, string $a_onclick='', string $a_id="", string $a_class="")
__construct(object $a_parent_obj, string $a_parent_cmd, ilDclTable $table, int $ref_id)
setShowTemplates(bool $a_value)
fillRowFromObject(ilDclTableView $a_set)
setFormName(string $a_name="")
buildAction(int $id)
build either actions menu or view button
exportData(int $format, bool $send=false)
Export and optionally send current table data.
setStyle(string $a_element, string $a_style)
setExternalSorting(bool $a_val)
setShowRowsSelector(bool $a_value)
Toggle rows-per-page selector.
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
getExternalSegmentation()
setDefaultOrderDirection(string $a_defaultorderdirection)
getPreventDoubleSubmission()
setTitle(string $a_title, string $a_icon="", string $a_icon_alt="")
ILIAS UI Renderer $renderer
setFooter(string $a_style, string $a_previous="", string $a_next="")
setLimit(int $a_limit=0, int $a_default_limit=0)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)
ILIAS UI Factory $ui_factory
static setUseRelativeDates(bool $a_status)
set use relative dates
addMultiCommand(string $a_cmd, string $a_text)
determineOffsetAndOrder(bool $a_omit_offset=false)
setEnableHeader(bool $a_enableheader)
setMaxCount(int $a_max_count)
set max.
ilDclDetailedViewGUI: ilDclDetailedViewDefinitionGUI, ilEditClipboardGUI, ilCommentGUI ...
setExternalSegmentation(bool $a_val)
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)