import { Injectable } from '@angular/core'; import { Resolve } from '@angular/router'; import { FormBuilderService } from '@features/formio/form-builder/services/form-builder/form-builder.service'; import { FormLogicService } from '@features/formio/services/form-logic/form-logic.service'; import { AdHocReportingService } from '@features/reporting/services/ad-hoc-reporting.service'; @Injectable({ providedIn: 'root' }) export class ReportFieldLogicResolver implements Resolve { constructor ( private adHocReportingService: AdHocReportingService, private formLogicService: FormLogicService, private formBuilderService: FormBuilderService ) { } resolve () { const currentFormDefinition = this.formBuilderService.currentFormBuilderDefinition; const reportFieldColumns = this.adHocReportingService.getReportFieldColumns(currentFormDefinition); this.formLogicService.setReportFieldLogicColumns(reportFieldColumns); } }