dtable-utils
Version:
dtable common utils
37 lines (32 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var array = require('./array.js');
/**
* Sort link
* @param {array} leftLinkedCellValues e.g. [{ row_id, display_value }]
* @param {array} rightLinkedCellValues
* @param {string} sortType e.g. 'up' | 'down
* @param {object} columnData e.g. { result_type, array_type, array_data, ... }
* @param {object} value e.g. { collaborators, ... }
* @returns number
*/
var sortLink = function sortLink(leftLinkedCellValues, rightLinkedCellValues, sortType, _ref) {
var columnData = _ref.columnData,
value = _ref.value;
var emptyLeftLinkedCellValues = !Array.isArray(leftLinkedCellValues) || leftLinkedCellValues.length === 0;
var emptyRightLinkedCellValues = !Array.isArray(rightLinkedCellValues) || rightLinkedCellValues.length === 0;
if (emptyLeftLinkedCellValues && emptyRightLinkedCellValues) return 0;
if (emptyLeftLinkedCellValues) return 1;
if (emptyRightLinkedCellValues) return -1;
var leftDisplayValues = leftLinkedCellValues.map(function (linked) {
return linked.display_value;
});
var rightDisplayValues = rightLinkedCellValues.map(function (linked) {
return linked.display_value;
});
return array.sortByArrayType(leftDisplayValues, rightDisplayValues, sortType, {
columnData: columnData,
value: value
});
};
exports.sortLink = sortLink;