Skip to content

Instantly share code, notes, and snippets.

@thanapongp
Created September 8, 2019 08:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thanapongp/57123fb31a311da6c760a329057dcc56 to your computer and use it in GitHub Desktop.
Save thanapongp/57123fb31a311da6c760a329057dcc56 to your computer and use it in GitHub Desktop.
app.js with evaluateEmptyState
import { htmlToElement } from './utils';
export default class App {
//...
addNewItem(itemName) {
//...
const item = htmlToElement(`
<li class="flex py-4 border-b border-gray-900 item"> <!-- add class 'item' -->
//...
</li>
`);
item.getElementsByClassName('delete-button')[0].addEventListener('click', () => this.deleteItem(item));
this.listRoot.appendChild(item);
this.evaluateEmptyState()
this.input.value = '';
}
deleteItem(item) {
item.remove();
this.evaluateEmptyState();
}
evaluateEmptyState() {
if (this.listRoot.getElementsByClassName('item').length === 0) {
this.listRoot.appendChild(this.emptyState);
return;
}
const emptyState = document.getElementById('empty-state');
if (emptyState) {
emptyState.remove();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment