JSFiddle - React, Tailwind, and code Playground

by bemulima

HTML

<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/main.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/main.min.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<div id='container'>
  <ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item" role="presentation">
    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">calendar 1</a>
  </li>
  <li class="nav-item" role="presentation">
    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">calendar 2</a>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
    <div id='source-calendar'></div>
  </div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
    <div id='destination-calendar'></div>
  </div>
</div>
</div>

CSS

html, body {
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica Neue, Helvetica, sans-serif;
  font-size: 14px;
}

#calendar {
  max-width: 1100px;
  margin: 40px auto;
}

#container {
  padding: 20px 0 0 20px;
}

#container > * {
  width: 600px;
  margin: 0 20px 20px 0;
}
.fc-event-dragging{
    pointer-events:none;
}

JavaScript

var srcCalendarEl = document.getElementById('source-calendar');
  var destCalendarEl = document.getElementById('destination-calendar');

  var srcCalendar = new FullCalendar.Calendar(srcCalendarEl, {
    editable: true,
    droppable: true,
    initialDate: '2020-09-12',
    events: 'https://fullcalendar.io/demo-events.json?overload-day',
    eventLeave: function(info) {
      console.log('event left!');
    }
  });

  var destCalendar = new FullCalendar.Calendar(destCalendarEl, {
    initialDate: '2020-09-12',
    editable: true,
    droppable: true, // will let it receive events!
    eventReceive: function(info) {
      console.log('event received!');
    }
  });

document.addEventListener('DOMContentLoaded', function() {
  srcCalendar.render();
  destCalendar.render();
});
  

$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  srcCalendar.render();
  destCalendar.render();
});

$(".nav-link").on('mouseenter', function(e){
$(this).tab('show');
})