JSFiddle - React, Tailwind, and code Playground

by babich_ss

JavaScript

/*
Reference slider.
Generates a list with pdf links and checkboxes;
Checkboxes writes values in slide objects directly, links are write their values into referencePopupHandler object;
*/
(function(){
    "use strict";
    var references, slideReferenceMap,
        referenceItems = [],
        referencePopupHandler = {};
    references = [
        ["Lorem ipsum dolor sit amet", "1.pdf"],
        ["Consectetur adipisicing elit", "2.pdf"],
        ["Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua", "3.pdf"],
        ["Ut enim ad minim veniam", "4.pdf"],
        ["Quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat", "5.pdf"],
        ["Duis aute irure dolor in reprehenderit in voluptate velit esse", "6.pdf"],
        ["Cillum dolore eu fugiat nulla pariatur", "7.pdf"],
        ["Excepteur sint occaecat cupidatat non proident", "8.pdf"],
        ["Sunt in culpa qui officia deserunt mollit anim id est laborum", "9.pdf"],
        ["Ullamco laboris nisi ut aliquip ex ea commodo", "10.pdf"],
        ["Dolore eu fugiat nulla pariatur", "11.pdf"],
        ["Eiusmod tempor incididunt ut labore et dolore magna", "12.pdf"],
        ["Officia deserunt mollit anim id est laborum", "13.pdf"]
    ];
    slideReferenceMap = {
        "superior_efficacy": [1, 2, 3, 4],
        "relapses_see": [5, 6, 7, 8],
        "relapses_see_superior": [8],
        "disability_protect": [11],
        "superior_efficacy_significantly": [8],
        "sustained_reductions": [12],
        "disease_activity": [12],
        "disease_activity_significantly": [8, 13],
        "disease_activity_see": [8, 9, 11, 12, 13]
    };
    referencePopupHandler.checkboxes = [];
    referencePopupHandler.visitedItems = [];
    referencePopupHandler.initSetter = function(){
        var isOpen,
            isVisible;
        this.__defineSetter__("isOpen", function(value){
            isOpen = value;
            if(isOpen){
               ...