Skip to content
Snippets Groups Projects
Commit c234b8b8 authored by OZGCloud's avatar OZGCloud
Browse files

OZG-2943 OZG-3103 empty State too if Clear event

parent cf9299fb
Branches
Tags
No related merge requests found
Showing
with 52 additions and 5 deletions
...@@ -103,6 +103,7 @@ describe('VorgangSearchComponent', () => { ...@@ -103,6 +103,7 @@ describe('VorgangSearchComponent', () => {
component.clearVorgangSearchPreviewList(); component.clearVorgangSearchPreviewList();
expect(component.vorgangSearchPreviewList).toEqual(emptyResource); expect(component.vorgangSearchPreviewList).toEqual(emptyResource);
expect(vorgangListService.clearSearchPreviewList).toHaveBeenCalled();
}) })
}) })
}); });
\ No newline at end of file
import { Component, Input } from '@angular/core'; import { Component, Input } from '@angular/core';
import { createEmptyStateResource, StateResource } from '@goofy-client/tech-shared'; import { StateResource } from '@goofy-client/tech-shared';
import { VorgangHeaderLinkRel, VorgangListLinkRel, VorgangListResource } from '@goofy-client/vorgang-shared'; import { VorgangHeaderLinkRel, VorgangListLinkRel, VorgangListResource, VorgangListService } from '@goofy-client/vorgang-shared';
import { VorgangSearchFormService } from './vorgang-search.formservice'; import { VorgangSearchFormService } from './vorgang-search.formservice';
@Component({ @Component({
...@@ -16,9 +16,9 @@ export class VorgangSearchComponent { ...@@ -16,9 +16,9 @@ export class VorgangSearchComponent {
readonly vorgangHeaderLinkRel = VorgangHeaderLinkRel; readonly vorgangHeaderLinkRel = VorgangHeaderLinkRel;
readonly vorgangListLinkRel = VorgangListLinkRel; readonly vorgangListLinkRel = VorgangListLinkRel;
constructor(public formService: VorgangSearchFormService) { } constructor(public formService: VorgangSearchFormService, public vorgangListService: VorgangListService) { }
clearVorgangSearchPreviewList() { clearVorgangSearchPreviewList() {
this.vorgangSearchPreviewList = createEmptyStateResource(); this.vorgangListService.clearSearchPreviewList();
} }
} }
\ No newline at end of file
...@@ -50,3 +50,5 @@ export const loadNextPageSuccess: VorgangActionCreator<VorgangListAction> = crea ...@@ -50,3 +50,5 @@ export const loadNextPageSuccess: VorgangActionCreator<VorgangListAction> = crea
export const searchForPreview: VorgangActionCreator<StringBasedProps> = createAction('[Vorgang] Search for preview', props<StringBasedProps>()); export const searchForPreview: VorgangActionCreator<StringBasedProps> = createAction('[Vorgang] Search for preview', props<StringBasedProps>());
export const searchForPreviewSuccess: VorgangActionCreator<VorgangListAction> = createAction('[Vorgang] Search for preview Success', props<VorgangListAction>()); export const searchForPreviewSuccess: VorgangActionCreator<VorgangListAction> = createAction('[Vorgang] Search for preview Success', props<VorgangListAction>());
export const searchForPreviewFailure: VorgangActionCreator<HttpErrorAction> = createAction('[Vorgang] Search for preview Failure', props<HttpErrorAction>()); export const searchForPreviewFailure: VorgangActionCreator<HttpErrorAction> = createAction('[Vorgang] Search for preview Failure', props<HttpErrorAction>());
export const clearSearchPreviewList: TypedActionCreator = createAction('[Vorgang] Clear search preview list');
\ No newline at end of file
...@@ -138,4 +138,13 @@ describe('VorgangFacade', () => { ...@@ -138,4 +138,13 @@ describe('VorgangFacade', () => {
selectionSubject.next(saerchPreviewListStateResource); selectionSubject.next(saerchPreviewListStateResource);
}); });
}) })
describe('clearSearchPreviewList', () => {
it('should dispatch "clearSearchPreviewList" action', () => {
facade.clearSearchPreviewList();
expect(store.dispatch).toHaveBeenCalledWith(VorgangActions.clearSearchPreviewList());
});
})
}) })
\ No newline at end of file
...@@ -47,4 +47,8 @@ export class VorgangFacade { ...@@ -47,4 +47,8 @@ export class VorgangFacade {
public getSearchPreviewList(): Observable<StateResource<VorgangListResource>> { public getSearchPreviewList(): Observable<StateResource<VorgangListResource>> {
return this.store.select(VorgangSelectors.searchPreviewList); return this.store.select(VorgangSelectors.searchPreviewList);
} }
public clearSearchPreviewList(): void {
this.store.dispatch(VorgangActions.clearSearchPreviewList());
}
} }
\ No newline at end of file
...@@ -240,6 +240,20 @@ describe('Vorgang Reducer', () => { ...@@ -240,6 +240,20 @@ describe('Vorgang Reducer', () => {
}) })
}) })
describe('clearSearchPreviewList', () => {
describe('on "clearSearchPreviewList" action', () => {
it('should empty searchPreviewList', () => {
const action = VorgangActions.clearSearchPreviewList();
const state: VorgangState = reducer(initialState, action);
expect(state.searchPreviewList.resource).toBeNull();
})
})
})
describe('on "updateCurrentReouteData" action', () => { describe('on "updateCurrentReouteData" action', () => {
const routeData: RouteData = createRouteData(); const routeData: RouteData = createRouteData();
......
...@@ -97,7 +97,12 @@ const vorgangReducer = createReducer( ...@@ -97,7 +97,12 @@ const vorgangReducer = createReducer(
on(NavigationActions.updateCurrentRouteData, (state, action): VorgangState => { on(NavigationActions.updateCurrentRouteData, (state, action): VorgangState => {
return buildStateOnNavigation(state, action.routeData); return buildStateOnNavigation(state, action.routeData);
}) }),
on(VorgangActions.clearSearchPreviewList, (state: VorgangState): VorgangState => ({
...state,
searchPreviewList: createEmptyStateResource()
}))
); );
function buildStateOnNavigation(state: VorgangState, routeData: RouteData): VorgangState { function buildStateOnNavigation(state: VorgangState, routeData: RouteData): VorgangState {
......
...@@ -254,4 +254,12 @@ describe('VorgangListService', () => { ...@@ -254,4 +254,12 @@ describe('VorgangListService', () => {
}) })
}) })
}) })
describe('clearSearchPreviewList', () => {
it('should call facade clearSearchPreviewList', () => {
service.clearSearchPreviewList();
expect(vorgangFacade.clearSearchPreviewList).toHaveBeenCalled();
})
})
}) })
\ No newline at end of file
...@@ -66,4 +66,8 @@ export class VorgangListService { ...@@ -66,4 +66,8 @@ export class VorgangListService {
shouldSearchForPreview(previewList: StateResource<VorgangListResource>, searchString: string): boolean { shouldSearchForPreview(previewList: StateResource<VorgangListResource>, searchString: string): boolean {
return previewList.reload && !previewList.loading && (searchString != EMPTY_STRING); return previewList.reload && !previewList.loading && (searchString != EMPTY_STRING);
} }
public clearSearchPreviewList(): void {
this.vorgangFacade.clearSearchPreviewList();
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment