handsontable
Version:
Handsontable is a JavaScript Spreadsheet Component available for React, Angular and Vue.
32 lines (27 loc) • 1.48 kB
JavaScript
import { compareFunctionFactory as defaultSort, COLUMN_DATA_TYPE as DEFAULT_DATA_TYPE } from "../sortFunction/default.mjs";
import { compareFunctionFactory as numericSort, COLUMN_DATA_TYPE as NUMERIC_DATA_TYPE } from "../sortFunction/numeric.mjs";
import { compareFunctionFactory as dateSort, COLUMN_DATA_TYPE as DATE_DATA_TYPE } from "../sortFunction/date.mjs";
import staticRegister from "../../../utils/staticRegister.mjs";
var _staticRegister = staticRegister('sorting.compareFunctionFactory'),
registerCompareFunctionFactory = _staticRegister.register,
getGloballyCompareFunctionFactory = _staticRegister.getItem,
hasGloballyCompareFunctionFactory = _staticRegister.hasItem;
var _staticRegister2 = staticRegister('sorting.mainSortComparator'),
registerRootComparator = _staticRegister2.register,
getRootComparator = _staticRegister2.getItem;
/**
* Gets sort function for the particular column basing on it's data type.
*
* @param {string} type The data type.
* @returns {Function}
*/
export function getCompareFunctionFactory(type) {
if (hasGloballyCompareFunctionFactory(type)) {
return getGloballyCompareFunctionFactory(type);
}
return getGloballyCompareFunctionFactory(DEFAULT_DATA_TYPE);
}
registerCompareFunctionFactory(NUMERIC_DATA_TYPE, numericSort);
registerCompareFunctionFactory(DATE_DATA_TYPE, dateSort);
registerCompareFunctionFactory(DEFAULT_DATA_TYPE, defaultSort);
export { registerRootComparator, getRootComparator };