N°4048 Correctly set default sorting on lists

This commit is contained in:
Stephen Abello
2021-06-02 15:21:35 +02:00
committed by Eric
parent 0659639b53
commit 497d77d89c
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) {

View File

@@ -46,7 +46,7 @@ var oTable{{ sListIfForVarSuffix }} = $('#{{ oUIBlock.GetId() }}').DataTable({
{% endif %}
lengthMenu: [[ {{ iPageSize }}, {{ iPageSize*2 }}, {{ iPageSize*3 }}, {{ iPageSize*4 }}, -1], [ {{ iPageSize }}, {{ iPageSize*2 }}, {{ iPageSize*3 }}, {{ iPageSize*4 }}, "{{ 'UI:Datatables:Language:DisplayLength:All'|dict_s }}"]],
dom: "<'ibo-datatable--toolbar'<'ibo-datatable--toolbar-left' pl><'ibo-datatable--toolbar-right' i>>t<'ibo-datatable--toolbar'<'ibo-datatable--toolbar-left' pl><'ibo-datatable--toolbar-right' i>>",
{% if( oUIBlock.GetOptions("sort")[0] is defined ) %}
{% if( oUIBlock.GetOption("sort")[0] is defined ) %}
order: [[{{ oUIBlock.GetOptions()["sort"][0] }}, '{{ oUIBlock.GetOptions()["sort"][1] }}']],
{% else %}
order: [],