UNPKG

dtable-utils

Version:

dtable common utils

37 lines (32 loc) 1.37 kB
'use strict'; 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;