view release on metacpan or search on metacpan
t/tests/file_defs/file_def7.cfg
t/tests/file_defs/file_def8.cfg
t/tests/file_defs/score_def.cfg
util/PersistentPerl-2.22-5.10-patched.tar.gz
web/cgi-bin/fileprocess
web/cgi-bin/item
web/cgi-bin/job
web/cgi-bin/schedule
web/cgi-bin/user
web/javascript/builder.js
web/javascript/calendarview.js
web/javascript/controls.js
web/javascript/dragdrop.js
web/javascript/effects.js
web/javascript/etlp.js
web/javascript/prototype.js
web/javascript/scriptaculous.js
web/javascript/slider.js
web/javascript/sound.js
web/javascript/unittest.js
web/stylesheets/calendarview.css
web/stylesheets/style.css
web/view/ETLp/Audit/Browser/Controller/FileProcess/list.tmpl
web/view/ETLp/Audit/Browser/Controller/Item/list.tmpl
web/view/ETLp/Audit/Browser/Controller/Job/list.tmpl
web/view/ETLp/Audit/Browser/Controller/Monitor/Oracle/show_sql.tmpl
web/view/ETLp/Audit/Browser/Controller/Schedule/edit.tmpl
web/view/ETLp/Audit/Browser/Controller/Schedule/list.tmpl
web/view/ETLp/Audit/Browser/Controller/Schedule/view_crontab.tmpl
web/view/ETLp/Audit/Browser/Controller/User/edit.tmpl
web/view/ETLp/Audit/Browser/Controller/User/edit_password.tmpl
web/javascript/calendarview.js view on Meta::CPAN
//
// CalendarView (for Prototype)
// calendarview.org
//
// Maintained by Justin Mecham <justin@aspect.net>
//
// Portions Copyright 2002-2005 Mihai Bazon
//
// This calendar is based very loosely on the Dynarch Calendar in that it was
// used as a base, but completely gutted and more or less rewritten in place
// to use the Prototype JavaScript library.
//
// As such, CalendarView is licensed under the terms of the GNU Lesser General
// Public License (LGPL). More information on the Dynarch Calendar can be
// found at:
//
// www.dynarch.com/projects/calendar
//
var Calendar = Class.create()
//------------------------------------------------------------------------------
// Constants
//------------------------------------------------------------------------------
Calendar.VERSION = '1.2'
web/javascript/calendarview.js view on Meta::CPAN
Calendar.NAV_PREVIOUS_MONTH = -1
Calendar.NAV_TODAY = 0
Calendar.NAV_NEXT_MONTH = 1
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)
}
//------------------------------------------------------------------------------
web/javascript/calendarview.js view on Meta::CPAN
{
Event.observe(document, 'mouseup', Calendar.handleMouseUpEvent)
Event.stop(event)
}
// XXX I am not happy with how clicks of different actions are handled. Need to
// clean this up!
Calendar.handleMouseUpEvent = function(event)
{
var el = Event.element(event)
var calendar = el.calendar
var isNewDate = false
// If the element that was clicked on does not have an associated Calendar
// object, return as we have nothing to do.
if (!calendar) return false
// Clicked on a day
if (typeof el.navAction == 'undefined')
{
if (calendar.currentDateElement) {
Element.removeClassName(calendar.currentDateElement, 'selected')
Element.addClassName(el, 'selected')
calendar.shouldClose = (calendar.currentDateElement == el)
if (!calendar.shouldClose) calendar.currentDateElement = el
}
calendar.date.setDateOnly(el.date)
isNewDate = true
calendar.shouldClose = !el.hasClassName('otherDay')
var isOtherMonth = !calendar.shouldClose
if (isOtherMonth) calendar.update(calendar.date)
}
// Clicked on an action button
else
{
var date = new Date(calendar.date)
if (el.navAction == Calendar.NAV_TODAY)
date.setDateOnly(new Date())
var year = date.getFullYear()
var mon = date.getMonth()
function setMonth(m) {
var day = date.getDate()
var max = date.getMonthDays(m)
if (day > max) date.setDate(max)
date.setMonth(m)
}
switch (el.navAction) {
// Previous Year
case Calendar.NAV_PREVIOUS_YEAR:
if (year > calendar.minYear)
date.setFullYear(year - 1)
break
// Previous Month
case Calendar.NAV_PREVIOUS_MONTH:
if (mon > 0) {
setMonth(mon - 1)
}
else if (year-- > calendar.minYear) {
date.setFullYear(year)
setMonth(11)
}
break
// Today
case Calendar.NAV_TODAY:
break
// Next Month
case Calendar.NAV_NEXT_MONTH:
if (mon < 11) {
setMonth(mon + 1)
}
else if (year < calendar.maxYear) {
date.setFullYear(year + 1)
setMonth(0)
}
break
// Next Year
case Calendar.NAV_NEXT_YEAR:
if (year < calendar.maxYear)
date.setFullYear(year + 1)
break
}
if (!date.equalsTo(calendar.date)) {
calendar.setDate(date)
isNewDate = true
} else if (el.navAction == 0) {
isNewDate = (calendar.shouldClose = true)
}
}
if (isNewDate) event && calendar.callSelectHandler()
if (calendar.shouldClose) event && calendar.callCloseHandler()
Event.stopObserving(document, 'mouseup', Calendar.handleMouseUpEvent)
return Event.stop(event)
}
Calendar.defaultSelectHandler = function(calendar)
{
if (!calendar.dateField) return false
// Update dateField value
if (calendar.dateField.tagName == 'DIV')
Element.update(calendar.dateField, calendar.date.print(calendar.dateFormat))
else if (calendar.dateField.tagName == 'INPUT') {
calendar.dateField.value = calendar.date.print(calendar.dateFormat) }
// Trigger the onchange callback on the dateField, if one has been defined
if (typeof calendar.dateField.onchange == 'function')
calendar.dateField.onchange()
// Call the close handler, if necessary
if (calendar.shouldClose) calendar.callCloseHandler()
}
Calendar.defaultCloseHandler = function(calendar)
{
calendar.hide()
}
//------------------------------------------------------------------------------
// Calendar Setup
//------------------------------------------------------------------------------
Calendar.setup = function(params)
{
web/javascript/calendarview.js view on Meta::CPAN
param_default('dateField', null)
param_default('triggerElement', null)
param_default('parentElement', null)
param_default('selectHandler', null)
param_default('closeHandler', null)
// In-Page Calendar
if (params.parentElement)
{
var calendar = new Calendar(params.parentElement)
calendar.setSelectHandler(params.selectHandler || Calendar.defaultSelectHandler)
if (params.dateFormat)
calendar.setDateFormat(params.dateFormat)
if (params.dateField) {
calendar.setDateField(params.dateField)
calendar.parseDate(calendar.dateField.innerHTML || calendar.dateField.value)
}
calendar.show()
return calendar
}
// Popup Calendars
//
// XXX There is significant optimization to be had here by creating the
// calendar and storing it on the page, but then you will have issues with
// multiple calendars on the same page.
else
{
var triggerElement = $(params.triggerElement || params.dateField)
triggerElement.onclick = function() {
var calendar = new Calendar()
calendar.setSelectHandler(params.selectHandler || Calendar.defaultSelectHandler)
calendar.setCloseHandler(params.closeHandler || Calendar.defaultCloseHandler)
if (params.dateFormat)
calendar.setDateFormat(params.dateFormat)
if (params.dateField) {
calendar.setDateField(params.dateField)
calendar.parseDate(calendar.dateField.innerHTML || calendar.dateField.value)
}
if (params.dateField)
Date.parseDate(calendar.dateField.value || calendar.dateField.innerHTML, calendar.dateFormat)
calendar.showAtElement(triggerElement)
return calendar
}
}
}
//------------------------------------------------------------------------------
// Calendar Instance
//------------------------------------------------------------------------------
web/javascript/calendarview.js view on Meta::CPAN
},
//----------------------------------------------------------------------------
// Update / (Re)initialize Calendar
//----------------------------------------------------------------------------
update: function(date)
{
var calendar = this
var today = new Date()
var thisYear = today.getFullYear()
var thisMonth = today.getMonth()
var thisDay = today.getDate()
var month = date.getMonth();
var dayOfMonth = date.getDate();
// Ensure date is within the defined range
if (date.getFullYear() < this.minYear)
date.setFullYear(this.minYear)
web/javascript/calendarview.js view on Meta::CPAN
// Account for days of the month other than the current month
if (!isCurrentMonth)
cell.addClassName('otherDay')
else
rowHasDays = true
// Ensure the current day is selected
if (isCurrentMonth && day == dayOfMonth) {
cell.addClassName('selected')
calendar.currentDateElement = cell
}
// Today
if (date.getFullYear() == thisYear && date.getMonth() == thisMonth && day == thisDay)
cell.addClassName('today')
// Weekend
if ([0, 6].indexOf(dayOfWeek) != -1)
cell.addClassName('weekend')
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
}
thead.appendChild(row)
// Calendar Days
var tbody = table.appendChild(new Element('tbody'))
for (i = 6; i > 0; --i) {
row = tbody.appendChild(new Element('tr'))
row.addClassName('days')
for (var j = 7; j > 0; --j) {
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
web/javascript/calendarview.js view on Meta::CPAN
// Append to parent element
parent.appendChild(this.container)
},
_drawButtonCell: function(parent, text, colSpan, navAction)
{
var cell = new Element('td')
if (colSpan > 1) cell.colSpan = colSpan
cell.className = 'button'
cell.calendar = this
cell.navAction = navAction
cell.innerHTML = text
cell.unselectable = 'on' // IE
parent.appendChild(cell)
return cell
},
//------------------------------------------------------------------------------
web/javascript/calendarview.js view on Meta::CPAN
// 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()
},
// Shows the Calendar at the coordinates of the provided element
showAtElement: function(element)
{
var pos = Position.cumulativeOffset(element)
web/javascript/calendarview.js view on Meta::CPAN
this.container.hide()
},
//------------------------------------------------------------------------------
// Miscellaneous
//------------------------------------------------------------------------------
// Tries to identify the date represented in a string. If successful it also
// calls this.setDate which moves the calendar to the given date.
parseDate: function(str, format)
{
if (!format)
format = this.dateFormat
this.setDate(Date.parseDate(str, format))
},
//------------------------------------------------------------------------------
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;
}
div.calendar thead {
background-color: white;
}
div.calendar td,
div.calendar th
{
padding: 3px;
text-align: center;
}
div.calendar td.title
{
font-weight: bold;
}
div.calendar th
{
background: #ddd;
border-bottom: 1px solid #ccc;
border-top: 1px solid #ccc;
font-weight: bold;
color: #555;
}
div.calendar tr.days td {
width: 2em;
color: #555;
text-align: center;
cursor: pointer;
}
div.calendar tr.days td:hover,
div.calendar td.button:hover
{
background-color: #34ABFA;
cursor: pointer;
}
div.calendar tr.days td:active
div.calendar td.button:active
{
background-color: #cde;
}
div.calendar tr.days td.selected
{
font-weight: bold;
background-color: #fff;
color: #000;
}
div.calendar tr.days td.today
{
font-weight: bold;
color: #D50000;
}
div.calendar tr.days td.otherDay
{
color: #bbb;
}
web/view/includes/process_inc.tmpl view on Meta::CPAN
<link href="/etlp/stylesheets/calendarview.css" rel="stylesheet" type="text/css" />
<script src="/etlp/javascript/calendarview.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function() {
Calendar.setup({
dateField : 'minimum_date',
dateFormat : '%d/%m/%Y',
triggerElement : 'but-min-date'
});
Calendar.setup({
dateField : 'maximum_date',