code cleanup after reviews

This commit is contained in:
Denys Vuika
2023-02-14 13:13:31 -05:00
committed by Sheena Malhotra
parent 7c89b53928
commit cddb2a1fcf
6 changed files with 32 additions and 28 deletions

View File

@@ -32,14 +32,14 @@ import { SearchByTermAction, SearchActionTypes, SnackbarErrorAction, SnackbarAct
import { AppHookService } from '@alfresco/aca-shared'; import { AppHookService } from '@alfresco/aca-shared';
import { map } from 'rxjs/operators'; import { map } from 'rxjs/operators';
import { SearchQueryBuilderService } from '@alfresco/adf-content-services'; import { SearchQueryBuilderService } from '@alfresco/adf-content-services';
import { SearchInputService } from '../search-input.service'; import { SearchNavigationService } from '../search-navigation.service';
describe('SearchInputComponent', () => { describe('SearchInputComponent', () => {
let fixture: ComponentFixture<SearchInputComponent>; let fixture: ComponentFixture<SearchInputComponent>;
let component: SearchInputComponent; let component: SearchInputComponent;
let actions$: Actions; let actions$: Actions;
let appHookService: AppHookService; let appHookService: AppHookService;
let searchInputService: SearchInputService; let searchInputService: SearchNavigationService;
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
@@ -52,7 +52,7 @@ describe('SearchInputComponent', () => {
actions$ = TestBed.inject(Actions); actions$ = TestBed.inject(Actions);
fixture = TestBed.createComponent(SearchInputComponent); fixture = TestBed.createComponent(SearchInputComponent);
appHookService = TestBed.inject(AppHookService); appHookService = TestBed.inject(AppHookService);
searchInputService = TestBed.inject(SearchInputService); searchInputService = TestBed.inject(SearchNavigationService);
component = fixture.componentInstance; component = fixture.componentInstance;
}); });
@@ -234,7 +234,7 @@ describe('SearchInputComponent', () => {
it('should exit search on click of close icon', async () => { it('should exit search on click of close icon', async () => {
spyOn(searchInputService, 'isSearchRoute').and.returnValue(true); spyOn(searchInputService, 'isSearchRoute').and.returnValue(true);
spyOn(component, 'exitSearch').and.callThrough(); spyOn(component, 'exitSearch').and.callThrough();
spyOn(searchInputService, 'exitSearch').and.callThrough(); spyOn(searchInputService, 'navigateBack').and.callThrough();
fixture.detectChanges(); fixture.detectChanges();
await fixture.whenStable(); await fixture.whenStable();
@@ -246,7 +246,7 @@ describe('SearchInputComponent', () => {
await fixture.whenStable(); await fixture.whenStable();
expect(component.exitSearch).toHaveBeenCalled(); expect(component.exitSearch).toHaveBeenCalled();
expect(searchInputService.exitSearch).toHaveBeenCalledWith(); expect(searchInputService.navigateBack).toHaveBeenCalledWith();
}); });
}); });
}); });

View File

@@ -34,7 +34,7 @@ import { Store } from '@ngrx/store';
import { Subject } from 'rxjs'; import { Subject } from 'rxjs';
import { filter, takeUntil } from 'rxjs/operators'; import { filter, takeUntil } from 'rxjs/operators';
import { SearchInputControlComponent } from '../search-input-control/search-input-control.component'; import { SearchInputControlComponent } from '../search-input-control/search-input-control.component';
import { SearchInputService } from '../search-input.service'; import { SearchNavigationService } from '../search-navigation.service';
import { SearchLibrariesQueryBuilderService } from '../search-libraries-results/search-libraries-query-builder.service'; import { SearchLibrariesQueryBuilderService } from '../search-libraries-results/search-libraries-query-builder.service';
@Component({ @Component({
@@ -87,7 +87,7 @@ export class SearchInputComponent implements OnInit, OnDestroy {
private router: Router, private router: Router,
private store: Store<AppStore>, private store: Store<AppStore>,
private appHookService: AppHookService, private appHookService: AppHookService,
public searchInputService: SearchInputService public searchInputService: SearchNavigationService
) { ) {
this.searchOnChange = this.config.get<boolean>('search.aca:triggeredOnChange', true); this.searchOnChange = this.config.get<boolean>('search.aca:triggeredOnChange', true);
} }
@@ -116,7 +116,7 @@ export class SearchInputComponent implements OnInit, OnDestroy {
} }
exitSearch() { exitSearch() {
this.searchInputService.exitSearch(); this.searchInputService.navigateBack();
} }
showInputValue() { showInputValue() {

View File

@@ -26,35 +26,35 @@
import { TestBed } from '@angular/core/testing'; import { TestBed } from '@angular/core/testing';
import { CoreModule } from '@alfresco/adf-core'; import { CoreModule } from '@alfresco/adf-core';
import { TranslateModule } from '@ngx-translate/core'; import { TranslateModule } from '@ngx-translate/core';
import { SearchInputService } from './search-input.service'; import { SearchNavigationService } from './search-navigation.service';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
describe('SearchInputService', () => { describe('SearchNavigationService', () => {
let service: SearchInputService; let service: SearchNavigationService;
let router: Router; let router: Router;
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TranslateModule.forRoot(), CoreModule.forRoot()] imports: [TranslateModule.forRoot(), CoreModule.forRoot()]
}); });
service = TestBed.inject(SearchInputService); service = TestBed.inject(SearchNavigationService);
router = TestBed.inject(Router); router = TestBed.inject(Router);
}); });
it('should not navigate to saved route when exitSearch function is called if saved route is null', () => { it('should not navigate to saved route when exitSearch function is called if saved route is null', () => {
const routerNavigate = spyOn(router, 'navigate'); const routerNavigate = spyOn(router, 'navigate');
service.savedRoute = ''; service.saveRoute('');
service.exitSearch(); service.navigateBack();
expect(routerNavigate).not.toHaveBeenCalledWith([service.savedRoute]); expect(routerNavigate).not.toHaveBeenCalledWith([service.previousRoute]);
}); });
it('should navigate to saved route when exitSearch function is called', () => { it('should navigate to saved route when exitSearch function is called', () => {
const routerNavigate = spyOn(router, 'navigate'); const routerNavigate = spyOn(router, 'navigate');
service.savedRoute = '/personal-files'; service.saveRoute('/personal-files');
service.exitSearch(); service.navigateBack();
expect(routerNavigate).toHaveBeenCalledWith([service.savedRoute]); expect(routerNavigate).toHaveBeenCalledWith([service.previousRoute]);
}); });
it('should navigate to Search when navigateToSearch function is called', () => { it('should navigate to Search when navigateToSearch function is called', () => {

View File

@@ -29,8 +29,12 @@ import { Router } from '@angular/router';
@Injectable({ @Injectable({
providedIn: 'root' providedIn: 'root'
}) })
export class SearchInputService { export class SearchNavigationService {
savedRoute = ''; private _previousRoute = '';
get previousRoute(): string {
return this._previousRoute;
}
constructor(private router: Router) {} constructor(private router: Router) {}
@@ -38,17 +42,17 @@ export class SearchInputService {
return this.router.url.includes('/search'); return this.router.url.includes('/search');
} }
saveRoute(route: string) { saveRoute(route: string): void {
this.savedRoute = route; this._previousRoute = route;
} }
exitSearch() { navigateBack(): void {
if (this.savedRoute.length > 0) { if (this.previousRoute) {
this.router.navigate([this.savedRoute]); this.router.navigate([this.previousRoute]);
} }
} }
navigateToSearch() { navigateToSearch(): void {
this.saveRoute(this.router.url); this.saveRoute(this.router.url);
this.router.navigate(['/search']); this.router.navigate(['/search']);
} }

View File

@@ -2,7 +2,7 @@
<mat-icon title="{{'APP.TOOLTIPS.OPTIONS_SETTINGS' | translate}}">apps</mat-icon> <mat-icon title="{{'APP.TOOLTIPS.OPTIONS_SETTINGS' | translate}}">apps</mat-icon>
</button> </button>
<mat-menu #menu="matMenu" xPosition="before"> <mat-menu #menu="matMenu" xPosition="before">
<div mat-menu-item [routerLink]="['/profile']" title="{{'APP.TOOLTIPS.MY_PROFILE' | translate}}"> <div *ngIf="displayName" mat-menu-item [routerLink]="['/profile']" title="{{'APP.TOOLTIPS.MY_PROFILE' | translate}}">
<mat-icon>account_circle</mat-icon> <mat-icon>account_circle</mat-icon>
<span>{{ displayName }}</span> <span>{{ displayName }}</span>
</div> </div>

View File

@@ -15,7 +15,7 @@ import { ContentApiService } from '@alfresco/aca-shared';
encapsulation: ViewEncapsulation.None encapsulation: ViewEncapsulation.None
}) })
export class NavigationMenuComponent implements OnInit { export class NavigationMenuComponent implements OnInit {
displayName = 'Unknown user'; displayName = '';
constructor(private contentApi: ContentApiService) {} constructor(private contentApi: ContentApiService) {}