mirror of
https://github.com/ToxicCrack/PrintABrick.git
synced 2025-05-18 13:10:08 -07:00
Add set list block to model/part page
This commit is contained in:
parent
3ec5d11782
commit
32c8f8e03b
@ -97,7 +97,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.ajax-load > .loader, .empty{
|
.ajax-load > .loader, .empty {
|
||||||
margin-top: 4em !important;
|
margin-top: 4em !important;
|
||||||
margin-bottom: 4em !important;
|
margin-bottom: 4em !important;
|
||||||
}
|
}
|
||||||
|
@ -75,6 +75,7 @@ model:
|
|||||||
subparts: Subparts
|
subparts: Subparts
|
||||||
related: Related bricks
|
related: Related bricks
|
||||||
parents: Parent bricks
|
parents: Parent bricks
|
||||||
|
sets: Sets
|
||||||
|
|
||||||
page:
|
page:
|
||||||
model.index: Browse bricks
|
model.index: Browse bricks
|
||||||
@ -124,6 +125,7 @@ empty:
|
|||||||
message: Sorry, no reviews found on Brickset
|
message: Sorry, no reviews found on Brickset
|
||||||
models:
|
models:
|
||||||
search.title: No results found for your search criteria
|
search.title: No results found for your search criteria
|
||||||
|
sets.title: This model/part is not used in any set
|
||||||
|
|
||||||
part:
|
part:
|
||||||
id: Number
|
id: Number
|
||||||
@ -133,6 +135,7 @@ part:
|
|||||||
alternates: Alternate parts
|
alternates: Alternate parts
|
||||||
molds: Molds of part
|
molds: Molds of part
|
||||||
prints: Prints
|
prints: Prints
|
||||||
|
sets: Sets
|
||||||
|
|
||||||
form:
|
form:
|
||||||
search.submit: Search
|
search.submit: Search
|
||||||
|
@ -106,29 +106,4 @@
|
|||||||
</main>
|
</main>
|
||||||
{% include 'footer.html.twig' %}
|
{% include 'footer.html.twig' %}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block javascripts %}
|
|
||||||
{{ parent() }}
|
|
||||||
|
|
||||||
<!-- Go to www.addthis.com/dashboard to customize your tools -->
|
|
||||||
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-593560849f04e2fa"></script>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ajaxComplete(function () {
|
|
||||||
$("#results").on( "click", ".pagination a", function (e){
|
|
||||||
e.preventDefault();
|
|
||||||
var page = $(this).attr("href"); //get page number from link
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type: 'GET',
|
|
||||||
url: page,
|
|
||||||
dataType: 'json',
|
|
||||||
success: function (data) {
|
|
||||||
$('#results').replaceWith(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -25,7 +25,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="column six wide">
|
<div class="column six wide">
|
||||||
<div class="item-info ui">
|
<div class="item-info ui">
|
||||||
<div class="addthis_inline_share_toolbox"></div>
|
|
||||||
<table class="ui very basic table">
|
<table class="ui very basic table">
|
||||||
<tr>
|
<tr>
|
||||||
<td>{{ 'model.id' | trans }}</td>
|
<td>{{ 'model.id' | trans }}</td>
|
||||||
@ -76,55 +75,64 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui vertical segment">
|
<div class="ui vertical segment">
|
||||||
|
|
||||||
|
{% set related = submodels is not empty or siblings is not empty or model.parents is not empty %}
|
||||||
|
|
||||||
<div class="ui tabular pointing secondary menu stackable">
|
<div class="ui tabular pointing secondary menu stackable">
|
||||||
<div class="container ui">
|
<div class="container ui">
|
||||||
<a class="item active" data-tab="related">{{ 'model.related' | trans }}</a>
|
{% if related %}
|
||||||
<a class="item" data-tab="sets">{{ 'model.sets' | trans }}</a>
|
<a class="item setTab {% if app.session.get('tab') != 'sets' %}active{% endif %}" data-tab="related">{{ 'model.related' | trans }}</a>
|
||||||
{#<a class="item" data-tab="parents">{{ 'model.parents' | trans }} ({{ model.parents|length }})</a>#}
|
{% endif %}
|
||||||
|
<a class="item setTab {% if app.session.get('tab') == 'sets' or not related %}active{% endif %}" data-tab="sets">{{ 'model.sets' | trans }} ({{ setCount }})</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container ui">
|
<div class="container ui">
|
||||||
<div class="ui tab active" data-tab="related">
|
{% if submodels is not empty or siblings is not empty or model.parents is not empty %}
|
||||||
<div class="segment vertical ui">
|
<div class="ui tab {% if app.session.get('tab') != 'sets' %}active{% endif %}" data-tab="related">
|
||||||
<h3 class="header">Submodels</h3>
|
{% if submodels is not empty %}
|
||||||
<div class="ui grid doubling ten column row parts">
|
<div class="segment vertical ui">
|
||||||
{% for subpart in submodels %}
|
<h3 class="header">Submodels</h3>
|
||||||
{{ blocks.model(subpart['model'], subpart['quantity']) }}
|
<div class="ui grid doubling ten column row parts">
|
||||||
{% else %}
|
{% for subpart in submodels %}
|
||||||
<div class="empty"></div>
|
{{ blocks.model(subpart['model'], subpart['quantity']) }}
|
||||||
{% endfor %}
|
{% else %}
|
||||||
</div>
|
<div class="empty"></div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if siblings is not empty %}
|
||||||
|
<div class="segment vertical ui">
|
||||||
|
<h3 class="header">Siblings</h3>
|
||||||
|
<div class="ui grid doubling ten column row parts">
|
||||||
|
|
||||||
|
{% for model in siblings %}
|
||||||
|
{{ blocks.model(model) }}
|
||||||
|
{% else %}
|
||||||
|
<div class="empty"></div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
{% if model.parents is not empty %}
|
||||||
|
<div class="segment vertical ui">
|
||||||
|
<h3 class="header">Parents</h3>
|
||||||
|
<div class="ui grid doubling ten column row parts">
|
||||||
|
|
||||||
|
{% for subpart in model.parents %}
|
||||||
|
{{ blocks.model(subpart.parent) }}
|
||||||
|
{% else %}
|
||||||
|
<div class="empty"></div>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<div class="segment vertical ui">
|
<div class="ui tab {% if app.session.get('tab') == 'sets' or not related %}active{% endif %}" data-tab="sets">
|
||||||
<h3 class="header">Siblings</h3>
|
{{ render(path('model_sets', { id: model.id, page: app.request.get('page') })) }}
|
||||||
<div class="ui grid doubling ten column row parts">
|
|
||||||
|
|
||||||
{% for model in siblings %}
|
|
||||||
{{ blocks.model(model) }}
|
|
||||||
{% else %}
|
|
||||||
<div class="empty"></div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="segment vertical ui">
|
|
||||||
<h3 class="header">Parents</h3>
|
|
||||||
<div class="ui grid doubling ten column row parts">
|
|
||||||
|
|
||||||
{% for subpart in model.parents %}
|
|
||||||
{{ blocks.model(subpart.parent) }}
|
|
||||||
{% else %}
|
|
||||||
<div class="empty"></div>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="ui tab ajax-load" data-tab="sets" data-src="{{ path('model_sets', { id: model.id, page: app.request.get('page') }) }}">
|
|
||||||
<div class="ui active centered inline loader"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,41 +2,42 @@
|
|||||||
{% import 'macros/elements.html.twig' as elements %}
|
{% import 'macros/elements.html.twig' as elements %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div id="results">
|
{% if sets.paginationData['totalCount'] %}
|
||||||
<div class="ui header segment basic sort">
|
<div class="ui header segment basic sort">
|
||||||
<div class="ui grid stackable">
|
<div class="ui grid stackable">
|
||||||
<div class="left floated left aligned twelve wide column">
|
<div class="five wide column">
|
||||||
<div class="ui text menu">
|
<div class="ui text left floated menu">
|
||||||
<div class="header item">Sort By</div>
|
<div class="header item">Showing</div>
|
||||||
|
|
||||||
|
<span class="item">{{ sets.paginationData['firstItemNumber']~' - '~sets.paginationData['lastItemNumber'] }} of {{ sets.getTotalItemCount }} items</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="eleven wide column">
|
||||||
|
<div class="ui text right floated menu">
|
||||||
|
<div class="header item">Sort By</div>
|
||||||
{{ knp_pagination_sortable(sets, 'Number', ['s.id']) }}
|
{{ knp_pagination_sortable(sets, 'Number', ['s.id']) }}
|
||||||
{{ knp_pagination_sortable(sets, 'Year', ['s.year']) }}
|
{{ knp_pagination_sortable(sets, 'Year', ['s.year']) }}
|
||||||
{{ knp_pagination_sortable(sets, 'Name', ['s.name']) }}
|
{{ knp_pagination_sortable(sets, 'Name', ['s.name']) }}
|
||||||
{{ knp_pagination_sortable(sets, 'Parts', ['s.partCount']) }}
|
{{ knp_pagination_sortable(sets, 'Parts', ['s.partCount']) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="right floated right aligned four wide column">
|
|
||||||
<div class="ui text right floated menu">
|
|
||||||
<div class="header item">Showing</div>
|
|
||||||
<span class="item">{{ sets.getTotalItemCount }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui segment basic">
|
{% endif %}
|
||||||
{% block sets %}
|
<div class="ui segment basic">
|
||||||
<div class="ui eight column doubling grid sets">
|
{% block sets %}
|
||||||
{% for set in sets %}
|
<div class="ui eight column doubling grid sets">
|
||||||
{{ blocks.set(set) }}
|
{% for set in sets %}
|
||||||
{% else %}
|
{{ blocks.set(set) }}
|
||||||
{{ blocks.empty('empty.search.title' | trans ) }}
|
{% else %}
|
||||||
{% endfor %}
|
{{ blocks.empty('empty.sets.title' | trans ) }}
|
||||||
</div>
|
{% endfor %}
|
||||||
{% endblock %}
|
</div>
|
||||||
</div>
|
{% endblock %}
|
||||||
<div class="ui segment basic">
|
</div>
|
||||||
{{ knp_pagination_render(sets) }}
|
<div class="ui segment basic">
|
||||||
</div>
|
{{ knp_pagination_render(sets) }}
|
||||||
</div>
|
</div>
|
||||||
{% endblock %}
|
{% endblock %}
|
@ -77,9 +77,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="ui vertical segment">
|
<div class="ui vertical segment">
|
||||||
|
<div class="ui tabular pointing secondary menu stackable">
|
||||||
|
<div class="container ui">
|
||||||
|
<a class="item active" data-tab="sets">{{ 'part.sets' | trans }} ({{ setCount }})</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="container ui">
|
<div class="container ui">
|
||||||
<div class="ui ajax-load" data-tab="sets" data-src="{{ path('part_sets', { id: part.id, page: app.request.get('page') }) }}">
|
<div class="ui tab active" data-tab="sets" >
|
||||||
<div class="ui active centered inline loader"></div>
|
{{ render(path('part_sets', { id: part.id, page: app.request.get('page') })) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -70,7 +70,6 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<div class="addthis_inline_share_toolbox"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user