{{- define "locaName" -}}
{{- $col := .Context.Field.Column }}
{{- if $col.NameLocalized }}
{{- LocaFrontend $col.NameLocalized -}}
{{- else }}
{{- $col.NameInternal -}}
{{- end }}
{{- end -}}
{{- define "renderValue" -}}
{{- $value := get . "value" -}}
{{- $octx := get $ "octx" -}}
{{- $type := $value.Type.String -}}
{{- if ne $type "FILES" -}}
{{ if get . "label" }}
{{- template "locaName" $value }}
{{ end }}
{{- if eq $type "TEXT" "STRING" -}}
{{ $value.ValueText }}
{{- else if eq $type "DATE" -}}
{{ Datetime $value.ValueTime.From }}
{{- else if eq $type "NUMBER" -}}
{ $value.ValueInt }}
{{- else if eq $type "INTEGER_2" -}}
{{ $value.Integer2ToString (get $ "octx") }}
{{- else if eq $type "DATETIME" -}}
{{ Datetime $value.ValueTime.From }}
{{- else if eq $type "DATERANGE" -}}
{{ $value.ValueDateRange }}
{{- else if eq $type "NESTED" -}}
{{- range $idx, $nrec := $value.Nested -}}
{{- template "renderRecord" dict "rec" $nrec "octx" (get $ "octx") -}}
{{- end -}}
{{- else if eq $type "REVERSE_NESTED" -}}
{{- range $idx, $rev := $value.ReverseNested -}}
{{- template "renderRecord" dict "rec" $rev.Record "octx" $octx -}}
{{- end -}}
{{- else if eq $type "BOOLEAN" -}}
{{- if $value.ValueBool -}}
Yes
{{- else -}}
No
{{- end -}}
{{- else if eq $type "TEXT_LOCA" -}}
{{ LocaData $value.ValueLoca }}
{{- else if eq $type "CUSTOM" -}}
{{ toString $value.ValueCustomData.Data }}
{{- else if eq $type "LINKED" -}}
{{- LocaData ($value.LinkedObject.RenderStandard $octx.StandardLangs 0) -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{ define "renderRecord" }}
{{- range $idx, $value := (get . "rec") -}}
{{- template "renderValue" dict "value" $value "octx" (get $ "octx") "label" true -}}
{{- end -}}
{{ end }}
{{- template "renderValue" (dict "value" .Value "octx" .OutputContext) -}}