Guest User

Untitled

a guest
Feb 25th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.35 KB | None | 0 0
  1. "use strict";
  2.  
  3. /* -------------------------------------------------------------------------
  4. CART PREVIEW MODULE
  5. ----------------------------------------------------------------------------*/
  6.  
  7. var CartPreviewModule = (function(document){
  8.  
  9. const printContainer = document.querySelector('div#blank-print'),
  10. fortunePreview = document.querySelector('div.fortune'),
  11. numbersPreview = document.querySelector('span.fortuneNumbers'),
  12. luckyMessage = document.querySelector('div.numbers'),
  13. corners = document.querySelectorAll('.corner'),
  14. options = document.querySelectorAll('.cart__meta-text > p'),
  15. optionsText = options[6].innerText,
  16. bigText = 60,
  17. mediumText = 45,
  18. smallText = 30;
  19.  
  20. let storage = window.localStorage,
  21. color = '';
  22.  
  23. function setColor(){
  24. switch (storage.getItem('color')) {
  25. case 'Red':
  26. color = '#9E0C13';
  27. break;
  28. case 'Black':
  29. color = '#000000';
  30. break;
  31. case 'Blue':
  32. color = 'blue';
  33. break;
  34. default:
  35. break;
  36. }
  37. }
  38.  
  39. function drawCorners(){
  40. for(let i = 0, max = corners.length; i < max; i++){
  41. corners[i].classList.remove('blank', 'crop', 'square');
  42. corners[i].classList.add(storage.getItem('printType').toLowerCase());
  43.  
  44. if(corners[i].classList.contains('crop')){
  45. corners[i].style.setProperty('background-color', 'transparent');
  46. corners[i].style.setProperty('border-color', color);
  47. }else if (corners[i].classList.contains('blank')) {
  48. corners[i].style.setProperty('background-color', 'transparent');
  49. } else if (corners[i].classList.contains('square')){
  50. corners[i].style.setProperty('background-color', color );
  51. }
  52. }
  53. }
  54.  
  55. function setFontSizeAndMargin(text){
  56. var textWidth = text.length,
  57. container = $(".fortune");
  58.  
  59. if( textWidth > 36) {
  60. container.css({"font-size": smallText, "margin-top": "70px"});
  61. }else if(textWidth > 25 && textWidth <= 36){
  62. container.css({"font-size": mediumText, "margin-top": "50px"});
  63. }else if(text === "" || textWidth <= 25 ){
  64. container.css({"font-size": bigText, "margin-top": "30px"});
  65. }
  66. return text;
  67. }
  68.  
  69. function fillDesign(){
  70. printContainer.style.setProperty('color', color);
  71. fortunePreview.style.setProperty('font-family', storage.getItem('fortuneFont'));
  72. fortunePreview.innerHTML = setFontSizeAndMargin(storage.getItem('fortuneMessage').toString());
  73. numbersPreview.style.setProperty('font-family', storage.getItem('numbersFont'));
  74. numbersPreview.innerHTML = storage.getItem('fortuneNumbers');
  75. }
  76.  
  77. function setOptions() {
  78. if(optionsText.includes('Bold')){
  79. luckyMessage.style.setProperty('font-weight', 'bold');
  80. numbersPreview.style.setProperty('font-weight', 'normal');
  81. }
  82. if(optionsText.includes('Commas')) {
  83. let newNumbers = numbersPreview.innerText.split(' ').join(', ');
  84. numbersPreview.innerText = newNumbers;
  85. }
  86. if(optionsText.includes('Colon')){
  87. let span = `<span class="fortuneNumbers" style="font-weight: normal;">${numbersPreview.innerText}</span>`;
  88. luckyMessage.innerHTML = 'Lucky Numbers: ' + span;
  89. }
  90.  
  91. }
  92.  
  93. function init(){
  94. setColor();
  95. drawCorners();
  96. fillDesign();
  97. setOptions();
  98. }
  99.  
  100. return {
  101. init: init
  102. }
  103. })(document);
  104.  
  105.  
  106. // Module init
  107. CartPreviewModule.init();
Add Comment
Please, Sign In to add comment