選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

utils.js 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. /**
  2. * Created by fab on 30/12/17.
  3. */
  4. /**
  5. * Retourne un prix sans taxe sur base du prix avec tax
  6. *
  7. * @param priceWithTax
  8. * @param taxRate
  9. * @returns {string}
  10. */
  11. function getPrice(priceWithTax, taxRate) {
  12. return numberDecimals(parseFloat(parseFloat(priceWithTax) / (taxRate + 1)), 3);
  13. }
  14. /**
  15. * Retourne un prix avec taxe sur base du prix sans taxe
  16. *
  17. * @param priceWithoutTax
  18. * @param taxRate
  19. * @returns {string}
  20. */
  21. function getPriceWithTax(priceWithoutTax, taxRate) {
  22. return numberDecimals(parseFloat(parseFloat(priceWithoutTax) * (taxRate + 1)), 2);
  23. }
  24. function numberDecimals(num, decimals) {
  25. return Number(num).toFixed(decimals) ;
  26. }
  27. /**
  28. * Formate un prix en l'arrondissant et en ajoutant le sigle de la monnaie
  29. *
  30. * @param price
  31. * @returns {string}
  32. */
  33. function formatPrice(price) {
  34. return numberDecimals(price, 2).replace('.', ',') + ' €';
  35. }
  36. /**
  37. * Formate une date au format jj/mm/yyyy
  38. * @param date
  39. * @returns {*}
  40. */
  41. function formatDate(date) {
  42. if (date) {
  43. return ('0' + date.getDate()).slice(-2) + '/' + ('0' + (date.getMonth() + 1)).slice(-2) + '/' + date.getFullYear();
  44. }
  45. return false;
  46. }
  47. /**
  48. * Equivalent de console.log (ne déclenche pas d'erreur si la console est fermé)
  49. *
  50. * @param msg
  51. */
  52. function log(msg) {
  53. try {
  54. console.log(msg);
  55. } catch (e) {
  56. }
  57. }
  58. /**
  59. * Convertit un formulaire ou un objet en JSON (utilisé pour l'envoie de donnée en ajax)
  60. */
  61. $.fn.serializeObject = function () {
  62. var o = {};
  63. var a = this.serializeArray();
  64. $.each(a, function () {
  65. if (o[this.name] !== undefined) {
  66. if (!o[this.name].push) {
  67. o[this.name] = [o[this.name]];
  68. }
  69. o[this.name].push(this.value || '');
  70. } else {
  71. o[this.name] = this.value || '';
  72. }
  73. });
  74. return o;
  75. };
  76. function getDateFormatted(date) {
  77. var _d = date.getDate(),
  78. d = _d > 9 ? _d : '0' + _d,
  79. _m = date.getMonth() + 1,
  80. m = _m > 9 ? _m : '0' + _m,
  81. formatted = date.getFullYear() + '-' + m + '-' + d;
  82. return formatted;
  83. }
  84. //Affiche une alert au click sur un bouton submit lorsqu'un utilisateur admin tente de modifer un établissement
  85. function userNotAllowToEdit() {
  86. alert('Vous n\'êtes pas autorisé à effectuer cette action');
  87. return false;
  88. }