Advertisement
Guest User

Untitled

a guest
Mar 21st, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.73 KB | None | 0 0
  1. comparison.js
  2.  
  3. initComparison= () =>
  4. {
  5. let comparisonArrID = [];
  6. let comparisonArrContent = [];
  7. const comparisonBox = $('.compare-info');
  8. $('.table.js-results .checkbox').find('input[type=checkbox]').on('click', function(event){
  9. const limit = 3;
  10. const id = $(this).parents('.checkbox').data('id');
  11. const key = $(this).parents('.checkbox').data('key');
  12. const content = $(this).parents('.checkbox').data('content');
  13. const checkbboxesGroup = $('.table.js-results .checkbox').find('input[type=checkbox]:checked');
  14. let checkbboxesGroupLength = checkbboxesGroup.length;
  15.  
  16. if(checkbboxesGroupLength === 0 ){
  17. comparisonBox.hide();
  18. return;
  19. }
  20.  
  21. //sprawdzam czy mamy limit
  22. if(checkbboxesGroupLength <= limit){
  23.  
  24. //jeśli element nie znajduje się w tablicy
  25. if($(this).is(':checked')){
  26. comparisonArrContent.push(content)
  27. } else {
  28. let i = 0;
  29. for (let elem of comparisonArrContent){
  30. if(elem['id'] === id){
  31. comparisonArrContent.splice(i, 1);
  32. }
  33. i++;
  34. }
  35. }
  36. comparisonBox.show();
  37. comparisonBox.find('.compare-offer-count').html(checkbboxesGroupLength);
  38.  
  39. } else {
  40. event.preventDefault();
  41. checkbboxesGroupLength--;
  42.  
  43. comparisonBox.addClass('compare-offer-count-limit');
  44. comparisonBox.find('.compare-offer-info').html("Limit ofert do porównania został osiągnięty! ");
  45.  
  46. setTimeout(function(){
  47. comparisonBox.find('.compare-offer-info').html(
  48. '<p class="compare-offer-info">Liczba zaznaczonych ofert do porównania wynosi ' +
  49. '<span class="compare-offer-count">'+checkbboxesGroupLength+'</span>.' +
  50. '<span class="compare-action"> Porównaj</span>' +
  51. '</p>');
  52. comparisonBox.removeClass('compare-offer-count-limit');
  53. }, 2000);
  54. }
  55.  
  56. console.log(comparisonArrID, comparisonArrContent, 'tablica')
  57. });
  58.  
  59.  
  60. $('.compare-info').on('click', '.compare-action', function() {
  61. let modalCompare = $('.modal-compare-wrapper').clone();
  62. $.fancybox.open(modalCompare.html(), {
  63. modal: true,
  64. margin: [
  65. 0, 0
  66. ],
  67. beforeLoad: function(){
  68. console.log('strzel po dane do api na podstawie wybranych ID');
  69. },
  70. afterLoad: function(){
  71. var range = '';
  72.  
  73. $('.insurance_range').each(function () {
  74. if ($(this).is(':checked')) {
  75. range += (range == '' ? $(this).val() : '+' + $(this).val());
  76. }
  77. });
  78.  
  79.  
  80. for (let v of comparisonArrContent){
  81. $('.modal-compare-content').append(
  82. '<div class="col-sm-3 column c2">' +
  83. '<div class="compare-group gr1">' +
  84. ' <ul>' +
  85. '<li class="def_1">' +
  86. '<span>' +
  87. '<a href="#" title="#" class="close">Zamknij</a>' +
  88. '<img src="assets/images/logos/' + v.key + '.png" style="min-height:100px" alt="' + v.key + '">' +
  89. '</span>' +
  90. '</li>' +
  91. '<li class="def_2"><span>'+range+'</span></li>' +
  92. '<li class="def_3"><span>'+number_format(v.price, 2, ',', '') + ' zł'+'</span></li>' +
  93. '<li class="def_4">'+getRatingStars(v.totalScore)+'</li>' +
  94. '</ul>' +
  95. '</div>' +
  96. '<div class="compare-group gr2">' +
  97. '<ul>' +
  98. '<li class="oc_1"><span><i class="tick yes"></i></span></li>' +
  99. '<li class="oc_2"><span>10.000.000 zł</span></li>' +
  100. '<li class="oc_3"><span>'+ ( v.ocTowing || '-') +'</span></li>' +
  101. '<li class="oc_4"><span>'+ ( v.ocReplacementCar || '-') +'</span></li>' +
  102. '<li class="oc_5"><span>'+ ( v.ocVehicleRepair || '-') +'</span></li>' +
  103. '<li class="oc_6"><span>'+ ( v.ocOther || '-') +'</span></li>' +
  104. '</ul>' +
  105. '</div>' +
  106. '<div class="compare-group gr3">' +
  107. '<ul>' +
  108. '<li class="ac_1"><span><i class="tick yes"></i></span></li>' +
  109. '<li class="ac_2"><span><i class="tick yes"></i></span></li>' +
  110. '<li class="ac_3"><span>'+(v.acDepreciation ? 'Tak <i id="comparison_'+v.id+'" class="info tooltip" title="'+ v.acDepreciation +'"></i></span></li>' : '-' )+
  111. '<li class="ac_4"><span>'+ ( v.acExcess || '-' ) +'</span></li>' +
  112. '<li class="ac_5"><span>'+ ( v.acFranchise || '-') +'</span></li>' +
  113. '<li class="ac_6"><span>'+ ( v.acFilingDeadline || '-') +'</li>' +
  114. '</ul>' +
  115. '</div>' +
  116. '<div class="compare-group gr4">' +
  117. '<ul>' +
  118. '<li class="nnw_1"><span><i class="tick yes"></i></span></li>' +
  119. '<li class="nnw_2"><span>' + ( v.nnwSumOfInsurance || '-' ) + '</span></li>' +
  120. '<li class="nnw_3"><span><i class="tick '+ (v.nnwDriverAndPassengers ? "yes" : "no") +'"></i></span></li>' +
  121. '<li class="nnw_4"><span>' + ( v.nnwTerritory || '-' ) + '</span></li>' +
  122. '</ul>' +
  123. '</div>' +
  124. '<div class="compare-group gr5">' +
  125. '<ul>' +
  126. '<li class="assistance_1"><span><i class="tick yes"></i></span></li>' +
  127. '<li class="assistance_2"><span>' + ( v.assReplacementCar || '-' ) + '</span></li>' +
  128. '<li class="assistance_3"><span>' + ( v.assTowing || '-') + '</span></li>' +
  129. '<li class="assistance_4"><span>' + ( v.assMinDistance || '-' ) + '</span></li>' +
  130. '</ul>' +
  131. '</div>' +
  132. '<div class="compare-group gr6">' +
  133. '<ul>' +
  134. '<li>' +
  135. '<a href="#" title="Kup online" class="buy_online transition">Kup online</a>' +
  136. '<a href="#" title="Zamów online" class="order_call transition">Zamów online</a>' +
  137. '</li>' +
  138. '</ul>' +
  139. '</div>' +
  140. '</div>'
  141. );
  142. }
  143. },
  144.  
  145. afterClose: function (instance) {
  146. $('.modal-compare-content').empty();
  147. }
  148. });
  149. });
  150.  
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement