N°3914 Fix configure this list "sort fields" feature

This commit is contained in:
Stephen Abello
2021-05-25 15:38:52 +02:00
parent 2cbca93d77
commit 14930fbab2
2 changed files with 33 additions and 7 deletions

View File

@@ -12,7 +12,9 @@ $ibo-datatable-panel--table-spacing: 48px !default;
$ibo-datatable-panel--body--padding: $ibo-panel--body--padding-top 0px $ibo-panel--body--padding-bottom !default;
$ibo-datatable--selection-validation-buttons-toolbar--margin-top: 10px !default;
$ibo-list-column--max-height: 150px;
$ibo-list-column--max-height: 150px !default;
$ibo-datatable--sort-order--color: $ibo-color-orange-600 !default;
.ibo-datatable--toolbar {
display: flex;
@@ -74,4 +76,23 @@ $ibo-list-column--max-height: 150px;
.ibo-datatable .ibo-field-badge {
margin: 0;
padding: 0px 4px;
}
// Datatables configure this list dialog
// Could be in a separate component, but is only used in datatables as of now
.ibo-sort-order{
&::after{
@extend %fa-solid-base;
color: $ibo-datatable--sort-order--color;
}
&.ibo-is-descending::after{
content: '\f0dd';
}
&.ibo-is-ascending::after{
content: '\f0de';
}
&.ibo-is-none::after{
content: '\f0dc';
}
}

View File

@@ -66,15 +66,15 @@ $(function()
if (f.sort == 'none')
{
sSortOrder = '&nbsp;<span sort="none" class="sort_order sort_none' + sHidden + '"/>&nbsp;</span>';
sSortOrder = '&nbsp;<span sort="none" class="sort_order sort_none ibo-sort-order ibo-is-none' + sHidden + '"/>&nbsp;</span>';
}
else if (f.sort == 'asc')
{
sSortOrder = '&nbsp;<span sort="none" class="sort_order sort_asc' + sHidden + '"/>&nbsp;</span>';
sSortOrder = '&nbsp;<span sort="none" class="sort_order sort_asc ibo-sort-order ibo-is-ascending' + sHidden + '"/>&nbsp;</span>';
}
else if (f.sort == 'desc')
{
sSortOrder = '&nbsp;<span sort="none" class="sort_order sort_desc' + sHidden + '">&nbsp;</span>';
sSortOrder = '&nbsp;<span sort="none" class="sort_order sort_desc ibo-sort-order ibo-is-descending' + sHidden + '">&nbsp;</span>';
}
}
var field = $('<li name="' + k + '" alias="' + f.alias + '" code="' + f.code + '"><input type="checkbox"' + sChecked + sDisabled + '/>&nbsp;' + f.label + sSortOrder + '</li>');
@@ -204,20 +204,25 @@ $(function()
if (this != elt)
{
$(this).attr('sort', 'none').removeClass('sort_asc').removeClass('sort_desc').addClass('sort_none');
$(this).attr('sort', 'none').removeClass('ibo-is-ascending').removeClass('ibo-is-descending').addClass('ibo-is-none');
}
});
var sSortOrder = oElt.attr('sort');
if (sSortOrder == 'none')
{
oElt.attr('sort', 'asc').removeClass('sort_none').addClass('sort_asc');
oElt.attr('sort', 'asc').removeClass('sort_none').addClass('sort_asc');
oElt.attr('sort', 'asc').removeClass('ibo-is-none').addClass('ibo-is-ascending');
}
else if (sSortOrder == 'asc')
{
oElt.attr('sort', 'desc').removeClass('sort_asc').addClass('sort_desc');
oElt.attr('sort', 'desc').removeClass('sort_asc').addClass('sort_desc');
oElt.attr('sort', 'desc').removeClass('ibo-is-ascending').addClass('ibo-is-descending');
}
else if (sSortOrder == 'desc')
{
oElt.attr('sort', 'none').removeClass('sort_desc').addClass('sort_none');
oElt.attr('sort', 'none').removeClass('sort_desc').addClass('sort_none');
oElt.attr('sort', 'none').removeClass('ibo-is-descending').addClass('ibo-is-none');
}
this._notifyChange();
},