Advertisement
Guest User

Untitled

a guest
Jul 26th, 2021
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.31 KB | None | 0 0
  1. var myData = [];
  2.  
  3. var HttpClient = function() {
  4. this.get = function(aUrl, aCallback) {
  5. var anHttpRequest = new XMLHttpRequest();
  6. anHttpRequest.onreadystatechange = function() {
  7. if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
  8. aCallback(anHttpRequest.responseText);
  9. }
  10. anHttpRequest.open( "GET", aUrl, true );
  11. anHttpRequest.send( null );
  12. }
  13. }
  14.  
  15. var theurl='data.json';
  16. var client = new HttpClient();
  17. client.get(theurl, function(response) {
  18. myData = JSON.parse(response);
  19. });
  20.  
  21. var DV1 = document.getElementById("DV1");
  22. var DV2 = document.getElementById("DV2");
  23. var DV3 = document.getElementById("DV3");
  24. var DV4 = document.getElementById("DV4");
  25. var DV5 = document.getElementById("DV5");
  26. var DV6 = document.getElementById("DV6");
  27.  
  28. var DV1selection = ""
  29. var DV2selection = ""
  30. var DV3selection = ""
  31. var DV4selection = ""
  32. var DV5selection = ""
  33.  
  34. extDV1.style.visibility='hidden'
  35. extDV2.style.visibility='hidden'
  36. extDV3.style.visibility='hidden'
  37. extDV4.style.visibility='hidden'
  38. extDV5.style.visibility='hidden'
  39.  
  40. function cDV1 () {
  41. while (DV1.hasChildNodes()) {DV1.removeChild(DV1.firstChild);}
  42. while (DV2.hasChildNodes()) {DV2.removeChild(DV2.firstChild);}
  43. while (DV3.hasChildNodes()) {DV3.removeChild(DV3.firstChild);}
  44. while (DV4.hasChildNodes()) {DV4.removeChild(DV4.firstChild);}
  45. while (DV5.hasChildNodes()) {DV5.removeChild(DV5.firstChild);}
  46. while (DV6.hasChildNodes()) {DV6.removeChild(DV6.firstChild);}
  47. extDV1.style.visibility='visible'
  48. extDV2.style.visibility='hidden'
  49. extDV3.style.visibility='hidden'
  50. extDV4.style.visibility='hidden'
  51. extDV5.style.visibility='hidden'
  52.  
  53. const uniqueMakes = [];
  54. const unique = myData.filter(item => {
  55. if(uniqueMakes.includes(item.Make)){
  56. return false;
  57. }else{
  58. uniqueMakes.push(item.Make);
  59. return true;
  60. }
  61. });
  62.  
  63. for (i = 0; i < uniqueMakes.length; i++) {
  64. newItemDV1 = document.createElement('a');
  65. newItemDV1.innerHTML = uniqueMakes[i];
  66. DV1.appendChild(newItemDV1);
  67. };
  68.  
  69. DV1.style.backgroundColor = "#eee"
  70. }
  71.  
  72. function cDV2 (event) {
  73. while (DV2.hasChildNodes()) {DV2.removeChild(DV2.firstChild);}
  74. while (DV3.hasChildNodes()) {DV3.removeChild(DV3.firstChild);}
  75. while (DV4.hasChildNodes()) {DV4.removeChild(DV4.firstChild);}
  76. while (DV5.hasChildNodes()) {DV5.removeChild(DV5.firstChild);}
  77. while (DV6.hasChildNodes()) {DV6.removeChild(DV6.firstChild);}
  78. extDV2.style.visibility='visible'
  79. extDV3.style.visibility='hidden'
  80. extDV4.style.visibility='hidden'
  81. extDV5.style.visibility='hidden'
  82.  
  83. DV1selection = event.target.innerHTML;
  84.  
  85. const activeIt = DV1.querySelectorAll("a.active");
  86. activeIt.forEach(function(item) {item.classList.remove('active');})
  87. event.target.className += " active";
  88.  
  89. const uniqueSeries = [];
  90. const unique = myData.filter(item => {
  91. if(item.Make === DV1selection) {
  92. if(uniqueSeries.includes(item.Series)){
  93. return false;
  94. }else{
  95. uniqueSeries.push(item.Series);
  96. return true;
  97. }
  98. }
  99. });
  100.  
  101. for (i = 0; i < uniqueSeries.length; i++) {
  102. newItemDV2 = document.createElement('a');
  103. newItemDV2.innerHTML = uniqueSeries[i];
  104. DV2.appendChild(newItemDV2);
  105. };
  106.  
  107. DV2.style.backgroundColor = "#eee"
  108. }
  109.  
  110. function cDV3 (event) {
  111. while (DV3.hasChildNodes()) {DV3.removeChild(DV3.firstChild);}
  112. while (DV4.hasChildNodes()) {DV4.removeChild(DV4.firstChild);}
  113. while (DV5.hasChildNodes()) {DV5.removeChild(DV5.firstChild);}
  114. while (DV6.hasChildNodes()) {DV6.removeChild(DV6.firstChild);}
  115. extDV3.style.visibility='visible'
  116. extDV4.style.visibility='hidden'
  117. extDV5.style.visibility='hidden'
  118.  
  119. DV2selection = event.target.innerHTML;
  120.  
  121. const activeIt = DV2.querySelectorAll("a.active");
  122. activeIt.forEach(function(item) {item.classList.remove('active');})
  123. event.target.className += " active";
  124.  
  125. const uniqueModels = [];
  126. const unique = myData.filter(item => {
  127. if(item.Series === DV2selection) {
  128. if(uniqueModels.includes(item.Model)){
  129. return false;
  130. }else{
  131. uniqueModels.push(item.Model);
  132. return true;
  133. }
  134. }
  135. });
  136.  
  137. for (i = 0; i < uniqueModels.length; i++) {
  138. newItemDV3 = document.createElement('a');
  139. newItemDV3.innerHTML = uniqueModels[i];
  140. DV3.appendChild(newItemDV3);
  141. };
  142.  
  143. DV3.style.backgroundColor = "#eee"
  144. }
  145.  
  146. function cDV4 (event) {
  147. while (DV4.hasChildNodes()) {DV4.removeChild(DV4.firstChild);}
  148. while (DV5.hasChildNodes()) {DV5.removeChild(DV5.firstChild);}
  149. while (DV6.hasChildNodes()) {DV6.removeChild(DV6.firstChild);}
  150. extDV4.style.visibility='visible'
  151. extDV5.style.visibility='hidden'
  152.  
  153. DV3selection = event.target.innerHTML;
  154.  
  155. const activeIt = DV3.querySelectorAll("a.active");
  156. activeIt.forEach(function(item) {item.classList.remove('active');})
  157. event.target.className += " active";
  158.  
  159. const uniqueTypes = [];
  160. const unique = myData.filter(item => {
  161. if(item.Model === DV3selection) {
  162. if(uniqueTypes.includes(item.Type)){
  163. return false;
  164. }else{
  165. uniqueTypes.push(item.Type);
  166. return true;
  167. }
  168. }
  169. });
  170.  
  171. for (i = 0; i < uniqueTypes.length; i++) {
  172. newItemDV4 = document.createElement('a');
  173. newItemDV4.innerHTML = uniqueTypes[i];
  174. DV4.appendChild(newItemDV4);
  175. };
  176.  
  177. DV4.style.backgroundColor = "#eee"
  178. }
  179.  
  180. function cDV5 (event) {
  181. while (DV5.hasChildNodes()) {DV5.removeChild(DV5.firstChild);}
  182. while (DV6.hasChildNodes()) {DV6.removeChild(DV6.firstChild);}
  183. extDV5.style.visibility='visible'
  184.  
  185. DV4selection = event.target.innerHTML;
  186.  
  187. const activeIt = DV4.querySelectorAll("a.active");
  188. activeIt.forEach(function(item) {item.classList.remove('active');})
  189. event.target.className += " active";
  190.  
  191. const uniqueYears = [];
  192. const unique = myData.filter(item => {
  193. if(item.Type === DV4selection) {
  194. if(uniqueYears.includes(item.Year)){
  195. return false;
  196. }else{
  197. uniqueYears.push(item.Year);
  198. return true;
  199. }
  200. }
  201. });
  202.  
  203. for (i = 0; i < uniqueYears.length; i++) {
  204. newItemDV5 = document.createElement('a');
  205. newItemDV5.innerHTML = uniqueYears[i];
  206. DV5.appendChild(newItemDV5);
  207. };
  208.  
  209. DV5.style.backgroundColor = "#eee"
  210. }
  211.  
  212. function tiene_repetidos(array){
  213. return new Set(array).size!==array.length
  214. }
  215.  
  216. function printResp () {
  217. while (DV6.hasChildNodes()) {DV6.removeChild(DV6.firstChild);}
  218.  
  219. var target = event.target.innerHTML;
  220. event.target.className += " active";
  221. DV5selection = target;
  222.  
  223. veicSelecionado = document.createElement('li');
  224. veicSelecionado.innerHTML = ('SELECTED VEHICLE:');
  225. DV6.appendChild(veicSelecionado);
  226.  
  227. var myArr = [];
  228. var valueToPush = { };
  229. for (i = 0; i < myData.length; i++) {
  230.  
  231. if (myData[i].Series === DV2selection ) {
  232.  
  233. if ( parseInt(myData[i].Series) >0 ) {
  234.  
  235. veicSelecionado = document.createElement('li');
  236. veicSelecionado.innerHTML = ('Make: ' + myData[i].Series);
  237. DV6.appendChild(veicSelecionado);
  238. }
  239. }
  240. };
  241. }
  242.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement