Skip to content

Commit c803848

Browse files
committed
refactor: unify naming for arrays and event handlers
1 parent 63f1481 commit c803848

4 files changed

Lines changed: 39 additions & 40 deletions

File tree

js/filters.js

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,42 +11,41 @@ const FilterId = {
1111
DISCUSSED: 'filter-discussed',
1212
};
1313

14-
const filtersSection = document.querySelector('.img-filters');
15-
const filtersForm = document.querySelector('.img-filters__form');
14+
const filtersSectionNode = document.querySelector('.img-filters');
15+
const filtersFormNode = document.querySelector('.img-filters__form');
1616

1717
let currentFilter = FilterId.DEFAULT;
18-
let photos = [];
18+
let loadedPhotos = [];
1919

20-
const getRandomPhotos = (photosArray) => {
21-
const shuffled = [...photosArray];
20+
const getRandomPhotos = (photos) => {
21+
const shuffled = [...photos];
2222
for (let i = shuffled.length - 1; i > 0; i--) {
2323
const j = Math.floor(Math.random() * (i + 1));
2424
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
2525
}
2626
return shuffled.slice(0, RANDOM_PHOTOS_COUNT);
2727
};
2828

29-
30-
const getDiscussedPhotos = (photosArray) =>
31-
[...photosArray].sort((a, b) => b.comments.length - a.comments.length);
29+
const getDiscussedPhotos = (photos) =>
30+
[...photos].sort((a, b) => b.comments.length - a.comments.length);
3231

3332
const filterPhotos = () => {
3433
switch (currentFilter) {
3534
case FilterId.RANDOM:
36-
return getRandomPhotos(photos);
35+
return getRandomPhotos(loadedPhotos);
3736
case FilterId.DISCUSSED:
38-
return getDiscussedPhotos(photos);
37+
return getDiscussedPhotos(loadedPhotos);
3938
default:
40-
return [...photos];
39+
return [...loadedPhotos];
4140
}
4241
};
4342

44-
const updateActiveButton = (clickedButton) => {
45-
const activeButton = filtersForm.querySelector(`.${ACTIVE_BUTTON_CLASS}`);
46-
if (activeButton) {
47-
activeButton.classList.remove(ACTIVE_BUTTON_CLASS);
43+
const updateActiveButton = (clickedButtonNode) => {
44+
const activeButtonNode = filtersFormNode.querySelector(`.${ACTIVE_BUTTON_CLASS}`);
45+
if (activeButtonNode) {
46+
activeButtonNode.classList.remove(ACTIVE_BUTTON_CLASS);
4847
}
49-
clickedButton.classList.add(ACTIVE_BUTTON_CLASS);
48+
clickedButtonNode.classList.add(ACTIVE_BUTTON_CLASS);
5049
};
5150

5251
const debouncedRenderThumbnails = debounce(
@@ -71,13 +70,13 @@ const onFilterButtonClick = (evt) => {
7170
};
7271

7372
const showFilters = () => {
74-
filtersSection.classList.remove('img-filters--inactive');
73+
filtersSectionNode.classList.remove('img-filters--inactive');
7574
};
7675

77-
const initFilters = (loadedPhotos) => {
78-
photos = loadedPhotos;
76+
const initFilters = (photos) => {
77+
loadedPhotos = photos;
7978
showFilters();
80-
filtersForm.addEventListener('click', onFilterButtonClick);
79+
filtersFormNode.addEventListener('click', onFilterButtonClick);
8180
};
8281

8382
export { initFilters };

js/messages.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,30 @@
22

33
const ALERT_SHOW_TIME = 5000;
44

5-
const dataErrorTemplate = document.querySelector('#data-error').content.querySelector('.data-error');
6-
const successTemplate = document.querySelector('#success').content.querySelector('.success');
7-
const errorTemplate = document.querySelector('#error').content.querySelector('.error');
5+
const dataErrorTemplateNode = document.querySelector('#data-error').content.querySelector('.data-error');
6+
const successTemplateNode = document.querySelector('#success').content.querySelector('.success');
7+
const errorTemplateNode = document.querySelector('#error').content.querySelector('.error');
88

99

1010
// Показывает сообщение об ошибке загрузки данных
1111

1212
const showDataLoadError = (message) => {
13-
const dataErrorElement = dataErrorTemplate.cloneNode(true);
14-
dataErrorElement.querySelector('.data-error__title').textContent = message;
15-
document.body.appendChild(dataErrorElement);
13+
const dataErrorNode = dataErrorTemplateNode.cloneNode(true);
14+
dataErrorNode.querySelector('.data-error__title').textContent = message;
15+
document.body.appendChild(dataErrorNode);
1616

1717
setTimeout(() => {
18-
dataErrorElement.remove();
18+
dataErrorNode.remove();
1919
}, ALERT_SHOW_TIME);
2020
};
2121

2222
// Создает и показывает модальное сообщение (успех или ошибка)
2323

2424
const showMessage = (template, buttonClass) => {
25-
const messageElement = template.cloneNode(true);
26-
document.body.appendChild(messageElement);
25+
const messageNode = template.cloneNode(true);
26+
document.body.appendChild(messageNode);
2727

28-
const closeButton = messageElement.querySelector(buttonClass);
28+
const closeButtonNode = messageNode.querySelector(buttonClass);
2929

3030
const handlers = {};
3131

@@ -38,28 +38,28 @@ const showMessage = (template, buttonClass) => {
3838
};
3939

4040
handlers.onOutsideClick = (evt) => {
41-
if (evt.target === messageElement) {
41+
if (evt.target === messageNode) {
4242
handlers.closeMessage();
4343
}
4444
};
4545

4646
handlers.closeMessage = () => {
47-
messageElement.remove();
47+
messageNode.remove();
4848
document.removeEventListener('keydown', handlers.onEscKeydown, true);
4949
document.removeEventListener('click', handlers.onOutsideClick);
5050
};
5151

52-
closeButton.addEventListener('click', handlers.closeMessage);
52+
closeButtonNode.addEventListener('click', handlers.closeMessage);
5353
document.addEventListener('keydown', handlers.onEscKeydown, true);
5454
document.addEventListener('click', handlers.onOutsideClick);
5555
};
5656

5757
const showSuccessMessage = () => {
58-
showMessage(successTemplate, '.success__button');
58+
showMessage(successTemplateNode, '.success__button');
5959
};
6060

6161
const showErrorMessage = () => {
62-
showMessage(errorTemplate, '.error__button');
62+
showMessage(errorTemplateNode, '.error__button');
6363
};
6464

6565
export { showDataLoadError, showSuccessMessage, showErrorMessage };

js/render-comments.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@ const bigPictureNode = document.querySelector('.big-picture');
99
const socialCommentsNode = bigPictureNode.querySelector('.social__comments');
1010
const commentsShownCountNode = bigPictureNode.querySelector('.social__comment-shown-count');
1111
const commentsTotalCountNode = bigPictureNode.querySelector('.social__comment-total-count');
12-
const socialCommentTemplate = socialCommentsNode.querySelector('.social__comment');
12+
const socialCommentTemplateNode = socialCommentsNode.querySelector('.social__comment');
1313
const commentsCountNode = bigPictureNode.querySelector('.social__comment-count');
1414
const commentsLoaderNode = bigPictureNode.querySelector('.social__comments-loader');
1515

1616
const createComment = ({ avatar, name, message}) => {
17-
const socialCommentNode = socialCommentTemplate.cloneNode(true);
17+
const socialCommentNode = socialCommentTemplateNode.cloneNode(true);
1818
const socialPictureNode = socialCommentNode.querySelector('.social__picture');
1919

2020
socialPictureNode.src = avatar;

js/render-thumbnails.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { openBigPicture } from './full-size-picture.js';
22

33
const picturesNode = document.querySelector('.pictures');
4-
const pictureTemplate = document.querySelector('#picture').content.querySelector('.picture');
4+
const pictureTemplateNode = document.querySelector('#picture').content.querySelector('.picture');
55

6-
if (!picturesNode || !pictureTemplate) {
6+
if (!picturesNode || !pictureTemplateNode) {
77
throw new Error('Не найден контейнер .pictures или шаблон #picture');
88
}
99

1010
const createPicture = ({id, url, description, comments, likes }) => {
11-
const pictureNode = pictureTemplate.cloneNode(true);
11+
const pictureNode = pictureTemplateNode.cloneNode(true);
1212

1313
pictureNode.dataset.pictureId = id;
1414
const imageNode = pictureNode.querySelector('.picture__img');

0 commit comments

Comments
 (0)