Skip to content

Commit 59f490a

Browse files
authored
Merge pull request #21 from YouAreNotReady/master
2 parents 33b9015 + 253aafd commit 59f490a

File tree

4 files changed

+25
-21
lines changed

4 files changed

+25
-21
lines changed

Diff for: js/comments-loader.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,25 @@ const showNextComments = () => {
3636
currentCommentsCount += SHOW_COMMENTS_STEP;
3737
};
3838

39+
const showMoreButtonClickHandler = () => {
40+
showNextComments();
41+
};
42+
3943
const showComments = (comments) => {
4044
commentsList.innerHTML = '';
4145
currentComments = comments;
4246
imageShownComments.textContent = currentCommentsCount + SHOW_COMMENTS_STEP;
4347
imageTotalComments.textContent = comments.length;
4448
showNextComments();
45-
commentsShowMoreButton.addEventListener('click', showNextComments);
49+
commentsShowMoreButton.addEventListener('click', showMoreButtonClickHandler);
4650
};
4751

4852

4953
const clearComments = () => {
5054
currentComments = [];
5155
currentCommentsCount = 0;
5256
commentsShowMoreButton.classList.remove('hidden');
53-
commentsShowMoreButton.removeEventListener('click', showNextComments);
57+
commentsShowMoreButton.removeEventListener('click', showMoreButtonClickHandler);
5458
};
5559

5660
export { showComments, clearComments};

Diff for: js/hashtag-validation.js

+9-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
const hashtag = /^#[a-zа-яё0-9]{1,19}$/i;
1+
const HASHTAG = /^#[a-zа-яё0-9]{1,19}$/i;
22

33
const validateHashtag = (value) => {
4-
const hashtagArray = value.split(/\s+/);
5-
return hashtagArray.every((el) => hashtag.test(el));
4+
const hashtagsArray = value.split(/\s+/);
5+
return hashtagsArray.every((el) => HASHTAG.test(el));
66
};
77

88
const checkForRepeatingHashtag = (value) => {
9-
const hashtagArray = value.toLowerCase().split(/\s+/);
10-
const checkSet = new Set(hashtagArray);
11-
return checkSet.size === hashtagArray.length;
9+
const hashtagsArray = value.toLowerCase().split(/\s+/);
10+
const checkSet = new Set(hashtagsArray);
11+
return checkSet.size === hashtagsArray.length;
1212
};
1313

1414
const checkForHashtagCount = (value) => {
15-
const hashtagArray = value.split(/\s+/);
16-
return hashtagArray.length <= 5;
15+
const hashtagsArray = value.split(/\s+/);
16+
return hashtagsArray.length <= 5;
1717
};
1818

1919
const validateAllHashtags = (value) => {
@@ -32,11 +32,7 @@ const validateAllHashtags = (value) => {
3232
}
3333

3434
const countValidation = checkForHashtagCount(value);
35-
if (!countValidation) {
36-
return false;
37-
}
38-
39-
return true;
35+
return countValidation;
4036
};
4137

4238
const validateHashtagError = (value) => {

Diff for: js/image-upload.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ const documentKeydownHandler = (evt) => {
3636
if (isEscapeKey(evt)) {
3737
evt.preventDefault();
3838
uploadFormCloseHandler();
39-
imageUploadForm.removeEventListener('keydown', uploadFormNoEscWhenInputActive);
39+
imageUploadForm.removeEventListener('keydown', uploadFormInputsEscKeydownHandler);
4040
imageUploadCloseButton.removeEventListener('click', uploadFormCloseHandler);
4141
}
4242
};
@@ -62,7 +62,7 @@ function uploadFormCloseHandler() {
6262
imageUploadCloseButton.removeEventListener('click', uploadFormCloseHandler);
6363
}
6464

65-
function uploadFormNoEscWhenInputActive(evt) {
65+
function uploadFormInputsEscKeydownHandler(evt) {
6666
if(isEscapeKey(evt) && (evt.target === hashtagsInput || evt.target === commentInput)) {
6767
evt.stopPropagation();
6868
}
@@ -83,7 +83,7 @@ imageUploadInput.addEventListener('change', ()=> {
8383
imageUploadOverlay.classList.remove('hidden');
8484
document.body.classList.add('modal-open');
8585

86-
imageUploadForm.addEventListener('keydown', uploadFormNoEscWhenInputActive);
86+
imageUploadForm.addEventListener('keydown', uploadFormInputsEscKeydownHandler);
8787
imageUploadCloseButton.addEventListener('click', uploadFormCloseHandler);
8888
document.addEventListener('keydown', documentKeydownHandler);
8989
});
@@ -103,7 +103,7 @@ const imageUploadSubmitHandler = async (evt) => {
103103
}
104104
}
105105

106-
imageUploadForm.removeEventListener('keydown', uploadFormNoEscWhenInputActive);
106+
imageUploadForm.removeEventListener('keydown', uploadFormInputsEscKeydownHandler);
107107
imageUploadCloseButton.removeEventListener('click', uploadFormCloseHandler);
108108
};
109109

Diff for: js/show-image-fullscreen.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,14 @@ function closeImagePopup() {
2323

2424
clearComments();
2525

26-
imageCloseButton.removeEventListener('click', closeImagePopup);
26+
imageCloseButton.removeEventListener('click', imageCloseButtonClickHandler);
2727
document.removeEventListener('keydown', documentKeydownHandler);
2828
}
2929

30+
function imageCloseButtonClickHandler() {
31+
closeImagePopup();
32+
}
33+
3034
const openImagePopup = (imageData) => {
3135
document.body.classList.add('modal-open');
3236

@@ -35,7 +39,7 @@ const openImagePopup = (imageData) => {
3539
image.querySelector('img').src = imageData.url;
3640
imageLikesCount.textContent = imageData.likes;
3741
imageDescription.textContent = imageData.description;
38-
imageCloseButton.addEventListener('click', closeImagePopup);
42+
imageCloseButton.addEventListener('click', imageCloseButtonClickHandler);
3943

4044
showComments(imageData.comments);
4145

0 commit comments

Comments
 (0)