paniers/public_html_admin/js/paniers.js

265 lines
9.4 KiB
JavaScript

// SETTINGS
var paniersConf = {
type : "panier",
baseURL : "paniers.php",
// LIST
list_selector : "#paniersList",
// SEARCH / FILTRES
search_selector : "#paniersSearch .searchGrp",
filtres_selector : "#paniersSearch select",
// VIEW
view_modalSelector : "#modalViewPanier",
view_btnSelector : ".btnViewPanier",
// ADD
add_modalSelector : "#modalAddPanier",
add_btnSelector : "#btnAddPanier",
// EDIT
edit_modalSelector : "#modalEditPanier",
edit_btnSelector : ".btnEditPanier",
// DELETE
delete_modalSelector : "#modalDeletePanier",
delete_btnSelector : ".btnDeletePanier",
}
// MODALS
var modalViewPanier = false;
var modalAddPanier = false;
var modalEditPanier = false;
var modalDeletePanier = false;
$(document).ready( function() {
// LIST LOADER
initListProgressLoad($(paniersConf.list_selector), paniersConf.baseURL, paniersConf.type+" list");
// SEARCH / FILTRES
$(paniersConf.search_selector).initSearchGroup();
$(paniersConf.filtres_selector).initFiltreSelect();
// VIEW
modalViewPanier = $(paniersConf.view_modalSelector);
if(modalViewPanier.length>0) {
initViewPanier();
// VIEW REQUEST
var id = getUrlParameter("ref");
if(id!==false && parseInt(id)>0 && current_page == "paniers") {
modalViewPanier_clear(modalViewPanier);
modalViewPanier_loadDatas(modalViewPanier, id);
}
}
// ADD
modalAddPanier = $(paniersConf.add_modalSelector);
if(modalAddPanier.length>0) initAddPanier();
// EDIT
modalEditPanier = $(paniersConf.edit_modalSelector);
if(modalEditPanier.length>0) initEditPanier();
// DELETE
modalDeletePanier = $(paniersConf.delete_modalSelector);
if(modalDeletePanier.length>0) initDeletePanier();
});
/***** MODAL VIEW *****/
function initViewPanier() {
// INIT VIEW BTNs
var initBtnFct = function() { modalForm_initBtnView(
$(paniersConf.view_btnSelector), // BTNs
modalViewPanier, // MODAL
modalViewPanier_clear, // CLEAR FUNCTION
modalViewPanier_loadDatas // LOAD DATAS FUNCTION
)};
registerListProgressLoadCbkFct( $("tbody.progressLoadList"), initBtnFct );
initBtnFct();
// CANCEL
modalViewPanier.on('hidden.bs.modal', function() { modalViewPanier_clear(modalViewPanier); });
}
function modalViewPanier_loadDatas(modal, id) {
$.post(paniersConf.baseURL, { 'ref' : id, 'action' : 'getDatas' }, function(jsonTxt) {
var datas = JSON.parse(jsonTxt);
modal.find("small.db_ref > span").html(datas.ref);
modal.find("td.nom").html(datas.nom);
modal.find("td.groupe").html(datas.groupe_nom);
modal.find("td.valeur").html(number_format(datas.valeur,2)+" €");
modal.modal('show');
}).fail(function() { alert("("+paniersConf.type+" - load modal view)"); });
}
function modalViewPanier_clear(modal) {
modal.removeAttr("view_id");
modal.find("small.db_ref > span").html("");
modal.find("td.nom").html("");
modal.find("td.groupe").html("");
modal.find("td.valeur").html("");
modal.find("table.modal-body tfoot").addClass("hide").find("tr:not(.header)").remove();
}
/***** MODAL FORM ADD/EDIT *****/
function modalFormPanier_init(modal) {
modal.find("form").preventFormValidation();
// NOM
initFirstUpperCaseInput(modal.find("input[name=nom]"), null, function() { $(this).blur(); });
modal.find("input[name=nom]").keydown(function(e) {
if(e.keyCode==13) { e.preventDefault(); $(this).blur(); }
});
// GROUPE
inlineSelectManager_init(
modal, // MODAL
"panier", // MODAL FORM NAME
modal.find("select[name=groupe]").parent(), // SELECT GROUPE
"le groupe de panier", // VALUE NAME
paniersConf.baseURL, // URL
"groupe_ref", // REF ATTR
"add_groupe", // ADD ACTION
"edit_groupe", // EDIT ACTION
"delete_groupe", // DELETE ACTION
"groupes_select_list" // REFRESH LIST ACTION
);
// VALEUR
initFloatInput(modal.find("input[name=valeur]"));
modal.find("input[name=valeur]").keydown(function(e) {
if(e.keyCode==13) { e.preventDefault(); $(this).blur(); }
});
}
function modalFormPanier_loadDatas(modal,id) {
$.post(paniersConf.baseURL, { 'ref' : id, 'action' : 'getDatas' }, function(jsonTxt) {
var datas = JSON.parse(jsonTxt);
modal.find("input[name=nom]").val(datas.nom);
inlineSelectManager_setValue(modal.find("select[name=groupe]").parent(), datas.groupe_ref);
modal.find("input[name=valeur]").val(datas.valeur);
if(modal) modal.modal('show');
}).fail(function() { alert("("+paniersConf.type+" - load datas in modal form)"); });
}
function modalFormPanier_clear(modal) {
modal.removeAttr("edit_id");
modal.find("div.modaLoader").removeClass("show");
modal.find("input[name=nom]").val("");
inlineSelectManager_setValue(modal.find("select[name=groupe]").parent(), 0);
modal.find("input[name=valeur]").val("0");
}
function modalFormPanier_getDatas(modal) {
var datas = {
'nom' : modal.find("input[name=nom]").val(),
'groupe' : parseInt(modal.find("select[name=groupe]").val()),
'valeur' : parseFloat(modal.find("input[name=valeur]").val())
};
return datas;
}
function modalFormPanier_checkDatas(datas) {
if(datas.nom=="") {
alert("ERREUR : au minimum, un nom doit être renseigné !");
return false;
}
return true;
}
/***** ADD *****/
function initAddPanier() {
// INIT FORM
modalFormPanier_init(modalAddPanier);
// INIT ADD BTN
modalForm_initBtnAdd(
$(paniersConf.add_btnSelector), // BTN ADD
modalAddPanier, // MODAL
modalFormPanier_clear // CLEAR FORM FUNCTION
);
// INIT SAVE BTN
modalForm_initBtnSaveAdd(
modalAddPanier.find(".btnSave"), // BTN SAVE
paniersConf.type, // ADD TYPE
modalAddPanier, // MODAL
modalFormPanier_getDatas, // GET FORM DATAS FUNCTION
modalFormPanier_checkDatas, // CHECK FORM DATAS FUNCTION
paniersConf.baseURL // SAVE URL
);
// CANCEL
modalAddPanier.on('hidden.bs.modal', function (e) { modalFormPanier_clear(modalAddPanier); });
}
/***** EDIT *****/
function initEditPanier() {
// INIT FORM
modalFormPanier_init(modalEditPanier);
// INIT EDIT BTNs
var initBtnFct = function() { modalForm_initBtnEdit(
$(paniersConf.edit_btnSelector), // BTNs
modalEditPanier, // MODAL
modalFormPanier_clear, // CLEAR FUNCTION
modalFormPanier_loadDatas // LOAD DATAS FUNCTION
)};
registerListProgressLoadCbkFct( $("tbody.progressLoadList"), initBtnFct );
initBtnFct();
// INIT SAVE EDIT BTN
modalForm_initBtnSaveEdit(
modalEditPanier.find(".btnSave"), // BTN SAVE
paniersConf.type, // EDIT TYPE
modalEditPanier, // MODAL
modalFormPanier_getDatas, // GET FORM DATAS FUNCTION
modalFormPanier_checkDatas, // CHECK FORM DATAS FUNCTION
paniersConf.baseURL // SAVE URL
);
// CANCEL
modalEditPanier.on('hidden.bs.modal', function (e) { modalFormPanier_clear(modalEditPanier); });
}
/***** DELETE *****/
function initDeletePanier() {
// INIT DELETE BTNs
var initBtnFct = function() { modalForm_initBtnDelete(
$(paniersConf.delete_btnSelector), // BTNs
modalDeletePanier, // MODAL
modalDeletePanier_clear, // CLEAR MODAL FUNCTION
modalDeletePanier_loadDatas // LOAD DATAS FUNCTION
)};
registerListProgressLoadCbkFct( $("tbody.progressLoadList"), initBtnFct );
initBtnFct();
// INIT SAVE DELETE BTN
modalForm_initBtnSaveDelete(
modalDeletePanier.find(".btnSave"), // BTN SAVE
paniersConf.type, // DELETE TYPE
modalDeletePanier, // MODAL
false, // GET FORM DATAS FUNCTION
false, // CHECK FORM DATAS FUNCTION
paniersConf.baseURL // SAVE URL
);
// CANCEL
modalDeletePanier.on('hidden.bs.modal', function (e) { modalDeletePanier_clear(); });
}
function modalDeletePanier_loadDatas(btn, id) {
modalDeletePanier.find('b.name').html( btn.attr('nom') );
modalDeletePanier.modal('show');
}
function modalDeletePanier_clear() {
modalDeletePanier.removeAttr("delete_id");
modalDeletePanier.find('b.name').html("");
}