diff --git a/projects/player/src/app/components/form.component.ts b/projects/player/src/app/components/form.component.ts index 5dfe7ebf0671300f5a307a551368a639f6a55047..746448aebbca8e4d989b8d4e480c8484d5250309 100644 --- a/projects/player/src/app/components/form.component.ts +++ b/projects/player/src/app/components/form.component.ts @@ -118,11 +118,20 @@ export class FormComponent implements OnInit, OnDestroy { dataParts: { pages: JSON.stringify(formModel.pages) }, + responseProgress: this.calculateResponseProgress(), unitStateDataType: this.metaDataService.playerMetadata.supportedUnitStateDataTypes }; this.veronaPostService.sendVopStateChangedNotification({ unitState }); } + private calculateResponseProgress(): 'complete' | 'some' | 'none' { + if (this.form.valid) { + return 'complete'; + } + const pages: FormArray = this.form.get('pages') as FormArray; + return (pages.controls.some(p => p.value)) ? 'some' : 'none'; + } + onPresentedPageAdded(pagePresented: number): void { if (!this.presentedPages.includes(pagePresented)) { this.presentedPages.push(pagePresented);