diff --git a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts index 3f7210658..8f33c15d8 100644 --- a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts +++ b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts @@ -1355,7 +1355,8 @@ export class DatasetWizardComponent extends CheckDeactivateBaseComponent impleme } reloadDateset(datasetId: string) { - this.router.navigate(['/datasets', 'edit', datasetId]); + let url = this.router.createUrlTree(['/datasets', 'edit', datasetId]).toString(); + this.location.go(url); } backToDmp(id: string) { diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-progress-indication/form-progress-indication.component.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-progress-indication/form-progress-indication.component.ts index b42dc86b8..732b71e8d 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-progress-indication/form-progress-indication.component.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/components/form-progress-indication/form-progress-indication.component.ts @@ -48,7 +48,7 @@ export class FormProgressIndicationComponent extends BaseComponent implements On this.total = this.countFormControlsRequiredFieldsForTotal(this.formGroup); } else if (this.isDatasetEditor) { this.progressSoFar = this.countFormControlsValidForProgress(this.formGroup) + this.countFormControlsWithValueForProgress(this.formGroup); - this.total = this.countFormControlsRequiredFieldsForTotal(this.formGroup) + this.CountFormControlDepthLengthFotTotal(this.formGroup); + this.total = this.countFormControlsRequiredFieldsForTotal(this.formGroup, true) + this.CountFormControlDepthLengthFotTotal(this.formGroup); } else { this.progressSoFar = this.countFormControlsWithValueForProgress(this.formGroup); this.total = this.CountFormControlDepthLengthFotTotal(this.formGroup); @@ -169,14 +169,14 @@ export class FormProgressIndicationComponent extends BaseComponent implements On return valueCurrent; } - countFormControlsRequiredFieldsForTotal(formControl: AbstractControl): number { + countFormControlsRequiredFieldsForTotal(formControl: AbstractControl, checkVisibility = false): number { let valueCurrent = 0; if (formControl instanceof FormControl) { if (this.controlRequired(formControl) && this.controlEnabled(formControl)) { valueCurrent++; } } else if (formControl instanceof FormGroup) { - if(!formControl.get('id')?.value || this.visibilityRulesService.checkElementVisibility(formControl.get('id').value)) { + if(!checkVisibility || (!formControl.get('id')?.value || this.visibilityRulesService.checkElementVisibility(formControl.get('id').value))) { Object.keys(formControl.controls).forEach(item => { const control = formControl.get(item); valueCurrent = valueCurrent + this.countFormControlsRequiredFieldsForTotal(control); diff --git a/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts b/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts index 44c1dd3fa..7188b965c 100644 --- a/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts +++ b/dmp-frontend/src/app/ui/misc/dataset-description-form/tableOfContentsMaterial/table-of-contents.ts @@ -57,6 +57,7 @@ export class TableOfContents extends BaseComponent implements OnInit, OnChanges @Input() selectedFieldsetId:string; private _tocentrySelected:ToCEntry = null; + private isSelecting: boolean = false; private _intersectionObserver: IntersectionObserver; private _actOnObservation: boolean = true; public hiddenEntries:string[] = []; @@ -442,8 +443,14 @@ export class TableOfContents extends BaseComponent implements OnInit, OnChanges } onToCentrySelected(entry: ToCEntry = null, execute: boolean = true){ - this.tocentrySelected = entry; - this.entrySelected.emit({entry: entry, execute: execute}); + if(!this.isSelecting) { + this.isSelecting = true; + this.tocentrySelected = entry; + this.entrySelected.emit({entry: entry, execute: execute}); + setTimeout(() => { + this.isSelecting = false; + }, 200); + } } private _findTocEntryById(id: string, tocentries: ToCEntry[]): ToCEntry{ @@ -496,6 +503,7 @@ export class TableOfContents extends BaseComponent implements OnInit, OnChanges return this.tocentries.some(e => this.internalTable.invalidChildsVisible(e)); } + protected readonly console = console; } export interface LinkToScroll {