api-generator-templates/Web-documentation/blocks/field-row.html.twig

51 lines
2.0 KiB
Twig

{%- macro formatValueType(valueType, nullable, objectsLinks, useAnchors) -%}
{%- import _self as self -%}
{%- import '../utils.twig' as utils -%}
{%- if valueType.baseTypeName == "Map" -%}
{%- set keysType = self.formatValueType(valueType.keysType, false, objectsLinks, useAnchors) -%}
{%- set valuesType = self.formatValueType(valueType.valuesType, false, objectsLinks, useAnchors) -%}
{%- set mapType = concat("Map<", keysType, ", ", valuesType, ">") -%}
{{- utils.formatNullable(mapType, nullable) -}}
{%- elseif valueType.baseTypeName == "Array" -%}
{%- set itemsType = self.formatValueType(valueType.itemsType, false, objectsLinks, useAnchors) -%}
{%- set arrayType = concat(itemsType, "[]") -%}
{{- utils.formatNullable(arrayType, nullable) -}}
{%- else -%}
{%- set link = null -%}
{%- for name, path in objectsLinks -%}
{%- if name == valueType.baseTypeName -%}
{% if useAnchors %}
{% set link = concat("#", valueType.baseTypeName) %}
{% else %}
{%- set link = path -%}
{% endif %}
{%- endif -%}
{%- endfor -%}
{%- if link is not null -%}
<a class="info" href="{{ link }}">{{- utils.formatNullable(valueType.typeName, nullable) -}}</a>
{%- else -%}
{{- utils.formatNullable(valueType.typeName, nullable) -}}
{%- endif -%}
{%- endif -%}
{%- endmacro -%}
{%- import _self as self -%}
{%- import '../utils.twig' as utils -%}
<div class="row-body">
<div>{{ field.jsonName }}</div>
<div>
{{ self.formatValueType(field.type.type, field.nullable, objectsLinks, useAnchors) }}
{%- if field.type.type.typeName == "DateTime" -%}
&nbsp;({{ field.type.dateFormat }})
{%- endif -%}
</div>
<div>{{ field.description }}</div>
<div>{{ utils.optionalDescription(field.optional) }}</div>
</div>