Skip to content

Commit 0bbe585

Browse files
committedJul 27, 2018
Use forEach, template literals and const instead of let
1 parent e74eee2 commit 0bbe585

File tree

1 file changed

+20
-21
lines changed

1 file changed

+20
-21
lines changed
 

‎slotchange/main.js

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,46 +3,45 @@ customElements.define('summary-display',
33
constructor() {
44
super();
55

6-
let template = document.getElementById('summary-display-template');
7-
let templateContent = template.content;
6+
const template = document.getElementById('summary-display-template');
7+
const templateContent = template.content;
88

9-
let shadowRoot = this.attachShadow({mode: 'open'});
9+
const shadowRoot = this.attachShadow({mode: 'open'});
1010
shadowRoot.appendChild(templateContent.cloneNode(true));
1111

12-
let items = this.querySelectorAll('li');
13-
let descriptions = this.querySelectorAll('p');
12+
const items = Array.from(this.querySelectorAll('li'));
13+
const descriptions = Array.from(this.querySelectorAll('p'));
1414

15-
for(let i = 0; i < items.length; i++) {
16-
handleClick(items[i]);
17-
}
15+
items.forEach(item => {
16+
handleClick(item);
17+
});
1818

1919
function handleClick(item) {
2020
item.addEventListener('click', function() {
21-
for(let i = 0; i < items.length; i++) {
22-
items[i].style.backgroundColor = 'white';
23-
}
21+
items.forEach(item => {
22+
item.style.backgroundColor = 'white';
23+
});
2424

25-
for(let j = 0; j < descriptions.length; j++) {
26-
updateDisplay(descriptions[j], item);
27-
}
25+
descriptions.forEach(description => {
26+
updateDisplay(description, item);
27+
});
2828
});
2929
}
3030

3131
function updateDisplay(description, item) {
3232
description.removeAttribute('slot');
3333

3434
if(description.getAttribute('data-name') === item.textContent) {
35-
description.setAttribute('slot','choice');
35+
description.setAttribute('slot', 'choice');
3636
item.style.backgroundColor = '#bad0e4';
37-
} else {
38-
3937
}
4038
}
4139

42-
let slots = this.shadowRoot.querySelectorAll('slot');
40+
const slots = this.shadowRoot.querySelectorAll('slot');
4341
slots[1].addEventListener('slotchange', function(e) {
44-
let nodes = slots[1].assignedNodes();
45-
console.log('Element in Slot "' + slots[1].name + '" changed to "' + nodes[0].outerHTML + '".');
42+
const nodes = slots[1].assignedNodes();
43+
console.log(`Element in Slot "${slots[1].name}" changed to "${nodes[0].outerHTML}".`);
4644
});
45+
}
4746
}
48-
});
47+
);

0 commit comments

Comments
 (0)