Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. /* Magic Mirror
  2. * Module: MMM-EventHorizon
  3. *
  4. * By Geo
  5. *
  6. */
  7.  
  8. Module.register("MMM-EventHorizon", {
  9.  
  10. defaults: {
  11. size: "small", // small, medium or large
  12. countUp: "yes", // Count up after timer ends
  13. date: "2018-07-04",
  14. time: "00:00:01", // (HH:MM:SS) Exact time you want timer to end
  15. text1: "Describe event here", // 2 lines of text during timer
  16. text2: "And here too!", // 2 lines of text during timer
  17. endText1: "When timer ends", // 2 lines of text when timer ends
  18. endText2: "Say something here", // 2 lines of text when timer ends
  19. },
  20.  
  21. getStyles: function () {
  22. return ["MMM-EventHorizon.css"];
  23. },
  24. getScripts: function () {
  25. return [
  26. 'moment.js'
  27. ];
  28. },
  29.  
  30. start: function () {
  31. this.scheduleUpdate();
  32. },
  33.  
  34. scheduleUpdate: function (delay) {
  35. var loadTime = 1000 //this.config.updateInterval;
  36. if (typeof delay !== "undefined" && delay >= 0) {
  37. loadTime = delay;
  38. }
  39.  
  40. var self = this;
  41. setInterval(function () {
  42. this.updateDom();
  43. }, loadTime);
  44. },
  45.  
  46. getDom: function () {
  47. var wrapper = document.querySelector('#AgeLeo');
  48. if (!wrapper) {
  49. document.createElement("div");
  50. wrapper.id = "AgeLeo";
  51. wrapper.innerHTML = '<p>👶 Léo est né il y a:</p>';
  52. wrapper.innerHTML += '<p id="countUpDate"></p>';
  53. }
  54.  
  55. var dateLeo = new Date(1535451060000); // Tue Aug 28 2018 12:11:00 GMT+0200
  56. var now = new Date();
  57. var momentDate1 = moment(dateLeo);
  58. var momentDate2 = moment(now);
  59. //On déclare les intervalles voulus ainsi que leurs libellés
  60. var intervals = [{
  61. type: "years",
  62. label: "ans",
  63. value: 0
  64. },
  65. {
  66. type: "months",
  67. label: "mois",
  68. value: 0
  69. },
  70. {
  71. type: "weeks",
  72. label: "semaines",
  73. value: 0
  74. },
  75. {
  76. type: "days",
  77. label: "jours",
  78. value: 0
  79. },
  80. {
  81. type: "hours",
  82. label: "heures",
  83. value: 0
  84. },
  85. {
  86. type: "minutes",
  87. label: "minutes",
  88. value: 0
  89. },
  90. {
  91. type: "seconds",
  92. label: "secondes",
  93. value: 0
  94. }
  95. ];
  96.  
  97. //On calcule les intervalles
  98. for (var i = 0; i < intervals.length; i++) {
  99. var diff = momentDate2.diff(momentDate1, intervals[i].type);
  100. momentDate1.add(diff, intervals[i].type);
  101. intervals[i].value = diff;
  102. }
  103.  
  104. var output = "";
  105. //On les mets en forme ici
  106. //Pour chaque intervalle, on choisit comment l'afficher
  107. //Ici je les colle les uns à la suite des autres
  108. for (var i = 0; i < intervals.length; i++) {
  109. output += intervals[i].value + intervals[i].label + " ";
  110. }
  111.  
  112. wrapper.innerHTML = output;
  113.  
  114. return wrapper;
  115. }
  116. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement