//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('
Ajouter
'); } // 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('
').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('
Bouton ajouté avec le callback custom
'); },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é'); }); }