recipe now can memorize recipe version have been selected
This commit is contained in:
parent
f2005dcb58
commit
8eab23e9ba
2 changed files with 38 additions and 22 deletions
|
|
@ -1,6 +1,6 @@
|
|||
import { HttpClient } from '@angular/common/http';
|
||||
import { Injectable } from '@angular/core';
|
||||
import { BehaviorSubject, Observable, distinctUntilChanged } from 'rxjs';
|
||||
import { BehaviorSubject, Observable, distinctUntilChanged, tap } from 'rxjs';
|
||||
import { Recipe, Recipe01 } from '../models/recipe.model';
|
||||
import { environment } from 'src/environments/environment';
|
||||
|
||||
|
|
@ -20,27 +20,44 @@ export class RecipeService {
|
|||
take: 10,
|
||||
offset: 0,
|
||||
search: '',
|
||||
version: 'coffeethai02_580.json',
|
||||
version: this.getCurrentVersion(),
|
||||
}
|
||||
): Observable<{
|
||||
fileName: string;
|
||||
recipes: Recipe;
|
||||
hasMore: boolean;
|
||||
}> {
|
||||
return this._httpClient.get<{
|
||||
fileName: string;
|
||||
recipes: Recipe;
|
||||
hasMore: boolean;
|
||||
}>(environment.api + '/recipes', {
|
||||
params: {
|
||||
offset: params.offset,
|
||||
take: params.take,
|
||||
search: params.search,
|
||||
version: params.version,
|
||||
},
|
||||
withCredentials: true,
|
||||
responseType: 'json',
|
||||
});
|
||||
return this._httpClient
|
||||
.get<{
|
||||
fileName: string;
|
||||
recipes: Recipe;
|
||||
hasMore: boolean;
|
||||
}>(environment.api + '/recipes', {
|
||||
params: {
|
||||
offset: params.offset,
|
||||
take: params.take,
|
||||
search: params.search,
|
||||
version: params.version,
|
||||
},
|
||||
withCredentials: true,
|
||||
responseType: 'json',
|
||||
})
|
||||
.pipe(
|
||||
tap((data) => {
|
||||
if (data.fileName !== this.getCurrentVersion()) {
|
||||
localStorage.setItem('currentRecipeVersion', data.fileName);
|
||||
}
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
getCurrentVersion(): string {
|
||||
const currentRecipeVersion = localStorage.getItem('currentRecipeVersion');
|
||||
if (currentRecipeVersion) {
|
||||
return currentRecipeVersion;
|
||||
}
|
||||
|
||||
return 'coffeethai02_580.json';
|
||||
}
|
||||
|
||||
getRecipesById(id: string): Observable<Recipe01> {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ export class DashboardComponent implements OnInit {
|
|||
private offset = 0;
|
||||
private take = 20;
|
||||
private recipeVersionData: string[] = [];
|
||||
private currentRecipeVersion: string = 'coffeethai02_580.json';
|
||||
|
||||
recipeVersion: BehaviorSubject<string> = new BehaviorSubject<string>('');
|
||||
recipeVersion$ = this.recipeVersion.asObservable();
|
||||
|
|
@ -61,7 +60,7 @@ export class DashboardComponent implements OnInit {
|
|||
offset: this.offset,
|
||||
take: this.take,
|
||||
search: this.oldSearchStr,
|
||||
version: this.currentRecipeVersion,
|
||||
version: this._recipeService.getCurrentVersion(),
|
||||
})
|
||||
.subscribe(({ recipes, hasMore, fileName }) => {
|
||||
const { Recipe01, ...recipesWithoutRecipe01 } = recipes;
|
||||
|
|
@ -100,7 +99,7 @@ export class DashboardComponent implements OnInit {
|
|||
offset: this.offset,
|
||||
take: this.take,
|
||||
search: this.oldSearchStr,
|
||||
version: this.currentRecipeVersion,
|
||||
version: this._recipeService.getCurrentVersion(),
|
||||
})
|
||||
.subscribe(({ recipes, hasMore, fileName }) => {
|
||||
const { Recipe01, ...recipesWithoutRecipe01 } = recipes;
|
||||
|
|
@ -139,7 +138,7 @@ export class DashboardComponent implements OnInit {
|
|||
offset: this.offset,
|
||||
take: this.take,
|
||||
search: this.searchStr,
|
||||
version: this.currentRecipeVersion,
|
||||
version: this._recipeService.getCurrentVersion(),
|
||||
})
|
||||
.subscribe(({ recipes, hasMore, fileName }) => {
|
||||
const { Recipe01, ...recipesWithoutRecipe01 } = recipes;
|
||||
|
|
@ -165,7 +164,6 @@ export class DashboardComponent implements OnInit {
|
|||
this.isHasMore = true;
|
||||
this.isLoadMore = false;
|
||||
this.oldSearchStr = '';
|
||||
this.currentRecipeVersion = recipeVersion;
|
||||
|
||||
this._recipeService
|
||||
.getRecipes({
|
||||
|
|
@ -206,7 +204,8 @@ export class DashboardComponent implements OnInit {
|
|||
|
||||
openJsonTab() {
|
||||
window.open(
|
||||
environment.api + `/recipes/${this.currentRecipeVersion}/json`,
|
||||
environment.api +
|
||||
`/recipes/${this._recipeService.getCurrentVersion()}/json`,
|
||||
'_blank'
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue