';
$('.round-button-left').replaceWith(newButton);
}
function save(partID) {
var block_v = $('#block-input').val();
var type_v = $('#type-input').val();
var partno_v = $('#partno-input').val();
var description_v = $('#description-input').val();
var quantity_v = $('#quantity-input').val();
var notes_v = $('#notes-input').val();
var datasheet = $('#datasheet-input')[0].files;
if(! partno_v.match(/^([a-zA-Z0-9]{1,20}\s*){1,3}$/g)) {
alert('Invalid part number format. Accepted: ');
return;
}
if(! block_v.match(/^[0-9]+$/g)) {
alert('Invalid location field. Only numbers accepted.');
return;
}
if(type_v.length > 25) {
alert('Manufacturer name too long (max 25 characters).')
return;
}
if(description_v.length > 200) {
alert('Description too long (max 200 characters).')
return;
}
if(quantity_v.length > 10) {
alert('Quantity info too long (max 10 characters).')
return;
}
if(notes_v.length > 200) {
alert('Notes too long (max 200 characters).')
return;
}
var partnos = partno_v.split(' ');
var data = new FormData();
if (datasheet.length == 1)
if(! datasheet[0]['name'].match(/^[\w\-]+\.pdf$/g)) {
alert('Invalid filename. Please match /^[\w\-]+\.pdf$/g');
return;
}
data.append('datasheet-file', datasheet[0]);
data.append('block', block_v);
data.append('type', type_v);
data.append('partno', partnos[0]);
if (partnos.length > 1)
data.append('partnoalt', partnos[1]);
else
data.append('partnoalt', '');
if(partnos.length > 2)
data.append('partnoalt2', partnos[2]);
else
data.append('partnoalt2', '');
data.append('description', description_v);
data.append('quantity', quantity_v);
data.append('notes', notes_v);
$.ajax({
// Your server script to process the upload
url: 'http://127.0.0.1:5000/parts/alter/' + partID,
type: 'POST',
data: data,
// Tell jQuery not to process data or worry about content-type
// You *must* include these options!
cache: false,
contentType: false,
processData: false,
success: function(data) {
var datasheet_par = '
';
$('#datasheet-info').replaceWith(datasheet_par);
},
error: function() {
alert("Couldn't update the part information. Please retry.");
}
});
end_edit();
$('#edit-button').click(function() {
init_edit(partID);
});
}
function text_filter(string) {
if (string != null)
return string;
else
return '';
}
function delete_entry(partID) {
if (partID < 0)
return;
if (!confirm('Delete the selected entry?'))
return;
$.ajax({
url: 'http://127.0.0.1:5000/parts/delete/' + partID,
type: 'GET',
cache: false,
contentType: false,
processData: false,
success: function() {
overlay_out();
perform_query();
},
fail: function() {
console.log('An error occurred while deleting the entry');
},
});
}
function show_part_info(partID) {
$.getJSON('http://127.0.0.1:5000/parts/getpartinfo/' + partID, function(data) {
$('table#details tr#location td p').text(text_filter(data.name)); // name is the location friendly name
$('table#details tr#location td select').val(data.location_id); // name is the location friendly name
$('table#details tr#partno td p').text(text_filter(data.partno));
$('table#details tr#partno td input').val(text_filter(data.partno));
$('table#details tr#description td p').text(text_filter(data.description));
$('table#details tr#description td input').val(text_filter(data.description));
$('img#map').attr('src', 'parts/map/' + data.map);
if (data.datasheet != null)
$('tr#datasheet-head').html($('
DATASHEET:
'));
else
$('tr#datasheet-head td').text('DATASHEET: ');
$('#edit-button').click(function() {
init_edit(partID);
});
$('#delete-button').click(function() {
delete_entry(partID);
});
overlay_in();
}).fail(function() {
console.log( "Fetching part info failed" );
});
}
function perform_query() {
$('#no-results').css("opacity", 0);
var query = $('.search-bar').val();
var data = {
l:$('#type').is(':checked'),
p:$('#partno').is(':checked'),
d:$('#description').is(':checked'),
n:$('#notes').is(':checked')
};
filter = '0';
$.getJSON('http://127.0.0.1:5000/parts/query/' + filter + '/' + query, data, function(data) {
$("#results").find("tr:not(:first)").remove(); // Delete all table rows
for(var i = 0; i < data.length; i++) {
var newRow = $('