Skip to content

Commit

Permalink
Fixed #1989 - Non-sortable columns call onSort callback in DataTable
Browse files Browse the repository at this point in the history
  • Loading branch information
mertsincan committed Apr 26, 2021
1 parent 1b65e88 commit a34e7a3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 10 deletions.
14 changes: 5 additions & 9 deletions src/components/datatable/DataTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -565,23 +565,19 @@ export class DataTable extends Component {
if (this.props.sortMode === 'multiple') {
let metaKey = event.originalEvent.metaKey || event.originalEvent.ctrlKey;
let sortableDisabledFields = event.sortableDisabledFields;
multiSortMeta = this.getMultiSortMeta();
multiSortMeta = [...(this.getMultiSortMeta()||[])];

if (multiSortMeta && multiSortMeta instanceof Array) {
const sortMeta = multiSortMeta.find(sortMeta => sortMeta.field === sortField);
sortOrder = sortMeta ? this.getCalculatedSortOrder(sortMeta.order) : sortOrder;
}
const sortMeta = multiSortMeta.find(sortMeta => sortMeta.field === sortField);
sortOrder = sortMeta ? this.getCalculatedSortOrder(sortMeta.order) : sortOrder;

const newMetaData = {field: sortField, order: sortOrder};

if (sortOrder) {
if(!multiSortMeta || !metaKey) {
multiSortMeta = multiSortMeta ? multiSortMeta.filter((meta) => sortableDisabledFields.some((field) => field === meta.field)) : [];
}
multiSortMeta = metaKey ? multiSortMeta : multiSortMeta.filter((meta) => sortableDisabledFields.some((field) => field === meta.field));

this.addSortMeta(newMetaData, multiSortMeta);
}
else if (this.props.removableSort && multiSortMeta) {
else if (this.props.removableSort) {
this.removeSortMeta(newMetaData, multiSortMeta);
}

Expand Down
2 changes: 1 addition & 1 deletion src/components/datatable/HeaderCell.js
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ export class HeaderCell extends Component {
}

isSortableDisabled() {
return this.props.columnProps.sortable && (this.props.allSortableDisabled || this.props.columnProps.sortableDisabled);
return !this.props.columnProps.sortable || (this.props.columnProps.sortable && (this.props.allSortableDisabled || this.props.columnProps.sortableDisabled));
}

isSingleSorted() {
Expand Down

0 comments on commit a34e7a3

Please sign in to comment.