Skip to content

Instantly share code, notes, and snippets.

View invmatt's full-sized avatar

Matt Otley invmatt

View GitHub Profile
// JQuery Plugin Starter
// ----------------------------------------------------
// Setup a namespace we can use for data, events etc.
// Wraps methods internally with support for arguments.
//
// $('div').myplugin(); //call init
// $('div').myplugin({color:'green'}).fadeIn(); //init with options and chained
// $('div').myplugin('destroy'); //custom method
// $('div').myplugin('custom',10,2); //custom method with arguments
//
(function($) {
$.rdCalendar = function(element, options) {
var plugin = this,
$element = $(element),
defaults = {
region : 'en',
monthNames: 'monthNamesShort',
dayNames: 'dayNamesShort',
template: '<h2><%= month %><%= year %> | <a class="navigate" href="#prev">prev</a> | <a class="navigate" href="#next">next</a></h2><table class="calendar"><thead><tr><% for (var i = 0, l = days.length; i < l; i++) { %><th><%= days[i] %></th><% } %></tr></thead><tbody><% var rows = dates.length/7, cols=7; for (var x = 0, d = 0; x < rows; x++) { %><tr><% for (var y = 0; y < cols; y++) { var date = dates[d++]; %><% if (date != null) { %><td><h3 class="day"><span class="num"><%= date.date %></span></h3><% if (date.events.length > 0) { %><ul><% for (var e = 0, l = date.events.length; e < l; e++) {%><li><a href=""><%= date.events[e].name %></a></li><% } %></ul><% } %></td><% } else { %><td></td><% } %><% } %></tr><% } %></tbody></table>',