Enforce hidden features in the card and grid filters/sort

This commit is contained in:
Gregoo 2025-02-04 09:32:57 +01:00
parent bd8c52941a
commit b0c7cd7da5
4 changed files with 31 additions and 9 deletions

View File

@ -103,7 +103,9 @@
{% endmacro %} {% endmacro %}
{% macro total_damaged(damaged, solo=false, last=false) %} {% macro total_damaged(damaged, solo=false, last=false) %}
{{ badge(check=damaged, solo=solo, last=last, color='danger', icon='error-warning-line', collapsible='Damaged:', text=damaged, alt='Damaged') }} {% if not config['HIDE_TABLE_DAMAGED_PARTS'] %}
{{ badge(check=damaged, solo=solo, last=last, color='danger', icon='error-warning-line', collapsible='Damaged:', text=damaged, alt='Damaged') }}
{% endif %}
{% endmacro %} {% endmacro %}
{% macro total_quantity(quantity, solo=false, last=false) %} {% macro total_quantity(quantity, solo=false, last=false) %}
@ -115,7 +117,9 @@
{% endmacro %} {% endmacro %}
{% macro total_missing(missing, solo=false, last=false) %} {% macro total_missing(missing, solo=false, last=false) %}
{{ badge(check=missing, solo=solo, last=last, color='light text-danger-emphasis bg-danger-subtle border border-danger-subtle', icon='question-line', collapsible='Missing:', text=missing, alt='Missing') }} {% if not config['HIDE_TABLE_MISSING_PARTS'] %}
{{ badge(check=missing, solo=solo, last=last, color='light text-danger-emphasis bg-danger-subtle border border-danger-subtle', icon='question-line', collapsible='Missing:', text=missing, alt='Missing') }}
{% endif %}
{% endmacro %} {% endmacro %}
{% macro total_sets(sets, solo=false, last=false) %} {% macro total_sets(sets, solo=false, last=false) %}

View File

@ -7,10 +7,16 @@
{% if not solo and not tiny %} {% if not solo and not tiny %}
data-index="{{ index }}" data-number="{{ item.fields.set }}" data-name="{{ item.fields.name | lower }}" data-parts="{{ item.fields.number_of_parts }}" data-index="{{ index }}" data-number="{{ item.fields.set }}" data-name="{{ item.fields.name | lower }}" data-parts="{{ item.fields.number_of_parts }}"
data-year="{{ item.fields.year }}" data-theme="{{ item.theme.name | lower }}" data-year="{{ item.fields.year }}" data-theme="{{ item.theme.name | lower }}"
data-has-missing-instructions="{{ (not (item.instructions | length)) | int }}" {% if not config['HIDE_SET_INSTRUCTIONS'] %}
data-has-missing-instructions="{{ (item.instructions | length == 0) | int }}"
{% endif %}
data-has-minifigures="{{ (item.fields.total_minifigures > 0) | int }}" data-minifigures="{{ item.fields.total_minifigures }}" data-has-minifigures="{{ (item.fields.total_minifigures > 0) | int }}" data-minifigures="{{ item.fields.total_minifigures }}"
data-has-missing="{{ (item.fields.total_missing > 0) | int }}" data-missing="{{ item.fields.total_missing }}" {% if not config['HIDE_TABLE_MISSING_PARTS'] %}
data-has-damaged="{{ (item.fields.total_damaged > 0) | int }}" data-damaged="{{ item.fields.total_damaged }}" data-has-missing="{{ (item.fields.total_missing > 0) | int }}" data-missing="{{ item.fields.total_missing }}"
{% endif %}
{% if not config['HIDE_TABLE_DAMAGED_PARTS'] %}
data-has-damaged="{{ (item.fields.total_damaged > 0) | int }}" data-damaged="{{ item.fields.total_damaged }}"
{% endif %}
data-has-storage="{{ item.fields.storage is not none | int }}" data-has-storage="{{ item.fields.storage is not none | int }}"
{% if item.fields.storage is not none %} {% if item.fields.storage is not none %}
data-storage="{{ item.fields.storage }}" data-storage="{{ item.fields.storage }}"

View File

@ -7,10 +7,18 @@
data-filter="metadata" data-filter="metadata"
autocomplete="off"> autocomplete="off">
<option value="" selected>All</option> <option value="" selected>All</option>
<option value="-has-missing">Set is complete</option> {% if not config['HIDE_TABLE_MISSING_PARTS'] %}
<option value="has-missing">Set has missing pieces</option> <option value="has-missing">Has missing pieces</option>
<option value="has-damaged">Set has damaged pieces</option> <option value="-has-missing">Has NO missing pieces</option>
<option value="has-missing-instructions">Set has missing instructions</option> {% endif %}
{% if not config['HIDE_TABLE_DAMAGED_PARTS'] %}
<option value="has-damaged">Has damaged pieces</option>
<option value="-has-damaged">Has NO damaged pieces</option>
{% endif %}
{% if not config['HIDE_SET_INSTRUCTIONS'] %}
<option value="-has-missing-instructions">Has instructions</option>
<option value="has-missing-instructions">Is MISSING instructions</option>
{% endif %}
{% if brickset_storages | length %} {% if brickset_storages | length %}
<option value="has-storage">Is in storage</option> <option value="has-storage">Is in storage</option>
<option value="-has-storage">Is NOT in storage</option> <option value="-has-storage">Is NOT in storage</option>

View File

@ -14,10 +14,14 @@
data-sort-attribute="minifigures" data-sort-desc="true"><i class="ri-group-line"></i><span class="d-none d-xl-inline"> Figures</span></button> data-sort-attribute="minifigures" data-sort-desc="true"><i class="ri-group-line"></i><span class="d-none d-xl-inline"> Figures</span></button>
<button id="sort-parts" type="button" class="btn btn-outline-primary mb-2" <button id="sort-parts" type="button" class="btn btn-outline-primary mb-2"
data-sort-attribute="parts" data-sort-desc="true"><i class="ri-shapes-line"></i><span class="d-none d-xl-inline"> Parts</span></button> data-sort-attribute="parts" data-sort-desc="true"><i class="ri-shapes-line"></i><span class="d-none d-xl-inline"> Parts</span></button>
{% if not config['HIDE_TABLE_MISSING_PARTS'] %}
<button id="sort-missing" type="button" class="btn btn-outline-primary mb-2" <button id="sort-missing" type="button" class="btn btn-outline-primary mb-2"
data-sort-attribute="missing" data-sort-desc="true"><i class="ri-question-line"></i><span class="d-none d-xl-inline"> Missing</span></button> data-sort-attribute="missing" data-sort-desc="true"><i class="ri-question-line"></i><span class="d-none d-xl-inline"> Missing</span></button>
{% endif %}
{% if not config['HIDE_TABLE_DAMAGED_PARTS'] %}
<button id="sort-damaged" type="button" class="btn btn-outline-primary mb-2" <button id="sort-damaged" type="button" class="btn btn-outline-primary mb-2"
data-sort-attribute="damaged" data-sort-desc="true"><i class="ri-error-warning-line"></i><span class="d-none d-xl-inline"> Damaged</span></button> data-sort-attribute="damaged" data-sort-desc="true"><i class="ri-error-warning-line"></i><span class="d-none d-xl-inline"> Damaged</span></button>
{% endif %}
<button id="sort-clear" type="button" class="btn btn-outline-dark mb-2" <button id="sort-clear" type="button" class="btn btn-outline-dark mb-2"
data-sort-clear="true"><i class="ri-close-circle-line"></i><span class="d-none d-xl-inline"> Clear</span></button> data-sort-clear="true"><i class="ri-close-circle-line"></i><span class="d-none d-xl-inline"> Clear</span></button>
</div> </div>