component.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //Initialisation du composant d'export modèle
  2. function init_components_export_model(input){
  3. var cbLoaded = input.attr('data-callback') ? input.attr('data-callback') : '';
  4. var cbParams = input.attr('data-callback-parameters') ? input.attr('data-callback-parameters').split(',') : [];
  5. var parameters = JSON.parse(input.attr('data-parameters'));
  6. $(document).ready(function(e){
  7. input.on('click', function(e){
  8. $.ajax({
  9. type: 'GET',
  10. url: 'plugin/export/modal.export.model.php',
  11. async: true,
  12. success : function(modal){
  13. if(cbLoaded) window[cbLoaded].apply(null,cbParams);
  14. }
  15. }).done(function(modalContent){
  16. if(!$('#export-modal').length)
  17. $('body').append(modalContent);
  18. var modal = $('#export-modal');
  19. reset_inputs(modal);
  20. $.action({
  21. action: 'export_exportmodel_search',
  22. params: parameters
  23. }, function(r){
  24. if(r.rows){
  25. var defaultExport = input.attr('data-default');
  26. var selectExport = $('#exportModel');
  27. selectExport.find('option').remove();
  28. $.each(r.rows,function(i, option){
  29. var opt = $('<option value="'+option.id+'">'+option.label+' - '+option.description+'</option>');
  30. if(defaultExport && defaultExport.length && option.slug === defaultExport) opt.attr('selected', true);
  31. selectExport.append(opt);
  32. });
  33. }
  34. $('#exportmodel-form').attr('data-parameters', JSON.stringify(parameters));
  35. if($('#exportModel > option').length == 1){
  36. export_exportmodel_export();
  37. return;
  38. }
  39. init_components($('#export-modal'));
  40. modal.modal('show');
  41. });
  42. });
  43. });
  44. });
  45. }