2020-05-12 07:32:26 -07:00
|
|
|
|
{% extends "layout.html" %}
|
2020-06-10 23:48:23 -07:00
|
|
|
|
{% macro text_table_row(parameter, edit_text, show_text) -%}
|
|
|
|
|
<th data-field="{{ parameter }}" id="{{ parameter }}" data-sortable="true" {% if g.user.role_edit() %}data-editable-type="text" data-editable-url="{{ url_for('editbook.edit_list_book', param=parameter)}}" data-editable="true" data-editable-title="{{ edit_text}}"{% endif %}>{{ show_text }}</th>
|
|
|
|
|
{%- endmacro %}
|
|
|
|
|
|
2020-06-06 12:21:10 -07:00
|
|
|
|
{% block header %}
|
|
|
|
|
<link href="{{ url_for('static', filename='css/libs/bootstrap-table.min.css') }}" rel="stylesheet">
|
|
|
|
|
<link href="{{ url_for('static', filename='css/libs/bootstrap-editable.css') }}" rel="stylesheet">
|
|
|
|
|
{% endblock %}
|
2020-05-12 07:32:26 -07:00
|
|
|
|
{% block body %}
|
2020-06-06 12:21:10 -07:00
|
|
|
|
<h2 class="{{page}}">{{_(title)}}</h2>
|
|
|
|
|
<table class="table table-no-bordered table-striped"
|
|
|
|
|
data-side-pagination="server"
|
|
|
|
|
data-pagination="true"
|
|
|
|
|
data-pagination-detail-h-align=" hidden"
|
|
|
|
|
data-pagination-h-align="left"
|
|
|
|
|
id="books-table"
|
|
|
|
|
data-url="{{url_for('web.list_books')}}"
|
|
|
|
|
data-id-field="id"
|
|
|
|
|
data-editable-mode="inline"
|
|
|
|
|
data-show-columns="true"
|
|
|
|
|
data-search="true"
|
|
|
|
|
data-search-align="left"
|
|
|
|
|
data-show-search-button="false"
|
2020-06-08 08:34:03 -07:00
|
|
|
|
data-search-on-enter-key="true"
|
2020-06-06 12:21:10 -07:00
|
|
|
|
data-checkbox-header="false"
|
2020-06-09 11:46:02 -07:00
|
|
|
|
data-maintain-meta-data="true"
|
2020-06-10 23:48:23 -07:00
|
|
|
|
data-response-handler="responseHandler"
|
2020-06-09 11:46:02 -07:00
|
|
|
|
data-editable-emptytext="<span class='glyphicon glyphicon-plus'></span>">
|
|
|
|
|
|
2020-06-06 12:21:10 -07:00
|
|
|
|
<thead>
|
|
|
|
|
<tr>
|
2020-06-08 12:57:52 -07:00
|
|
|
|
{% if g.user.role_edit() %}
|
2020-06-10 23:48:23 -07:00
|
|
|
|
<th data-field="state" data-checkbox="true" data-sortable="true"></th>
|
2020-06-08 12:57:52 -07:00
|
|
|
|
{% endif %}
|
2020-06-06 12:21:10 -07:00
|
|
|
|
<th data-field="id" id="id" data-visible="false" data-switchable="false"></th>
|
2020-06-10 23:48:23 -07:00
|
|
|
|
{{ text_table_row('title', _('Enter Title'),_('Title')) }}
|
|
|
|
|
{{ text_table_row('sort', _('Enter Titlesort'),_('Sort')) }}
|
|
|
|
|
{{ text_table_row('author_sort', _('Enter Authorsort'),_('Authors Sort')) }}
|
|
|
|
|
{{ text_table_row('authors', _('Enter Authors'),_('Authors')) }}
|
|
|
|
|
{{ text_table_row('tags', _('Enter Tags'),_('Tags')) }}
|
|
|
|
|
{{ text_table_row('series', _('Enter Series'),_('Series')) }}
|
|
|
|
|
<th data-field="series_index" id="series_index" data-sortable="true" {% if g.user.role_edit() %} data-editable-type="number" data-editable-placeholder="1" data-editable-step="0.01" data-editable-min="0" data-editable-url="{{ url_for('editbook.edit_list_book', param='series_index')}}" data-editable="true" data-editable-title="{{_('Enter title')}}"{% endif %}>{{_('Series Index')}}</th>
|
|
|
|
|
{{ text_table_row('languages', _('Enter Languages'),_('Languages')) }}
|
2020-06-06 12:21:10 -07:00
|
|
|
|
<th data-field="pubdate" id="pubdate" data-sortable="true">Publishing Date</th>
|
2020-06-10 23:48:23 -07:00
|
|
|
|
{{ text_table_row('publishers', _('Enter Publishers'),_('Publishers')) }}
|
2020-06-06 12:21:10 -07:00
|
|
|
|
{% if g.user.role_edit() %}
|
|
|
|
|
<th data-align="right" data-formatter="EbookActions" data-switchable="false"></th>
|
|
|
|
|
{% endif %}
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
</table>
|
2020-05-12 07:32:26 -07:00
|
|
|
|
{% endblock %}
|
2020-06-08 08:34:03 -07:00
|
|
|
|
{% block modal %}
|
|
|
|
|
{{ delete_book(0) }}
|
|
|
|
|
{% endblock %}
|
2020-05-12 07:32:26 -07:00
|
|
|
|
{% block js %}
|
2020-06-06 12:21:10 -07:00
|
|
|
|
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-table.min.js') }}"></script>
|
|
|
|
|
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-table-editable.min.js') }}"></script>
|
|
|
|
|
<script src="{{ url_for('static', filename='js/libs/bootstrap-table/bootstrap-editable.min.js') }}"></script>
|
|
|
|
|
<script src="{{ url_for('static', filename='js/table.js') }}"></script>
|
2020-06-10 23:48:23 -07:00
|
|
|
|
<script>
|
|
|
|
|
var $table = $('#books-table')
|
|
|
|
|
var selections = []
|
|
|
|
|
|
|
|
|
|
function responseHandler(res) {
|
|
|
|
|
$.each(res.rows, function (i, row) {
|
|
|
|
|
row.state = $.inArray(row.id, selections) !== -1
|
|
|
|
|
})
|
|
|
|
|
return res
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$(function() {
|
|
|
|
|
$table.on('check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table',
|
|
|
|
|
function (e, rowsAfter, rowsBefore) {
|
|
|
|
|
var rows = rowsAfter
|
|
|
|
|
|
|
|
|
|
if (e.type === 'uncheck-all') {
|
|
|
|
|
rows = rowsBefore
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var ids = $.map(!$.isArray(rows) ? [rows] : rows, function (row) {
|
|
|
|
|
return row.id
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
var func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference'
|
|
|
|
|
selections = window._[func](selections, ids)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
</script>
|
2020-05-12 07:32:26 -07:00
|
|
|
|
{% endblock %}
|