{% extends sitebase.html %}
{% block head %}
<script type="text/javascript">
$(document).ready(function(){
$('#user-analyses-table').dataTable({
"lengthMenu": [[5, 10, 50, -1], [5, 10, 50, "All"]],
columnDefs: [
{"render": function ( data, type, row, meta ) {
data = JSON.parse(data);
if (data !== null && data !== undefined && data.length != 0){
return '<div class="container" style="max-width: 5em;">'+
'<div class="row justify-content-md-center">' +
'<div class="col-md-1 text-center details-control"> </div>' +
'<div class="col-md-1 text-center">' + data.length + '</div>' +
'</div>' +
'</div>';
} else {
return 'No artifacts';
}
}, targets: [0]}],
"language": {
"search": "Filter results by analysis name or description",
"loadingRecords": "Please wait - loading information ...",
"zeroRecords": "No analyses found"
},
});
$('#public-analyses-table').dataTable({
"lengthMenu": [[5, 10, 50, -1], [5, 10, 50, "All"]],
"sDom": '<"top">rti<"bottom"p><"clear">',
"bLengthChange": false,
columnDefs: [
{"render": function ( data, type, row, meta ) {
data = JSON.parse(data);
if (data !== null && data !== undefined && data.length != 0){
return '<div class="container" style="max-width: 5em;">'+
'<div class="row justify-content-md-center">' +
'<div class="col-md-1 text-center details-control"> </div>' +
'<div class="col-md-1 text-center">' + data.length + '</div>' +
'</div>' +
'</div>';
} else {
return 'No artifacts';
}
}, targets: [0]}],
"language": {
"search": "Filter results by analysis name or description",
"loadingRecords": "Please wait - loading information ...",
"zeroRecords": "No analyses found"
}
});
$('#user-analyses-table tbody').on('click', 'div.details-control', function () {
var table = $('#user-analyses-table').DataTable();
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
} else {
// Open this row
// modified from: https://jsfiddle.net/8rejaL88/2/
tr.addClass('shown');
row.child('<p><center><img src="{% raw qiita_config.portal_dir %}/static/img/waiting.gif" style="display:block;margin-left: auto;margin-right: auto"/></center></p>', 'no-padding' ).show();
$.post('/artifact/info/', {ids: JSON.parse(row.data()[0]), only_biom: 'False' })
.done(function ( data ) {
if (data['status']=='success') {
$('td', row.child()).html(format_biom_rows(data.data, row.index(), for_study_list=false)).show();
} else {
bootstrapAlert('ERROR: ' + data['msg'], "danger", 10000);
}
});
}
});
$('#public-analyses-table tbody').on('click', 'div.details-control', function () {
var table = $('#public-analyses-table').DataTable();
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
} else {
// Open this row
// modified from: https://jsfiddle.net/8rejaL88/2/
tr.addClass('shown');
row.child('<p><center><img src="{% raw qiita_config.portal_dir %}/static/img/waiting.gif" style="display:block;margin-left: auto;margin-right: auto"/></center></p>', 'no-padding' ).show();
$.post('/artifact/info/', {ids: JSON.parse(row.data()[0]), only_biom: 'False' })
.done(function ( data ) {
if (data['status']=='success') {
$('td', row.child()).html(format_biom_rows(data.data, row.index(), for_study_list=false)).show();
} else {
bootstrapAlert('ERROR: ' + data['msg'], "danger", 10000);
}
});
}
});
// connecting searches
$('#user-analyses-table').on('search.dt', function () {
var search_text = $('.dataTables_filter input').val();
$('#public-analyses-table').DataTable().search(search_text).draw();
});
// connecting paging size
$('#user-analyses-table').on('length.dt', function (e, settings, len) {
$('#public-analyses-table').DataTable().page.len(len).draw();
});
var analyses_all_messages = $("#analyses-all-messages");
var data = {% raw messages %};
analyses_all_messages.empty();
for (level in data) {
if (data[level].length != 0) {
var message = $('<div>', { 'class': 'alert fade in alert-'+level, 'role': 'alert', 'id': 'analysis-message-'+level});
message.append(' '+data[level]);
// prepend the "Need help" message
if (level == 'warning' || level == 'danger'){
message.append('<p style="text-align:center">Need help? Send us an <a href="mailto:{% raw qiita_config.portal_dir %}">email</a>.</p>');
}
analyses_all_messages.prepend(message);
}
}
});
</script>
{% end %}
{%block content %}
<div id="analyses-all-messages" class="container-fluid" style="width:97%"></div>
<div class="row">
<div class="col-sm-12" id="user-studies-div">
<h3 class="gray-msg">Your Analyses</h3>
<table id="user-analyses-table" class="table table-bordered gray-msg">
<thead>
<tr>
<th>Artifacts</th>
<th>Analysis ID</th>
<th>Analysis Name</th>
<th>Visibility</th>
<th>Owner</th>
<th>Creation Timestamp</th>
<th>Mapping File</th>
<th>Delete?</th>
</tr>
</thead>
<tbody>
{% for analysis in user_analyses %}
<tr>
<td>
{{analysis['artifacts']}}
</td>
<td>
{{analysis['analysis_id']}}
</td>
<td>
<a href="{% raw qiita_config.portal_dir %}/analysis/description/{{analysis['analysis_id']}}/">{{analysis['name']}}</a>
{% if analysis['description'] %}
({{analysis['description']}})
{% end %}
</td>
<td>
{{analysis['visibility']}}
</td>
<td>
<a href="mailto:{{analysis['owner']}}">{{analysis['owner']}}</a>
</td>
<td>
{{analysis['timestamp']}}
</td>
<td>
{% if analysis['mapping_files'] %}
{% for _map in analysis['mapping_files'] %}
{% raw dlop(_map[1], _map[0], 'mapping file') %}
{% end %}
{% else %}
No mapping files available
{% end %}
</td>
<td>
<a class="btn btn-danger glyphicon glyphicon-trash" onclick="delete_analysis('{{analysis['name']}}', {{analysis['analysis_id']}});"></a>
</td>
</tr>
{% end %}
</tbody>
</table>
<h3 class="gray-msg">Public Analyses</h3>
<table id="public-analyses-table" class="table table-bordered gray-msg">
<thead>
<tr>
<th>Artifacts</th>
<th>Analysis ID</th>
<th>Analysis Name</th>
<th>Owner</th>
<th>Creation Timestamp</th>
<th>Mapping File</th>
</tr>
</thead>
{% for analysis in public_analyses %}
<tr>
<td>
{{analysis['artifacts']}}
</td>
<td>
{{analysis['analysis_id']}}
</td>
<td>
<a href="{% raw qiita_config.portal_dir %}/analysis/description/{{analysis['analysis_id']}}/">{{analysis['name']}}</a>
{% if analysis['description'] %}
({{analysis['description']}})
{% end %}
</td>
<td>
<a href="mailto:{{analysis['owner']}}">{{analysis['owner']}}</a>
</td>
<td>
{{analysis['timestamp']}}
</td>
<td>
{% for _map in analysis['mapping_files'] %}
{% raw dlop(_map[1], _map[0], 'mapping file') %}
{% end %}
</td>
</tr>
{% end %}
</table>
{% end %}