(function() {
'use strict';
function smartAnnotation(field) {
// Generates new query when user filters the results
function generateNewQuery(link) {
var regexp = new XRegExp('(\\s+|^)task#|project#|sample#|experiment#(\\p{L}+)$', 'gi');
var new_query = regexp.exec($(field).val());
debugger;
$.getJSON(
link,
{query: new_query},
function(data) {
$(field).atwho('load',':', data).atwho('run');
});
}
// Generates suggestion dropdown filter
function generateFilter(link) {
$('.atwho-view ul').prepend('
' +
'' +
'' +
'' +
'
');
$('#atwho-filter .btn').on('click', function(event) {
event.stopPropagation();
var $button = $(this);
switch ($button.attr('data-filter')) {
case 'prj':
generateNewQuery('/organizations/1/atwho_projects.json');
break;
case 'exp':
generateNewQuery('/organizations/1/atwho_experiments.json');
break;
case 'tsk':
generateNewQuery('/organizations/1/atwho_my_modules.json');
break;
case 'sam':
generateNewQuery('/organizations/1/atwho_samples.json');
break;
default:
break;
}
});
}
// Generates resources list items
function generateTemplate(map) {
var res = '';
res += '
';
switch(map.type) {
case 'tsk':
res += '' + map.type + '';
break;
case 'prj':
res += '' + map.type + '';
break;
case 'exp':
res += '' + map.type + '';
break;
case 'sam':
res += '';
break;
}
res += ' ';
res += '';
res += map.name;
res += '';
res += ' ';
switch (map.type) {
case 'tsk':
res += '< ' + map.experimentName +
' < ' + map.projectName + '';
break;
case 'exp':
res += '< ' + map.projectName + '';
break;
case 'sam':
res += '' + map.description + '';
break;
default:
break;
}
res += '