(click)="saveSubtitle()">Speichern</button>
</form>
-<form #formFood="ngForm" *ngIf="formFoodVisible" class="form">
- <label>Speise</label>
- <input [(ngModel)]="food.Food" name="food" type="text" />
- <label>Beilage</label>
- <input [(ngModel)]="food.sideDish" name="sideDish" type="text" />
- <label>Preis</label>
- <input [(ngModel)]="food.price" name="price" type="text" />
- <button class="button"
- type="button"
- id="insertFood"
- [disabled]="edit || !disableByInsertMode()"
- (click)="insertFoodAfter()">Einfügen</button>
-</form>
-
<div *ngFor="let title of foodcard.Titles; let i = index">
<h1>{{title.Title}}</h1>
<button class="button"
type="button"
id="buttonFood"
[disabled]="disableFoodButton()"
- (click)="addNewFood(title, i)">Speise hinzufügen</button>
+ (click)="insertNewFood(subtitle, i)">Speise hinzufügen</button>
<div *ngFor="let food of subtitle.Foods; let i = index">
<app-food [food]="food"></app-food>
<button class="button"
type="button"
- (click)="insertFood(title, subtitle, food)">Einfügen</button>
+ (click)="insertNewFood(subtitle, i)">Einfügen</button>
<button class="button"
type="button"
(click)="removeFood(subtitle, i)">Löschen</button>
this.formSubtitleVisible = !this.formSubtitleVisible;
}
- public addNewFood(title: ITitle, index: number): void
- {
- let titleIndex = this.foodcard.Titles.indexOf(title);
- this.insertIndicies = [ titleIndex, index,
- title.Subtitles[index].Foods.length - 1 ];
- this.formFoodVisible = !this.formFoodVisible;
- }
-
public disableFoodButton(): boolean
{
if (this.foodcard.Titles.length < 1)
}
- public addFood(): void
+ public insertNewFood(subtitle: ISubtitle, index: number): void
{
- let lastSubtitle = this.getLastSubtitle();
- lastSubtitle.Foods.push(this.food);
- this.food = { Food: "", sideDish: "", price: "" };
- this.formFoodVisible = false;
- }
-
- public insertFoodAfter(): void
- {
- let title = this.foodcard.Titles[this.insertIndicies[0]];
- let subtitle = title.Subtitles[this.insertIndicies[1]];
- subtitle.Foods.splice(this.insertIndicies[2] + 1, 0, this.food);
- this.food = { Food: "", sideDish: "", price: "" };
- this.insertIndicies = [ -1, -1, -1 ];
- this.formFoodVisible = false;
- }
-
- public insertFood(title: ITitle, subtitle: ISubtitle, food: IFood): void
- {
- let titleIndex = this.foodcard.Titles.indexOf(title);
- let subtitleIndex = title.Subtitles.indexOf(subtitle);
- let foodIndex = subtitle.Foods.indexOf(food);
-
- this.insertIndicies = [ titleIndex, subtitleIndex, foodIndex ];
- this.formFoodVisible = true;
+ subtitle.Foods.splice(index + 1, 0,
+ { Food: "", sideDish: "", price: "" });
}
public removeFood(subtitle: ISubtitle, foodindex: number): void