git.shiar.nl
/
sc2-widget
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hover members from data attribute
[sc2-widget]
/
widget.html
diff --git
a/widget.html
b/widget.html
index 12d83e6e653f8f0307edfa3d93f658fcc5e3f27c..1184ab1c506ecd96774219d5f6e749cd4c1a1162 100644
(file)
--- a/
widget.html
+++ b/
widget.html
@@
-12,21
+12,29
@@
<body>
<p id="clan">No clan data</p>
<script>
<body>
<p id="clan">No clan data</p>
<script>
- fetch('/schtarr/inno.json')
+ let outcont = document.getElementById('clan')
+ let request = this.location.pathname.split('/').pop()
+ outcont.innerHTML = `Loading clan data for <q>${request}</q>`
+ fetch('/schtarr/data/' + request + '.json')
.then(res => {
if (res.status != 200) {
console.log('got %o', res)
.then(res => {
if (res.status != 200) {
console.log('got %o', res)
- throw `
status
${res.status}`
+ throw `
include
${res.status}`
}
return res.json()
})
.then(clan => {
let tiernum = (rank) => rank <= 8 ? 1 : rank <= 25 ? 2 : rank <= 50 ? 3 : 4;
}
return res.json()
})
.then(clan => {
let tiernum = (rank) => rank <= 8 ? 1 : rank <= 25 ? 2 : rank <= 50 ? 3 : 4;
-
document.getElementById('clan')
.outerHTML = `
- <h1>${clan.tag}</h1>
+
outcont
.outerHTML = `
+ <h1>${clan.tag
|| clan.members[0].name
}</h1>
<ul class=ladders>
${clan.ladders.map(ladder => `
<ul class=ladders>
${clan.ladders.map(ladder => `
- <li class="rank ${ladder.league} tier${tiernum(ladder.rank)}"
+ <li class="rank ${[
+ ladder.league,
+ ' tier' + tiernum(ladder.rank),
+ ladder.season ? ' old' : null,
+ ].join('')}"
+ data-members="${ladder.members}"
title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})">
${ladder.league} <small>#${ladder.rank}</small>
</li>
title="Division ${ladder.division} (${ladder.wins}:${ladder.losses})">
${ladder.league} <small>#${ladder.rank}</small>
</li>
@@
-42,25
+50,27
@@
</ul>
`
</ul>
`
- let i = 0
- document.querySelectorAll('.ladders li').forEach(ladder => {
- let laddermembers = clan.ladders[i++].members
+ document.querySelectorAll('[data-members]').forEach(li => {
+ let momberids = li.dataset.members.split(',')
let membercont = document.querySelector('.members')
let membercont = document.querySelector('.members')
- l
adder
.onmouseover = e => {
+ l
i
.onmouseover = e => {
membercont.classList.add('select')
membercont.classList.add('select')
-
laddermember
s.forEach(member => {
+
momberid
s.forEach(member => {
membercont.children[member].classList.add('select')
})
}
membercont.children[member].classList.add('select')
})
}
- l
adder
.onmouseout = e => {
+ l
i
.onmouseout = e => {
membercont.classList.remove('select')
membercont.classList.remove('select')
-
laddermember
s.forEach(member => {
+
momberid
s.forEach(member => {
membercont.children[member].classList.remove('select')
})
}
})
})
membercont.children[member].classList.remove('select')
})
}
})
})
- .catch(msg => console.error('include failure:', msg))
+ .catch(msg => {
+ outcont.innerHTML = `Error loading clan data: ${msg}`
+ console.error('include failure:', msg)
+ })
</script>
</body>
</script>
</body>