Skip to content

Commit

Permalink
fix #291 group order
Browse files Browse the repository at this point in the history
  • Loading branch information
sgratzl committed Apr 7, 2020
1 parent 3730096 commit 0907e63
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 45 deletions.
44 changes: 0 additions & 44 deletions cypress/integration/issue-291.spec.ts

This file was deleted.

42 changes: 42 additions & 0 deletions cypress/integration/issue-291_sort_groups_items.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import {withLineUp, waitReady, LineUpJSType, LineUp} from './utils/lineup';
import {generateData} from './utils/data';

describe('issue #291', () => {
let lineup: LineUp;
let lineUpJS: LineUpJSType;
before(withLineUp((l, document) => {
lineUpJS = l;
const arr = generateData({
cat: 2
});

const builder = lineUpJS.builder(arr).deriveColumns().deriveColors();

const ranking = lineUpJS.buildRanking()
.aggregate()
.allColumns() // add all columns
.groupBy('cat')
.groupBy('cat1')
.sortBy('number', 'desc')
.groupSortBy('cat', 'desc')
.groupSortBy('cat1', 'desc');
builder.ranking(ranking);

lineup = builder.build(document.body);

waitReady(lineup);
}));

it('item sorting influences group sorting', () => {
cy.get('.le-tr[data-index="0"] > .lu-renderer-categorical').should('contain', 'c3');
cy.get('.le-tr[data-index="0"] > .lu-renderer-string').should('contain', 'Row 62');

// sort items ascending
cy.get('.lu-header[data-type=number] .lu-action-sort').click();
waitReady(lineup);

// still c3,c3 group the first one but item order changed
cy.get('.le-tr[data-index="0"] > .lu-renderer-categorical').should('contain', 'c3');
cy.get('.le-tr[data-index="0"] > .lu-renderer-string').should('contain', 'Row 97');
});
});
2 changes: 1 addition & 1 deletion src/provider/LocalDataProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,7 @@ export default class LocalDataProvider extends ACommonDataProvider {
sortComplex(groupIndices, groupLookup.sortOrders);
return groupIndices.map((i) => groups[i]);
}
return groups.sort((a, b) => a.name.localeCompare(b.name));
return groups;
}

private index2pos(groups: IOrderedGroup[], maxDataIndex: number) {
Expand Down

0 comments on commit 0907e63

Please sign in to comment.