123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- //CHARGEMENT DE LA PAGE
- function 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 save
- function contact_submit_quickform(){
- $('#quickform-modal').modal('hide');
- }
- //GESTION CONTACT
- function contact_search(callback, exportMode){
- var box = new FilterBox('#filters');
-
- $('#contacts').fill({
- action:"contact_search",
- filters : box.filters(),
- //Gestion du tri par colonnes de tableau (optionnel)
- sort : $('#contacts').sortable_table('get'),
- //Activation de l'export excel (optionnel)
- export : !exportMode ? false : exportMode,
- //exemple d'affichage de ligne personnalisé (optionnel)
- showing : function(item,i){
- item.css({
- transform:'translateX(-200px)',
- transition:'all 0.2s ease-in-out',
- opacity : 0
- }).removeClass('hidden');
- setTimeout(function(){
- item.css({
- transform:'translateX(0px)',
- opacity : 1
- })
- },(i+1)*5);
- }
- },function(response){
- $('.results-count span').text(response.pagination.total);
- if(callback!=null) callback();
- });
- }
- //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 document
- function 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 document
- function 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'avatar
- function 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_pre_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);
- }
- function contact_export_post_callback(){
- alert('Callback custom après export');
- }
- /* EXAMPLE LOCATION CALLBACK */
- function example_location_select(location){
- var attributes = {};
- for(var key in location){
- attributes['data-'+key] = location[key];
- if($('#'+key)!='') $('#'+key).val(location[key]).text(location[key]);
- }
- }
- function example_location_geocode(infos){
- alert("Latitude: "+infos.Response.View[0].Result[0].Location.DisplayPosition.Latitude+"\nLongitude: "+infos.Response.View[0].Result[0].Location.DisplayPosition.Longitude);
- }
- /** SETTINGS */
- //Enregistrement des configurations
- function example_setting_save(){
- $.action({
- action : 'example_setting_save',
- fields : $('#example-setting-form').toJson()
- }, function(r){
- $.message('success','Enregistré');
- });
- }
|