Menu form1
Menuform component ts
import { Component } from '@angular/core';
import { MenuService, MenuItem } from '../menu.service';
@Component({
selector: 'app-menu-form',
templateUrl: './menu-form.component.html'
})
export class MenuFormComponent {
newItem: MenuItem = {
menuId: '',
menuName: '',
description: '',
category: '',
type: '',
cost: 0,
status: ''
};
constructor(private menuService: MenuService) {}
submitForm(): void {
if (!this.newItem.menuId || !this.newItem.menuName) {
alert('Menu ID and Name are required.');
return;
}
this.menuService.create(this.newItem).subscribe(() => {
alert('Menu item added successfully!');
// Clear form
this.newItem = {
menuId: '',
menuName: '',
description: '',
category: '',
type: '',
cost: 0,
status: ''
};
});
}
}
Html
<h2>Add New Menu Item</h2>
<form (ngSubmit)="submitForm()">
<label>Menu ID:</label><br>
<input [(ngModel)]="newItem.menuId" name="menuId" required><br><br>
<label>Menu Name:</label><br>
<input [(ngModel)]="newItem.menuName" name="menuName" required><br><br>
<label>Description:</label><br>
<input [(ngModel)]="newItem.description" name="description"><br><br>
<label>Category:</label><br>
<input [(ngModel)]="newItem.category" name="category" required><br><br>
<label>Type:</label><br>
<input [(ngModel)]="newItem.type" name="type" required><br><br>
<label>Cost:</label><br>
<input type="number" [(ngModel)]="newItem.cost" name="cost" required><br><br>
<label>Status:</label><br>
<input [(ngModel)]="newItem.status" name="status" required><br><br>
<button type="submit">Add Item</button>
</form>
Menu service.ts
create(item: MenuItem): Observable<MenuItem> {
return this.http.post<MenuItem>(this.apiUrl, item);
}
App.module ts
import { FormsModule } from '@angular/forms';
import { MenuFormComponent } from './menu-form/menu-form.component';
@NgModule({
declarations: [
AppComponent,
MenuListComponent,
MenuFormComponent
],
imports: [
BrowserModule,
FormsModule,
HttpClientModule
],
...
})
App.componet html
<h1>🍽 Online Restaurant Menu</h1>
<!-- Show the Add Form -->
<app-menu-form></app-menu-form>
<br><hr><br>
<!-- Show the Menu List -->
<app-menu-list></app-menu-list>
Comments
Post a Comment