This commit is contained in:
vanzhiganov 2017-10-29 17:31:48 +03:00
parent e60a90754d
commit b6f8d378c8
4 changed files with 143 additions and 13 deletions

File diff suppressed because one or more lines are too long

View file

@ -43,5 +43,6 @@
<!-- <button class="mui-btn mui-btn--primary mui-btn--raised">My Button</button> --> <!-- <button class="mui-btn mui-btn--primary mui-btn--raised">My Button</button> -->
</div> </div>
</div> </div>
{% block js %}{% endblock %}
</body> </body>
</html> </html>

View file

@ -2,7 +2,21 @@
{% block content %} {% block content %}
<h2>Техника</h2> <h2>Техника</h2>
<table class="mui-table mui-table--bordered"> Категории
<input type="checkbox" name="checkall" id="checkall" value="1"> Все
<input type="checkbox" name="cat[1]" value="1"> I
<input type="checkbox" name="cat[2]" value="2"> II
<input type="checkbox" name="cat[3]" value="3"> III
<input type="checkbox" name="cat[4]" value="4"> IV
<input type="checkbox" name="cat[5]" value="5"> V
<input type="checkbox" name="cat[6]" value="6"> VI
<input type="checkbox" name="cat[7]" value="7"> VII
<input type="checkbox" name="cat[8]" value="8"> VIII
<input type="checkbox" name="cat[9]" value="9"> IX
<input type="checkbox" name="cat[10]" value="10"> X
<table id="myTable" class="mui-table mui-table--bordered tablesorter">
<thead> <thead>
<tr> <tr>
<th>&nbsp;</th> <th>&nbsp;</th>
@ -14,17 +28,101 @@
<th>Кол-во побед</th> <th>Кол-во побед</th>
</tr> </tr>
</thead> </thead>
{% for x in account_technic %} <tbody>
<tr>
<!-- <td>{{ x['tank_id'] }}</td> --> </tbody>
<td><img src="{{ x['details']['image'] }}" ></td>
<td>{{ x['details']['nation'] }}</td>
<td>{{ x['details']['level'] }}</td>
<td>{{ x['details']['type'] }}</td>
<td>{{ x['details']['name'] }}</td>
<td>{{ x['statistics']['battles'] }}</td>
<td>{{ x['statistics']['wins'] }}</td>
</tr>
{% endfor %}
</table> </table>
{% endblock %} {% endblock %}
{#
{% for x in account_technic %}
<tr>
<!-- <td>{{ x['tank_id'] }}</td> -->
<td><img src="{{ x['details']['image'] }}" ></td>
<td>{{ x['details']['nation'] }}</td>
<td>{{ x['details']['level'] }}</td>
<td>{{ x['details']['type'] }}</td>
<td>{{ x['details']['name'] }}</td>
<td>{{ x['statistics']['battles'] }}</td>
<td>{{ x['statistics']['wins'] }}</td>
</tr>
{% endfor %}
#}
{% block js %}
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="/static/js/jquery.tablesorter.min.js"></script>
<script>
function checkall(selected) {
if (selected == 0 || selected == 10) {
$('#checkall').prop('checked', true);
}
return false;
};
function request_seleted(selected) {
$.getJSON( "/technic/list.json", {level: selected.concat()}, function( data ) {
$('#myTable tbody').html('');
$.each( data.technic, function(key, val) {
d = val.details;
s = val.statistics;
$('#myTable tbody').append('<tr><td><img src="'+d.image+'"></td><td><img src="https://ru-wotp.wgcdn.co/static/5.7.0_023df2/wotp_static/img/core/frontend/scss/common/components/icons/img/filter-'+d.nation+'.png"> '+d.nation_i18n+'</td><td>'+d.level+'</td><td>'+d.type_i18n+'</td><td>'+d.name_i18n+'</td><td>'+s.battles+'</td><td>'+s.wins+'</td></tr>');
});
});
};
$(document).ready(function() {
var inputs = $('input[name*=cat]');
var selected = [];
for(var i=0; i < inputs.length; i++) {
if (inputs[i].checked == true) {
selected.push(inputs[i].value);
}
}
request_seleted(selected);
$('#checkall').click(function(){
var checked_count = 0;
for(var i=0; i < inputs.length; i++) {
if (inputs[i].checked == false) {
checked_count += 1;
};
inputs[i].checked = $('#checkall').prop('checked');
}
checkall(checked_count);
var selected = [];
for(var i=0; i < inputs.length; i++) {
if (inputs[i].checked == true) {
selected.push(inputs[i].value);
}
}
request_seleted(selected);
});
inputs.click(function() {
var checked_count = 0;
var selected = [];
for(var i=0; i < inputs.length; i++) {
if (inputs[i].checked == false) {
checked_count += 1;
$('#checkall').prop('checked', false);
} else {
selected.push(inputs[i].value);
console.log(selected);
}
}
checkall(checked_count);
request_seleted(selected);
});
// Sort
$("#myTable").tablesorter();
});
</script>
{% endblock %}

View file

@ -47,3 +47,30 @@ def index():
'pages/account/technic.html', 'pages/account/technic.html',
account_technic=account_technic account_technic=account_technic
) )
@pages_technic.route('/list.json')
def list_json():
if not g.user:
return redirect(url_for('pages_home.index'))
list_levels = []
if len(request.args.getlist('level[]')) > 0:
list_levels = []
for i in request.args.getlist('level[]'):
list_levels.append(int(i))
# TODO: total accounts
#
account_technic = list()
for x in __get_technic():
if len(list_levels) == 0:
x['details'] = t.get(str(x['tank_id']))
account_technic.append(x)
else:
if t.get(str(x['tank_id'])).get('level') in list_levels:
x['details'] = t.get(str(x['tank_id']))
account_technic.append(x)
return jsonify(technic=account_technic)