168 lines
3.8 KiB
JavaScript
168 lines
3.8 KiB
JavaScript
var modal_confirm_delete_options = {
|
|
title: "Etes-vous sur ?",
|
|
text: "Cet enregistrement sera effacé.",
|
|
type: "warning",
|
|
showCancelButton: true,
|
|
confirmButtonClass: "btn-danger",
|
|
confirmButtonText: "Oui !",
|
|
cancelButtonText: "Annuler"
|
|
};
|
|
|
|
|
|
function modal_confirm_delete(id,module,route,callback) {
|
|
// console.log(id);
|
|
var $loader = $('#loader');
|
|
Swal.fire(modal_confirm_delete_options).then(function(result) {
|
|
if (result.value) {
|
|
$.ajaxSetup({
|
|
headers: {
|
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
|
}
|
|
});
|
|
// console.log('/' + route +'/'+ id);
|
|
$.ajax({
|
|
url : '/' + route +'/'+ id,
|
|
method : 'DELETE',
|
|
success : function(resp){
|
|
if (resp.success) {
|
|
Swal.fire("Supprimé !", "L'enregistrement a été supprimé.", "success");
|
|
$('#'+module+'-modal').modal('hide');
|
|
callback();
|
|
} else {
|
|
Swal.fire("Erreur!", "L'enregistrement n'a pu être supprimé pour les raisons suivantes : "+resp.message, "danger");
|
|
if(resp.code == 401){
|
|
location.reload();
|
|
}
|
|
}
|
|
$loader.hide();
|
|
}
|
|
});
|
|
} else if (result.dismiss === Swal.DismissReason.cancel) {
|
|
|
|
}
|
|
})
|
|
}
|
|
|
|
function modal_save(id,route,module,callback,$button) {
|
|
var $loader = $('#loader');
|
|
var $data = $('#'+module+'-form-data').serialize();
|
|
var $method = $button.attr('data-method');
|
|
var $url = ($method == 'POST') ? '/' + route : '/' + route +'/'+ id;
|
|
|
|
$button.prop('disabled', true);
|
|
$button.html('en cours...');
|
|
$loader.show();
|
|
|
|
$.ajax({
|
|
url: $url,
|
|
data: $data,
|
|
method : $method,
|
|
success: function(resp){
|
|
|
|
$button.prop('disabled', false);
|
|
$button.html('Enregistrer');
|
|
$loader.hide();
|
|
|
|
if (resp.success) {
|
|
$('#'+module+'-form-data').each(function(){
|
|
this.reset();
|
|
});
|
|
$('#btn-'+module+'-delete').hide();
|
|
$('#'+module+'-modal').modal('hide');
|
|
callback();
|
|
} else {
|
|
swal(resp.message);
|
|
if (resp.code == 401) {
|
|
location.reload();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function modal_add(module, callback) {
|
|
/*
|
|
$('#'+module+'-form-data').each(function(){
|
|
this.reset();
|
|
});
|
|
*/
|
|
$('#btn-'+module+'-save').attr('data-method', 'POST');
|
|
$('#btn-'+module+'-delete').hide();
|
|
$('#'+module+'-modal').modal('show');
|
|
callback();
|
|
}
|
|
|
|
function modal_edit(id,route,module,callback) {
|
|
var $loader = $('#loader');
|
|
$loader.show();
|
|
$('#btn-'+module+'-delete').show();
|
|
|
|
$.get('/'+route+'/'+id, function(resp){
|
|
if (resp.success) {
|
|
/*
|
|
$('#'+module+'-form-data').each(function(){
|
|
this.reset();
|
|
});
|
|
*/
|
|
callback(resp.data);
|
|
|
|
$('#btn-'+module+'-save').attr('data-method', 'PUT');
|
|
$('#btn-'+module+'-delete').show();
|
|
$('#'+module+'-modal').modal('show');
|
|
} else {
|
|
if (resp.code == 401) {
|
|
location.reload();
|
|
}
|
|
}
|
|
$loader.hide();
|
|
});
|
|
}
|
|
|
|
function initModalAdmin(route,module,callback,populate,Table) {
|
|
|
|
var selector = getDatatablesSelector(model);
|
|
/*
|
|
$( selector + ' tbody').on( 'click', 'tr', function (e) {
|
|
e.preventDefault();
|
|
// $(this).toggleClass('selected');
|
|
id = Table.row(this).id();
|
|
modal_edit(id,route,module,populate);
|
|
} );
|
|
*/
|
|
/*
|
|
$('#btn-'+module+'-add').click(function(e){
|
|
e.preventDefault();
|
|
modal_add(module, populate);
|
|
});
|
|
*/
|
|
/*
|
|
$('#'+module+'-table').on('click', '.btn-'+module+'-edit', function(e){
|
|
e.preventDefault();
|
|
var id = $(this).attr('data-id');
|
|
modal_edit(id,route,module,populate);
|
|
});
|
|
*/
|
|
/*
|
|
$('#'+module+'-table').on('click', '.btn-'+module+'-delete', function(e){
|
|
e.preventDefault();
|
|
var id = $(this).attr('data-id');
|
|
modal_confirm_delete(id,route,callback);
|
|
});
|
|
*/
|
|
|
|
$('#btn-'+module+'-delete').click(function(e){
|
|
e.preventDefault();
|
|
var id = $('#id').val();
|
|
modal_confirm_delete(id,module,route,callback);
|
|
});
|
|
|
|
/*
|
|
$('#btn-'+module+'-save').click(function(e){
|
|
e.preventDefault();
|
|
var id = $('#id').val();
|
|
modal_save(id,route,module,callback,$(this));
|
|
});
|
|
*/
|
|
}
|
|
|