diff --git a/index.html b/index.html index 36cee9e..3d28ef2 100644 --- a/index.html +++ b/index.html @@ -53,7 +53,7 @@ { name: "Name" }, { name: "Position" }, { name: "Office" }, - { name: "Extn." }, + { name: "Extn.", sortOrder: "desc" }, { name: "Start Date" }, { name: "Salary" } ]; diff --git a/src/columnmanager.js b/src/columnmanager.js index 7113ae9..4b2f749 100644 --- a/src/columnmanager.js +++ b/src/columnmanager.js @@ -273,6 +273,16 @@ export default class ColumnManager { $.on(this.header, 'keydown', '.dt-filter', debounce(handler, 300)); } + applyDefaultSortOrder() { + // sort rows if any 1 column has a default sortOrder set + const columnsToSort = this.getColumns().filter(col => col.sortOrder !== 'none'); + + if (columnsToSort.length === 1) { + const column = columnsToSort[0]; + this.sortColumn(column.colIndex, column.sortOrder); + } + } + sortRows(colIndex, sortOrder) { return this.datamanager.sortRows(colIndex, sortOrder); } diff --git a/src/datamanager.js b/src/datamanager.js index f5dd8f9..6d38fee 100644 --- a/src/datamanager.js +++ b/src/datamanager.js @@ -32,7 +32,6 @@ export default class DataManager { this.prepareRows(); this.prepareTreeRows(); this.prepareRowView(); - this.prepareNumericColumns(); } diff --git a/src/datatable.js b/src/datatable.js index a7f70a6..8761c8a 100644 --- a/src/datatable.js +++ b/src/datatable.js @@ -34,6 +34,7 @@ class DataTable { if (this.options.data) { this.refresh(); + this.columnmanager.applyDefaultSortOrder(); } }