Chore: Updated resolvers from Class to ResolveFn
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
import { HttpClientModule } from '@angular/common/http';
|
||||
import { inject, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { EntriesResolver } from './entries-resolver.service';
|
||||
|
||||
describe('EntriesResolver', () => {
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({
|
||||
imports: [HttpClientModule],
|
||||
providers: [EntriesResolver],
|
||||
});
|
||||
});
|
||||
|
||||
it('should be created', inject([EntriesResolver], (service: EntriesResolver) => {
|
||||
expect(service).toBeTruthy();
|
||||
}));
|
||||
});
|
||||
@@ -1,25 +0,0 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { ActivatedRouteSnapshot } from '@angular/router';
|
||||
import { Observable } from 'rxjs/internal/Observable';
|
||||
|
||||
import { EntriesService } from './entries.service';
|
||||
import { Report } from './report';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
export class EntriesResolver {
|
||||
constructor(private ser: EntriesService) {}
|
||||
|
||||
resolve(route: ActivatedRouteSnapshot): Observable<Report> {
|
||||
const start_date = route.queryParamMap.get('s');
|
||||
const finish_date = route.queryParamMap.get('f');
|
||||
const posted = route.queryParamMap.get('p') === null ? null : route.queryParamMap.get('p') === 'true';
|
||||
const page_size = route.queryParamMap.get('ps') === null ? 50 : +(route.queryParamMap.get('ps') as string);
|
||||
const page_index = route.queryParamMap.get('pi') === null ? 0 : +(route.queryParamMap.get('pi') as string);
|
||||
const sort = route.queryParamMap.get('a') ?? 'date';
|
||||
const direction = route.queryParamMap.get('d') ?? 'desc';
|
||||
const issue_vouchers = route.queryParamMap.get('i') === null ? false : route.queryParamMap.get('i') === 'true';
|
||||
return this.ser.list(start_date, finish_date, posted, page_size, page_index, sort, direction, issue_vouchers);
|
||||
}
|
||||
}
|
||||
@@ -4,8 +4,8 @@ import { ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, Routes } fro
|
||||
|
||||
import { AuthGuard } from '../auth/auth-guard.service';
|
||||
|
||||
import { EntriesResolver } from './entries-resolver.service';
|
||||
import { EntriesComponent } from './entries.component';
|
||||
import { entriesResolver } from './entries.resolver';
|
||||
|
||||
const entriesRoutes: Routes = [
|
||||
{
|
||||
@@ -18,7 +18,7 @@ const entriesRoutes: Routes = [
|
||||
permission: 'Ledger',
|
||||
},
|
||||
resolve: {
|
||||
info: (route: ActivatedRouteSnapshot) => inject(EntriesResolver).resolve(route),
|
||||
info: entriesResolver,
|
||||
},
|
||||
runGuardsAndResolvers: 'always',
|
||||
},
|
||||
@@ -27,6 +27,5 @@ const entriesRoutes: Routes = [
|
||||
@NgModule({
|
||||
imports: [CommonModule, RouterModule.forChild(entriesRoutes)],
|
||||
exports: [RouterModule],
|
||||
providers: [EntriesResolver],
|
||||
})
|
||||
export class EntriesRoutingModule {}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { ResolveFn } from '@angular/router';
|
||||
|
||||
import { entriesResolver } from './entries.resolver';
|
||||
|
||||
describe('entriesResolver', () => {
|
||||
const executeResolver: ResolveFn<Report> = (...resolverParameters) =>
|
||||
TestBed.runInInjectionContext(() => entriesResolver(...resolverParameters));
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(executeResolver).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,26 @@
|
||||
import { inject } from '@angular/core';
|
||||
import { ResolveFn } from '@angular/router';
|
||||
|
||||
import { EntriesService } from './entries.service';
|
||||
import { Report } from './report';
|
||||
|
||||
export const entriesResolver: ResolveFn<Report> = (route) => {
|
||||
const start_date = route.queryParamMap.get('s');
|
||||
const finish_date = route.queryParamMap.get('f');
|
||||
const posted = route.queryParamMap.get('p') === null ? null : route.queryParamMap.get('p') === 'true';
|
||||
const page_size = route.queryParamMap.get('ps') === null ? 50 : +(route.queryParamMap.get('ps') as string);
|
||||
const page_index = route.queryParamMap.get('pi') === null ? 0 : +(route.queryParamMap.get('pi') as string);
|
||||
const sort = route.queryParamMap.get('a') ?? 'date';
|
||||
const direction = route.queryParamMap.get('d') ?? 'desc';
|
||||
const issue_vouchers = route.queryParamMap.get('i') === null ? false : route.queryParamMap.get('i') === 'true';
|
||||
return inject(EntriesService).list(
|
||||
start_date,
|
||||
finish_date,
|
||||
posted,
|
||||
page_size,
|
||||
page_index,
|
||||
sort,
|
||||
direction,
|
||||
issue_vouchers,
|
||||
);
|
||||
};
|
||||
Reference in New Issue
Block a user