pit-scheduler
Version:
A complet scheduler build with jQuery and Boostrap
734 lines (624 loc) • 14.5 kB
CSS
/************ Global ************/
@font-face {
font-family: 'Glyphicons Halflings';
src: url('../../fonts/glyphicons-halflings-regular.eot');
src: url('../../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
}
.btn {
margin: 2px;
}
.text-no-select {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select:none;
user-select:none;
-o-user-select:none;
}
.pts-show-user{
cursor: pointer;
}
.label {
font-weight: normal ;
}
/************ Animation ************/
.animated {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@-webkit-keyframes fadeIn {
from {
opacity: 0;
background-color: #50d371;
}
to {
opacity: 1;
}
}
@keyframes fadeIn {
from {
opacity: 0;
background-color: #50d371;
}
to {
opacity: 1;
}
}
.fadeIn {
-webkit-animation-name: fadeIn;
animation-name: fadeIn;
}
/************ Header ************/
.pts-header {
position: relative;
height: 60px;
background-color: #00BCD4;
}
.pts-nav-buttons {
position: relative;
left: 5px;
bottom: 2px;
margin-right: 5px;
}
.pts-header-right-container {
position: absolute;
right: 8px;
top: 11px;
}
.pts-header-right-container .pts-active {
background-color: #0097A7;
color: #fff;
}
.pts-header-left-container {
height: 100%;
padding-top: 13px;
margin-left: 5px;
display: inline-flex;
}
#header-datetimepicker {
max-width: 220px;
}
.pts-btn-day-view, .pts-btn-month-view,
.pts-btn-list-view, .pts-btn-next, .pts-btn-previous {
background-color: #B2EBF2;
}
.pts-header-date-display {
margin-left: 8px;
font-size: 18px;
margin-top: 6px;
}
#header-datetimepicker input {
border: 0 ;
}
#header-datetimepicker span.input-group-addon {
border: 0 ;
background-color: #B2EBF2;
}
.dropdown > button.dropdown-toggle {
top: 3px;
position: relative;
left: 5px;
}
.dropdown-menu li {
margin-left: 5px;
}
/************ line & column title ************/
.pts-column-title-container {
background-color: #B2EBF2;
height: 45px;
overflow: hidden;
position: relative;
}
.pts-column-title-container > div {
height: auto;
margin-bottom: -100px;
padding-bottom: 100px;
position: absolute;
top: 0;
bottom: 0;
left: 150px;
display: inline-flex;
padding-right: 16px;
}
.pts-column-element[data-date]:hover {
background-color: #90e3ed;
}
.pts-column-element[data-date] {
cursor: pointer;
}
.pts-column-element {
position: relative;
width: 120px;
min-width: 120px;
border-right: 1px solid #BDBDBD;
text-align: center;
}
.pts-column-element > p {
padding-top: 10px;
}
.pts-line-title-container {
background-color: #B2EBF2;
height: 400px;
width: 150px;
overflow-x: scroll;
text-overflow: ellipsis;
}
.pts-line-title-container > div {
overflow: hidden;
max-height: 100%;
}
.pts-line-group-container {
height: auto;
width: 113%;
position: relative;
}
.pts-group-header {
position: relative;
background-color: #0097A7;
height: 20px;
}
.pts-group-user {
/*height: 40px;*/
text-align: center;
padding-top: 12px;
border-bottom: 1px solid #0097A7;
width: 150px;
cursor: pointer;
}
.pts-group-header > span {
position: relative;
left: 15px;
color: #fff;
}
.pts-corner-mask {
background-color: hsl(187, 71%, 82%);
height: 45px;
width: 150px;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
.pts-btn-add-elem {
background-color: #00BCD4;
color: #fff;
position: relative;
top: 3px;
left: 2px;
}
.closed-btn {
transform: rotate(45deg);
}
.close-group-panel {
position: relative;
left: 7px;
top: 4px;
color: hsl(0, 0%, 100%);
cursor: pointer;
font-size: 12px;
-webkit-transition: 0.5s ease-in-out;
-moz-transition: 0.5s ease-in-out;
-o-transition: 0.5s ease-in-out;
transition: 0.5s ease-in-out;
}
/************ Main content ************/
.pts-main-container {
position: relative;
}
.pts-scheduler-container {
position: absolute;
height: auto;
width: auto;
right: 0px;
top: 0px;
left: 150px;
overflow: scroll;
top: 45px;
bottom: 0px;
}
.pts-main-content {
position: absolute;
height: auto;
width: 97%;
top: 0;
}
.pts-main-group-header {
position: relative;
background-color: #0097A7;
height: 20px;
/*width: 2880px;*/
}
.pts-main-group-container {
width: 100%;
}
.pts-main-group-user {
position: relative;
/*height: 40px;*/
border-bottom: 1px solid #0097A7;
}
.pts-main-group-column {
position: absolute;
border-right: 1px solid #BDBDBD;
height: 100%;
width: 120px;
}
.pts-main-group-column > div {
border-left: 1px solid #eee;
height: 100%;
margin-left: 60px;
width: 100%;
}
.pts-main-group-column.last > div {
border-right: 1px solid #eee;
}
.pts-main-group-border {
position: relative;
width: 2880px;
border-bottom: 1px solid #000;
}
/************ Markers ************/
.pts-line-marker {
position: absolute;
height: 30px;
background-color: hsl(187, 100%, 42%);
top: 5px;
cursor: pointer;
overflow: hidden;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select:none;
user-select:none;
-o-user-select:none;
}
.pts-line-marker.complete {
border-radius: 20px;
margin-left: 5px;
}
.pts-line-marker.start {
border-radius: 20px 0 0 20px;
margin-left: 5px;
}
.pts-line-marker.end {
border-radius: 0 20px 20px 0;
margin-right: 5px;
}
.pts-line-marker.middle {
width: 100%;
}
.pts-line-marker-label {
position: relative;
top: 5px;
left: 10px;
color: #fff;
display: inline-table;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select:none;
user-select:none;
-o-user-select:none;
}
.pts-line-marker-group {
position: absolute;
width: 100%;
}
.pts-line-marker i {
position: absolute;
top: 9px;
font-size: 11px;
cursor: e-resize;
right: 0;
}
.pts-line-marker.start i {
display: none;
}
.pts-task-tooltip > div {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select:none;
user-select:none;
-o-user-select:none
}
.pts-task-tooltip {
position: relative;
//bottom: 23px;
display: inline-block;
background-color: #000;
padding: 3px 5px 3px 5px;
color: #fff;
border-radius: 7px;
}
/************ toolbox view ************/
#pts-toolbox-container {
background-color: #fff;
width: 0px;
right: 0px;
position: absolute;
height: auto;
z-index: 1000;
bottom: 16px;
top: 45px;
-webkit-box-shadow: -12px 0px 15px -5px rgba(0,0,0,0.22);
-moz-box-shadow: -12px 0px 15px -5px rgba(0,0,0,0.22);
box-shadow: -12px 0px 15px -5px rgba(0,0,0,0.22);
overflow-y: scroll;
overflow-x: hidden;
}
#pts-toolbox-container > .panel-body {
width: 450px;
}
.pts-toolbox-close-btn {
position: relative;
top: 3px;
color: #b2b2b2;
background-color: transparent;
}
.divider {
position: relative;
width: 100%;
height: 1px;
background-color: #dbdbdb;
}
div.pts-toolbox-user-list, div.pts-toolbox-task-list {
position: relative;
right: 30px
}
.pts-toolbox-title i.glyphicon-remove {
position: relative;
right: 13%;
font-size: 16px;
top: 2px;
}
.pts-toolbox-title {
width: 120%;
color: #fff;
margin-bottom: 15px;
padding: 10px;
right: 15px;
position: relative;
margin-top: -15px;
cursor: pointer;
height: 40px;
}
.pts-toolbox-task-header, .pts-toolbox-user-header {
position: relative;
left: 5px;
padding: 5px 20px 5px 20px;
color: #fff;
border-radius: 0 30px 30px 0;
cursor: pointer;
}
.pts-task-assign-delete-user {
cursor: pointer;
color: #f00;
width: 25px;
}
.pts-toolbox-back-btn {
position: relative;
top: -1px;
padding-right: 4px;
cursor: pointer;
}
.pts-button-see-all {
margin-left: 10px;
background-color: #fff;
color: #000 ;
}
.panel-body > .label {
position: relative;
bottom: 5px;
}
.pts-user-edit-task {
cursor: pointer;
margin-right: 1px;
}
.pts-edit-assignation-box {
border: 1px solid #000;
padding: 7px;
margin-top: 10px;
margin-bottom: 10px;
}
/************ List view ************/
.pts-list-range-btn.selected {
background-color: #0097A7 ;
}
.pts-list-range-btn {
height: 35px;
margin-top: auto;
margin-bottom: auto;
background-color: #00BCD4;
color: #fff;
}
.pts-list-row-task {
margin-bottom: 2px;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select:none;
user-select:none;
-o-user-select:none;
min-height: 35px;
}
.pts-list-row-task > label {
position: relative;
padding-top: 8px;
left: 5px;
}
.pts-list-personalized-inputs-container {
position: relative;
top: 6px;
}
.pts-list-personalized-inputs-container .col-sm-5,
.pts-list-personalized-inputs-container .col-sm-2 {
display: inline-flex;
}
.pts-list-personalized-inputs-container .col-sm-5 > span {
margin-right: 5px;
margin-top: 5px;
}
.pts-list-range-submit {
background-color: #00BCD4;
color: #fff;
position: relative;
bottom: 2px;
}
.pts-list-range-dismiss {
position: relative;
bottom: 2px;
}
.pts-list-tasks-container {
position: relative;
left: 15px;
top: 15px;
width:100%;
}
.pts-list-user-name, .pts-list-task-header {
cursor: pointer;
}
.pts-list-user-name:hover {
background-color: #00BCD4;
color: #fff;
}
.pts-list-search-task {
width: 95%;
margin: 5px 0 10px 3px;
}
.pts-list-task-header .label {
position: relative;
bottom: 2px;
left: 4px;
}
.pts-filter-container {
background-color: #fff;
padding: 13px;
border: 1px dashed #aaa;
}
/*********** Notifications **********/
#pts-notification-container {
position: absolute;
right: 5px;
width: 400px;
max-height: 95%;
top: 5px;
z-index: 3000;
overflow: hidden;
}
div.alert {
margin-bottom: 5px;
}
/************ Spinner *************/
#pts-spinner-container {
background-color: rgba(255, 255, 255, 0.9);
z-index: 1000;
position: absolute;
width: 100%;
height: 100%;
display: none;
}
.pts-spinner {
font-size: 100px;
width: 1em;
height: 1em;
position: relative;
margin: 100px auto;
border-radius: 50%;
border: .01em solid rgba(150,150,150,0.1);
list-style: none;
}
.pts-spinner li {
position: absolute;
width: .2em;
height: .2em;
border-radius: 50%;
}
.pts-spinner li:nth-child(1) {
left: 50%;
top: 0;
margin: 0 0 0 -.1em;
background: #00C176;
-webkit-transform-origin: 50% 250%;
transform-origin: 50% 250%;
-webkit-animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
animation:
rota 1.13s linear infinite,
opa 3.67s ease-in-out infinite alternate;
}
.pts-spinner li:nth-child(2) {
top: 50%;
right: 0;
margin: -.1em 0 0 0;
background: #FF003C;
-webkit-transform-origin: -150% 50%;
transform-origin: -150% 50%;
-webkit-animation:
rota 1.86s linear infinite,
opa 4.29s ease-in-out infinite alternate;
animation:
rota 1.86s linear infinite,
opa 4.29s ease-in-out infinite alternate;
}
.pts-spinner li:nth-child(3) {
left: 50%;
bottom: 0;
margin: 0 0 0 -.1em;
background: #FABE28;
-webkit-transform-origin: 50% -150%;
transform-origin: 50% -150%;
-webkit-animation:
rota 1.45s linear infinite,
opa 5.12s ease-in-out infinite alternate;
animation:
rota 1.45s linear infinite,
opa 5.12s ease-in-out infinite alternate;
}
.pts-spinner li:nth-child(4) {
top: 50%;
left: 0;
margin: -.1em 0 0 0;
background: #88C100;
-webkit-transform-origin: 250% 50%;
transform-origin: 250% 50%;
-webkit-animation:
rota 1.72s linear infinite,
opa 5.25s ease-in-out infinite alternate;
animation:
rota 1.72s linear infinite,
opa 5.25s ease-in-out infinite alternate;
}
@-webkit-keyframes rota {
from { }
to { -webkit-transform: rotate(360deg); }
}
@keyframes rota {
from { }
to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-webkit-keyframes opa {
0% { }
12.0% { opacity: 0.80; }
19.5% { opacity: 0.88; }
37.2% { opacity: 0.64; }
40.5% { opacity: 0.52; }
52.7% { opacity: 0.69; }
60.2% { opacity: 0.60; }
66.6% { opacity: 0.52; }
70.0% { opacity: 0.63; }
79.9% { opacity: 0.60; }
84.2% { opacity: 0.75; }
91.0% { opacity: 0.87; }
}
@keyframes opa {
0% { }
12.0% { opacity: 0.80; }
19.5% { opacity: 0.88; }
37.2% { opacity: 0.64; }
40.5% { opacity: 0.52; }
52.7% { opacity: 0.69; }
60.2% { opacity: 0.60; }
66.6% { opacity: 0.52; }
70.0% { opacity: 0.63; }
79.9% { opacity: 0.60; }
84.2% { opacity: 0.75; }
91.0% { opacity: 0.87; }
}