diff --git a/src/server/plugins/engine/components/OsGridRefField.ts b/src/server/plugins/engine/components/OsGridRefField.ts index 607121214..408cdd010 100644 --- a/src/server/plugins/engine/components/OsGridRefField.ts +++ b/src/server/plugins/engine/components/OsGridRefField.ts @@ -2,7 +2,9 @@ import { type OsGridRefFieldComponent } from '@defra/forms-model' import { EN_GB } from '~/src/server/constants.js' import { LocationFieldBase } from '~/src/server/plugins/engine/components/LocationFieldBase.js' +import { getMapLayers } from '~/src/server/plugins/engine/components/LocationFieldHelpers.js' import { createLowerFirstExpression } from '~/src/server/plugins/engine/components/helpers/index.js' +import { type RenderContext } from '~/src/server/plugins/engine/components/types.js' import { t } from '~/src/server/plugins/engine/i18n/index.js' import { type Translator } from '~/src/server/plugins/engine/types/index.js' import { type ErrorMessageTemplateList } from '~/src/server/plugins/engine/types.js' @@ -10,6 +12,17 @@ import { type ErrorMessageTemplateList } from '~/src/server/plugins/engine/types export class OsGridRefField extends LocationFieldBase { declare options: OsGridRefFieldComponent['options'] + getViewModel(context: RenderContext) { + const viewModel = super.getViewModel(context) + + Object.assign(viewModel, { + lang: context.translator.language, + mapLayers: getMapLayers(this) + }) + + return viewModel + } + protected getValidationConfig(translator: Translator | undefined) { // Regex for OS national grid references (NGR) // Validates specific valid OS grid letter combinations with: diff --git a/src/server/plugins/engine/views/components/osgridreffield.html b/src/server/plugins/engine/views/components/osgridreffield.html index 70a84f7ee..c83245773 100644 --- a/src/server/plugins/engine/views/components/osgridreffield.html +++ b/src/server/plugins/engine/views/components/osgridreffield.html @@ -5,7 +5,8 @@ {% set hasErrors = component.model.errorMessage %}
+ data-lang="{{component.model.lang}}" + data-maplayers="{{component.model.mapLayers}}">
{{ TextField(component) }}