react-application-core
Version:
A react-based application core for the business applications.
90 lines • 2.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SortUtils = void 0;
var util_1 = require("../util");
/**
* @stable [14.10.2020]
* @param a
* @param b
*/
var NUMBER_COMPARATOR = function (a, b) { return a - b; };
/**
* @stable [14.10.2020]
* @param value1
* @param value2
*/
var NAME_ASC_SORTER = function (value1, value2) {
return util_1.NvlUtils.nvl("" + value1, '').localeCompare("" + value2);
};
/**
* @stable [06.09.2020]
* @param value1
* @param value2
*/
var VALUE_DESC_SORTER = function (value1, value2) {
return VALUE_ASC_SORTER(value1, value2) * -1;
};
/**
* @stable [14.10.2020]
* @param value1
* @param value2
*/
var VALUE_ASC_SORTER = function (value1, value2) {
return value1 === value2 ? 0 : NUMBER_COMPARATOR(value1, value2);
};
/**
* @stable [14.10.2020]
* @param item1
* @param item2
*/
var ID_ASC_SORTER = function (item1, item2) {
return VALUE_ASC_SORTER(item1.id, item2.id);
};
/**
* @stable [14.10.2020]
* @param item1
* @param item2
*/
var ID_DESC_SORTER = function (item1, item2) {
return VALUE_DESC_SORTER(item1.id, item2.id);
};
/**
* @stable [14.01.2020]
* @param value1
* @param value2
*
* Ordinary week:
* 0 - Sunday
* 1 - Monday
* ...
* 6 - Saturday
*
* Iso week: (https://en.wikipedia.org/wiki/ISO_week_date: Weeks start with Monday)
* 1 - Monday
* ...
* 6 - Saturday
* 0 - Sunday
*/
var ISO_WEEK_DAYS_SORTER = function (value1, value2) {
if (value2 === 0 && value1 > 0) {
return -1;
}
return SortUtils.VALUE_ASC_SORTER(value1, value2);
};
/**
* @stable [14.10.2020]
*/
var SortUtils = /** @class */ (function () {
function SortUtils() {
}
SortUtils.ID_ASC_SORTER = ID_ASC_SORTER;
SortUtils.ID_DESC_SORTER = ID_DESC_SORTER;
SortUtils.ISO_WEEK_DAYS_SORTER = ISO_WEEK_DAYS_SORTER;
SortUtils.NAME_ASC_SORTER = NAME_ASC_SORTER;
SortUtils.NUMBER_COMPARATOR = NUMBER_COMPARATOR;
SortUtils.VALUE_ASC_SORTER = VALUE_ASC_SORTER;
SortUtils.VALUE_DESC_SORTER = VALUE_DESC_SORTER;
return SortUtils;
}());
exports.SortUtils = SortUtils;
//# sourceMappingURL=sort.js.map