metaps/genova

View on GitHub
app/javascript/entrypoints/application.js

Summary

Maintainability
A
1 hr
Test Coverage
import 'bulma/css/bulma.min.css'
import 'bulma-timeline/dist/css/bulma-timeline.min.css'
import '@fortawesome/fontawesome-free/js/all'
import './application.scss'
import 'bulma-calendar/dist/css/bulma-calendar.min.css';
import bulmaCalendar from 'bulma-calendar/dist/js/bulma-calendar.min.js';

const urlParams = new URLSearchParams(window.location.search);
const datesParams = urlParams.get('dates');

let startDate = null;
let endDate = null;

if (datesParams) {
  const dates = datesParams.split('-');

  startDate = dates[0] && !isNaN(Date.parse(dates[0])) ? new Date(dates[0]) : null;
  endDate = dates[1] && !isNaN(Date.parse(dates[1])) ? new Date(dates[1]) : null;

  if (startDate && endDate && startDate > endDate || (startDate == null || endDate == null)) {
    startDate = null;
    endDate = null;
  }
}

const options = {
  isRange: true,
  lang: 'en',
  dateFormat: 'yyyy/MM/dd',
  startDate: startDate,
  endDate: endDate,
};

const calendars = bulmaCalendar.attach('[name="dates"]', options);