diff --git a/src/app/components/basicComponent/basic.component.html b/src/app/components/basicComponent/basic.component.html index 3468fb29..60b4ff04 100644 --- a/src/app/components/basicComponent/basic.component.html +++ b/src/app/components/basicComponent/basic.component.html @@ -2,7 +2,17 @@
- Flex item - + +
\ No newline at end of file diff --git a/src/app/components/basicComponent/basic.component.ts b/src/app/components/basicComponent/basic.component.ts index 7c6e75b9..9a94d8f3 100644 --- a/src/app/components/basicComponent/basic.component.ts +++ b/src/app/components/basicComponent/basic.component.ts @@ -1,12 +1,12 @@ import { Component } from '@angular/core'; - +import { FormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; // Import CommonModule for *ngFor import { SharedService } from '../../shared.service'; @Component({ selector: 'basic-component', standalone: true, - imports: [CommonModule], + imports: [CommonModule, FormsModule], templateUrl: './basic.component.html', styleUrls: ['./basic.component.css'], }) diff --git a/src/app/components/header/header.component.html b/src/app/components/header/header.component.html index acfb5a7e..5672d28d 100644 --- a/src/app/components/header/header.component.html +++ b/src/app/components/header/header.component.html @@ -1,18 +1,9 @@
diff --git a/src/app/components/header/header.component.ts b/src/app/components/header/header.component.ts index 214c207e..dcfe6f85 100644 --- a/src/app/components/header/header.component.ts +++ b/src/app/components/header/header.component.ts @@ -1,18 +1,25 @@ import { Component } from "@angular/core"; import { SharedService } from '../../shared.service'; +import { IComponentModel } from '../../interfaces/IComponent.Model' +import { FormsModule } from '@angular/forms'; @Component({ selector: 'header-component', standalone: true, templateUrl: './header.component.html', styleUrl: './header.component.css', + imports: [FormsModule] }) export class HeaderComponent{ + IComponentModel: IComponentModel = { + Id:0, + Name:'test', + Url:'localhost' + } + constructor(public sharedService: SharedService){} - constructor(public sharedService: SharedService) {} - - AddComponent() { - this.sharedService.AddItem(); + AddComponent(IComponentModel: IComponentModel) { + this.sharedService.AddComponent(IComponentModel); } } \ No newline at end of file diff --git a/src/app/interfaces/IComponent.Model.ts b/src/app/interfaces/IComponent.Model.ts new file mode 100644 index 00000000..3c8ea7f9 --- /dev/null +++ b/src/app/interfaces/IComponent.Model.ts @@ -0,0 +1,5 @@ +export interface IComponentModel{ + Id:number; + Name:string; + Url:string; +} \ No newline at end of file diff --git a/src/app/shared.service.ts b/src/app/shared.service.ts index 044fe377..bfa8d653 100644 --- a/src/app/shared.service.ts +++ b/src/app/shared.service.ts @@ -1,11 +1,12 @@ import { Injectable } from '@angular/core'; +import { IComponentModel } from './interfaces/IComponent.Model'; @Injectable({ providedIn: 'root' }) export class SharedService { - flexItems: { id: number }[] = []; + flexItems: { IComponentModel: IComponentModel }[] = []; Remove(id: number) { let index = this.GetId(id); @@ -14,18 +15,18 @@ export class SharedService { } } - AddItem() { + AddComponent(IComponentModel: IComponentModel) { const newId = Math.floor(Math.random() * 100) + 1; let index = this.GetId(newId); - console.log(index); if(index === -1){ - this.flexItems.push({ id: newId }); + IComponentModel.Id = newId; + this.flexItems.push({ IComponentModel: IComponentModel }); } else - this.AddItem(); + this.AddComponent(IComponentModel); } GetId(id: number): number{ - return this.flexItems.findIndex(item => item.id == id); + return this.flexItems.findIndex(item => item.IComponentModel.Id == id); } } \ No newline at end of file