From 4acd3b4ee7daee5f294c1fde7406059ad42da042 Mon Sep 17 00:00:00 2001 From: Yauheni Date: Wed, 1 Nov 2023 21:13:44 +0100 Subject: [PATCH 1/4] Fix XOF currency not searchable by its second term --- src/pages/iou/IOUCurrencySelection.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index c7b5885865df..95b04d50ed18 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -126,8 +126,11 @@ function IOUCurrencySelection(props) { }; }); - const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.trim()), 'i'); - const filteredCurrencies = _.filter(currencyOptions, (currencyOption) => searchRegex.test(currencyOption.text) || searchRegex.test(currencyOption.currencyName)); + const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.replace(/\s/g, ' ')), 'i'); + const filteredCurrencies = _.filter( + currencyOptions, + (currencyOption) => searchRegex.test(currencyOption.text.replace(/\s/g, ' ')) || searchRegex.test(currencyOption.currencyName.replace(/\s/g, ' ')), + ); const isEmpty = searchValue.trim() && !filteredCurrencies.length; return { From fc2d0ea31e0d4575216f9e36898b499feddffc7e Mon Sep 17 00:00:00 2001 From: Yauheni Date: Wed, 1 Nov 2023 21:33:17 +0100 Subject: [PATCH 2/4] Add trim for searchRegex --- src/pages/iou/IOUCurrencySelection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index 95b04d50ed18..2b342ae962c0 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -126,7 +126,7 @@ function IOUCurrencySelection(props) { }; }); - const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.replace(/\s/g, ' ')), 'i'); + const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.trim().replace(/\s/g, ' ')), 'i'); const filteredCurrencies = _.filter( currencyOptions, (currencyOption) => searchRegex.test(currencyOption.text.replace(/\s/g, ' ')) || searchRegex.test(currencyOption.currencyName.replace(/\s/g, ' ')), From ae4c7cb09982e49a4145586140a651bcb59d701f Mon Sep 17 00:00:00 2001 From: Yauheni Date: Thu, 2 Nov 2023 17:33:16 +0100 Subject: [PATCH 3/4] Add const for space --- src/CONST.ts | 1 + src/pages/iou/IOUCurrencySelection.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CONST.ts b/src/CONST.ts index db8a9cc49dc0..de9eef0f6dc6 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -1311,6 +1311,7 @@ const CONST = { TAX_ID: /^\d{9}$/, NON_NUMERIC: /\D/g, + ANY_SPACE: /\s/g, // Extract attachment's source from the data's html string ATTACHMENT_DATA: /(data-expensify-source|data-name)="([^"]+)"/g, diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index 2b342ae962c0..f6e2f7f125ff 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -126,10 +126,10 @@ function IOUCurrencySelection(props) { }; }); - const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.trim().replace(/\s/g, ' ')), 'i'); + const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.trim().replace(CONST.REGEX.ANY_SPACE, ' ')), 'i'); const filteredCurrencies = _.filter( currencyOptions, - (currencyOption) => searchRegex.test(currencyOption.text.replace(/\s/g, ' ')) || searchRegex.test(currencyOption.currencyName.replace(/\s/g, ' ')), + (currencyOption) => searchRegex.test(currencyOption.text.replace(CONST.REGEX.ANY_SPACE, ' ')) || searchRegex.test(currencyOption.currencyName.replace(CONST.REGEX.ANY_SPACE, ' ')), ); const isEmpty = searchValue.trim() && !filteredCurrencies.length; From 27b5503b6b7ab8f9e0d69044c990d571c54178b8 Mon Sep 17 00:00:00 2001 From: Yauheni Date: Thu, 2 Nov 2023 19:16:25 +0100 Subject: [PATCH 4/4] Push changes after prettier --- src/pages/iou/IOUCurrencySelection.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/pages/iou/IOUCurrencySelection.js b/src/pages/iou/IOUCurrencySelection.js index f6e2f7f125ff..20344a08a2c8 100644 --- a/src/pages/iou/IOUCurrencySelection.js +++ b/src/pages/iou/IOUCurrencySelection.js @@ -129,7 +129,8 @@ function IOUCurrencySelection(props) { const searchRegex = new RegExp(Str.escapeForRegExp(searchValue.trim().replace(CONST.REGEX.ANY_SPACE, ' ')), 'i'); const filteredCurrencies = _.filter( currencyOptions, - (currencyOption) => searchRegex.test(currencyOption.text.replace(CONST.REGEX.ANY_SPACE, ' ')) || searchRegex.test(currencyOption.currencyName.replace(CONST.REGEX.ANY_SPACE, ' ')), + (currencyOption) => + searchRegex.test(currencyOption.text.replace(CONST.REGEX.ANY_SPACE, ' ')) || searchRegex.test(currencyOption.currencyName.replace(CONST.REGEX.ANY_SPACE, ' ')), ); const isEmpty = searchValue.trim() && !filteredCurrencies.length;