DEck ausblenden bei Training, Image mit id, daten kommen alle aus der deck Tabelle

This commit is contained in:
2024-11-29 21:48:44 +01:00
parent ab021cb4c2
commit c116b56934
5 changed files with 81 additions and 78 deletions

View File

@@ -12,6 +12,7 @@ export interface Deck {
export interface DeckImage {
boxes: Box[];
name: string;
id:string;
}
export interface Box {
x1:number;
@@ -51,13 +52,14 @@ export class DeckService {
const imageMap: { [key: string]: DeckImage } = {};
images.forEach(image => {
if (!imageMap[image.name]) {
imageMap[image.name] = {
if (!imageMap[image.id]) {
imageMap[image.id] = {
name: image.name,
id:image.id,
boxes: []
};
}
imageMap[image.name].boxes.push({
imageMap[image.id].boxes.push({
x1: image.x1,
x2: image.x2,
y1: image.y1,
@@ -70,32 +72,32 @@ export class DeckService {
getDeck(deckname:string): Observable<Deck> {
return this.http.get<Deck>(`${this.apiUrl}/${deckname}/images`);
}
getImage(name: string): Observable<DeckImage> {
return this.http.get<BackendBox[]>(`${this.apiUrl}/image/${name}`).pipe(
map(response => {
if (response.length === 0) {
// Falls keine Daten zurückgegeben werden, ein leeres DeckImage zurückgeben
return { name: name, boxes: [] };
}
// getImage(name: string): Observable<DeckImage> {
// return this.http.get<BackendBox[]>(`${this.apiUrl}/image/${name}`).pipe(
// map(response => {
// if (response.length === 0) {
// // Falls keine Daten zurückgegeben werden, ein leeres DeckImage zurückgeben
// return { name: name, boxes: [] };
// }
// Extrahiere den Bildnamen aus dem ersten Element des Arrays
const imageName = response[0].bildname;
// // Extrahiere den Bildnamen aus dem ersten Element des Arrays
// const imageName = response[0].bildname;
// Mape die Backend-Daten auf das Box-Interface
const boxes: Box[] = response.map(item => ({
x1: item.x1,
x2: item.x2,
y1: item.y1,
y2: item.y2
}));
// // Mape die Backend-Daten auf das Box-Interface
// const boxes: Box[] = response.map(item => ({
// x1: item.x1,
// x2: item.x2,
// y1: item.y1,
// y2: item.y2
// }));
return {
name: imageName,
boxes: boxes
};
})
);
}
// return {
// name: imageName,
// boxes: boxes
// };
// })
// );
// }
createDeck(deckname: string): Observable<any> {
return this.http.post(this.apiUrl, { deckname });
}