Skip to content

Commit

Permalink
[sankey] Fix Broken Sorting for the Nodes (#17)
Browse files Browse the repository at this point in the history
Co-authored-by: Bassem Chagra <bassem.chagra@uniberg.com>
  • Loading branch information
ch-bas and Bassem Chagra authored Dec 2, 2020
1 parent dbf3fc5 commit 604747a
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 35 deletions.
12 changes: 3 additions & 9 deletions public/lib/agg_response_helper.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,17 +65,11 @@ module.exports = (function() {
return nodeIdMap;
}

function _generateSortedNodeArray(nodesMap) {
function _generateNodeArray(nodesMap) {
const nodeArray = [];
// create sort array
nodesMap.forEach((nodeName, nodeId) => {
nodeArray.push({ nodeId, name: nodeName });
});
nodeArray.sort((node1,node2) => {
const node1Name = node1.name.toString();
const node2Name = node2.name.toString();
return node1Name.localeCompare(node2Name);
});
return nodeArray;
}

Expand Down Expand Up @@ -129,7 +123,7 @@ module.exports = (function() {
const paths = _convertObjectToArray({rows, missingValues, groupBucket});
const nodesMap = _generateNodesMap(paths);
const linksMap = _generateLinksMap(paths, nodesMap);
const nodes = _generateSortedNodeArray(nodesMap);
const nodes = _generateNodeArray(nodesMap);
const nodeIdMap = _generateNodeIdMap(nodes);
const convertedLinks = _convertLinksMapToArray(linksMap, nodeIdMap);
const cleanedD3Nodes = nodes.map(({name}) => { return { name }; });
Expand All @@ -146,7 +140,7 @@ module.exports = (function() {
_getNodeId,
_generateLinksMap,
_generateNodeIdMap,
_generateSortedNodeArray,
_generateNodeArray,
_convertLinksMapToArray,

aggregate
Expand Down
28 changes: 2 additions & 26 deletions test/agg_response_helperTest.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
const assert = require('assert');

const stringify = require('json-stable-stringify');
const aggResponseHelper = require('../public/lib/agg_response_helper');

describe('aggResponseHelper', function() {
Expand Down Expand Up @@ -32,7 +31,7 @@ describe('aggResponseHelper', function() {
{ source: 1, target: 5, value: 90 },
{ source: 0, target: 5, value: 90 },
];
const result = aggResponseHelper.aggregate(data);
const result = aggResponseHelper.aggregate(data);
const result_nodes = result.nodes;
const result_links = result.links;
assert.notStrictEqual(result_nodes, expected_nodes);
Expand Down Expand Up @@ -66,34 +65,11 @@ describe('aggResponseHelper', function() {
{ name: 'node0' },
{ name: 'node0' }
];
const result = aggResponseHelper.aggregate(data);
const result = aggResponseHelper.aggregate(data);
const result_nodes = result.nodes;
assert.notStrictEqual(result_nodes, expected_nodes);
});
});

describe('privateFkt_generateRefNodesIdMap', function() {
it('should create nodes in the right order', function() {
/*
* n0 - n3 - n2
* n1 - n2 - n1
*/
const data = [
[ 'node0', 'node3', 'node2', 90 ],
[ 'node1', 'node2', 'node1', 90 ]
];
const nodesMap = new Map();
nodesMap.set(stringify({"layerIndex":0,"nodeName":"node0"}), 'node0');
nodesMap.set(stringify({"layerIndex":1,"nodeName":"node3"}), 'node3');
nodesMap.set(stringify({"layerIndex":2,"nodeName":"node2"}), 'node2');
nodesMap.set(stringify({"layerIndex":0,"nodeName":"node1"}), 'node1');
nodesMap.set(stringify({"layerIndex":1,"nodeName":"node2"}), 'node2');
nodesMap.set(stringify({"layerIndex":2,"nodeName":"node1"}), 'node1');

const result = aggResponseHelper._generateSortedNodeArray(nodesMap);
//console.log('RESULT: ',result);
});
});

describe('privateFkt_generateLinksMap', function() {});
});

0 comments on commit 604747a

Please sign in to comment.