rejiggered event html/css, added print stylesheet, much more printer friendly

fc-mightydate
Adam Shaw 2011-02-01 13:09:32 -08:00
parent bef6f92836
commit f3fcd57530
20 changed files with 366 additions and 326 deletions

View File

@ -56,6 +56,10 @@ zip:
@echo "building core..." @echo "building core..."
@$(call concat_js,${SRC_DIR},"${BUILD_DIR}/fullcalendar/fullcalendar/fullcalendar.js") @$(call concat_js,${SRC_DIR},"${BUILD_DIR}/fullcalendar/fullcalendar/fullcalendar.js")
@$(call concat_css,${SRC_DIR},"${BUILD_DIR}/fullcalendar/fullcalendar/fullcalendar.css") @$(call concat_css,${SRC_DIR},"${BUILD_DIR}/fullcalendar/fullcalendar/fullcalendar.css")
@cat "${SRC_DIR}/common/print.css" \
| ${VER_SED} \
| ${DATE_SED} \
> "${BUILD_DIR}/fullcalendar/fullcalendar/fullcalendar.print.css"
@echo "compressing core js..." @echo "compressing core js..."
@java -jar ${BUILD_DIR}/compiler.jar --warning_level VERBOSE --jscomp_off checkTypes --externs build/externs.js \ @java -jar ${BUILD_DIR}/compiler.jar --warning_level VERBOSE --jscomp_off checkTypes --externs build/externs.js \

View File

@ -4,6 +4,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -4,6 +4,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -4,6 +4,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -4,6 +4,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -5,6 +5,7 @@
<script type='text/javascript' src='../src/gcal/_loader.js'></script> <script type='text/javascript' src='../src/gcal/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -4,6 +4,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -4,6 +4,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -5,6 +5,7 @@
<script type='text/javascript' src='../src/_loader.js'></script> <script type='text/javascript' src='../src/_loader.js'></script>
<!--[[ <!--[[
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' /> <link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.css' />
<link rel='stylesheet' type='text/css' href='../fullcalendar/fullcalendar.print.css' media='print' />
<script type='text/javascript' src='../jquery/jquery.js'></script> <script type='text/javascript' src='../jquery/jquery.js'></script>
<script type='text/javascript' src='../jquery/jquery-ui.js'></script> <script type='text/javascript' src='../jquery/jquery-ui.js'></script>
<script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script> <script type='text/javascript' src='../fullcalendar/fullcalendar.min.js'></script>

View File

@ -72,7 +72,7 @@ function Header(calendar, options) {
var text = smartProperty(options.buttonText, buttonName); var text = smartProperty(options.buttonText, buttonName);
var button = $( var button = $(
"<span class='fc-button fc-button-" + buttonName + " " + tm + "-state-default'>" + "<span class='fc-button fc-button-" + buttonName + " " + tm + "-state-default'>" +
"<span class='fc-inner'>" + "<span class='fc-button-inner'>" +
"<span class='fc-button-content'>" + "<span class='fc-button-content'>" +
(icon ? (icon ?
"<span class='fc-icon-wrap'>" + "<span class='fc-icon-wrap'>" +

View File

@ -19,6 +19,7 @@ css('main.css');
css('common/common.css'); css('common/common.css');
css('basic/basic.css'); css('basic/basic.css');
css('agenda/agenda.css'); css('agenda/agenda.css');
cssprint('common/print.css');
if (!legacy) { if (!legacy) {
jslib('../lib/' + JQUERY); jslib('../lib/' + JQUERY);
@ -119,6 +120,11 @@ function css(file) {
} }
function cssprint(file) {
tags.push("<link rel='stylesheet' type='text/css' href='" + prefix + file + "' media='print' />");
}
function js(file) { function js(file) {
tags.push("<script type='text/javascript' src='" + prefix + file + "'></script>"); tags.push("<script type='text/javascript' src='" + prefix + file + "'></script>");
} }

View File

@ -280,10 +280,18 @@ function AgendaEventRenderer() {
function slotSegHtml(event, seg, className) { function slotSegHtml(event, seg, className) {
return "<div class='" + className + event.className.join(' ') + "' style='position:absolute;z-index:8;top:" + seg.top + "px;left:" + seg.left + "px'>" + return "<div class='" + className + event.className.join(' ') + "' style='position:absolute;z-index:8;top:" + seg.top + "px;left:" + seg.left + "px'>" +
"<a" + (event.url ? " href='" + htmlEscape(event.url) + "'" : '') + ">" + "<a class='fc-event-inner'" + (event.url ? " href='" + htmlEscape(event.url) + "'" : '') + ">" + // good for escaping quotes?
"<span class='fc-event-bg'></span>" + "<div class='fc-event-head'>" +
"<span class='fc-event-time'>" + htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + "</span>" + "<div class='fc-event-time'>" +
"<span class='fc-event-title'>" + htmlEscape(event.title) + "</span>" + htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) +
"</div>" +
"</div>" +
"<div class='fc-event-content'>" +
"<div class='fc-event-title'>" +
htmlEscape(event.title) +
"</div>" +
"</div>" +
"<div class='fc-event-bg'></div>" +
"</a>" + "</a>" +
((event.editable || event.editable === undefined && opt('editable')) && !opt('disableResizing') && $.fn.resizable ? ((event.editable || event.editable === undefined && opt('editable')) && !opt('disableResizing') && $.fn.resizable ?
"<div class='ui-resizable-handle ui-resizable-s'>=</div>" "<div class='ui-resizable-handle ui-resizable-s'>=</div>"
@ -434,7 +442,7 @@ function AgendaEventRenderer() {
trigger('eventDragStart', eventElement, event, ev, ui); trigger('eventDragStart', eventElement, event, ev, ui);
hideEvents(event, eventElement); hideEvents(event, eventElement);
if ($.browser.msie) { if ($.browser.msie) {
eventElement.find('span.fc-event-bg').hide(); // nested opacities mess up in IE, just hide eventElement.find('div.fc-event-bg').hide(); // nested opacities mess up in IE, just hide
} }
origPosition = eventElement.position(); origPosition = eventElement.position();
minuteDelta = prevMinuteDelta = 0; minuteDelta = prevMinuteDelta = 0;
@ -483,11 +491,11 @@ function AgendaEventRenderer() {
resetElement(); resetElement();
eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position eventElement.css(origPosition); // sometimes fast drags make event revert to wrong position
updateTimeText(0); updateTimeText(0);
if ($.browser.msie) { if ($.browser.msie) { // TODO: dont use browser detection. base off of the presence of filter
eventElement eventElement
.css('filter', '') // clear IE opacity side-effects .css('filter', '') // clear IE opacity side-effects
.find('span.fc-event-bg') .find('div.fc-event-bg')
.css('display', ''); // .show() made display=inline .show();
} }
showEvents(event, eventElement); showEvents(event, eventElement);
} }

View File

@ -259,7 +259,7 @@ function AgendaView(element, calendar, viewName) {
} }
slotScroller = slotScroller =
$("<div style='position:absolute;left:0;width:100%;overflow-x:hidden;overflow-y:auto'/>") $("<div style='position:absolute;width:100%;overflow-x:hidden;overflow-y:auto'/>")
.appendTo(slotLayer); .appendTo(slotLayer);
slotContent = slotContent =

View File

@ -6,6 +6,10 @@
border-collapse: separate; border-collapse: separate;
} }
.fc-agenda-days th {
text-align: center;
}
.fc-agenda .fc-agenda-axis { .fc-agenda .fc-agenda-axis {
width: 50px; width: 50px;
padding: 0 4px; padding: 0 4px;
@ -19,12 +23,7 @@
padding: 2px 2px 1px; padding: 2px 2px 1px;
} }
/* make axis border take precedence */
.fc-agenda-days th {
text-align: center;
}
.fc-agenda-days .fc-agenda-axis { .fc-agenda-days .fc-agenda-axis {
border-right-width: 1px; border-right-width: 1px;
@ -34,20 +33,18 @@
border-left-width: 0; border-left-width: 0;
} }
/* all-day area */
.fc-agenda-allday th { .fc-agenda-allday th {
border-width: 0 1px; border-width: 0 1px;
} }
.fc-agenda-allday .fc-day-content { .fc-agenda-allday .fc-day-content {
min-height: 34px; /* TODO: doesnt work in quirksmode */ min-height: 34px; /* TODO: doesnt work well in quirksmode */
_height: 34px; _height: 34px;
} }
/* divider (between all-day and slots) */
.fc-agenda-divider-inner { .fc-agenda-divider-inner {
height: 2px; height: 2px;
@ -58,9 +55,7 @@
background: #eee; background: #eee;
} }
/* slot rows */
.fc-agenda-slots th { .fc-agenda-slots th {
border-width: 1px 1px 0; border-width: 1px 1px 0;
@ -86,10 +81,9 @@
} }
.fc-agenda-slots tr.fc-minor th.ui-widget-header { .fc-agenda-slots tr.fc-minor th.ui-widget-header {
*border-top-style: solid; *border-top-style: solid; /* doesn't work with background in IE6/7 */
} }
/* Vertical Events /* Vertical Events
@ -99,51 +93,25 @@
border-width: 0 1px; border-width: 0 1px;
} }
.fc-event-vert a { .fc-event-vert .fc-event-inner {
border-width: 0; display: block; /* might be an <a> */
height: 100%;
} }
/* for fake rounded corners */ .fc-event-vert .fc-event-head,
.fc-event-vert .fc-event-content {
.fc-content .fc-corner-top {
margin-top: 1px;
}
.fc-content .fc-corner-top a {
margin-top: -1px;
border-top-width: 1px;
}
.fc-content .fc-corner-bottom {
margin-bottom: 1px;
}
.fc-content .fc-corner-bottom a {
margin-bottom: -1px;
border-bottom-width: 1px;
}
/* event content */
.fc-event-vert span {
display: block;
position: relative; position: relative;
z-index: 2; z-index: 2;
width: 100%;
overflow: hidden;
} }
.fc-event-vert span.fc-event-time { .fc-event-vert .fc-event-time {
white-space: nowrap; white-space: nowrap;
_white-space: normal;
overflow: hidden;
border: 0;
font-size: 10px; font-size: 10px;
} }
.fc-event-vert span.fc-event-title { .fc-event-vert .fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
line-height: 13px;
}
.fc-event-vert span.fc-event-bg { /* makes the event lighter w/ a semi-transparent overlay */
position: absolute; position: absolute;
z-index: 1; z-index: 1;
top: 0; top: 0;
@ -152,7 +120,7 @@
height: 100%; height: 100%;
background: #fff; background: #fff;
opacity: .3; opacity: .3;
filter: alpha(opacity=30); /* for IE */ filter: alpha(opacity=30);
} }
/* resizable */ /* resizable */

View File

@ -39,3 +39,5 @@
.fc-rtl .fc-grid .fc-event-time { .fc-rtl .fc-grid .fc-event-time {
float: right; float: right;
} }

View File

@ -157,7 +157,7 @@ function DayEventRenderer() {
} }
html += html +=
"<div class='" + className + event.className.join(' ') + "' style='position:absolute;z-index:8;left:"+left+"px'>" + "<div class='" + className + event.className.join(' ') + "' style='position:absolute;z-index:8;left:"+left+"px'>" +
"<a" + (event.url ? " href='" + htmlEscape(event.url) + "'" : '') + ">" + "<a class='fc-event-inner'" + (event.url ? " href='" + htmlEscape(event.url) + "'" : '') + ">" +
(!event.allDay && seg.isStart ? (!event.allDay && seg.isStart ?
"<span class='fc-event-time'>" + "<span class='fc-event-time'>" +
htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) + htmlEscape(formatDates(event.start, event.end, opt('timeFormat'))) +

View File

@ -1,69 +1,156 @@
/* Cell Styles
------------------------------------------------------------------------*/
.fc-widget-header, /* <th>, usually */
table.fc-border-separate { .fc-widget-content { /* <td>, usually */
border-collapse: separate; border: 1px solid #ccc;
} }
.fc-border-separate th, .fc-state-highlight { /* <td> today cell */ /* TODO: add .fc-today to <th> */
.fc-border-separate td { background: #ffc;
border-width: 1px 0 0 1px;
} }
.fc-border-separate th.fc-last, .fc-cell-overlay { /* semi-transparent rectangle while dragging */
.fc-border-separate td.fc-last { background: #9cf;
border-right-width: 1px; opacity: .2;
filter: alpha(opacity=20); /* for IE */
} }
.fc-border-separate tr.fc-last th,
.fc-border-separate tr.fc-last td {
border-bottom-width: 1px; /* Buttons
------------------------------------------------------------------------*/
.fc-button {
position: relative;
display: inline-block;
border-style: solid;
border-width: 1px 0;
cursor: pointer;
} }
.fc-border-separate tbody tr.fc-first td, .fc-button-inner {
.fc-border-separate tbody tr.fc-first th { position: relative;
border-top-width: 0; float: left;
border-style: solid;
border-width: 0 1px;
overflow: hidden;
} }
.fc-button-content {
position: relative;
float: left;
height: 1.9em;
line-height: 1.9em;
padding: 0 .6em;
white-space: nowrap;
}
/* icon (for jquery ui) */
.fc-button-content .fc-icon-wrap {
position: relative;
float: left;
top: 50%;
}
.fc-button-content .ui-icon {
position: relative;
float: left;
margin-top: -50%;
*margin-top: 0;
*top: -50%;
}
/* gloss effect */
.fc-state-default .fc-button-effect {
position: absolute;
top: 50%;
left: 0;
}
.fc-state-default .fc-button-effect span {
position: absolute;
top: -100px;
left: 0;
width: 500px;
height: 100px;
border-width: 100px 0 0 1px;
border-style: solid;
border-color: #fff;
background: #444;
opacity: .09;
filter: alpha(opacity=9);
}
/* button states (determines colors) */
.fc-state-default,
.fc-state-default .fc-button-inner {
border-style: solid;
border-color: #ccc #bbb #aaa;
background: #F3F3F3;
color: #000;
}
.fc-state-hover,
.fc-state-hover .fc-button-inner {
border-color: #999;
}
.fc-state-down,
.fc-state-down .fc-button-inner {
border-color: #555;
background: #777;
}
.fc-state-active,
.fc-state-active .fc-button-inner {
border-color: #555;
background: #777;
color: #fff;
}
.fc-state-disabled,
.fc-state-disabled .fc-button-inner {
color: #999;
border-color: #ddd;
}
.fc-state-disabled .fc-button-effect {
display: none;
}
/* Global Event Styles /* Global Event Styles
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
.fc-event, .fc-event, /* TODO: change this to a fc-event-skin class (and change print.css) */
.fc-agenda .fc-event-time, .fc-event-inner,
.fc-event a { .fc-event-head {
border-style: solid; border-color: #36c; /* default BORDER color */
border-color: #36c; /* default BORDER color (probably the same as background-color) */
background-color: #36c; /* default BACKGROUND color */ background-color: #36c; /* default BACKGROUND color */
color: #fff; /* default TEXT color */ color: #fff; /* default TEXT color */
} }
/* Use the 'className' CalEvent property and the following
* example CSS to change event color on a per-event basis:
*
* .myclass,
* .fc-agenda .myclass .fc-event-time,
* .myclass a {
* background-color: black;
* border-color: black;
* color: red;
* }
*/
.fc-event { .fc-event {
text-align: left; border-style: solid;
} border-width: 0;
.fc-event a {
overflow: hidden;
font-size: .85em; font-size: .85em;
text-decoration: none;
cursor: pointer;
} }
.fc-event-editable { .fc-rtl .fc-event {
text-align: right;
}
.fc-event-inner {
position: relative;
border-style: solid;
border-width: 0;
text-decoration: none;
cursor: pointer; cursor: pointer;
} }
@ -72,24 +159,7 @@ table.fc-border-separate {
padding: 0 1px; padding: 0 1px;
} }
/* for fake rounded corners */ .fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anymore, change class ***/
.fc-event a {
display: block;
position: relative;
width: 100%;
height: 100%;
}
/* right-to-left */
.fc-rtl .fc-event a {
text-align: right;
}
/* resizable */
.fc .ui-resizable-handle { /*** TODO: don't use ui-resizable anoymore, change class ***/
display: block; display: block;
position: absolute; position: absolute;
z-index: 99999; z-index: 99999;
@ -107,28 +177,9 @@ table.fc-border-separate {
margin-bottom: 1px; margin-bottom: 1px;
} }
.fc-event-hori a { .fc-event-hori .fc-event-inner {
border-width: 0; display: block; /* might be an <a> tag */
} width: 100%; /* needed for fake rounded corners in IE6/7 */
/* for fake rounded corners */
.fc-content .fc-corner-left {
margin-left: 1px;
}
.fc-content .fc-corner-left a {
margin-left: -1px;
border-left-width: 1px;
}
.fc-content .fc-corner-right {
margin-right: 1px;
}
.fc-content .fc-corner-right a {
margin-right: -1px;
border-right-width: 1px;
} }
/* resizable */ /* resizable */
@ -155,3 +206,91 @@ table.fc-border-separate {
/* Fake Rounded Corners (for buttons and events)
------------------------------------------------------------*/
.fc-corner-left {
margin-left: 1px;
}
.fc-corner-left .fc-button-inner,
.fc-corner-left .fc-event-inner {
margin-left: -1px;
}
.fc-corner-right {
margin-right: 1px;
}
.fc-corner-right .fc-button-inner,
.fc-corner-right .fc-event-inner {
margin-right: -1px;
}
.fc-corner-top {
margin-top: 1px;
}
.fc-corner-top .fc-event-inner {
margin-top: -1px;
}
.fc-corner-bottom {
margin-bottom: 1px;
}
.fc-corner-bottom .fc-event-inner {
margin-bottom: -1px;
}
/* Fake Rounded Corners SPECIFICALLY FOR EVENTS
-----------------------------------------------------------------*/
.fc-corner-left .fc-event-inner {
border-left-width: 1px;
}
.fc-corner-right .fc-event-inner {
border-right-width: 1px;
}
.fc-corner-top .fc-event-inner {
border-top-width: 1px;
}
.fc-corner-bottom .fc-event-inner {
border-bottom-width: 1px;
}
/* Reusable Separate-border Table
------------------------------------------------------------*/
table.fc-border-separate {
border-collapse: separate;
}
.fc-border-separate th,
.fc-border-separate td {
border-width: 1px 0 0 1px;
}
.fc-border-separate th.fc-last,
.fc-border-separate td.fc-last {
border-right-width: 1px;
}
.fc-border-separate tr.fc-last th,
.fc-border-separate tr.fc-last td {
border-bottom-width: 1px;
}
.fc-border-separate tbody tr.fc-first td,
.fc-border-separate tbody tr.fc-first th {
border-top-width: 0;
}

59
src/common/print.css Normal file
View File

@ -0,0 +1,59 @@
/*
* FullCalendar v@VERSION Print Stylesheet
*
* Include this stylesheet on your page to get a more printer-friendly calendar.
* When including this stylesheet, use the media='print' attribute of the <link> tag.
* Make sure to include this stylesheet IN ADDITION to the regular fullcalendar.css.
*
* Date: @DATE
*
*/
/* Events
-----------------------------------------------------*/
.fc-event,
.fc-event-inner,
.fc-event-head {
background: none !important;
color: #000 !important;
}
/* horizontal events */
.fc-event-hori {
border-width: 0 0 1px 0 !important;
border-bottom-style: dotted !important;
border-bottom-color: #000 !important;
padding: 1px 0 0 0 !important;
}
.fc-event-hori .fc-event-inner {
border-width: 0 !important;
padding: 0 1px !important;
}
/* vertical events */
.fc-event-vert {
border-width: 0 0 0 1px !important;
border-left-style: dotted !important;
border-left-color: #000 !important;
padding: 0 1px 0 0 !important;
}
.fc-event-vert .fc-event-inner {
border-width: 0 !important;
padding: 1px 0 !important;
}
.fc-event-bg {
display: none !important;
}
.fc-event .ui-resizable-handle {
display: none !important;
}

View File

@ -1,16 +1,9 @@
/* /*
* FullCalendar v@VERSION Stylesheet * FullCalendar v@VERSION Stylesheet
* *
* Feel free to edit this file to customize the look of FullCalendar.
* When upgrading to newer versions, please upgrade this file as well,
* porting over any customizations afterwards.
*
* Date: @DATE * Date: @DATE
* *
*/ */
/* TODO: make font sizes look the same in all doctypes */
.fc { .fc {
@ -39,7 +32,7 @@ html .fc,
/* Header /* Header
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
table.fc-header td { .fc-header td {
white-space: nowrap; white-space: nowrap;
} }
@ -57,22 +50,41 @@ table.fc-header td {
text-align: right; text-align: right;
} }
.fc-header-title {
display: inline-block;
vertical-align: top;
}
.fc-header-title h2 {
margin-top: 0;
white-space: nowrap;
}
.fc .fc-header-space {
padding-left: 10px;
}
.fc-header .fc-button { .fc-header .fc-button {
margin-right: -1px;
margin-bottom: 1em; margin-bottom: 1em;
vertical-align: top; vertical-align: top;
} }
/* buttons edges butting together */
.fc-header .fc-button {
margin-right: -1px;
}
.fc-header .fc-corner-right { .fc-header .fc-corner-right {
margin-right: 1px; margin-right: 1px; /* back to normal */
} }
.fc-header .ui-corner-right { .fc-header .ui-corner-right {
margin-right: 0; margin-right: 0; /* back to normal */
} }
/* button layering (for border precedence) */
.fc-header .fc-state-hover, .fc-header .fc-state-hover,
.fc-header .ui-state-hover { .fc-header .ui-state-hover {
z-index: 2; z-index: 2;
@ -87,183 +99,17 @@ table.fc-header td {
z-index: 4; z-index: 4;
} }
.fc-header-title {
display: inline-block;
vertical-align: top;
}
.fc-header-title h2 {
margin-top: 0;
white-space: nowrap;
}
.fc .fc-header-space {
padding-left: 10px;
}
/* Buttons
------------------------------------------------------------------------*/
.fc-button {
position: relative;
display: inline-block;
cursor: pointer;
}
.fc-button .fc-inner {
float: left;
}
.fc-button-content {
position: relative;
float: left;
height: 1.9em;
line-height: 1.9em;
padding: 0 .6em;
white-space: nowrap;
}
.fc-button-content .fc-icon-wrap {
position: relative;
float: left;
top: 50%;
}
.fc-button-content .ui-icon {
position: relative;
float: left;
margin-top: -50%;
*margin-top: 0;
*top: -50%;
}
/* fake rounded corners */
.fc-state-default {
border-style: solid;
border-width: 1px 0;
padding: 0 1px;
}
.fc-state-default .fc-inner {
position: relative;
border-style: solid;
border-width: 0 1px;
margin: 0 -1px;
overflow: hidden;
}
.fc-corner-left {
margin-left: 1px;
padding-left: 0;
}
.fc-corner-right {
margin-right: 1px;
padding-right: 0;
}
/* gloss effect */
.fc-state-default .fc-button-effect {
position: absolute;
top: 50%;
left: 0;
}
.fc-state-default .fc-button-effect span {
position: absolute;
top: -100px;
left: 0;
width: 500px;
height: 100px;
border-width: 100px 0 0 1px;
border-style: solid;
border-color: #fff;
background: #444;
opacity: .09;
filter: alpha(opacity=9);
}
.fc-state-disabled .fc-button-effect {
display: none;
}
/* Content
.fc-state-default,
.fc-state-default .fc-inner {
border-style: solid;
border-color: #ccc #bbb #aaa;
background: #F3F3F3;
color: #000;
}
.fc-state-hover,
.fc-state-hover .fc-inner {
border-color: #999;
}
.fc-state-down,
.fc-state-down .fc-inner {
border-color: #555;
background: #777;
}
.fc-state-active,
.fc-state-active .fc-inner {
border-color: #555;
background: #777;
color: #fff;
}
.fc-state-disabled,
.fc-state-disabled .fc-inner {
color: #999;
border-color: #ddd;
}
/* TODO: calendar column headings */
/* Content Area & Global Cell Styles
------------------------------------------------------------------------*/ ------------------------------------------------------------------------*/
.fc-content { .fc-content {
clear: both; clear: both;
} }
.fc-widget-header,
.fc-widget-content {
border: 1px solid #ccc;
}
.fc-state-highlight { /* today */
background: #ffc;
}
.fc-cell-overlay { /* semi-transparent rectangle while dragging */
background: #9cf;
opacity: .2;
filter: alpha(opacity=20); /* for IE */
}
.fc-view { .fc-view {
width: 100%; /* needed for view switching (when view is absolute) */ width: 100%; /* needed for view switching (when view is absolute) */
} }

View File

@ -1 +1 @@
1.4.10 1.5alpha