1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The source code</title>
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>
</head>
<body onload="prettyPrint();">
<pre class="prettyprint lang-js">/*!
* Ext JS Library 3.3.1
* Copyright(c) 2006-2010 Sencha Inc.
* licensing@sencha.com
* http://www.sencha.com/license
*/
<div id="cls-Ext.calendar.DayHeaderView"></div>/**
* @class Ext.calendar.DayHeaderView
* @extends Ext.calendar.MonthView
* <p>This is the header area container within the day and week views where all-day events are displayed.
* Normally you should not need to use this class directly -- instead you should use {@link Ext.calendar.DayView DayView}
* which aggregates this class and the {@link Ext.calendar.DayBodyView DayBodyView} into the single unified view
* presented by {@link Ext.calendar.CalendarPanel CalendarPanel}.</p>
* @constructor
* @param {Object} config The config object
*/
Ext.calendar.DayHeaderView = Ext.extend(Ext.calendar.MonthView, {
// private configs
weekCount: 1,
dayCount: 1,
allDayOnly: true,
monitorResize: false,
<div id="event-Ext.calendar.DayHeaderView-dayclick"></div>/**
* @event dayclick
* Fires after the user clicks within the day view container and not on an event element
* @param {Ext.calendar.DayBodyView} this
* @param {Date} dt The date/time that was clicked on
* @param {Boolean} allday True if the day clicked on represents an all-day box, else false. Clicks within the
* DayHeaderView always return true for this param.
* @param {Ext.Element} el The Element that was clicked on
*/
// private
afterRender: function() {
if (!this.tpl) {
this.tpl = new Ext.calendar.DayHeaderTemplate({
id: this.id,
showTodayText: this.showTodayText,
todayText: this.todayText,
showTime: this.showTime
});
}
this.tpl.compile();
this.addClass('ext-cal-day-header');
Ext.calendar.DayHeaderView.superclass.afterRender.call(this);
},
// private
forceSize: Ext.emptyFn,
// private
refresh: function() {
Ext.calendar.DayHeaderView.superclass.refresh.call(this);
this.recalcHeaderBox();
},
// private
recalcHeaderBox: function() {
var tbl = this.el.child('.ext-cal-evt-tbl'),
h = tbl.getHeight();
this.el.setHeight(h + 7);
if (Ext.isIE && Ext.isStrict) {
this.el.child('.ext-cal-hd-ad-inner').setHeight(h + 4);
}
if (Ext.isOpera) {
//TODO: figure out why Opera refuses to refresh height when
//the new height is lower than the previous one
// var ct = this.el.child('.ext-cal-hd-ct');
// ct.repaint();
}
},
// private
moveNext: function(noRefresh) {
this.moveDays(this.dayCount, noRefresh);
},
// private
movePrev: function(noRefresh) {
this.moveDays( - this.dayCount, noRefresh);
},
// private
onClick: function(e, t) {
var el = e.getTarget('td', 3),
parts,
dt;
if (el) {
if (el.id && el.id.indexOf(this.dayElIdDelimiter) > -1) {
parts = el.id.split(this.dayElIdDelimiter);
dt = parts[parts.length - 1];
this.fireEvent('dayclick', this, Date.parseDate(dt, 'Ymd'), true, Ext.get(this.getDayId(dt)));
return;
}
}
Ext.calendar.DayHeaderView.superclass.onClick.apply(this, arguments);
}
});
Ext.reg('dayheaderview', Ext.calendar.DayHeaderView);
</pre>
</body>
</html>
|