diff --git a/src/const.js b/src/const.js index d872d98..bf115f8 100644 --- a/src/const.js +++ b/src/const.js @@ -1,8 +1,8 @@ -const SortingTypes = { +const SortingType = { DAY: 'day', EVENT: 'event', TIME: 'time', PRICE: 'price', OFFERS: 'offers'}; -export {SortingTypes}; +export {SortingType}; diff --git a/src/presenter/trip-presenter.js b/src/presenter/trip-presenter.js index 46ab5b1..97d0d9c 100644 --- a/src/presenter/trip-presenter.js +++ b/src/presenter/trip-presenter.js @@ -6,7 +6,7 @@ import ListEmptyView from '../view/list-empty-view.js'; import PointModel from '../model/point-model.js'; import PointPresenter from './point-presenter.js'; import { updateItem, sortPointsByDay, findSortingDuration } from '../util.js'; -import { SortingTypes } from '../const.js'; +import { SortingType } from '../const.js'; export default class TripPresenter { @@ -18,7 +18,7 @@ export default class TripPresenter { #destinations; #offers; #sortingComponent; - #currentSortingType = SortingTypes.PRICE; + #currentSortingType = SortingType.PRICE; #sourcedPointsOrder = []; constructor ({ container, pointModel = new PointModel }) { @@ -60,13 +60,13 @@ export default class TripPresenter { #sortPoints(sortingType) { switch (sortingType) { - case SortingTypes.DAY: + case SortingType.DAY: this.#points.sort(sortPointsByDay); break; - case SortingTypes.PRICE: + case SortingType.PRICE: this.#points.sort((pointA, pointB) => pointA.basePrice - pointB.basePrice); break; - case SortingTypes.TIME: + case SortingType.TIME: this.#points.sort((pointA, pointB) => findSortingDuration(pointA) - findSortingDuration(pointB)); break; @@ -82,7 +82,6 @@ export default class TripPresenter { } this.#sortPoints(sortingType); this.#clearPointList(); - this.#renderSorting(); this.#points.forEach((point) => this.#renderPoint(point, this.#destinations, this.#offers)); } diff --git a/src/view/sorting-view.js b/src/view/sorting-view.js index 765b8a9..a7d9c37 100644 --- a/src/view/sorting-view.js +++ b/src/view/sorting-view.js @@ -1,9 +1,7 @@ -import { SortingTypes } from '../const.js'; +import { SortingType } from '../const.js'; import AbstractView from '../framework/view/abstract-view.js'; import { capitalize } from '../util.js'; -// const findCheckedElement = (element) => element === 'day' ? 'checked' : ''; - const createSortingElement = (sortingType) => `
` const createSortingTemplate = () => `
- ${Object.values(SortingTypes).map((sortingType) => createSortingElement(sortingType)).join('')} + ${Object.values(SortingType).map((sortingType) => createSortingElement(sortingType)).join('')}
`; export default class SortingView extends AbstractView{ @@ -24,7 +22,7 @@ export default class SortingView extends AbstractView{ constructor ({onSortTypeChange}) { super(); this.#handleSortTypeChange = onSortTypeChange; - this.element.addEventListener('click', this.#sortTypeChangeHandler); + this.element.addEventListener('change', this.#sortTypeChangeHandler); } get template () { @@ -32,11 +30,6 @@ export default class SortingView extends AbstractView{ } #sortTypeChangeHandler = (evt) => { - if (evt.target.tagName !== 'INPUT') { - return; - } - - evt.preventDefault(); this.#handleSortTypeChange(evt.target.dataset.sortType); }; }