Chore: Updated resolvers from Class to ResolveFn

This commit is contained in:
2024-05-31 09:58:48 +05:30
parent 6f433ef203
commit 6e3c429db3
255 changed files with 1737 additions and 2155 deletions
@@ -1,18 +0,0 @@
import { HttpClientModule } from '@angular/common/http';
import { inject, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { RecipeListResolver } from './recipe-list-resolver.service';
describe('RecipeListResolver', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule, RouterTestingModule],
providers: [RecipeListResolver],
});
});
it('should be created', inject([RecipeListResolver], (service: RecipeListResolver) => {
expect(service).toBeTruthy();
}));
});
@@ -1,18 +0,0 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot } from '@angular/router';
import { Observable } from 'rxjs/internal/Observable';
import { Recipe } from './recipe';
import { RecipeService } from './recipe.service';
@Injectable({
providedIn: 'root',
})
export class RecipeListResolver {
constructor(private ser: RecipeService) {}
resolve(route: ActivatedRouteSnapshot): Observable<Recipe[]> {
const period = route.queryParamMap.get('p') || null;
return this.ser.list(period);
}
}
@@ -0,0 +1,18 @@
import { TestBed } from '@angular/core/testing';
import { ResolveFn } from '@angular/router';
import { Recipe } from './recipe';
import { recipeListResolver } from './recipe-list.resolver';
describe('recipeListResolver', () => {
const executeResolver: ResolveFn<Recipe[]> = (...resolverParameters) =>
TestBed.runInInjectionContext(() => recipeListResolver(...resolverParameters));
beforeEach(() => {
TestBed.configureTestingModule({});
});
it('should be created', () => {
expect(executeResolver).toBeTruthy();
});
});
@@ -0,0 +1,10 @@
import { inject } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { Recipe } from './recipe';
import { RecipeService } from './recipe.service';
export const recipeListResolver: ResolveFn<Recipe[]> = (route) => {
const period = route.queryParamMap.get('p') || null;
return inject(RecipeService).list(period);
};
@@ -1,18 +0,0 @@
import { HttpClientModule } from '@angular/common/http';
import { inject, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { RecipeResolver } from './recipe-resolver.service';
describe('RecipeResolver', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientModule, RouterTestingModule],
providers: [RecipeResolver],
});
});
it('should be created', inject([RecipeResolver], (service: RecipeResolver) => {
expect(service).toBeTruthy();
}));
});
@@ -1,18 +0,0 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot } from '@angular/router';
import { Observable } from 'rxjs/internal/Observable';
import { Recipe } from './recipe';
import { RecipeService } from './recipe.service';
@Injectable({
providedIn: 'root',
})
export class RecipeResolver {
constructor(private ser: RecipeService) {}
resolve(route: ActivatedRouteSnapshot): Observable<Recipe> {
const id = route.paramMap.get('id');
return this.ser.get(id);
}
}
@@ -3,13 +3,13 @@ import { NgModule, inject } from '@angular/core';
import { ActivatedRouteSnapshot, RouterModule, RouterStateSnapshot, Routes } from '@angular/router';
import { AuthGuard } from '../auth/auth-guard.service';
import { PeriodListResolver } from '../period/period-list-resolver.service';
import { ProductGroupListResolver } from '../product-group/product-group-list-resolver.service';
import { periodListResolver } from '../period/period-list.resolver';
import { productGroupListResolver } from '../product-group/product-group-list.resolver';
import { RecipeDetailComponent } from './recipe-detail/recipe-detail.component';
import { RecipeListComponent } from './recipe-list/recipe-list.component';
import { RecipeListResolver } from './recipe-list-resolver.service';
import { RecipeResolver } from './recipe-resolver.service';
import { recipeListResolver } from './recipe-list.resolver';
import { recipeResolver } from './recipe.resolver';
const recipeRoutes: Routes = [
{
@@ -22,9 +22,9 @@ const recipeRoutes: Routes = [
permission: 'Recipes',
},
resolve: {
list: (route: ActivatedRouteSnapshot) => inject(RecipeListResolver).resolve(route),
productGroups: () => inject(ProductGroupListResolver).resolve(),
periods: () => inject(PeriodListResolver).resolve(),
list: recipeListResolver,
productGroups: productGroupListResolver,
periods: periodListResolver,
},
runGuardsAndResolvers: 'paramsOrQueryParamsChange',
},
@@ -38,8 +38,8 @@ const recipeRoutes: Routes = [
permission: 'Recipes',
},
resolve: {
item: (route: ActivatedRouteSnapshot) => inject(RecipeResolver).resolve(route),
periods: () => inject(PeriodListResolver).resolve(),
item: recipeResolver,
periods: periodListResolver,
},
},
{
@@ -52,8 +52,8 @@ const recipeRoutes: Routes = [
permission: 'Recipes',
},
resolve: {
item: (route: ActivatedRouteSnapshot) => inject(RecipeResolver).resolve(route),
periods: () => inject(PeriodListResolver).resolve(),
item: recipeResolver,
periods: periodListResolver,
},
},
];
@@ -61,6 +61,5 @@ const recipeRoutes: Routes = [
@NgModule({
imports: [CommonModule, RouterModule.forChild(recipeRoutes)],
exports: [RouterModule],
providers: [RecipeListResolver, RecipeResolver],
})
export class RecipeRoutingModule {}
@@ -0,0 +1,18 @@
import { TestBed } from '@angular/core/testing';
import { ResolveFn } from '@angular/router';
import { Recipe } from './recipe';
import { recipeResolver } from './recipe.resolver';
describe('recipeResolver', () => {
const executeResolver: ResolveFn<Recipe> = (...resolverParameters) =>
TestBed.runInInjectionContext(() => recipeResolver(...resolverParameters));
beforeEach(() => {
TestBed.configureTestingModule({});
});
it('should be created', () => {
expect(executeResolver).toBeTruthy();
});
});
@@ -0,0 +1,10 @@
import { inject } from '@angular/core';
import { ResolveFn } from '@angular/router';
import { Recipe } from './recipe';
import { RecipeService } from './recipe.service';
export const recipeResolver: ResolveFn<Recipe> = (route) => {
const id = route.paramMap.get('id');
return inject(RecipeService).get(id);
};