import React from 'react'; import Parser from 'html-react-parser'; import Slider from 'react-slick'; import Modal from '../modal'; import WordCloud from '../wordCloud'; import Data from '../../data/resources/wordclouds'; import './style.scss'; class Resources extends React.Component { constructor(props) { super(props); this.state = { isWordCloudModalOpen: false, activeSlide: 0, }; this.openWordCloudModal = this.openWordCloudModal.bind(this); this.closeWordCloudModal = this.closeWordCloudModal.bind(this); } openWordCloudModal(event) { /* * Check if clicked element is a child and doesn't have a data-index, * then go get data-index from the parentNode */ let clickedElement = event.target; while (clickedElement.dataset.index === undefined) { clickedElement = clickedElement.parentNode; } const clickedIndex = clickedElement.dataset.index; this.slider.slickGoTo(clickedIndex); this.setState({ isWordCloudModalOpen: true, activeSlide: clickedIndex, }); } closeWordCloudModal() { this.setState({ isWordCloudModalOpen: false }); } render() { const { isWordCloudModalOpen, activeSlide } = this.state; const settings = { infinite: true, speed: 500, slidesToShow: 1, slidesToScroll: 1, initialSlide: activeSlide, className: 'resources-content-slider', arrows: false, }; return (