Assembly Listenübersicht umsetzen

This commit is contained in:
Marcel Diegelmann 2025-07-03 13:47:20 +02:00
parent 70303ca454
commit f93152cb1c
26 changed files with 2511 additions and 3 deletions

View file

@ -0,0 +1,6 @@
<div class="row mb-3">
<div class="col">
<a href="{{ path('assembly_new', url_options) }}" class="btn btn-success float-start {% if not is_granted("@assemblies.create") or (entity is defined and entity.notSelectable) %}disabled{% endif %}"><i class="fas fa-plus-square fa-fw"></i>
{% trans%}assemblies.create.btn{% endtrans %}</a>
</div>
</div>

View file

@ -0,0 +1,62 @@
<div class="accordion-item">
<div class="accordion-header">
<button class="accordion-button collapsed py-2" type="button" data-bs-toggle="collapse" data-bs-target="#filterFormCollapse" aria-expanded="false" aria-controls="filterFormCollapse"><i class="fa-solid fa-filter fa-fw"></i> {% trans %}filter.title{% endtrans %}</button>
</div>
<div id="filterFormCollapse" class="accordion-collapse collapse" data-bs-parent="#listAccordion">
<div class="accordion-body">
<ul class="nav nav-tabs" id="filterTabs" role="tablist">
<li class="nav-item" role="presentation">
<button class="nav-link active" id="filter-common-tab" data-bs-toggle="tab" data-bs-target="#filter-common"><i class="fas fa-id-card fa-fw"></i> {% trans %}assembly.edit.tab.common{% endtrans %}</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="filter-advanced-tab" data-bs-toggle="tab" data-bs-target="#filter-advanced"><i class="fas fa-shapes fa-fw"></i> {% trans %}assembly.edit.tab.advanced{% endtrans %}</button>
</li>
<li class="nav-item" role="presentation">
<button class="nav-link" id="filter-attachments-tab" data-bs-toggle="tab" data-bs-target="#filter-attachments"><i class="fas fa-paperclip fa-fw"></i> {% trans %}assembly.edit.tab.attachments{% endtrans %}</button>
</li>
</ul>
{{ form_start(filterForm, {"attr": {"data-controller": "helpers--form-cleanup", "data-action": "helpers--form-cleanup#submit"}}) }}
<div class="tab-content">
<div class="tab-pane active pt-3" id="filter-common" role="tabpanel" aria-labelledby="filter-common-tab" tabindex="0">
{{ form_row(filterForm.name) }}
{{ form_row(filterForm.description) }}
{{ form_row(filterForm.comment) }}
</div>
<div class="tab-pane pt-3" id="filter-advanced" role="tabpanel" aria-labelledby="filter-advanced-tab" tabindex="0">
{{ form_row(filterForm.dbId) }}
{{ form_row(filterForm.ipn) }}
{{ form_row(filterForm.lastModified) }}
{{ form_row(filterForm.addedDate) }}
</div>
<div class="tab-pane pt-3" id="filter-attachments" role="tabpanel" aria-labelledby="filter-attachments-tab" tabindex="0">
{{ form_row(filterForm.attachmentsCount) }}
{{ form_row(filterForm.attachmentType) }}
{{ form_row(filterForm.attachmentName) }}
</div>
</div>
{{ form_row(filterForm.submit) }}
{{ form_row(filterForm.discard) }}
<div class="row mb-3">
<div class="col-sm-9 offset-sm-3">
<button type="button" class="btn btn-danger" {{ stimulus_action('helpers/form_cleanup', 'clearAll') }}>{% trans %}filter.clear_filters{% endtrans %}</button>
</div>
</div>
{# Retain the query parameters of the search form if it is existing #}
{% if searchFilter is defined %}
{% for property, value in searchFilter|to_array %}
<input type="hidden" name="{{ property }}" data-no-clear="true" value="{{ value }}">
{% endfor %}
{% endif %}
{{ form_end(filterForm) }}
</div>
</div>
</div>

View file

@ -0,0 +1,30 @@
{% extends "base.html.twig" %}
{% block title %}
{% trans %}assembly_list.all.title{% endtrans %}
{% endblock %}
{% block content %}
<div class="accordion mb-3" id="listAccordion">
<div class="accordion-item">
<div class="accordion-header">
<button class="accordion-button collapsed py-2" data-bs-toggle="collapse" data-bs-target="#searchInfo" disabled>
<i class="fa-solid fa-globe fa-fw"></i>
{% trans %}assembly_list.all.title{% endtrans %}
</button>
</div>
<div id="searchInfo" class="accordion-collapse collapse" data-bs-parent="#listAccordion">
<div class="accordion-body">
</div>
</div>
</div>
{% include "assemblies/lists/_filter.html.twig" %}
</div>
{% include "assemblies/lists/_action_bar.html.twig" with {'url_options': {}} %}
{% include "assemblies/lists/data.html.twig" %}
{% endblock %}

View file

@ -0,0 +1,3 @@
{% import "components/datatables.macro.html.twig" as datatables %}
{{ datatables.partsDatatableWithForm(datatable) }}