229 lines
5.8 KiB
JavaScript
229 lines
5.8 KiB
JavaScript
var red = "#FF0000";
|
|
var green = "#00FF00";
|
|
var light_red = "#FCD5DC";
|
|
var light_green = "#D5FCD8";
|
|
var base_bg = "#FEFEFE";
|
|
var base_border = "#555555";
|
|
|
|
///////////////////////////////////////////
|
|
// Cookies
|
|
///////////////////////////////////////////
|
|
function setcookie(cname, cvalue, exdays) {
|
|
var d = new Date();
|
|
d.setTime(d.getTime() + (exdays*24*60*60*1000));
|
|
var expires = "expires="+ d.toUTCString();
|
|
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
|
|
}
|
|
|
|
function getcookie(cname) {
|
|
var value = "; " + document.cookie;
|
|
var parts = value.split("; " + cname + "=");
|
|
if (parts.length == 2) return parts.pop().split(";").shift();
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// Eye candies
|
|
///////////////////////////////////////////
|
|
|
|
function invalid_input(obj) {
|
|
obj.style.backgroundColor = light_red;
|
|
setTimeout( function() {
|
|
obj.style.backgroundColor = base_bg;
|
|
}
|
|
, 2000);
|
|
}
|
|
|
|
function valid_input(obj) {
|
|
obj.style.backgroundColor = light_green;
|
|
obj.style.borderColor = base_border;
|
|
setTimeout( function() {
|
|
obj.style.backgroundColor = base_bg;
|
|
}
|
|
, 2000);
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// Update result
|
|
///////////////////////////////////////////
|
|
function update_componants() {
|
|
obj = document.getElementById('result_container');
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onerror = function(){
|
|
obj.innerHTML = "Erreur lors de la mise à jour de la liste (1)"
|
|
};
|
|
|
|
xhttp.onload = function(){
|
|
if (xhttp.status != 200) {
|
|
obj.innerHTML = "Erreur lors de la mise à jour de la liste (2)"
|
|
}
|
|
};
|
|
|
|
xhttp.onreadystatechange = function() {
|
|
if (xhttp.readyState == 4 && xhttp.status == 200) {
|
|
var response = xhttp.responseText;
|
|
obj.innerHTML = response;
|
|
return true;
|
|
}
|
|
};
|
|
xhttp.open('POST', '/componants/update', true);
|
|
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
|
xhttp.send();
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// Result ordering
|
|
///////////////////////////////////////////
|
|
function update_componants_by_reference(order) {
|
|
setcookie('c_order', order, 30);
|
|
setcookie('c_sort', 'reference', 30);
|
|
setcookie('c_order_refresh', '1', 30);
|
|
update_componants();
|
|
}
|
|
|
|
function update_componants_by_designation(order) {
|
|
setcookie('c_order', order, 30);
|
|
setcookie('c_sort', 'designation', 30);
|
|
setcookie('c_order_refresh', '1', 30);
|
|
update_componants();
|
|
}
|
|
|
|
function update_componants_by_quantity(order) {
|
|
setcookie('c_order', order, 30);
|
|
setcookie('c_sort', 'quantity', 30);
|
|
setcookie('c_order_refresh', '1', 30);
|
|
update_componants();
|
|
}
|
|
|
|
function update_componants_by_place(order) {
|
|
setcookie('c_order', order, 30);
|
|
setcookie('c_sort', 'place', 30);
|
|
setcookie('c_order_refresh', '1', 30);
|
|
update_componants();
|
|
}
|
|
|
|
function previous_page(prevhop) {
|
|
setcookie('c_offset', prevhop, 30);
|
|
update_componants();
|
|
}
|
|
|
|
function next_page(nexthop) {
|
|
setcookie('c_offset', nexthop, 30);
|
|
update_componants();
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// Search componants
|
|
///////////////////////////////////////////
|
|
function search_componants_by_reference(obj) {
|
|
setcookie('c_reference', obj.value, 30);
|
|
update_componants();
|
|
}
|
|
|
|
function search_componants_by_designation(obj) {
|
|
setcookie('c_designation', obj.value, 30);
|
|
update_componants();
|
|
}
|
|
|
|
function search_componants_by_place(obj) {
|
|
setcookie('c_place', obj.value, 30);
|
|
update_componants();
|
|
}
|
|
|
|
function search_componants_by_provider(obj) {
|
|
setcookie('c_provider', obj.value, 30);
|
|
update_componants();
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// Delete componant
|
|
///////////////////////////////////////////
|
|
function confirm_delete() {
|
|
var msg="La suppression est définitive \net n'est pas autorisée si le \ncomposant fait partie d'un Kit.\n\nConfirmer ?";
|
|
return confirm(msg)
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// New componant
|
|
///////////////////////////////////////////
|
|
function new_componant() {
|
|
var err = false;
|
|
var obj = {};
|
|
if (getcookie('c_count') > 0){
|
|
var errr = true;
|
|
obj[0] = document.getElementById('reference');
|
|
}
|
|
if (getcookie('c_designation').length < 1){
|
|
var err = true;
|
|
obj[1] = document.getElementById('designation');
|
|
}
|
|
if (getcookie('c_place').length < 1){
|
|
var err = true;
|
|
obj[2] = document.getElementById('place');
|
|
}
|
|
if (err == true) {
|
|
for (i in obj){
|
|
invalid_input(obj[i]);
|
|
}
|
|
return;
|
|
}
|
|
create_componant();
|
|
update_componants();
|
|
}
|
|
|
|
function create_componant() {
|
|
var MSG='Erreur lors de la creation de la référence.';
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onerror = function(){
|
|
alert(MSG);
|
|
return false;
|
|
};
|
|
|
|
xhttp.onload = function(){
|
|
if (xhttp.readyState == 4 && xhttp.status == 200) {
|
|
var response = xhttp.responseText;
|
|
if (response == 'OK'){
|
|
return true;
|
|
}
|
|
alert(MSG);
|
|
return false;
|
|
}
|
|
};
|
|
|
|
xhttp.open('POST', '/componants/new', true);
|
|
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
|
xhttp.send();
|
|
}
|
|
|
|
///////////////////////////////////////////
|
|
// Update componant
|
|
///////////////////////////////////////////
|
|
function update_componant(obj, componant_id, type) {
|
|
if (type == 'numeric') {
|
|
if (isNaN(obj.value)) {
|
|
alert('Valeur numérique uniquement: '+obj.value);
|
|
return;
|
|
}
|
|
}
|
|
|
|
var xhttp = new XMLHttpRequest();
|
|
xhttp.onerror = function(){
|
|
invalid_input(obj);
|
|
};
|
|
|
|
xhttp.onload = function(){
|
|
if (xhttp.readyState == 4 && xhttp.status == 200) {
|
|
var response = xhttp.responseText;
|
|
if (response == 'OK'){
|
|
valid_input(obj);
|
|
return;
|
|
}
|
|
obj.style.borderColor = red;
|
|
invalid_input(obj);
|
|
}
|
|
};
|
|
|
|
xhttp.open('POST', '/componants/update/'+componant_id, true);
|
|
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
|
xhttp.send('field='+obj.id+'&value='+obj.value);
|
|
}
|