{% if name ?? false %} {{ hiddenInput(name, '') }} {% endif -%} {% set elements = elements ?? [] -%} {% set jsClass = jsClass ?? 'Craft.BaseElementSelectInput' -%} {% set sources = sources ?? null -%} {% set criteria = criteria ?? null -%} {% set sourceElementId = sourceElementId ?? null -%} {% set storageKey = storageKey ?? null -%} {% set viewMode = viewMode ?? 'list' %} {% set sortable = sortable ?? true %} {% set prevalidate = prevalidate ?? false %} {% set fieldId = fieldId ?? null %} {% set limit = limit ?? null %}
{% for element in elements %} {% include "_elements/element" with { context: 'field', size: (viewMode == 'large' ? 'large' : 'small') } %} {% endfor %}
{% set jsSettings = { id: id|namespaceInputId, name: name|namespaceInputName, elementType: elementType, sources: sources, criteria: criteria, allowSelfRelations: allowSelfRelations ?? false, sourceElementId: sourceElementId, disabledElementIds: disabledElementIds ?? null, viewMode: viewMode, limit: limit, showSiteMenu: showSiteMenu ?? false, modalStorageKey: storageKey, fieldId: fieldId, sortable: sortable, prevalidate: prevalidate, modalSettings: modalSettings ?? {}, } %} {% js %} new {{ jsClass }}({{ jsSettings|json_encode|raw }}); {% endjs %}