2019-04-25 23:50:31 +02:00
|
|
|
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/calendar.css') }}">
|
|
|
|
|
|
|
|
<div class="calendar"></div>
|
|
|
|
|
|
|
|
<script src="{{ url_for('static', filename='js/moment.min.js') }}"></script>
|
|
|
|
<script src="{{ url_for('static', filename='js/underscore.min.js') }}"></script>
|
|
|
|
<script src="{{ url_for('static', filename='modules/clndr.min.js') }}"></script>
|
|
|
|
<script>
|
|
|
|
var calendars = {};
|
|
|
|
|
|
|
|
$(document).ready( function() {
|
|
|
|
// Assuming you've got the appropriate language files,
|
|
|
|
// clndr will respect whatever moment's language is set to.
|
|
|
|
// moment.locale('ru');
|
|
|
|
|
|
|
|
// Here's some magic to make sure the dates are happening this month.
|
|
|
|
var thisMonth = moment().format('YYYY-MM');
|
|
|
|
// Events to load into calendar
|
|
|
|
var eventArray = [ // TODO: Get events from database
|
|
|
|
{
|
|
|
|
title: 'Multi-Day Event',
|
|
|
|
endDate: thisMonth + '-14',
|
|
|
|
startDate: thisMonth + '-10'
|
|
|
|
}, {
|
|
|
|
endDate: thisMonth + '-23',
|
|
|
|
startDate: thisMonth + '-21',
|
|
|
|
title: 'Another Multi-Day Event'
|
|
|
|
}, {
|
|
|
|
date: thisMonth + '-27',
|
|
|
|
title: 'Single Day Event'
|
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
// The order of the click handlers is predictable. Direct click action
|
|
|
|
// callbacks come first: click, nextMonth, previousMonth, nextYear,
|
|
|
|
// previousYear, nextInterval, previousInterval, or today. Then
|
|
|
|
// onMonthChange (if the month changed), inIntervalChange if the interval
|
|
|
|
// has changed, and finally onYearChange (if the year changed).
|
|
|
|
calendars.clndr = $('.calendar').clndr({
|
|
|
|
events: eventArray,
|
|
|
|
clickEvents: {
|
|
|
|
click: function (target) {
|
|
|
|
console.log('Cal-1 clicked: ', target);
|
|
|
|
},
|
|
|
|
today: function () {
|
|
|
|
console.log('Cal-1 today');
|
|
|
|
},
|
|
|
|
nextMonth: function () {
|
|
|
|
console.log('Cal-1 next month');
|
|
|
|
},
|
|
|
|
previousMonth: function () {
|
|
|
|
console.log('Cal-1 previous month');
|
|
|
|
},
|
|
|
|
onMonthChange: function () {
|
|
|
|
console.log('Cal-1 month changed');
|
|
|
|
}
|
|
|
|
},
|
|
|
|
multiDayEvents: {
|
|
|
|
singleDay: 'date',
|
|
|
|
endDate: 'endDate',
|
|
|
|
startDate: 'startDate'
|
|
|
|
},
|
|
|
|
showAdjacentMonths: true,
|
2019-04-26 03:28:27 +02:00
|
|
|
adjacentDaysChangeMonth: false,
|
|
|
|
weekOffset: 1
|
2019-04-25 23:50:31 +02:00
|
|
|
});
|
|
|
|
|
|
|
|
// Bind all clndrs to the left and right arrow keys
|
|
|
|
$(document).keydown( function(e) {
|
|
|
|
// Left arrow
|
|
|
|
if (e.keyCode == 37) {
|
|
|
|
calendars.clndr.back();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Right arrow
|
|
|
|
if (e.keyCode == 39) {
|
|
|
|
calendars.clndr.forward();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|