From 46609e3a0d38a9fac298adcdb4b57d66c7d4e2db Mon Sep 17 00:00:00 2001 From: Jeffrey Dowdle Date: Wed, 19 Jun 2024 13:51:35 +1000 Subject: [PATCH 01/29] feat(@dpc-sdp/ripple-tide-search): adds address search and refactors search suggestions --- packages/ripple-tide-search/app.config.ts | 7 +- .../global/TideSearchAddressLookup.vue | 111 +++++------------- .../composables/useAppConfigFunction.ts | 16 +++ .../composables/useLegacySuggestions.ts | 71 +++++++++++ packages/ripple-tide-search/types.ts | 9 ++ .../utils/getAddressFromArcGISMagicKey.ts | 20 ++++ .../utils/rplAddressSuggestionsFn.ts | 79 +++++++++++++ 7 files changed, 230 insertions(+), 83 deletions(-) create mode 100644 packages/ripple-tide-search/composables/useAppConfigFunction.ts create mode 100644 packages/ripple-tide-search/composables/useLegacySuggestions.ts create mode 100644 packages/ripple-tide-search/utils/getAddressFromArcGISMagicKey.ts create mode 100644 packages/ripple-tide-search/utils/rplAddressSuggestionsFn.ts diff --git a/packages/ripple-tide-search/app.config.ts b/packages/ripple-tide-search/app.config.ts index 986c517cd0..bdd071010f 100644 --- a/packages/ripple-tide-search/app.config.ts +++ b/packages/ripple-tide-search/app.config.ts @@ -1,3 +1,5 @@ +import rplAddressSuggestionsFn from './utils/rplAddressSuggestionsFn' + export default defineAppConfig({ ripple: { search: { @@ -9,7 +11,10 @@ export default defineAppConfig({ 'publication', 'publication_page', 'tide_search_listing' - ] + ], + suggestionsFunctions: { + rplAddressSuggestionsFn + } } } }) diff --git a/packages/ripple-tide-search/components/global/TideSearchAddressLookup.vue b/packages/ripple-tide-search/components/global/TideSearchAddressLookup.vue index 49a511a132..8e16f5ca50 100644 --- a/packages/ripple-tide-search/components/global/TideSearchAddressLookup.vue +++ b/packages/ripple-tide-search/components/global/TideSearchAddressLookup.vue @@ -14,9 +14,9 @@ :debounce="5000" :maxSuggestionsDisplayed="8" :placeholder="placeholder" - :getOptionId="(itm:any) => itm?.id || itm?.name" - :getSuggestionVal="(itm:any) => itm?.name || ''" - :getOptionLabel="(itm:any) => itm?.name || ''" + :getOptionId="(itm: any) => itm?.id || itm?.name" + :getSuggestionVal="(itm: any) => itm?.name || ''" + :getOptionLabel="(itm: any) => itm?.name || ''" :isBusy="isGettingLocation" :isFreeText="false" :submitOnClear="true" @@ -44,10 +44,11 @@