From 37ddf34e10993650c761119a4be0cefd43eb3f88 Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Tue, 14 Feb 2023 10:45:07 +0100
Subject: [PATCH] OZG-3116 OZG-3398 Refactoring after review

---
 .../vorgang-search.formservice.ts             | 16 ++++----
 .../src/lib/+state/vorgang.reducer.ts         | 37 +++++++------------
 2 files changed, 21 insertions(+), 32 deletions(-)

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 1d3f59f9b8..7ef8c101db 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 a08fb64201..028fbf6211 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;
 }
-- 
GitLab