diff --git a/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts b/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts index 1d3f59f9b86620a22a3267b20de9759dc1f53d1f..7ef8c101db08ac8d1cb66cf825326dcf88835998 100644 --- a/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts +++ b/goofy-client/libs/vorgang-shared-ui/src/lib/vorgang-search-container/vorgang-search/vorgang-search.formservice.ts @@ -78,6 +78,10 @@ export class VorgangSearchFormService implements OnDestroy { this.vorgangListService.clearSearchPreviewList(); } + isSearchInputNotPristine(): boolean { + return ! this.getSearchFormControl().pristine; + } + searchForPreviewList(value: string): void { this.vorgangListService.setSearchString(value); this.vorgangListService.searchForPreview(value); @@ -107,6 +111,10 @@ export class VorgangSearchFormService implements OnDestroy { } } + isSameSearchString(): boolean { + return this.getValue() === this.lastSearchString + } + hasSearchString(): boolean { return isNotEmpty(this.getValue()); } @@ -144,14 +152,6 @@ export class VorgangSearchFormService implements OnDestroy { this.getSearchFormControl().setValue(value); } - isSearchInputNotPristine(): boolean { - return ! this.getSearchFormControl().pristine; - } - - isSameSearchString(): boolean { - return this.getValue() === this.lastSearchString - } - ngOnDestroy(): void { if (isNotNil(this.subscription)) this.subscription.unsubscribe(); if (isNotNil(this.previewSubscription)) this.previewSubscription.unsubscribe(); diff --git a/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts b/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts index a08fb64201340acc26d106faccd5dd9aa5dd0bee..028fbf62116de8a57d1a4fbd61e2cb714e2ec79b 100644 --- a/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts +++ b/goofy-client/libs/vorgang-shared/src/lib/+state/vorgang.reducer.ts @@ -147,44 +147,33 @@ function buildStateOnNavigation(state: VorgangState, routeData: RouteData): Vorg const searchString: string = isSearch(routeData) ? getSearchString(routeData) : null; if (isMyVorgaenge(routeData)) { - return { - ...state, - vorgangList: { ...state.vorgangList, reload: true }, - searchString, - vorgaenge: EMPTY_ARRAY - }; + return addSearchstring(state, searchString); } if (isVorgangListPage(routeData)) { - return { - ...state, - searchString, - vorgangList: { ...state.vorgangList, reload: true }, - vorgaenge: EMPTY_ARRAY - }; + return addSearchstring(state, searchString); } if (isSearch(routeData)) { - const newState: VorgangState = { - ...state, - searchString, - vorgangList: { ...state.vorgangList, reload: true }, - vorgaenge: EMPTY_ARRAY - } + const newState: VorgangState = addSearchstring(state, searchString) if (hasSearchStringChanged(state, searchString)) { return { ...newState, searchPreviewList: createEmptyStateResource() } } return newState; } if (isVorgangDetailPage(routeData)) { - return { - ...state, - searchString, - vorgangList: { ...state.vorgangList, reload: true }, - vorgaenge: EMPTY_ARRAY - }; + return addSearchstring(state, searchString); } return { ...state }; } +function addSearchstring(state: VorgangState, searchString: string): VorgangState { + return { + ...state, + searchString, + vorgangList: { ...state.vorgangList, reload: true }, + vorgaenge: EMPTY_ARRAY + } +} + function hasSearchStringChanged(state: VorgangState, currentSearchString: string): boolean { return currentSearchString != state.searchString; }