-
Notifications
You must be signed in to change notification settings - Fork 16
/
admin_barcode_search.jinja2
118 lines (112 loc) · 4.41 KB
/
admin_barcode_search.jinja2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
{% extends "sitebase.jinja2" %}
{% set page_title = _("ADMINISTRATOR BARCODE SEARCH") %}
{% set show_breadcrumbs = False %}
{% block head %}
<link rel="stylesheet" href="/static/vendor/css/query-builder.default.min.css" />
<link rel="stylesheet" type="text/css" href="/static/vendor/css/jquery.dataTables.css" />
<script src="/static/vendor/moment/moment.min.js"></script>
<script type="text/javascript" charset="utf8" src="/static/vendor/js/jquery.dataTables.js"></script>
<script src="/static/vendor/DataTables/Buttons-1.6.2/js/dataTables.buttons.min.js"></script>
<script src="/static/vendor/DataTables/Buttons-1.6.2/js/buttons.html5.min.js"></script>
<script type="text/javascript" src="/static/vendor/js/query-builder.standalone.min.js"></script>
<script>
function createBarcodeTable(queryURL, queryData, table)
{
$(table).DataTable(
{
destroy: true, // Necessary to replace existing datatable
ajax: {
url: queryURL,
data: function ( d ) {
return JSON.stringify(queryData);
},
contentType: "application/json",
method: "POST"
},
dom: "Bfrtip",
buttons: [
{extend: 'csv', className: 'btn btn-info', text: '{{ _('Download CSV') }}'},
{extend: 'excel', className: 'btn btn-info', text: '{{ _('Download Excel') }}'}
]
}
);
}
$(document).ready(function(){
$("#barcodeDiv").hide()
$("#qiitaDiv").hide()
var query_fields = {{ query_fields }};
$('#builder').queryBuilder({
filters: query_fields,
allow_groups: false,
conditions: ['AND']
});
$('#builder').on('rulesChanged.queryBuilder', function(e) {
try {
result = $('#builder').queryBuilder('getSQL');
$('#sql_query').text(result.sql);
$('#submit_button').prop('disabled', false);
}
catch {
$('submit_button').prop('disabled', true);
$('#sql_query').text("")
}
});
$('#submit_button').click(function(e){
//console.log(JSON.stringify($('#builder').queryBuilder('getRules'), null, 2))
$("#barcodeDiv").show()
$("#qiitaDiv").hide()
createBarcodeTable('/admin/barcode_search/query', $('#builder').queryBuilder('getRules'),
"#barcodeTable")
});
$('#submit_button_qiita').click(function(e){
$("#barcodeDiv").hide()
$("#qiitaDiv").show()
//console.log(JSON.stringify($('#builder').queryBuilder('getRules'), null, 2))
createBarcodeTable('/admin/barcode_search/query_qiita', $('#builder').queryBuilder('getRules'),
"#qiitaTable")
});
});
</script>
{% endblock %}
{% block content %}
<div class="row">
<div class="col">
<div id="builder"></div>
</div>
</div>
<div class="row">
<div class="col">
<textarea id="sql_query" class="w-100"></textarea>
</div>
</div>
<div class="row">
<button id='submit_button' type="submit" class="btn btn-primary">{{ _('Search') }}</button>
</div>
<div class="row">
<button id='submit_button_qiita' type="submit" class="btn btn-primary">{{ _('Search Qiita') }}</button>
</div>
<div id="barcodeDiv" class="row">
<table id="barcodeTable">
<thead>
<tr>
<th>{{ _('Barcode') }}</th>
</tr>
</thead>
</table>
</div>
<div id="qiitaDiv" class="row">
<table id="qiitaTable">
<thead>
<tr>
<th>sample_id</th>
<th>sample_found</th>
<th>preparation_id</th>
<th>preparation_type</th>
<th>preparation_visibility</th>
<th>ebi_experiment_accession</th>
<th>ebi_sample_accession</th>
</tr>
</thead>
</table>
</div>
{% endblock %}