diff --git a/projects/editor/src/app/app.component.ts b/projects/editor/src/app/app.component.ts index 8755780adfdabbbc0ce273c89c5a28d85e1fdf0e..7d7276a3485a2e416f57c66e74ca124689c53f27 100644 --- a/projects/editor/src/app/app.component.ts +++ b/projects/editor/src/app/app.component.ts @@ -4,6 +4,7 @@ import { registerLocaleData } from '@angular/common'; import localeDe from '@angular/common/locales/de'; import { VeronaAPIService, VoeStartCommand } from './services/verona-api.service'; import { UnitService } from './services/unit.service'; +import { IdService } from './services/id.service'; @Component({ selector: 'editor-aspect', @@ -21,6 +22,7 @@ export class AppComponent implements OnInit { isStandalone = (): boolean => window === window.parent; constructor(private unitService: UnitService, + private idService: IdService, private translateService: TranslateService, private veronaApiService: VeronaAPIService) { translateService.addLangs(['de']); @@ -30,6 +32,7 @@ export class AppComponent implements OnInit { ngOnInit(): void { this.veronaApiService.voeStartCommand .subscribe((message: VoeStartCommand): void => { + this.idService.reset(); this.unitService.loadUnitDefinition(message.unitDefinition); }); this.veronaApiService.voeGetDefinitionRequest diff --git a/projects/editor/src/app/components/toolbar/toolbar.component.ts b/projects/editor/src/app/components/toolbar/toolbar.component.ts index e9e91c3d413762336bc1c20cc4b0bd39e707f039..10b5af1a29ca683293afe8f4f87719799cfdc3f4 100644 --- a/projects/editor/src/app/components/toolbar/toolbar.component.ts +++ b/projects/editor/src/app/components/toolbar/toolbar.component.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; import { UnitService } from '../../services/unit.service'; +import { IdService } from '../../services/id.service'; @Component({ selector: 'app-toolbar', @@ -10,13 +11,17 @@ import { UnitService } from '../../services/unit.service'; ] }) export class ToolbarComponent { - constructor(private unitService: UnitService) { } + constructor( + private unitService: UnitService, + private idService: IdService + ) { } save(): void { this.unitService.saveUnit(); } async load(): Promise<void> { + this.idService.reset(); await this.unitService.loadUnitFromFile(); } } diff --git a/projects/editor/src/app/services/id.service.ts b/projects/editor/src/app/services/id.service.ts index 5622c2656666ce7fb27dc80e7f946a0b316c7a74..1c2f3272cdd022b6512b8145781787508f664814 100644 --- a/projects/editor/src/app/services/id.service.ts +++ b/projects/editor/src/app/services/id.service.ts @@ -53,4 +53,8 @@ export class IdService { // TODO rename: capitalize removeId(id: string): void { this.givenIDs.splice(this.givenIDs.indexOf(id, 0), 1); } + + reset(): void { + this.givenIDs = []; + } }