From 3a1a9ba6eec4b722fea1fc9885b8dff2d92dee28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20B=C3=B6ckelmann?= Date: Wed, 8 May 2024 07:47:44 +0200 Subject: [PATCH] ItemCharacteristicValueEditor --- ...-item-characteristic-editor.component.html | 1 + ...-item-characteristic-editor.component.scss | 0 ...em-characteristic-editor.component.spec.ts | 23 +++++++++++++ ...ed-item-characteristic-editor.component.ts | 32 +++++++++++++++++++ 4 files changed, 56 insertions(+) create mode 100644 src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.html create mode 100644 src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.scss create mode 100644 src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.spec.ts create mode 100644 src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.ts diff --git a/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.html b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.html new file mode 100644 index 0000000..b1f08c6 --- /dev/null +++ b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.html @@ -0,0 +1 @@ +

inherited-item-characteristic-editor works!

diff --git a/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.scss b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.spec.ts b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.spec.ts new file mode 100644 index 0000000..437d097 --- /dev/null +++ b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { InheritedItemCharacteristicEditorComponent } from './inherited-item-characteristic-editor.component'; + +describe('InheritedItemCharacteristicEditorComponent', () => { + let component: InheritedItemCharacteristicEditorComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [InheritedItemCharacteristicEditorComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(InheritedItemCharacteristicEditorComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.ts b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.ts new file mode 100644 index 0000000..a344aa5 --- /dev/null +++ b/src/app/editor/items/item-editor/inherited-item-characteristic-editor/inherited-item-characteristic-editor.component.ts @@ -0,0 +1,32 @@ +import {Component, Input, OnInit} from '@angular/core'; +import {ItemGroup} from "../../../../project/game-model/inventory/ItemGroup"; +import {Item} from "../../../../project/game-model/inventory/Item"; +import {MatTableDataSource} from "@angular/material/table"; +import {ItemgroupCharacteristicValue} from "../../../../project/game-model/inventory/ItemgroupCharacteristicValue"; + +@Component({ + selector: 'app-inherited-item-characteristic-editor', + templateUrl: './inherited-item-characteristic-editor.component.html', + styleUrl: './inherited-item-characteristic-editor.component.scss' +}) +export class InheritedItemCharacteristicEditorComponent implements OnInit{ + + @Input() inheritedItemgroup: ItemGroup | undefined + @Input() item: Item | undefined + + datasource: MatTableDataSource = new MatTableDataSource(); + + ngOnInit() { + this.item!.initializeItemCharacteristics(); + this.datasource.data = this.findCharacteristicValuesByItemgroup(this.inheritedItemgroup!); + } + + + private findCharacteristicValuesByItemgroup(itemGroup: ItemGroup): ItemgroupCharacteristicValue[] { + const result = this.item?.itemCharacteristicValues.filter(value => value.key.itemgroup.componentName === itemGroup.componentName); + if(result != undefined) { + return result; + } + return [] + } +}