Skip to content

Commit 9b66a1f

Browse files
authored
Merge pull request #16 from AnastasiiaXX/master
2 parents 5ea8239 + 51db696 commit 9b66a1f

1 file changed

Lines changed: 24 additions & 22 deletions

File tree

js/notifications.js

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,28 @@ const ERROR_SHOW_TIME = 5000;
55
const dataErrorTemplate = document.querySelector('#data-error');
66
const body = document.querySelector('body');
77

8+
let messageDiv = null;
9+
let messageButton = null;
10+
11+
const closeMessage = () => {
12+
messageDiv.remove();
13+
document.removeEventListener('keydown', handleKeydown, true);
14+
messageButton.removeEventListener('click', closeMessage);
15+
messageDiv.removeEventListener('click', handleOverlayClick);
16+
};
17+
18+
function handleKeydown(evt) {
19+
evt.stopPropagation();
20+
if (isEscapeKey(evt)) {
21+
closeMessage();
22+
}
23+
}
24+
25+
function handleOverlayClick(evt) {
26+
if (evt.target === messageDiv) {
27+
closeMessage();
28+
}
29+
}
830
const showDataError = () => {
931
const template = dataErrorTemplate.content.cloneNode(true);
1032
const errorDiv = template.firstElementChild;
@@ -16,30 +38,10 @@ const showDataError = () => {
1638

1739
const showMessage = (templateId, buttonClass) => {
1840
const template = document.querySelector(templateId).content.cloneNode(true);
19-
const messageDiv = template.firstElementChild;
20-
const messageButton = messageDiv.querySelector(buttonClass);
41+
messageDiv = template.firstElementChild;
42+
messageButton = messageDiv.querySelector(buttonClass);
2143
body.append(template);
2244

23-
const closeMessage = () => {
24-
messageDiv.remove();
25-
document.removeEventListener('keydown', handleKeydown, true);
26-
messageButton.removeEventListener('click', closeMessage);
27-
messageDiv.removeEventListener('click', handleOverlayClick);
28-
};
29-
30-
function handleKeydown(evt) {
31-
evt.stopPropagation();
32-
if (isEscapeKey(evt)) {
33-
closeMessage();
34-
}
35-
}
36-
37-
function handleOverlayClick(evt) {
38-
if (evt.target === messageDiv) {
39-
closeMessage();
40-
}
41-
}
42-
4345
messageButton.addEventListener('click', closeMessage);
4446
document.addEventListener('keydown', handleKeydown, true);
4547
messageDiv.addEventListener('click', handleOverlayClick);

0 commit comments

Comments
 (0)