{# Make the config options show up as checkmark buttons or dropdown #}
{% set specType = WebshopSettings.getConfigurableSpecFrontendType %}
{% if configSpecs is not empty %}
{# CONFIGURABLE #}
{% set simplified_specs = Product.getSimplifiedSpecValues %}
<form method="post" id="configurable-options">
<table>
{% for specid, specData in configSpecs %}
{% if specs[specid] is defined and (specData|length > 1) %}
{% set valueToId = configSpecsIds[specid] %}
{% set simplified_details = [] %}
{% if simplified_specs[specid] is defined %}
{% set simplified_details = simplified_specs[specid] %}
{% endif %}
{% set option_index = loop.index %}
<tr class="config-spec-row {{option_index == 1 ? 'active-step' : ''}}" data-specid="{{specid}}" id="config-spec-row-{{specid}}">
<td>
<div class="table-wrapper">
<table>
<tr>
<td>
{{specs[specid].label}}
{# [{{specid}}] #}
</td>
<td>
{% if specs[specid].type == 'color' %}
{% if specType == 1 %}
<div class="type-colors">
<select class="configurable-option form-select" {{option_index > 1 ? 'disabled' : ''}} name="spec[{{specid}}]" data-specid="{{specid}}" onchange="changeConfigurable(this)">
<option disabled selected value="">- {{ 'Selecteer een optie' | trans({}, 'webshop', app.request.locale) }} -</option>}
{% for v,products in specData %}
{% set unavailable = (option_index > 1 or (specs_disabled[specid] is defined and v in specs_disabled[specid])) %}
{% set enabled = (v in simplified_details) %}
<option {{unavailable ? 'disabled' : ''}} data-svid="{{valueToId[v]}}" data-id="{{specid}}_{{v}}" {{enabled ? 'selected' : ''}} data-products="{{products[0]}}" value="{{v}}">
{{v}}
</option>
{% endfor %}
</select>
</div>
{% else %}
<div class="type-colors">
{% for v, products in specData %}
{% set unavailable = ((option_index > 1) or (specs_disabled[specid] is defined and v in specs_disabled[specid])) %}
{% set enabled = (v in simplified_details) %}
{% if enabled or option_index == 1 %}
{% set unavailable = false %}
{% endif %}
<label class="{{enabled ? 'active' : ''}} {{unavailable ? 'not-available' : ''}}" data-id="{{specid}}_{{v}}" title="{{v}}">
<input data-svid="{{valueToId[v]}}" name="spec[{{specid}}]" style="display:none;" onclick="changeConfigurable(this)" {{enabled ? 'checked' : ''}} type="radio" data-products="{{products[0]}}" value="{{v}}" data-bs-toggle="tooltip" title="{{v}}"/>
<span class="color-dot {{enabled ? 'active' : ''}}" style="{% if v == null %}background-image:url(/bundles/trinitywebshop/img/multi-color.png);background-position:center;background-size:cover;{% else %}background:{{configHex[v]}};{% endif %}"></span>
<span class="color-label">{{v}}</span>
</label>
{% endfor %}
</div>
{% endif %}
{% elseif specs[specid].code == 'size' %}
{% if specType == 1 %}
<select class="configurable-option form-select" {{option_index > 1 ? 'disabled' : ''}} name="spec[{{specid}}]" data-specid="{{specid}}" onchange="changeConfigurable(this)">
<option disabled selected value="">- {{ 'Selecteer een optie' | trans({}, 'webshop', app.request.locale) }} -</option>}
{% for v,products in specData %}
{% set unavailable = (option_index > 1 or (specs_disabled[specid] is defined and v in specs_disabled[specid])) %}
{% set enabled = (v in simplified_details) %}
<option {{unavailable ? 'disabled' : ''}} data-svid="{{valueToId[v]}}" data-id="{{specid}}_{{v}}" {{enabled ? 'selected' : ''}} data-products="{{products[0]}}" value="{{v}}">
{{v}}
</option>
{% endfor %}
</select>
{% else %}
{% for v, products in specData %}
{% set unavailable = (option_index > 1 or (specs_disabled[specid] is defined and v in specs_disabled[specid])) %}
{% set enabled = (v in simplified_details) %}
{% if enabled %}
{% set unavailable = false %}
{% endif %}
<label data-id="{{specid}}_{{v}}" class="square-select {{enabled ? 'active' : ''}} {{unavailable ? 'not-available' : ''}}">
<input name="spec[{{specid}}]" style="display:none;" data-svid="{{valueToId[v]}}" {{enabled ? 'checked' : ''}} onclick="if(!$(this).closest('label').hasClass('disabled')){$(this).closest('td').find('.square-select').removeClass('active');$(this).parent().addClass('active');changeConfigurable(this)}" type="radio" data-products="{{products[0]}}" value="{{v}}"/>
{{v}}
</label>
{% endfor %}
{% endif %}
{% else %}
{% if specData|length > 1 %}
{% if specType == 1 %}
<select class="configurable-option form-select" {{option_index > 1 ? 'disabled' : ''}} name="spec[{{specid}}]" data-specid="{{specid}}" onchange="changeConfigurable(this)">
<option disabled selected value="">- {{ 'Selecteer een optie' | trans({}, 'webshop', app.request.locale) }} -</option>}
{% for v,products in specData %}
{% set unavailable = (option_index > 1 or (specs_disabled[specid] is defined and v in specs_disabled[specid])) %}
{% set enabled = (v in simplified_details) %}
<option {{unavailable ? 'disabled' : ''}} data-svid="{{valueToId[v]}}" data-id="{{specid}}_{{v}}" {{enabled ? 'selected' : ''}} data-products="{{products[0]}}" value="{{v}}">
{{v}}
</option>
{% endfor %}
</select>
{% else %}
{% for v, products in specData %}
{% set unavailable = (option_index > 1) %}
{% set enabled = (v in simplified_details) %}
{% if enabled %}
{% set unavailable = false %}
{% endif %}
<label data-id="{{specid}}_{{v}}" class="square-select {{enabled ? 'active' : ''}} {{unavailable ? 'not-available' : ''}}">
<input name="spec[{{specid}}]" style="display:none;" data-svid="{{valueToId[v]}}" {{enabled ? 'checked' : ''}} onclick="if(!$(this).closest('label').hasClass('disabled')){$(this).closest('td').find('.square-select').removeClass('active');$(this).parent().addClass('active');changeConfigurable(this)}" type="radio" data-products="{{products[0]}}" value="{{v}}"/>
{{v}}
</label>
{% endfor %}
{% endif %}
{% else %}
{#{% for v, products in specData %}
<span>{{v}}</span>
{% endfor %}#}
{% endif %}
{% endif %}
</td>
</tr>
</table>
</div>
</td>
</tr>
{% endif %}
{% endfor %}
</table>
</form>
{% endif %}