Skip to content

Instantly share code, notes, and snippets.

@ratelChief
Created May 8, 2018 10:26

Revisions

  1. ratelChief created this gist May 8, 2018.
    25 changes: 25 additions & 0 deletions map.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    var onMapPinClick = function (evt) {
    var target = evt.target;
    var currentTarget = evt.currentTarget;
    while (target.parentElement !== currentTarget) {
    if (!target.parentElement.classList.contains('map__pin--main') && target.parentElement.classList.contains('map__pin')) {
    var cardElement = template.content.querySelector('.map__card').cloneNode(true);
    var photoElement = cardElement.querySelector('.popup__photo');
    var existPopup = mapElement.querySelector('.popup');
    if (existPopup) {
    existPopup.remove();
    }
    window.card.renderAdCard(window.data.ads[target.parentElement.dataset.indexOfPin], cardElement, photoElement);
    mapElement.insertBefore(cardElement, document.querySelector('.map__filters-container'));

    var popup = mapElement.querySelector('.popup');
    var popupCloseButton = popup.querySelector('.popup__close');

    popupCloseButton.addEventListener('click', function () {
    popup.remove();
    });
    }
    target = target.parentElement;
    }
    mapPins.appendChild(fragment);
    };