Update fullcalendar from 5.8.0 to 5.11.0
This commit is contained in:
parent
ae43768659
commit
5ed7a08a1a
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -760,4 +760,370 @@ a.reserve_btn{
|
|||
@media screen and (max-width: 767px) {
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* fullcalendar custom css */
|
||||
.table-bordered th, .table-bordered td {
|
||||
border: 1px solid #dee2e6;
|
||||
}
|
||||
.fc .fc-event,
|
||||
.fc .fc-scrollgrid table tr {
|
||||
-moz-column-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
}
|
||||
|
||||
.fc-media-print {
|
||||
display: block; /* undo flexbox. FF doesn't know how to flow */
|
||||
max-width: 100% /* width will be hardcoded too */
|
||||
}
|
||||
|
||||
.fc-media-print .fc-timegrid-slots,
|
||||
.fc-media-print .fc-timegrid-axis-chunk,
|
||||
.fc-media-print .fc-timeline-slots,
|
||||
.fc-media-print .fc-non-business,
|
||||
.fc-media-print .fc-bg-event {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fc-media-print .fc-toolbar button,
|
||||
.fc-media-print .fc-h-event,
|
||||
.fc-media-print .fc-v-event {
|
||||
color: #000 !important;
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
.fc-media-print .fc-event,
|
||||
.fc-media-print .fc-event-main { /* often controls the text-color */
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.fc-media-print .fc-timegrid-event {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.fc .fc-timeline-body {
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
z-index: 1; /* scope slots, bg, etc */
|
||||
}
|
||||
/*
|
||||
vertical slots in both the header AND the body
|
||||
*/
|
||||
.fc .fc-timeline-slots {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
bottom: 0
|
||||
}
|
||||
.fc .fc-timeline-slots > table {
|
||||
height: 100%;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* border for both header AND body cells */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-slot-minor {
|
||||
border-style: dotted;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* header cells (aka "label") */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-slot-frame {
|
||||
display: flex;
|
||||
align-items: center; /* vertical align */
|
||||
justify-content: center; /* horizontal align */
|
||||
overflow: hidden; /* important so text doesn't bleed out and cause extra scroll */
|
||||
}
|
||||
.fc .fc-timeline-header-row-chrono { /* a row of times */
|
||||
}
|
||||
.fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame {
|
||||
justify-content: flex-start; /* horizontal align left or right */
|
||||
}
|
||||
.fc .fc-timeline-slot-cushion {
|
||||
padding: 4px 5px; /* TODO: unify with fc-col-header? */
|
||||
white-space: normal;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* NOTE: how does the top row of cells get horizontally centered? */
|
||||
/* for the non-chrono-row, the fc-sticky system looks for text-align center, */
|
||||
/* and it's a fluke that the default browser stylesheet already does this for <th> */
|
||||
/* TODO: have StickyScrolling look at natural left coord to detect centeredness. */
|
||||
|
||||
}
|
||||
/* only owns one side, so can do dotted */
|
||||
.fc-direction-ltr .fc-timeline-slot { border-right: 0 !important }
|
||||
.fc-direction-rtl .fc-timeline-slot { border-left: 0 !important }
|
||||
.fc .fc-timeline-now-indicator-container {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 0;
|
||||
}
|
||||
.fc .fc-timeline-now-indicator-arrow,
|
||||
.fc .fc-timeline-now-indicator-line {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
border-style: solid;
|
||||
border-color: red;
|
||||
border-color: var(--fc-now-indicator-color, red);
|
||||
}
|
||||
.fc .fc-timeline-now-indicator-arrow {
|
||||
margin: 0 -6px; /* 5, then one more to counteract scroller's negative margins */
|
||||
|
||||
/* triangle pointing down. TODO: mixin */
|
||||
border-width: 6px 5px 0 5px;
|
||||
border-left-color: transparent;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
.fc .fc-timeline-now-indicator-line {
|
||||
margin: 0 -1px; /* counteract scroller's negative margins */
|
||||
bottom: 0;
|
||||
border-width: 0 0 0 1px;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* container */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-events {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
width: 0; /* for event positioning. will end up on correct side based on dir */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* harness */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-event-harness,
|
||||
.fc .fc-timeline-more-link {
|
||||
position: absolute;
|
||||
top: 0; /* for when when top can't be computed yet */
|
||||
/* JS will set tht left/right */
|
||||
}
|
||||
/* z-index, scoped within fc-timeline-events */
|
||||
.fc-timeline-event { z-index: 1 }
|
||||
.fc-timeline-event.fc-event-mirror { z-index: 2 }
|
||||
.fc-timeline-event {
|
||||
position: relative; /* contains things. TODO: make part of fc-h-event and fc-v-event */
|
||||
display: flex; /* for v-aligning start/end arrows and making fc-event-main stretch all the way */
|
||||
align-items: center;
|
||||
border-radius: 0;
|
||||
padding: 2px 1px;
|
||||
margin-bottom: 1px;
|
||||
font-size: .85em;
|
||||
font-size: var(--fc-small-font-size, .85em)
|
||||
|
||||
/* time and title spacing */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
}
|
||||
.fc-timeline-event .fc-event-main {
|
||||
flex-grow: 1;
|
||||
flex-shrink: 1;
|
||||
min-width: 0; /* important for allowing to shrink all the way */
|
||||
}
|
||||
.fc-timeline-event .fc-event-time {
|
||||
font-weight: bold;
|
||||
}
|
||||
.fc-timeline-event .fc-event-time,
|
||||
.fc-timeline-event .fc-event-title {
|
||||
white-space: normal;
|
||||
padding: 0 2px;
|
||||
}
|
||||
/* move 1px away from slot line */
|
||||
.fc-direction-ltr .fc-timeline-event.fc-event-end,
|
||||
.fc-direction-ltr .fc-timeline-more-link {
|
||||
margin-right: 1px;
|
||||
}
|
||||
.fc-direction-rtl .fc-timeline-event.fc-event-end,
|
||||
.fc-direction-rtl .fc-timeline-more-link {
|
||||
margin-left: 1px;
|
||||
}
|
||||
/* make event beefier when overlap not allowed */
|
||||
.fc-timeline-overlap-disabled .fc-timeline-event {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* arrows indicating the event continues into past/future */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
/* part of the flexbox flow */
|
||||
.fc-timeline-event:not(.fc-event-start):before,
|
||||
.fc-timeline-event:not(.fc-event-end):after {
|
||||
content: "";
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
opacity: .5;
|
||||
|
||||
/* triangle. TODO: mixin */
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin: 0 1px;
|
||||
border: 5px solid #000; /* TODO: var */
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
/* pointing left */
|
||||
.fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before,
|
||||
.fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after {
|
||||
border-left: 0;
|
||||
}
|
||||
/* pointing right */
|
||||
.fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after,
|
||||
.fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before {
|
||||
border-right: 0;
|
||||
}
|
||||
/* +more events indicator */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
.fc-timeline-more-link {
|
||||
font-size: .85em;
|
||||
font-size: var(--fc-small-font-size, .85em);
|
||||
color: inherit;
|
||||
color: var(--fc-more-link-text-color, inherit);
|
||||
background: #d0d0d0;
|
||||
background: var(--fc-more-link-bg-color, #d0d0d0);
|
||||
padding: 1px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.fc-timeline-more-link-inner { /* has fc-sticky */
|
||||
display: inline-block;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding: 2px;
|
||||
}
|
||||
.fc .fc-timeline-bg { /* a container for bg content */
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 0;
|
||||
left: 0; /* will take precedence when LTR */
|
||||
right: 0; /* will take precedence when RTL */ /* TODO: kill */
|
||||
}
|
||||
.fc .fc-timeline-bg .fc-non-business { z-index: 1 }
|
||||
.fc .fc-timeline-bg .fc-bg-event { z-index: 2 }
|
||||
.fc .fc-timeline-bg .fc-highlight { z-index: 3 }
|
||||
.fc .fc-timeline-bg-harness {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.fc .fc-resource-timeline-divider {
|
||||
width: 3px; /* important to have width to shrink this cell. no cross-browser problems */
|
||||
cursor: col-resize;
|
||||
}
|
||||
|
||||
.fc {
|
||||
|
||||
|
||||
/* will match horizontal groups in the datagrid AND group lanes in the timeline area */
|
||||
|
||||
}
|
||||
|
||||
.fc .fc-resource-timeline .fc-resource-group:not([rowspan]) {
|
||||
background: rgba(208, 208, 208, 0.3);
|
||||
background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));
|
||||
}
|
||||
|
||||
.fc .fc-timeline-lane-frame {
|
||||
position: relative; /* contains the fc-timeline-bg container, which liquidly expands */
|
||||
/* the height is explicitly set by row-height-sync */
|
||||
}
|
||||
|
||||
.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events { /* has height set on it */
|
||||
box-sizing: content-box; /* padding no longer part of height */
|
||||
padding-bottom: 10px; /* give extra spacing underneath for selecting */
|
||||
}
|
||||
|
||||
/* hack to make bg expand to lane's full height in resource-timeline with expandRows (#6134) */
|
||||
.fc-timeline-body-expandrows td.fc-timeline-lane {
|
||||
position: relative;
|
||||
}
|
||||
.fc-timeline-body-expandrows .fc-timeline-lane-frame {
|
||||
position: static;
|
||||
}
|
||||
/* the "frame" */
|
||||
.fc-datagrid-cell-frame-liquid {
|
||||
height: 100%; /* needs liquid hack */
|
||||
}
|
||||
.fc-liquid-hack .fc-datagrid-cell-frame-liquid {
|
||||
height: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the "frame" in a HEADER */
|
||||
/* needs to position the column resizer */
|
||||
/* needs to vertically center content */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-header .fc-datagrid-cell-frame {
|
||||
position: relative; /* for resizer */
|
||||
display: flex;
|
||||
justify-content: flex-start; /* horizontal align (natural left/right) */
|
||||
align-items: center; /* vertical align */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the column resizer (only in HEADER) */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-cell-resizer {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 5px;
|
||||
cursor: col-resize;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the cushion */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-cell-cushion {
|
||||
padding: 8px;
|
||||
white-space: normal;
|
||||
overflow: hidden; /* problem for col resizer :( */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* expander icons */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-expander {
|
||||
cursor: pointer;
|
||||
opacity: 0.65
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-expander .fc-icon { /* the expander and spacers before the expander */
|
||||
display: inline-block;
|
||||
width: 1em; /* ensure constant width, esp for empty icons */
|
||||
}
|
||||
.fc .fc-datagrid-expander-placeholder {
|
||||
cursor: auto;
|
||||
}
|
||||
.fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder {
|
||||
display: none;
|
||||
}
|
||||
.fc-direction-ltr .fc-datagrid-cell-resizer { right: -3px }
|
||||
.fc-direction-rtl .fc-datagrid-cell-resizer { left: -3px }
|
||||
.fc-direction-ltr .fc-datagrid-expander { margin-right: 3px }
|
||||
.fc-direction-rtl .fc-datagrid-expander { margin-left: 3px }
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
|
||||
/* classes attached to <body> */
|
||||
.table-bordered th, .table-bordered td {
|
||||
border: 1px solid #dee2e6;
|
||||
}
|
||||
/* TODO: make fc-event selector work when calender in shadow DOM */
|
||||
.fc-not-allowed,
|
||||
.fc-not-allowed .fc-event { /* override events' custom cursors */
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* TODO: not attached to body. attached to specific els. move */
|
||||
.fc-unselectable {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
|
@ -531,14 +530,17 @@ a.fc-event:hover {
|
|||
bottom: -20px;
|
||||
}
|
||||
/* selecting (always TOUCH) */
|
||||
/* OR, focused by tab-index */
|
||||
/* (TODO: maybe not the best focus-styling for .fc-daygrid-dot-event) */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
.fc-event-selected {
|
||||
.fc-event-selected,
|
||||
.fc-event:focus {
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2)
|
||||
|
||||
/* expand hit area (subclasses should expand) */
|
||||
|
||||
}
|
||||
.fc-event-selected:before {
|
||||
.fc-event-selected:before, .fc-event:focus:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
z-index: 3;
|
||||
|
@ -547,12 +549,13 @@ a.fc-event:hover {
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
.fc-event-selected {
|
||||
.fc-event-selected,
|
||||
.fc-event:focus {
|
||||
|
||||
/* dimmer effect */
|
||||
|
||||
}
|
||||
.fc-event-selected:after {
|
||||
.fc-event-selected:after, .fc-event:focus:after {
|
||||
content: "";
|
||||
background: rgba(0, 0, 0, 0.25);
|
||||
background: var(--fc-event-selected-overlay-color, rgba(0, 0, 0, 0.25));
|
||||
|
@ -631,29 +634,29 @@ A HORIZONTAL event
|
|||
.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end {
|
||||
cursor: w-resize;
|
||||
left: -4px;
|
||||
left: calc(var(--fc-event-resizer-thickness, 8px) / -2);
|
||||
left: calc(-0.5 * var(--fc-event-resizer-thickness, 8px));
|
||||
}
|
||||
.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,
|
||||
.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start {
|
||||
cursor: e-resize;
|
||||
right: -4px;
|
||||
right: calc(var(--fc-event-resizer-thickness, 8px) / -2);
|
||||
right: calc(-0.5 * var(--fc-event-resizer-thickness, 8px));
|
||||
}
|
||||
/* resizers for TOUCH */
|
||||
.fc-h-event.fc-event-selected .fc-event-resizer {
|
||||
top: 50%;
|
||||
margin-top: -4px;
|
||||
margin-top: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);
|
||||
margin-top: calc(-0.5 * var(--fc-event-resizer-dot-total-width, 8px));
|
||||
}
|
||||
.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,
|
||||
.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end {
|
||||
left: -4px;
|
||||
left: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);
|
||||
left: calc(-0.5 * var(--fc-event-resizer-dot-total-width, 8px));
|
||||
}
|
||||
.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,
|
||||
.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start {
|
||||
right: -4px;
|
||||
right: calc(var(--fc-event-resizer-dot-total-width, 8px) / -2);
|
||||
right: calc(-0.5 * var(--fc-event-resizer-dot-total-width, 8px));
|
||||
}
|
||||
.fc .fc-popover {
|
||||
position: absolute;
|
||||
|
@ -1136,14 +1139,14 @@ A VERTICAL event
|
|||
min-height: 100%; /* liquid-hack is below */
|
||||
position: relative;
|
||||
}
|
||||
.fc-liquid-hack .fc-timegrid-col-frame {
|
||||
.fc-media-screen.fc-liquid-hack .fc-timegrid-col-frame {
|
||||
height: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
.fc-media-screen .fc-timegrid-cols {
|
||||
position: absolute; /* no z-index. children will decide and go above slots */
|
||||
top: 0;
|
||||
|
@ -1360,6 +1363,23 @@ A VERTICAL event
|
|||
background: #fff;
|
||||
background: var(--fc-page-bg-color, #fff); /* for when headers are styled to be transparent and sticky */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* only exists for aria reasons, hide for non-screen-readers */
|
||||
|
||||
}
|
||||
.fc .fc-list-table thead {
|
||||
position: absolute;
|
||||
left: -10000px;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the table's border-style:hidden gets confused by hidden thead. force-hide top border of first cell */
|
||||
|
||||
}
|
||||
.fc .fc-list-table tbody > tr:first-child th {
|
||||
border-top: 0;
|
||||
}
|
||||
.fc .fc-list-table th {
|
||||
padding: 0; /* uses an inner-wrapper instead... */
|
||||
}
|
||||
|
@ -1447,365 +1467,28 @@ A VERTICAL event
|
|||
|
||||
|
||||
|
||||
.fc .fc-event,
|
||||
.fc .fc-scrollgrid table tr {
|
||||
-moz-column-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
.fc-theme-bootstrap5 a:not([href]) {
|
||||
color: inherit;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
.fc-media-print {
|
||||
display: block; /* undo flexbox. FF doesn't know how to flow */
|
||||
max-width: 100% /* width will be hardcoded too */
|
||||
.fc-theme-bootstrap5 .fc-list,
|
||||
.fc-theme-bootstrap5 .fc-scrollgrid,
|
||||
.fc-theme-bootstrap5 td,
|
||||
.fc-theme-bootstrap5 th {
|
||||
border: 1px solid var(--bs-gray-400);
|
||||
}
|
||||
|
||||
.fc-theme-bootstrap5 {
|
||||
|
||||
/* HACK: reapply core styles after highe-precedence border statement above */
|
||||
}
|
||||
|
||||
.fc-media-print .fc-timegrid-slots,
|
||||
.fc-media-print .fc-timegrid-axis-chunk,
|
||||
.fc-media-print .fc-timeline-slots,
|
||||
.fc-media-print .fc-non-business,
|
||||
.fc-media-print .fc-bg-event {
|
||||
display: none;
|
||||
.fc-theme-bootstrap5 .fc-scrollgrid {
|
||||
border-right-width: 0;
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
.fc-media-print .fc-toolbar button,
|
||||
.fc-media-print .fc-h-event,
|
||||
.fc-media-print .fc-v-event {
|
||||
color: #000 !important;
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
.fc-media-print .fc-event,
|
||||
.fc-media-print .fc-event-main { /* often controls the text-color */
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
.fc-media-print .fc-timegrid-event {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.fc .fc-timeline-body {
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
z-index: 1; /* scope slots, bg, etc */
|
||||
}
|
||||
/*
|
||||
vertical slots in both the header AND the body
|
||||
*/
|
||||
.fc .fc-timeline-slots {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
bottom: 0
|
||||
}
|
||||
.fc .fc-timeline-slots > table {
|
||||
height: 100%;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* border for both header AND body cells */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-slot-minor {
|
||||
border-style: dotted;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* header cells (aka "label") */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-slot-frame {
|
||||
display: flex;
|
||||
align-items: center; /* vertical align */
|
||||
justify-content: center; /* horizontal align */
|
||||
overflow: hidden; /* important so text doesn't bleed out and cause extra scroll */
|
||||
}
|
||||
.fc .fc-timeline-header-row-chrono { /* a row of times */
|
||||
}
|
||||
.fc .fc-timeline-header-row-chrono .fc-timeline-slot-frame {
|
||||
justify-content: flex-start; /* horizontal align left or right */
|
||||
}
|
||||
.fc .fc-timeline-slot-cushion {
|
||||
padding: 4px 5px; /* TODO: unify with fc-col-header? */
|
||||
white-space: normal;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* NOTE: how does the top row of cells get horizontally centered? */
|
||||
/* for the non-chrono-row, the fc-sticky system looks for text-align center, */
|
||||
/* and it's a fluke that the default browser stylesheet already does this for <th> */
|
||||
/* TODO: have StickyScrolling look at natural left coord to detect centeredness. */
|
||||
|
||||
}
|
||||
/* only owns one side, so can do dotted */
|
||||
.fc-direction-ltr .fc-timeline-slot { border-right: 0 !important }
|
||||
.fc-direction-rtl .fc-timeline-slot { border-left: 0 !important }
|
||||
.fc .fc-timeline-now-indicator-container {
|
||||
position: absolute;
|
||||
z-index: 4;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
width: 0;
|
||||
}
|
||||
.fc .fc-timeline-now-indicator-arrow,
|
||||
.fc .fc-timeline-now-indicator-line {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
border-style: solid;
|
||||
border-color: red;
|
||||
border-color: var(--fc-now-indicator-color, red);
|
||||
}
|
||||
.fc .fc-timeline-now-indicator-arrow {
|
||||
margin: 0 -6px; /* 5, then one more to counteract scroller's negative margins */
|
||||
|
||||
/* triangle pointing down. TODO: mixin */
|
||||
border-width: 6px 5px 0 5px;
|
||||
border-left-color: transparent;
|
||||
border-right-color: transparent;
|
||||
}
|
||||
.fc .fc-timeline-now-indicator-line {
|
||||
margin: 0 -1px; /* counteract scroller's negative margins */
|
||||
bottom: 0;
|
||||
border-width: 0 0 0 1px;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* container */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-events {
|
||||
position: relative;
|
||||
z-index: 3;
|
||||
width: 0; /* for event positioning. will end up on correct side based on dir */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* harness */
|
||||
|
||||
}
|
||||
.fc .fc-timeline-event-harness,
|
||||
.fc .fc-timeline-more-link {
|
||||
position: absolute;
|
||||
top: 0; /* for when when top can't be computed yet */
|
||||
/* JS will set tht left/right */
|
||||
}
|
||||
/* z-index, scoped within fc-timeline-events */
|
||||
.fc-timeline-event { z-index: 1 }
|
||||
.fc-timeline-event.fc-event-mirror { z-index: 2 }
|
||||
.fc-timeline-event {
|
||||
position: relative; /* contains things. TODO: make part of fc-h-event and fc-v-event */
|
||||
display: flex; /* for v-aligning start/end arrows and making fc-event-main stretch all the way */
|
||||
align-items: center;
|
||||
border-radius: 0;
|
||||
padding: 2px 1px;
|
||||
margin-bottom: 1px;
|
||||
font-size: .85em;
|
||||
font-size: var(--fc-small-font-size, .85em)
|
||||
|
||||
/* time and title spacing */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
}
|
||||
.fc-timeline-event .fc-event-main {
|
||||
flex-grow: 1;
|
||||
flex-shrink: 1;
|
||||
min-width: 0; /* important for allowing to shrink all the way */
|
||||
}
|
||||
.fc-timeline-event .fc-event-time {
|
||||
font-weight: bold;
|
||||
}
|
||||
.fc-timeline-event .fc-event-time,
|
||||
.fc-timeline-event .fc-event-title {
|
||||
white-space: normal;
|
||||
padding: 0 2px;
|
||||
}
|
||||
/* move 1px away from slot line */
|
||||
.fc-direction-ltr .fc-timeline-event.fc-event-end,
|
||||
.fc-direction-ltr .fc-timeline-more-link {
|
||||
margin-right: 1px;
|
||||
}
|
||||
.fc-direction-rtl .fc-timeline-event.fc-event-end,
|
||||
.fc-direction-rtl .fc-timeline-more-link {
|
||||
margin-left: 1px;
|
||||
}
|
||||
/* make event beefier when overlap not allowed */
|
||||
.fc-timeline-overlap-disabled .fc-timeline-event {
|
||||
padding-top: 5px;
|
||||
padding-bottom: 5px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
/* arrows indicating the event continues into past/future */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
/* part of the flexbox flow */
|
||||
.fc-timeline-event:not(.fc-event-start):before,
|
||||
.fc-timeline-event:not(.fc-event-end):after {
|
||||
content: "";
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
opacity: .5;
|
||||
|
||||
/* triangle. TODO: mixin */
|
||||
width: 0;
|
||||
height: 0;
|
||||
margin: 0 1px;
|
||||
border: 5px solid #000; /* TODO: var */
|
||||
border-top-color: transparent;
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
/* pointing left */
|
||||
.fc-direction-ltr .fc-timeline-event:not(.fc-event-start):before,
|
||||
.fc-direction-rtl .fc-timeline-event:not(.fc-event-end):after {
|
||||
border-left: 0;
|
||||
}
|
||||
/* pointing right */
|
||||
.fc-direction-ltr .fc-timeline-event:not(.fc-event-end):after,
|
||||
.fc-direction-rtl .fc-timeline-event:not(.fc-event-start):before {
|
||||
border-right: 0;
|
||||
}
|
||||
/* +more events indicator */
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
.fc-timeline-more-link {
|
||||
font-size: .85em;
|
||||
font-size: var(--fc-small-font-size, .85em);
|
||||
color: inherit;
|
||||
color: var(--fc-more-link-text-color, inherit);
|
||||
background: #d0d0d0;
|
||||
background: var(--fc-more-link-bg-color, #d0d0d0);
|
||||
padding: 1px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.fc-timeline-more-link-inner { /* has fc-sticky */
|
||||
display: inline-block;
|
||||
left: 0;
|
||||
right: 0;
|
||||
padding: 2px;
|
||||
}
|
||||
.fc .fc-timeline-bg { /* a container for bg content */
|
||||
position: absolute;
|
||||
z-index: 2;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 0;
|
||||
left: 0; /* will take precedence when LTR */
|
||||
right: 0; /* will take precedence when RTL */ /* TODO: kill */
|
||||
}
|
||||
.fc .fc-timeline-bg .fc-non-business { z-index: 1 }
|
||||
.fc .fc-timeline-bg .fc-bg-event { z-index: 2 }
|
||||
.fc .fc-timeline-bg .fc-highlight { z-index: 3 }
|
||||
.fc .fc-timeline-bg-harness {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.fc .fc-resource-timeline-divider {
|
||||
width: 3px; /* important to have width to shrink this cell. no cross-browser problems */
|
||||
cursor: col-resize;
|
||||
}
|
||||
|
||||
.fc {
|
||||
|
||||
|
||||
/* will match horizontal groups in the datagrid AND group lanes in the timeline area */
|
||||
|
||||
}
|
||||
|
||||
.fc .fc-resource-timeline .fc-resource-group:not([rowspan]) {
|
||||
background: rgba(208, 208, 208, 0.3);
|
||||
background: var(--fc-neutral-bg-color, rgba(208, 208, 208, 0.3));
|
||||
}
|
||||
|
||||
.fc .fc-timeline-lane-frame {
|
||||
position: relative; /* contains the fc-timeline-bg container, which liquidly expands */
|
||||
/* the height is explicitly set by row-height-sync */
|
||||
}
|
||||
|
||||
.fc .fc-timeline-overlap-enabled .fc-timeline-lane-frame .fc-timeline-events { /* has height set on it */
|
||||
box-sizing: content-box; /* padding no longer part of height */
|
||||
padding-bottom: 10px; /* give extra spacing underneath for selecting */
|
||||
}
|
||||
|
||||
/* hack to make bg expand to lane's full height in resource-timeline with expandRows (#6134) */
|
||||
.fc-timeline-body-expandrows td.fc-timeline-lane {
|
||||
position: relative;
|
||||
}
|
||||
.fc-timeline-body-expandrows .fc-timeline-lane-frame {
|
||||
position: static;
|
||||
}
|
||||
/* the "frame" */
|
||||
.fc-datagrid-cell-frame-liquid {
|
||||
height: 100%; /* needs liquid hack */
|
||||
}
|
||||
.fc-liquid-hack .fc-datagrid-cell-frame-liquid {
|
||||
height: auto;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the "frame" in a HEADER */
|
||||
/* needs to position the column resizer */
|
||||
/* needs to vertically center content */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-header .fc-datagrid-cell-frame {
|
||||
position: relative; /* for resizer */
|
||||
display: flex;
|
||||
justify-content: flex-start; /* horizontal align (natural left/right) */
|
||||
align-items: center; /* vertical align */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the column resizer (only in HEADER) */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-cell-resizer {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 5px;
|
||||
cursor: col-resize;
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* the cushion */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-cell-cushion {
|
||||
padding: 8px;
|
||||
white-space: normal;
|
||||
overflow: hidden; /* problem for col resizer :( */
|
||||
}
|
||||
.fc {
|
||||
|
||||
/* expander icons */
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-expander {
|
||||
cursor: pointer;
|
||||
opacity: 0.65
|
||||
|
||||
}
|
||||
.fc .fc-datagrid-expander .fc-icon { /* the expander and spacers before the expander */
|
||||
display: inline-block;
|
||||
width: 1em; /* ensure constant width, esp for empty icons */
|
||||
}
|
||||
.fc .fc-datagrid-expander-placeholder {
|
||||
cursor: auto;
|
||||
}
|
||||
.fc .fc-resource-timeline-flat .fc-datagrid-expander-placeholder {
|
||||
display: none;
|
||||
}
|
||||
.fc-direction-ltr .fc-datagrid-cell-resizer { right: -3px }
|
||||
.fc-direction-rtl .fc-datagrid-cell-resizer { left: -3px }
|
||||
.fc-direction-ltr .fc-datagrid-expander { margin-right: 3px }
|
||||
.fc-direction-rtl .fc-datagrid-expander { margin-left: 3px }
|
||||
|
||||
.fc-theme-bootstrap5-shaded {
|
||||
background-color: var(--bs-gray-200);
|
||||
}
|
Loading…
Reference in New Issue