ETLp
view release on metacpan or search on metacpan
web/javascript/calendarview.js view on Meta::CPAN
Calendar.NAV_NEXT_YEAR = 2
//------------------------------------------------------------------------------
// Static Methods
//------------------------------------------------------------------------------
// This gets called when the user presses a mouse button anywhere in the
// document, if the calendar is shown. If the click was outside the open
// calendar this function closes it.
Calendar._checkCalendar = function(event) {
if (!window._popupCalendar)
return false
if (Element.descendantOf(Event.element(event), window._popupCalendar.container))
return
window._popupCalendar.callCloseHandler()
return Event.stop(event)
}
//------------------------------------------------------------------------------
// Event Handlers
//------------------------------------------------------------------------------
Calendar.handleMouseDownEvent = function(event)
{
Event.observe(document, 'mouseup', Calendar.handleMouseUpEvent)
web/javascript/calendarview.js view on Meta::CPAN
//----------------------------------------------------------------------------
// Create/Draw the Calendar HTML Elements
//----------------------------------------------------------------------------
create: function(parent)
{
// If no parent was specified, assume that we are creating a popup calendar.
if (!parent) {
parent = document.getElementsByTagName('body')[0]
this.isPopup = true
} else {
this.isPopup = false
}
// Calendar Table
var table = new Element('table')
web/javascript/calendarview.js view on Meta::CPAN
cell = row.appendChild(new Element('td'))
cell.calendar = this
}
}
// Calendar Container (div)
this.container = new Element('div')
this.container.addClassName('calendar')
if (this.isPopup) {
this.container.setStyle({ position: 'absolute', display: 'none' })
this.container.addClassName('popup')
}
this.container.appendChild(table)
// Initialize Calendar
this.update(this.date)
// Observe the container for mousedown events
Event.observe(this.container, 'mousedown', Calendar.handleMouseDownEvent)
// Append to parent element
web/javascript/calendarview.js view on Meta::CPAN
//------------------------------------------------------------------------------
// Calendar Display Functions
//------------------------------------------------------------------------------
// Shows the Calendar
show: function()
{
this.container.show()
if (this.isPopup) {
window._popupCalendar = this
Event.observe(document, 'mousedown', Calendar._checkCalendar)
}
},
// Shows the calendar at the given absolute position
showAt: function (x, y)
{
this.container.setStyle({ left: x + 'px', top: y + 'px' })
this.show()
},
web/javascript/calendarview.js view on Meta::CPAN
setRange: function(minYear, maxYear)
{
this.minYear = minYear
this.maxYear = maxYear
}
}
// global object that remembers the calendar
window._popupCalendar = null
web/stylesheets/calendarview.css view on Meta::CPAN
div.calendar
{
font-size: smaller;
color: #000;
}
div.calendar.popup
{
margin-left: -40px;
margin-top: 10px;
}
div.calendar table
{
background-color: #eee;
border: 1px solid #aaa;
border-collapse: collapse;
( run in 1.188 second using v1.01-cache-2.11-cpan-364913b4093 )