| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | //CHARGEMENT DE LA PAGEfunction init_plugin_example(){	switch($.urlParam('page')){		default:		break;	}	$('#contacts').sortable_table({		onSort : contact_search	});}/** *  * QUICKFORM *  */function example_quickform_buttons(){	$('.quickform-modal .modal-footer').append('<div class="btn btn-success" onclick="contact_save(contact_submit_quickform);"><i class="fas fa-check"></i> Ajouter</div>');}// Callback du quickform on savefunction contact_submit_quickform(){	//do something	$('#quickform-modal').modal('hide');}//GESTION CONTACTfunction contact_search(){	$('#contacts').fill({		action:"contact_search",		filters : $('#filters').filters(),		sort : $('#contacts').sortable_table('get')	});}//Sauvegarde function contact_save(cb){	var data = $('#contactForm').toJson();	data.id = $('#contactForm').attr('data-id');	data.avatar = $('#picture')[0].files[0];	$.action(data,function(r){		if(cb) cb();		$('#contactForm').attr('data-id',r.id);				$.message('success','Enregistré');	});}//Suppression function contact_delete(element){	if(!confirm('Êtes vous sûr de vouloir supprimer cet item ?')) return;	var line = $(element).closest('tr');	$.action({		action : 'contact_delete',		id : line.attr('data-id')	},function(r){		line.remove();		$.message('info','Element supprimé');	});}//Suppression de documentfunction contact_delete_document(element){	if(!confirm("Êtes-vous sûr de vouloir supprimer ce fichier ?")) return;	var line = $(element).closest('li');	$.action({		action : 'contact_delete_document',		path : line.attr('data-path')	},function(r){		line.remove();		$.message('info','Element supprimé');	});}//Ajout de documentfunction contact_add_document(files){	var form = $('#contactForm');	var contactId = form.attr('data-id');	$.action({		action : 'contact_add_document',		id: contactId,		files : files	}, function(r){		form.attr('data-id', r.id);		$.each(r.files, function(i, file){			var line = $('li[data-path="'+file.oldPath+'"]', form);			line.attr('data-path', file.relative);			line.find('a').attr('href', file.url);			line.find('i.pointer').attr('onclick', 'contact_delete_document(this)');			$('[data-type="dropzone"] input:not(:visible)', form).val('');						$.message('success', 'Fichier "'+file.name+'" sauvegardé');		});	});}//Suppression de l'avatarfunction contact_avatar_delete(element){	if(!confirm('Êtes vous sûr de vouloir supprimer l\'image ?')) return;	var imageComposer = $(element).parent().find("input[data-type='image']");		$.action({		action: 'contact_avatar_delete',		id: $('#contactForm').attr('data-id')	}, function(r){		imageComposer.wrap('<form>').closest('form').get(0).reset();		imageComposer.unwrap();		$(element).next('img').attr('src', $(imageComposer).attr('data-default-src'));		$(element).remove();	});}/* EXPORT MODELE */function contact_export_callback(){	console.log('Callback custom après chargement du modal');		setTimeout(function(){		$('#export-modal .cb-custom-btn').remove();		$('#export-modal .modal-footer').prepend('<div class="btn btn-primary mr-auto cb-custom-btn"><i class="fas fa-check"></i> Bouton ajouté avec le callback custom</div>');	},0);}
 |