From b4084e44929a4a3b6df63dcc3be99f979b81e021 Mon Sep 17 00:00:00 2001 From: Sergei Pozdeev Date: Mon, 30 Sep 2024 19:18:56 -0400 Subject: [PATCH] 6.8. Renewal of the Century (Part 1) --- src/presenter/main-presenter.js | 3 - src/presenter/point-presenter.js | 3 + src/view/event-editor-view.js | 123 +++++++++++++++++++++++-------- 3 files changed, 97 insertions(+), 32 deletions(-) diff --git a/src/presenter/main-presenter.js b/src/presenter/main-presenter.js index 38daf38..b21062d 100644 --- a/src/presenter/main-presenter.js +++ b/src/presenter/main-presenter.js @@ -57,9 +57,6 @@ export default class MainPresenter { this.#renderContainer(); this.#sortPoints(this.#defaultSortType); this.#renderPoints(); - // render(this.#sortComponent, this.contentContainer); - // render(this.#listComponent, this.contentContainer); - // this.#renderPoints(points, offers, destinations); }; #renderSortTypes = () => { diff --git a/src/presenter/point-presenter.js b/src/presenter/point-presenter.js index c39dfed..73a6af2 100644 --- a/src/presenter/point-presenter.js +++ b/src/presenter/point-presenter.js @@ -72,6 +72,7 @@ export default class PointPresenter { resetView() { if (this.#mode !== Mode.DEFAULT) { + this.#eventEditorComponent.reset(this.#point); this.#replaceFormToPoint(); } } @@ -92,6 +93,7 @@ export default class PointPresenter { #escKeyDownHandler = (event) => { if (event.key === 'Escape') { event.preventDefault(); + this.#eventEditorComponent.reset(this.#point); this.#replaceFormToPoint(); } }; @@ -101,6 +103,7 @@ export default class PointPresenter { }; #handleCloseClick = () => { + this.#eventEditorComponent.reset(this.#point); this.#replaceFormToPoint(); }; diff --git a/src/view/event-editor-view.js b/src/view/event-editor-view.js index c269789..35ad2c5 100644 --- a/src/view/event-editor-view.js +++ b/src/view/event-editor-view.js @@ -1,18 +1,26 @@ -import AbstractView from '../framework/view/abstract-view.js'; +import AbstractStatefulView from '../framework/view/abstract-stateful-view'; import { convertDate, getCapitalized } from '../util/utils.js'; import { DATE_TIME_FORMAT, EVENT_TYPES } from '../constants.js'; -const createEventTypeItemTemplate = (type) => ` +const createEventTypeItemTemplate = (type, pointId) => ` ${EVENT_TYPES.map((eventType) => (`
- - + +
` )).join('')}`; const createEventDestinationListTemplate = (destinations) => destinations.map((destination) => ``).join(''); -const createEventAvailableOffersTemplate = (defaultOffers, selectedOffers) => { +const createEventAvailableOffersTemplate = (defaultOffers, selectedOffers, pointId) => { const convertOfferTitle = (title) => title.toLowerCase().split(' ')[-1]; if (defaultOffers.length === 0) { @@ -26,7 +34,12 @@ const createEventAvailableOffersTemplate = (defaultOffers, selectedOffers) => {
${defaultOffers.map((defaultOffer) => (`
- selectedOffer.id).includes(defaultOffer.id) ? 'checked' : ''}> + selectedOffer.id).includes(defaultOffer.id) ? 'checked' : ''}>