Skip to content

Commit 6830aa1

Browse files
committed
pokeapi is now plugged
1 parent 4d64d76 commit 6830aa1

File tree

4 files changed

+34
-41
lines changed

4 files changed

+34
-41
lines changed

front/index.html

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99
<body>
1010
<h1>Javascript workers in action</h1>
1111
<div class="container">
12-
<button id="refresh" class="btn">Génerer de nouvelles données</button>
12+
<button id="refresh" class="btn">Générer un Pokémon</button>
1313
<div id="text-placeholder" class="is-empty">
14-
<div>Nom : <span class="name"></span></div>
15-
<div>Age : <span class="age"></span></div>
16-
<div>Ville : <span class="city"></span></div>
17-
<div>Biographie : <span class="bio"></span></div>
14+
<img class="sprite" src="">
15+
<div>Name : <span class="name"></span></div>
16+
<div>Types : <span class="types"></span></div>
17+
<div>Height : <span class="height"></span> ft</div>
18+
<div>Weight : <span class="weight"></span> kg</div>
1819
</div>
1920
<div class="loader">
2021
<div class="lds-ring"><div></div><div></div><div></div><div></div></div>

front/javascript/dist/worker-bundled.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
22
const axios = require('axios');
33

4-
const apiMaxId = 54;
5-
4+
const apiMaxId = 150;
5+
const baseUrl = "https://pokeapi.co/api/v2/pokemon/"
66
onmessage = (e) => {
7-
console.log('here')
87
let id = (Math.floor(Math.random() * Math.floor(apiMaxId))) + 1
9-
axios.get('http://js-worker.local/' + id)
8+
axios.get(baseUrl + id)
109
.then(response => (postMessage(response.data)))
1110
}
1211
},{"axios":2}],2:[function(require,module,exports){

front/javascript/script.js

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,25 @@
1-
const fields = ['name', 'age', 'city', 'bio']
1+
const fields = ['name', 'height', 'weight']
22

33
document.addEventListener("DOMContentLoaded",() => {
4-
if (window.Worker) {
5-
let worker = new Worker('./javascript/dist/worker-bundled.js');
4+
if (window.Worker) {
5+
let worker = new Worker('./javascript/dist/worker-bundled.js');
66

7-
let btnRefresh = document.getElementById("refresh");
8-
let container = document.getElementsByClassName("container")[0];
9-
10-
btnRefresh.addEventListener("click",() => {
11-
cleanEntries();
12-
container.classList.add('is-loading');
13-
worker.postMessage('test');
14-
});
15-
16-
worker.onmessage = function(e) {
17-
let jsonFetched = e.data;
18-
for(let fieldName of fields) {
19-
document.getElementsByClassName(fieldName)[0].innerHTML = jsonFetched[fieldName];
20-
}
21-
container.classList.remove('is-loading');
22-
}
23-
}
24-
})
25-
26-
function cleanEntries() {
27-
for(let fieldName of fields) {
28-
document.getElementsByClassName(fieldName)[0].innerHTML = '';
29-
}
30-
}
7+
let btnRefresh = document.getElementById("refresh");
8+
let container = document.getElementsByClassName("container")[0];
319

10+
btnRefresh.addEventListener("click",() => {
11+
container.classList.add('is-loading');
12+
worker.postMessage('go');
13+
});
3214

15+
worker.onmessage = function(e) {
16+
let jsonFetched = e.data;
17+
for(let fieldName of fields) {
18+
document.getElementsByClassName(fieldName)[0].innerHTML = jsonFetched[fieldName];
19+
}
20+
document.getElementsByClassName('types')[0].innerHTML = jsonFetched['types'].map(x => x.type.name)
21+
document.getElementsByClassName('sprite')[0].src = jsonFetched['sprites'].front_default;
22+
container.classList.remove('is-loading');
23+
}
24+
}
25+
})

front/javascript/worker.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
const axios = require('axios');
22

3-
const apiMaxId = 49;
3+
const apiMaxId = 150;
4+
const baseUrl = "https://pokeapi.co/api/v2/pokemon/"
45

56
onmessage = (e) => {
6-
console.log('here')
7-
let id = (Math.floor(Math.random() * Math.floor(apiMaxId))) + 1
8-
axios.get('http://js-worker.local/' + id)
9-
.then(response => (postMessage(response.data)))
7+
let id = (Math.floor(Math.random() * Math.floor(apiMaxId))) + 1
8+
axios.get(baseUrl + id)
9+
.then(response => (postMessage(response.data)))
1010
}

0 commit comments

Comments
 (0)