N°4048 Correctly set default sorting on lists

This commit is contained in:
Stephen Abello
2021-06-02 15:21:35 +02:00
parent dd614f5931
commit c11ad30134
3 changed files with 8 additions and 3 deletions

View File

@@ -136,8 +136,9 @@ class DataTableSettings implements Serializable
if (array_key_exists($sNormalizedFName, $aSortOrder)) {
$sSort = $aSortOrder[$sNormalizedFName] ? 'asc' : 'desc';
}
$aColumns[$sAlias]['_key_'] = $oSettings->GetFieldData($sAlias, '_key_', null, true /* bChecked */, $sSort);
}
$aColumns[$sAlias]['_key_'] = $oSettings->GetFieldData($sAlias, '_key_', null, true /* bChecked */, "none");
foreach ($aList as $sAttCode) {
$sSort = 'none';
if (array_key_exists($sAttCode, $aSortOrder)) {

View File

@@ -285,7 +285,7 @@ class DataTableUIBlockFactory extends AbstractUIBlockFactory
$oSet->SetLimit($oCustomSettings->iDefaultPageSize);
}
if (sizeof($oCustomSettings->aColumns) == 0)
if (count($oCustomSettings->aColumns) == 0)
{
$oCustomSettings->aColumns = $oDefaultSettings->aColumns;
$oCustomSettings->aSortOrder = $oDefaultSettings->aSortOrder;
@@ -324,6 +324,10 @@ class DataTableUIBlockFactory extends AbstractUIBlockFactory
$aSortOrder[$sAlias.$sCode] = ($aData['sort'] == 'asc'); // true for ascending, false for descending
$aSortDatable=[$iIndexColumn,$aData['sort']];
}
elseif (isset($oCustomSettings->aSortOrder[$sAttCode])){
$aSortOrder[$sAlias.$sCode] = $oCustomSettings->aSortOrder[$sAttCode]; // true for ascending, false for descending
}
if ($aData['checked']) {
if ($sAttCode == '_key_') {
if ($bViewLink) {