diff --git a/src/app/app.component.html b/src/app/app.component.html index 0626929..899bd31 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -6,6 +6,9 @@ (click)="openGamesystemsOverview()">code + + @@ -23,11 +26,13 @@ + +
diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 3ad2831..8272f56 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -254,6 +254,11 @@ export class AppComponent implements OnInit{ this.drawer!.open() } + openOverview(overviewType: ModelComponentType) { + this.openContent = overviewType; + this.drawer!.open(); + } + protected readonly ModelComponentType = ModelComponentType; closeContentOverview() { @@ -284,4 +289,5 @@ export class AppComponent implements OnInit{ } + protected readonly open = open; } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 34970f6..14cd10e 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -82,6 +82,7 @@ import { import { StateInitialCellComponent } from "./editor/gamesystem-editor/state-editor/simple-state-editor/state-initial-cell/state-initial-cell.component"; +import {ItemOverviewComponent} from "./side-overviews/item-overview/item-overview.component"; // AoT requires an exported function for factories const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new TranslateHttpLoader(http, './assets/i18n/', '.json'); @@ -107,7 +108,8 @@ const httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => new Transl CharacterOverviewComponent, CharacterEditorComponent, TemplateSpecificatorComponent, - StateInitialCellComponent + StateInitialCellComponent, + ItemOverviewComponent ], imports: [ BrowserModule, diff --git a/src/app/project/game-model/ModelComponentTypeUtillities.ts b/src/app/project/game-model/ModelComponentTypeUtillities.ts index aa736fd..984a7a2 100644 --- a/src/app/project/game-model/ModelComponentTypeUtillities.ts +++ b/src/app/project/game-model/ModelComponentTypeUtillities.ts @@ -6,6 +6,8 @@ export class ModelComponentTypeUtillities { case ModelComponentType.SCRIPTACCOUNT: return "ScriptAccounts"; case ModelComponentType.GAMESYTEM: return "Gamesystems"; case ModelComponentType.CHARACTER: return "Characters" + case ModelComponentType.ITEM: return "Items"; + case ModelComponentType.ITEMGROUP: return "Itemgroups"; default: return "Undefined"; } } @@ -15,6 +17,8 @@ export class ModelComponentTypeUtillities { case ModelComponentType.SCRIPTACCOUNT: return "ScriptAccount"; case ModelComponentType.GAMESYTEM: return "Gamesystem"; case ModelComponentType.CHARACTER: return "Character" + case ModelComponentType.ITEM: return "Item"; + case ModelComponentType.ITEMGROUP: return "Itemgroup"; default: return "Undefined"; } } @@ -24,6 +28,8 @@ export class ModelComponentTypeUtillities { case "gamesystem": return ModelComponentType.GAMESYTEM; case "scriptaccount": return ModelComponentType.SCRIPTACCOUNT; case "character": return ModelComponentType.CHARACTER + case "item": return ModelComponentType.ITEM; + case "itemgroup": return ModelComponentType.ITEMGROUP; } } } diff --git a/src/app/side-overviews/item-overview/item-overview.component.html b/src/app/side-overviews/item-overview/item-overview.component.html new file mode 100644 index 0000000..8678a9e --- /dev/null +++ b/src/app/side-overviews/item-overview/item-overview.component.html @@ -0,0 +1 @@ +

item-overview works!

diff --git a/src/app/side-overviews/item-overview/item-overview.component.scss b/src/app/side-overviews/item-overview/item-overview.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/side-overviews/item-overview/item-overview.component.spec.ts b/src/app/side-overviews/item-overview/item-overview.component.spec.ts new file mode 100644 index 0000000..58c2547 --- /dev/null +++ b/src/app/side-overviews/item-overview/item-overview.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ItemOverviewComponent } from './item-overview.component'; + +describe('ItemOverviewComponent', () => { + let component: ItemOverviewComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ItemOverviewComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ItemOverviewComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/side-overviews/item-overview/item-overview.component.ts b/src/app/side-overviews/item-overview/item-overview.component.ts new file mode 100644 index 0000000..26a0e91 --- /dev/null +++ b/src/app/side-overviews/item-overview/item-overview.component.ts @@ -0,0 +1,23 @@ +import {Component, Input} from '@angular/core'; +import {GameModel} from "../../project/game-model/GameModel"; + +interface TreeNode { + name: string, + children: TreeNode[]; +} + +interface FlatNode { + expandable: boolean, + name: string, + level: number +} + +@Component({ + selector: 'app-item-overview', + templateUrl: './item-overview.component.html', + styleUrl: './item-overview.component.scss' +}) +export class ItemOverviewComponent { + + @Input() gameModel: GameModel | undefined +}