From 0b449f34d8c9165635eafbb2ac9e7ec117503273 Mon Sep 17 00:00:00 2001 From: Jen Huang Date: Wed, 7 Nov 2018 16:17:05 -0800 Subject: [PATCH] [Rollups] Fix day of month only showing ordinals (#25322) (#25343) * Fix day of month only showing ordinals --- .../crud_app/services/humanized_numbers.js | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/rollup/public/crud_app/services/humanized_numbers.js b/x-pack/plugins/rollup/public/crud_app/services/humanized_numbers.js index a6a572453974..88e97034db70 100644 --- a/x-pack/plugins/rollup/public/crud_app/services/humanized_numbers.js +++ b/x-pack/plugins/rollup/public/crud_app/services/humanized_numbers.js @@ -41,21 +41,31 @@ export function getOrdinalValue(number) { // values: { number }, // }); - let lastDigit = number.toString().substr(-1); + // Protects against falsey (including 0) values + const num = number && number.toString(); + let lastDigit = num && num.substr(-1); + let ordinal; + if(!lastDigit) { - return; + return number; } lastDigit = parseFloat(lastDigit); + switch(lastDigit) { case 1: - return 'st'; + ordinal = 'st'; + break; case 2: - return 'nd'; + ordinal = 'nd'; + break; case 3: - return 'rd'; + ordinal = 'rd'; + break; default: - return 'th'; + ordinal = 'th'; } + + return `${num}${ordinal}`; } export function getDayName(dayOrdinal) {