JSFiddle - React, Tailwind, and code Playground

by ramnathv

HTML

<script src="https://rawgit.com/lhorie/mithril.js/v0.1.25/mithril.js"></script>

JavaScript

var accordion = function(){
    var _open = true;
    var _toggleOpen = function() { _open = !_open; };
    var _display = function(){return _open ? "block" : "none"}
    
    return function(heading, content) {
      return [
        m("h4", {onclick: _toggleOpen}, heading),
        m("div", {style: {display: _display()}}, content)
      ]
    };
};

m.module( document.body, {
    controller : function(){
        return {
            accordion1 : accordion(),
            accordion2 : accordion()
        };
    },
    view       : function(ctrl) {
      return [
        m("h1", "Accordion app"),
        ctrl.accordion1("Title 1", m("p", "This is some content")),
        ctrl.accordion2("Title 2", m("p", "This is more content"))
      ]
    }
} );