You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

172 lines
6.7 KiB

function overlay_in() {
$('.shadow').css({'display' : 'block'});
$('.overlay').css({'display' : 'block'});
$('.shadow').animate({'opacity' : 0.7});
$('.overlay').animate({'top' : '10%'});
}
function overlay_out() {
$('.shadow').animate({'opacity' : 0.0}, function () {
$('.overlay').css({'display' : 'none'});
});
$('.overlay').animate({'top' : '-70%'}, function () {
$('.shadow').css({'display' : 'none'});
});
}
function init_edit() {
var block_input = $('<input type="text" class="part-edit-input" id="block-input" placeholder="Location">')
block_input.val($('#block-info').text());
$('#block-info').replaceWith(block_input);
var partno_input = $('<input type="text" class="part-edit-input" id="partno-input" placeholder="Part number">')
partno_input.val($('#partno-info').text());
$('#partno-info').replaceWith(partno_input);
var description_input = $('<input type="text" class="part-edit-input" id="description-input" placeholder="Description">')
description_input.val($('#description-info').text());
$('#description-info').replaceWith(description_input);
var quantity_input = $('<input type="text" class="part-edit-input" id="quantity-input" placeholder="Quantity">')
quantity_input.val($('#quantity-info').text());
$('#quantity-info').replaceWith(quantity_input);
var notes_input = $('<input type="text" class="part-edit-input" id="notes-input" placeholder="Notes">')
notes_input.val($('#notes-info').text());
$('#notes-info').replaceWith(notes_input);
var datasheet_input = $('<input type="file" class="part-edit-file" id="datasheet-input" accept=".pdf">')
datasheet_input.val($('#datasheet-info').text());
$('#datasheet-info').replaceWith(datasheet_input);
var newButton = '<div class="round-button"><a href="#" onclick="save()"><i class="fa fa-check" aria-hidden="true"></i></a></div>';
$('.round-button').replaceWith(newButton);
}
function end_edit() {
var block_par = '<p id="block-info">' + $('#block-input').val() + '</p>';
$('#block-input').replaceWith(block_par);
var partno_par = '<p id="partno-info">' + $('#partno-input').val() + '</p>';
$('#partno-input').replaceWith(partno_par);
var description_par = '<p id="description-info">' + $('#description-input').val() + '</p>';
$('#description-input').replaceWith(description_par);
var quantity_par = '<p id="quantity-info">' + $('#quantity-input').val() + '</p>';
$('#quantity-input').replaceWith(quantity_par);
var notes_par = '<p id="notes-info">' + $('#notes-input').val() + '</p>';
$('#notes-input').replaceWith(notes_par);
var datasheet_par = '<p id="datasheet-info">Please reload part info.</p>';
$('#datasheet-input').replaceWith(datasheet_par);
var newButton = '<div class="round-button"><a href="#" onclick="init_edit()"><i class="fa fa-pencil" aria-hidden="true"></i></a></div>';
$('.round-button').replaceWith(newButton);
}
function save() {
console.log('pls add init edit code');
end_edit();
}
function text_filter(string) {
if (string != null)
return string;
else
return '';
}
function show_part_info(partID) {
//var partID = $(this).attr('part-id');
$.getJSON('https://www.elab.kth.se/parts/getpartinfo/' + partID, function(data) {
$('#block-info').text(text_filter(data.block));
$('#partno-info').text(text_filter(data.partno) + ' ' + text_filter(data.partnoalt) + ' ' + text_filter(data.partnoalt2));
$('#description-info').text(text_filter(data.description));
$('#quantity-info').text(text_filter(data.quantity));
$('#notes-info').text(text_filter(data.notes));
if (data.datasheet != null)
$('#datasheet-info').text('<a href="https://www.elab.kth.se/parts/getfile/' + data.datasheet + '"><i class="fa fa-file-text" aria-hidden="true"></i></a>');
else
$('#datasheet-info').text(' ');
overlay_in();
}).fail(function() {
console.log( "Fetching part info failed" );
});
}
$(document).ready(function() {
$('.search-bar').on('keyup', function() {
var query = $('.search-bar').val();
var filter = 0;
if($('#type').is(':checked'))
filter += 1;
if($('#partno').is(':checked'))
filter += 2 + 4 + 8;
if($('#description').is(':checked'))
filter += 16;
if($('#notes').is(':checked'))
filter += 32;
$.getJSON('https://www.elab.kth.se/parts/query/' + filter + '/' + query, function(data) {
var newResults = '<div class="results">';
for(var i = 0; i < data.length; i++) { // Create new view for results
newResults += '<div class="results-row">';
newResults += '<a href=# onclick="show_part_info(' + data[i].id + ')">'
newResults += '<div class="results-block">';
if (data[i].block != null)
newResults += data[i].block;
newResults += '</div>';
newResults += '<div class="results-type">';
if (data[i].type != null)
newResults += data[i].type;
newResults += '</div>';
newResults += '<div class="results-partno">';
if (data[i].partno != null)
newResults += data[i].partno;
newResults += '</div>';
newResults += '<div class="results-description">';
if (data[i].description != null)
newResults += data[i].description;
newResults += '</div>';
newResults += '<div class="results-notes">';
if (data[i].notes != null)
newResults += '<div class="tooltip"><i class="fa fa-sicky-note"></i><span class="tooltiptext">' + data[i].notes + '</span></div>';
//newResults += data[i].notes;
newResults += '</div>';
newResults += '<div class="results-datasheet">';
if (data[i].datasheet != null)
newResults += '<a href="https://www.elab.kth.se/parts/getfile/' + data[i].datasheet + '"><i class="fa fa-file-text" aria-hidden="true"></i></a>';
newResults += '</div>';
newResults += '</a>'
newResults += '</div>';
}
newResults += '</div>';
if(data.length == 0) {
newResults = '<div class="results">';
newResults += '<h3>No results.</h3>';
newResults += '</div>';
}
$('.results').replaceWith(newResults);
}).fail(function() {
var newResults = '<div class="results">';
newResults += '<h3>No results.</h3>';
newResults += '</div>';
$('.results').replaceWith(newResults);
console.log( "Query failed" );
});
});
$('.toggle-btn').on('change', function() {
// Re-perform query
});
//$('.results-row').on('click', );
});