Skip to content

Commit 1c7744e

Browse files
Extract functions
1 parent 5aa4007 commit 1c7744e

File tree

2 files changed

+20
-16
lines changed

2 files changed

+20
-16
lines changed

assets/js/socket.js

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,8 @@ const channel = socket.channel('room:lobby', {})
77
const presence = new Presence(channel)
88

99
presence.onSync(() => {
10-
const users = document.querySelector('.users')
11-
users.innerHTML = ''
12-
13-
presence.list((id, _) => {
14-
const user = document.createElement('li')
15-
user.setAttribute('class', id)
16-
user.appendChild(document.createTextNode(id))
17-
18-
const estimate = document.createElement('span')
19-
estimate.setAttribute('class', 'user-estimate')
20-
user.appendChild(estimate)
21-
22-
users.appendChild(user)
23-
})
10+
const usersElem = document.querySelector('.users')
11+
updateUsers(usersElem, presence)
2412
})
2513

2614
if (window.pointingParty.username) {
@@ -35,10 +23,26 @@ calculateButton.addEventListener('click', event => {
3523
channel.push('user_estimated', { points: storyPoints.value })
3624
})
3725

38-
3926
channel.on("user_estimated", ({ points, userId }) => {
4027
const user = document.querySelector(`.${userId} .user-estimate`)
4128
user.innerHTML = points
4229
})
4330

31+
const updateUsers = (usersElem, presence) => {
32+
usersElem.innerHTML = ''
33+
presence.list(updateUser(usersElem))
34+
}
35+
36+
const updateUser = usersElem => (userId, _) => {
37+
const userElem = document.createElement('li')
38+
userElem.setAttribute('class', userId)
39+
userElem.appendChild(document.createTextNode(userId))
40+
41+
const estimateElem = document.createElement('span')
42+
estimateElem.setAttribute('class', 'user-estimate')
43+
userElem.appendChild(estimateElem)
44+
45+
usersElem.appendChild(userElem)
46+
}
47+
4448
export default socket

priv/static/js/app.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)