MDL-77150 core_table: Fix classes added as columnsattributes are ignored

Fix columnattributes with key 'class' being ingored by adding them to every 'column_class'.
This commit is contained in:
Mikel Martín 2023-02-07 14:51:36 +01:00
parent 9ee4f8db8b
commit 86311f5a40
2 changed files with 8 additions and 1 deletions

View File

@ -1143,6 +1143,12 @@ class flexible_table {
foreach ($row as $index => $data) {
$column = $colbyindex[$index];
$columnattributes = $this->columnsattributes[$column] ?? [];
if (isset($columnattributes['class'])) {
$this->column_class($column, $columnattributes['class']);
unset($columnattributes['class']);
}
$attributes = [
'class' => "cell c{$index}" . $this->column_class[$column],
'id' => "{$rowid}_c{$index}",
@ -1155,7 +1161,7 @@ class flexible_table {
$attributes['scope'] = 'row';
}
$attributes += $this->columnsattributes[$column] ?? [];
$attributes += $columnattributes;
if (empty($this->prefs['collapse'][$column])) {
if ($this->column_suppress[$column] && $suppresslastrow !== null && $suppresslastrow[$index] === $data) {

View File

@ -72,6 +72,7 @@ information provided here is intended especially for developers.
* The core/modal module and all their versions (SAVE_CANCEL, DELETE_CANCEL...) now has a setButtonDisable to disable or enable
specific modal action buttons. This function allows developers to have modals that could only be submited if the user do some
action in the modal body like ticking a checkbox or selecting an element.
* The method `flexible_table::set_columnsattributes` now can be used with 'class' key to add custom classes to the DOM.
=== 4.1 ===