UNPKG

@swimlane/ngx-charts

Version:

Declarative Charting Framework for Angular

45 lines 4.76 kB
export function sortLinear(data, property, direction = 'asc') { return data.sort((a, b) => { if (direction === 'asc') { return a[property] - b[property]; } else { return b[property] - a[property]; } }); } export function sortByDomain(data, property, direction = 'asc', domain) { return data.sort((a, b) => { const aVal = a[property]; const bVal = b[property]; const aIdx = domain.indexOf(aVal); const bIdx = domain.indexOf(bVal); if (direction === 'asc') { return aIdx - bIdx; } else { return bIdx - aIdx; } }); } export function sortByTime(data, property, direction = 'asc') { return data.sort((a, b) => { const aDate = a[property].getTime(); const bDate = b[property].getTime(); if (direction === 'asc') { if (aDate > bDate) return 1; if (bDate > aDate) return -1; return 0; } else { if (aDate > bDate) return -1; if (bDate > aDate) return 1; return 0; } }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N3aW1sYW5lL25neC1jaGFydHMvc3JjL2xpYi91dGlscy9zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQWdCLEVBQUUsU0FBUyxHQUFHLEtBQUs7SUFDbEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3hCLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtZQUN2QixPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQWdCLEVBQUUsU0FBUyxHQUFHLEtBQUssRUFBRSxNQUFNO0lBQzVFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN4QixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsQyxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUU7WUFDdkIsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO2FBQU07WUFDTCxPQUFPLElBQUksR0FBRyxJQUFJLENBQUM7U0FDcEI7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQUksRUFBRSxRQUFnQixFQUFFLFNBQVMsR0FBRyxLQUFLO0lBQ2xFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN4QixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBDLElBQUksU0FBUyxLQUFLLEtBQUssRUFBRTtZQUN2QixJQUFJLEtBQUssR0FBRyxLQUFLO2dCQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLElBQUksS0FBSyxHQUFHLEtBQUs7Z0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUM3QixPQUFPLENBQUMsQ0FBQztTQUNWO2FBQU07WUFDTCxJQUFJLEtBQUssR0FBRyxLQUFLO2dCQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDN0IsSUFBSSxLQUFLLEdBQUcsS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsQ0FBQztTQUNWO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHNvcnRMaW5lYXIoZGF0YSwgcHJvcGVydHk6IHN0cmluZywgZGlyZWN0aW9uID0gJ2FzYycpOiBhbnlbXSB7XG4gIHJldHVybiBkYXRhLnNvcnQoKGEsIGIpID0+IHtcbiAgICBpZiAoZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgcmV0dXJuIGFbcHJvcGVydHldIC0gYltwcm9wZXJ0eV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBiW3Byb3BlcnR5XSAtIGFbcHJvcGVydHldO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlEb21haW4oZGF0YSwgcHJvcGVydHk6IHN0cmluZywgZGlyZWN0aW9uID0gJ2FzYycsIGRvbWFpbik6IGFueVtdIHtcbiAgcmV0dXJuIGRhdGEuc29ydCgoYSwgYikgPT4ge1xuICAgIGNvbnN0IGFWYWwgPSBhW3Byb3BlcnR5XTtcbiAgICBjb25zdCBiVmFsID0gYltwcm9wZXJ0eV07XG5cbiAgICBjb25zdCBhSWR4ID0gZG9tYWluLmluZGV4T2YoYVZhbCk7XG4gICAgY29uc3QgYklkeCA9IGRvbWFpbi5pbmRleE9mKGJWYWwpO1xuXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ2FzYycpIHtcbiAgICAgIHJldHVybiBhSWR4IC0gYklkeDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGJJZHggLSBhSWR4O1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb3J0QnlUaW1lKGRhdGEsIHByb3BlcnR5OiBzdHJpbmcsIGRpcmVjdGlvbiA9ICdhc2MnKTogYW55W10ge1xuICByZXR1cm4gZGF0YS5zb3J0KChhLCBiKSA9PiB7XG4gICAgY29uc3QgYURhdGUgPSBhW3Byb3BlcnR5XS5nZXRUaW1lKCk7XG4gICAgY29uc3QgYkRhdGUgPSBiW3Byb3BlcnR5XS5nZXRUaW1lKCk7XG5cbiAgICBpZiAoZGlyZWN0aW9uID09PSAnYXNjJykge1xuICAgICAgaWYgKGFEYXRlID4gYkRhdGUpIHJldHVybiAxO1xuICAgICAgaWYgKGJEYXRlID4gYURhdGUpIHJldHVybiAtMTtcbiAgICAgIHJldHVybiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoYURhdGUgPiBiRGF0ZSkgcmV0dXJuIC0xO1xuICAgICAgaWYgKGJEYXRlID4gYURhdGUpIHJldHVybiAxO1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==