1
0
mirror of https://github.com/ToxicCrack/PrintABrick.git synced 2025-05-18 05:10:07 -07:00

Add set list block to model/part page

This commit is contained in:
Unknown 2017-06-08 14:03:11 +02:00
parent 3ec5d11782
commit 32c8f8e03b
7 changed files with 88 additions and 96 deletions

View File

@ -97,7 +97,7 @@
}
}
.ajax-load > .loader, .empty{
.ajax-load > .loader, .empty {
margin-top: 4em !important;
margin-bottom: 4em !important;
}

View File

@ -75,6 +75,7 @@ model:
subparts: Subparts
related: Related bricks
parents: Parent bricks
sets: Sets
page:
model.index: Browse bricks
@ -124,6 +125,7 @@ empty:
message: Sorry, no reviews found on Brickset
models:
search.title: No results found for your search criteria
sets.title: This model/part is not used in any set
part:
id: Number
@ -133,6 +135,7 @@ part:
alternates: Alternate parts
molds: Molds of part
prints: Prints
sets: Sets
form:
search.submit: Search

View File

@ -106,29 +106,4 @@
</main>
{% include 'footer.html.twig' %}
</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 %}

View File

@ -25,7 +25,6 @@
</div>
<div class="column six wide">
<div class="item-info ui">
<div class="addthis_inline_share_toolbox"></div>
<table class="ui very basic table">
<tr>
<td>{{ 'model.id' | trans }}</td>
@ -76,55 +75,64 @@
</div>
</div>
<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="container ui">
<a class="item active" data-tab="related">{{ 'model.related' | trans }}</a>
<a class="item" data-tab="sets">{{ 'model.sets' | trans }}</a>
{#<a class="item" data-tab="parents">{{ 'model.parents' | trans }} ({{ model.parents|length }})</a>#}
{% if related %}
<a class="item setTab {% if app.session.get('tab') != 'sets' %}active{% endif %}" data-tab="related">{{ 'model.related' | trans }}</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 class="container ui">
<div class="ui tab active" data-tab="related">
<div class="segment vertical ui">
<h3 class="header">Submodels</h3>
<div class="ui grid doubling ten column row parts">
{% for subpart in submodels %}
{{ blocks.model(subpart['model'], subpart['quantity']) }}
{% else %}
<div class="empty"></div>
{% endfor %}
</div>
{% if submodels is not empty or siblings is not empty or model.parents is not empty %}
<div class="ui tab {% if app.session.get('tab') != 'sets' %}active{% endif %}" data-tab="related">
{% if submodels is not empty %}
<div class="segment vertical ui">
<h3 class="header">Submodels</h3>
<div class="ui grid doubling ten column row parts">
{% for subpart in submodels %}
{{ blocks.model(subpart['model'], subpart['quantity']) }}
{% else %}
<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>
{% endif %}
<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>
<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 class="ui tab {% if app.session.get('tab') == 'sets' or not related %}active{% endif %}" data-tab="sets">
{{ render(path('model_sets', { id: model.id, page: app.request.get('page') })) }}
</div>
</div>
</div>

View File

@ -2,41 +2,42 @@
{% import 'macros/elements.html.twig' as elements %}
{% block content %}
<div id="results">
{% if sets.paginationData['totalCount'] %}
<div class="ui header segment basic sort">
<div class="ui grid stackable">
<div class="left floated left aligned twelve wide column">
<div class="ui text menu">
<div class="header item">Sort By</div>
<div class="five wide column">
<div class="ui text left floated menu">
<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, 'Year', ['s.year']) }}
{{ knp_pagination_sortable(sets, 'Name', ['s.name']) }}
{{ knp_pagination_sortable(sets, 'Parts', ['s.partCount']) }}
</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 class="ui segment basic">
{% block sets %}
<div class="ui eight column doubling grid sets">
{% for set in sets %}
{{ blocks.set(set) }}
{% else %}
{{ blocks.empty('empty.search.title' | trans ) }}
{% endfor %}
</div>
{% endblock %}
</div>
<div class="ui segment basic">
{{ knp_pagination_render(sets) }}
</div>
{% endif %}
<div class="ui segment basic">
{% block sets %}
<div class="ui eight column doubling grid sets">
{% for set in sets %}
{{ blocks.set(set) }}
{% else %}
{{ blocks.empty('empty.sets.title' | trans ) }}
{% endfor %}
</div>
{% endblock %}
</div>
<div class="ui segment basic">
{{ knp_pagination_render(sets) }}
</div>
{% endblock %}

View File

@ -77,9 +77,15 @@
</div>
</div>
<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="ui ajax-load" data-tab="sets" data-src="{{ path('part_sets', { id: part.id, page: app.request.get('page') }) }}">
<div class="ui active centered inline loader"></div>
<div class="ui tab active" data-tab="sets" >
{{ render(path('part_sets', { id: part.id, page: app.request.get('page') })) }}
</div>
</div>
</div>

View File

@ -70,7 +70,6 @@
</td>
</tr>
</table>
<div class="addthis_inline_share_toolbox"></div>
</div>
</div>
</div>