From 25a1ede877347c5abf1683b941714ec5fc95e33f Mon Sep 17 00:00:00 2001 From: Jeffrey Burt Date: Tue, 29 Aug 2017 15:02:05 -0400 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20[PRTL-1612]=20add=20count=20in=20ti?= =?UTF-8?q?tle=20in=20all=20cases?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 13 +++++++++---- package.json | 1 + src/packages/@ncigdc/components/SetActions.js | 16 +++++++--------- src/packages/@ncigdc/utils/pluralize.js | 3 +++ 4 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 src/packages/@ncigdc/utils/pluralize.js diff --git a/package-lock.json b/package-lock.json index b1c6ccb0f..156a455c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3277,6 +3277,12 @@ "user-home": "2.0.0" }, "dependencies": { + "pluralize": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", + "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", + "dev": true + }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7588,10 +7594,9 @@ } }, "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" }, "portfinder": { "version": "1.0.13", diff --git a/package.json b/package.json index 67515386e..bb17a6127 100644 --- a/package.json +++ b/package.json @@ -45,6 +45,7 @@ "memoizee": "0.4.5", "moment": "2.17.1", "oncogrid": "2.0.1", + "pluralize": "7.0.0", "prop-types": "15.5.10", "query-string": "4.3.4", "queue": "4.2.1", diff --git a/src/packages/@ncigdc/components/SetActions.js b/src/packages/@ncigdc/components/SetActions.js index ca4b10b7c..a2640aed3 100644 --- a/src/packages/@ncigdc/components/SetActions.js +++ b/src/packages/@ncigdc/components/SetActions.js @@ -12,6 +12,7 @@ import AppendSetModal from '@ncigdc/components/Modals/AppendSetModal'; import RemoveSetModal from '@ncigdc/components/Modals/RemoveSetModal'; import DropdownItem from '@ncigdc/uikit/DropdownItem'; import { theme } from '@ncigdc/theme'; +import pluralize from '@ncigdc/utils/pluralize'; const enhance = compose( connect(({ sets }) => ({ sets })), @@ -34,7 +35,7 @@ export default enhance( }) => { const titleType = type.replace(/^./, m => m.toUpperCase()); const total = selectedIds.length || props.total || 0; - const displayType = `${type}${total > 1 ? 's' : ''}`; + const countAndType = pluralize(titleType, total, true); const filters = selectedIds.length ? { op: 'in', content: { field, value: selectedIds } } : props.filters; @@ -63,7 +64,7 @@ export default enhance( }, }} > - {total.toLocaleString()} {displayType} + {countAndType} + `${inclusive ? `${count.toLocaleString()} ` : ''}${pluralize(word, count)}`;