Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

203 Zeilen
5.4KB

  1. $(document).ready(function() {
  2. chat_calendar() ;
  3. chat_datepicker() ;
  4. chat_vrac() ;
  5. chat_email_masse() ;
  6. $('button[data-toggle=popover]').popover() ;
  7. chat_ordre_produits() ;
  8. chat_liste_produits_index_commandes() ;
  9. }) ;
  10. function chat_liste_produits_index_commandes() {
  11. $('#produits-production .td-max input').click(function() {
  12. $(this).select() ;
  13. }) ;
  14. $('#produits-production .td-actif input').change(function() {
  15. if($(this).prop('checked')) {
  16. $(this).parent().parent().addClass('active') ;
  17. }
  18. else {
  19. $(this).parent().parent().removeClass('active(') ;
  20. }
  21. }) ;
  22. }
  23. function chat_ordre_produits() {
  24. var fixHelper = function(e, ui) {
  25. ui.children().each(function() {
  26. $(this).width($(this).width());
  27. });
  28. return ui;
  29. };
  30. $(".produit-index table tbody").sortable({
  31. items: "> tr",
  32. appendTo: "parent",
  33. cursor: "move",
  34. placeholder: "ui-state-highlight",
  35. handle: '.btn-order',
  36. //helper: "clone"
  37. helper: fixHelper,
  38. stop: function(event, ui) {
  39. var tab_ordre = {} ;
  40. var ordre = 1 ;
  41. $(".produit-index table tbody tr").each(function() {
  42. tab_ordre[$(this).attr('data-key')] = ordre ;
  43. ordre++ ;
  44. }) ;
  45. console.log(tab_ordre) ;
  46. $.get('index.php',{
  47. r: 'produit/ordre',
  48. tab: JSON.stringify(tab_ordre)
  49. }) ;
  50. }
  51. }).disableSelection();
  52. }
  53. function chat_email_masse() {
  54. $('#ids-users .label').click(function() {
  55. if($(this).hasClass('label-default')) {
  56. $(this).removeClass('label\-default') ;
  57. $(this).addClass('label-danger') ;
  58. }
  59. else if($(this).hasClass('label-danger'))
  60. $(this).removeClass('label-danger').addClass('label-default') ;
  61. }) ;
  62. $('#email-masse-form button[type=submit]').click(function() {
  63. $(this).attr('disabled','disabled').html('Envoyer ...') ;
  64. chat_email_masse_send() ;
  65. return false ;
  66. }) ;
  67. }
  68. function chat_email_masse_send() {
  69. var user = $('#ids-users .label-default:first') ;
  70. if(user.size()) {
  71. $('input[name=id_user]').val(user.data('id')) ;
  72. $.post('index.php?r=user/mail',$('#email-masse-form').serialize(), function(retour) {
  73. user.removeClass('label-default').addClass('label-success') ;
  74. setTimeout("chat_email_masse_send()",30000) ;
  75. }) ;
  76. }
  77. else {
  78. alert('Fini !') ;
  79. }
  80. }
  81. function chat_vrac() {
  82. $('.edit-vrac').click(function() {
  83. if($('.vrac').css('display') == 'none')
  84. $('.vrac').show() ;
  85. else
  86. $('.vrac').hide() ;
  87. }) ;
  88. }
  89. function chat_datepicker() {
  90. $('.datepicker').datepicker({dateFormat:'dd/mm/yy'}) ;
  91. }
  92. function chat_calendar() {
  93. if($('#page-commande').size()) {
  94. var events = new Array ;
  95. $('ul#jours-production li').each(function() {
  96. var date = $(this).html() ;
  97. events.push({
  98. title: 'Production',
  99. start: date,
  100. allDay: true
  101. }) ;
  102. }) ;
  103. jQuery('#calendar').fullCalendar({
  104. header: {
  105. left:"prev,next",
  106. center: "title",
  107. //right:"month,agendaWeek,agendaDay"
  108. right:""
  109. },
  110. lang:"fr-fr",
  111. loading:function loading(bool) {
  112. if (bool) $('#loading').show();
  113. else $('#loading').hide();
  114. },
  115. dayClick: function(date, jsEvent, view) {
  116. var url = $(location).attr('href') ;
  117. var tab_url = url.split('?') ;
  118. $(location).attr('href',tab_url[0]+'?r=commande/index&date='+date.format());
  119. },
  120. eventRender: function (event, element) {
  121. var dataToFind = moment(event.start).format('YYYY-MM-DD');
  122. $("td[data-date='"+dataToFind+"']").addClass('dayWithEvent');
  123. },
  124. //eventBackgroundColor: '#000000',
  125. events: events,
  126. id:"calendar"
  127. });
  128. if($('#current-date').val())
  129. $('td[data-date='+$('#current-date').val()+']').addClass('current-date') ;
  130. }
  131. }
  132. /* French initialisation for the jQuery UI date picker plugin. */
  133. /* Written by Keith Wood (kbwood{at}iinet.com.au),
  134. Stéphane Nahmani (sholby@sholby.net),
  135. Stéphane Raimbault <stephane.raimbault@gmail.com> */
  136. (function( factory ) {
  137. if ( typeof define === "function" && define.amd ) {
  138. // AMD. Register as an anonymous module.
  139. define([ "../jquery.ui.datepicker" ], factory );
  140. } else {
  141. // Browser globals
  142. factory( jQuery.datepicker );
  143. }
  144. }(function( datepicker ) {
  145. datepicker.regional['fr'] = {
  146. closeText: 'Fermer',
  147. prevText: 'Précédent',
  148. nextText: 'Suivant',
  149. currentText: 'Aujourd\'hui',
  150. monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
  151. 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
  152. monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
  153. 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
  154. dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
  155. dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
  156. dayNamesMin: ['D','L','M','M','J','V','S'],
  157. weekHeader: 'Sem.',
  158. dateFormat: 'dd/mm/yy',
  159. firstDay: 1,
  160. isRTL: false,
  161. showMonthAfterYear: false,
  162. yearSuffix: ''};
  163. datepicker.setDefaults(datepicker.regional['fr']);
  164. return datepicker.regional['fr'];
  165. }));