another modwatchtoold adjustment
This commit is contained in:
parent
a6083ca45d
commit
a5f8874dc8
|
@ -23,7 +23,9 @@ const keepState = {
|
|||
*/
|
||||
function compare(a, b, asc) {
|
||||
if (typeof a === 'string' && typeof b === 'string') {
|
||||
return a.localeCompare(b);
|
||||
let ret = a.localeCompare(b);
|
||||
if (asc) ret *= -1;
|
||||
return ret;
|
||||
}
|
||||
if (!a || a === 'N/A') a = 0;
|
||||
if (!b || b === 'N/A') b = 0;
|
||||
|
|
|
@ -506,39 +506,43 @@ export function parseInterval(interval) {
|
|||
* }
|
||||
*/
|
||||
export function combineTables(a, b) {
|
||||
let bTable;
|
||||
if (a.columns.length === b.columns.length) {
|
||||
a.rows = a.rows.concat(b.rows);
|
||||
return a;
|
||||
}
|
||||
let bTable;
|
||||
let sTable;
|
||||
if (a.columns.length < b.columns.length) {
|
||||
bTable = b;
|
||||
sTable = a;
|
||||
} else {
|
||||
bTable = a;
|
||||
sTable = b;
|
||||
}
|
||||
if (!sTable.rows.length) {
|
||||
return bTable;
|
||||
}
|
||||
const newRows = [];
|
||||
for (let i = 0; i < sTable.rows.length; i += 1) {
|
||||
newRows.push([]);
|
||||
}
|
||||
for (let i = 0; i < bTable.columns.length; i += 1) {
|
||||
const colInd = sTable.columns.indexOf(bTable.columns[i]);
|
||||
if (~colInd) {
|
||||
for (let u = 0; u < sTable.rows.length; u += 1) {
|
||||
newRows[u].push(sTable.rows[u][colInd]);
|
||||
}
|
||||
} else {
|
||||
let sTable;
|
||||
if (a.columns.length < b.columns.length) {
|
||||
bTable = b;
|
||||
sTable = a;
|
||||
} else {
|
||||
for (let u = 0; u < sTable.rows.length; u += 1) {
|
||||
newRows[u].push(null);
|
||||
bTable = a;
|
||||
sTable = b;
|
||||
}
|
||||
if (!sTable.rows.length) {
|
||||
return bTable;
|
||||
}
|
||||
const newRows = [];
|
||||
for (let i = 0; i < sTable.rows.length; i += 1) {
|
||||
newRows.push([]);
|
||||
}
|
||||
for (let i = 0; i < bTable.columns.length; i += 1) {
|
||||
const colInd = sTable.columns.indexOf(bTable.columns[i]);
|
||||
if (~colInd) {
|
||||
for (let u = 0; u < sTable.rows.length; u += 1) {
|
||||
newRows[u].push(sTable.rows[u][colInd]);
|
||||
}
|
||||
} else {
|
||||
for (let u = 0; u < sTable.rows.length; u += 1) {
|
||||
newRows[u].push(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
bTable.rows = bTable.rows.concat(newRows);
|
||||
}
|
||||
if (bTable.columns[0] === 'rid') {
|
||||
bTable.rows.forEach((row, i) => { row[0] = i; });
|
||||
}
|
||||
bTable.rows = bTable.rows.concat(newRows);
|
||||
return bTable;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user