scinote-web/app/assets/stylesheets/projects.scss
2021-01-14 16:24:28 +01:00

1258 lines
23 KiB
SCSS

// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
// scss-lint:disable IdSelector
@import "constants";
@import "mixins";
// Some color definitions
$color-group-hover: $color-alabaster;
$color-module-hover: $brand-primary;
// Breadcrumbs
.projects-breadcrumbs {
padding: .5em 1em;
}
/* Secondary navigation */
.navbar-nav {
.projects-view-mode-switch {
margin: 8px 10px 12px;
}
}
/* Canvas index page */
#canvas-container:not(.canvas-container-edit-mode) {
margin-top: 5px;
}
/**********************************
* jsPlumb CANVAS RELATED STYLING *
*********************************/
#diagram-buttons {
align-items: center;
display: flex;
#edit-canvas-button {
margin-right: 5px;
}
.actions-button {
margin-right: 15px;
}
.toolbarButtons {
align-items: center;
display: flex;
.zoom-text {
margin-right: 5px;
}
}
}
#update-canvas {
.canvas-header {
margin-bottom: 5px;
}
}
#canvas-new-module {
.hbtn-default {
opacity: 1;
width: 0;
float: none;
}
.hbtn-hover {
opacity: 0;
width: 0;
height: 0;
float: left;
}
&:hover {
.hbtn-default {
opacity: 0;
height: 0;
float: left;
}
.hbtn-hover {
opacity: 1;
float: none;
}
}
}
#diagram-container {
@include box-shadow(0 0 2px 1px $color-silver);
background: $color-silver;
cursor: move;
height: 650px;
overflow: hidden;
// for IE10+ touch devices
touch-action: none;
}
.diagram {
position: relative;
display: block;
.window:hover {
@include box-shadow(2px 2px 19px $color-emperor);
}
.hover {
border: 1px dotted red;
}
._jsPlumb_connector {
z-index: 4;
}
._jsPlumb_endpoint_anchor {
}
._jsPlumb_endpoint, ._jsPlumb_endpoint_full {
z-index: 21;
cursor: pointer;
}
._jsPlumb_overlay, .endpointTargetLabel, .endpointSourceLabel {
z-index: 21;
background-color: $color-white;
cursor: pointer;
}
.connLabel {
background-color: $color-white;
color: $color-dove-gray;
padding: 0px 7px 2px 7px;
font: 20px arial;
font-weight: bold;
border-radius: 50%;
z-index: 5;
cursor: pointer;
&:hover {
color: $brand-primary;
padding: 2px 9px 4px 9px;
}
}
}
.window._jsPlumb_connected {
border: 2px solid green;
}
.jsplumb-drag .title {
background-color: $brand-primary !important;
color: $color-white !important;
}
path, ._jsPlumb_endpoint {
cursor: pointer;
}
.ep-normal svg * {
fill: $color-white;
}
.ep-hover svg * {
fill: $brand-primary;
}
/* EDIT MODE MODULE */
.module.new {
opacity: 0.7;
}
.module.dragged > .panel-heading {
background-color: $brand-primary;
color: $color-white;
}
.module.collided {
.overlay {
display: block;
z-index: 21;
background-color: $brand-danger;
border: 1px solid $brand-danger;
@include box-shadow(0 0 0 1pt $brand-danger);
border-radius: 4px;
position: absolute;
top: 0;
height: 100%;
width: 100%;
opacity: 0.7;
}
}
.module {
cursor: pointer;
display: block;
position: absolute;
width: 290px;
.panel-heading {
height: 40px;
.dropdown {
bottom: 18px;
left: 0;
}
}
.panel-body {
height: 90px;
}
.ep {
font-style: italic;
}
.dropdown {
.dropdown-toggle {
color: $color-silver-chalice;
}
.dropdown-menu {
z-index: 30;
}
}
.overlay {
display: none;
}
}
/* FULL-ZOOM MODULE */
.module-large {
cursor: pointer;
display: block;
position: absolute;
width: 300px;
z-index: 5;
.panel-body .due-date-link {
color: $color-emperor;
display: block;
}
.panel-body .due-date-label {
margin-left: 30px;
}
&.expanded {
z-index: 30;
}
&.group-hover {
@include box-shadow(0 0 0 5px $color-group-hover);
}
&.module-hover {
@include box-shadow(0 0 0 5px $color-module-hover);
}
&.alert-green .panel-body {
color: $brand-success;
font-weight: bold;
.due-date-link {
color: $brand-success;
}
}
&.alert-yellow .panel-body {
color: $brand-warning;
font-weight: bold;
.due-date-link {
color: $brand-warning;
}
}
&.alert-red .panel-body {
color: $brand-danger;
font-weight: bold;
.due-date-link {
color: $brand-danger;
}
}
}
/* MEDIUM-ZOOM MODULE */
.module-medium {
width: 200px;
cursor: pointer;
position: absolute;
display: block;
z-index: 5;
&.group-hover {
@include box-shadow(0 0 0 5px $color-group-hover);
}
&.module-hover {
@include box-shadow(0 0 0 5px $color-module-hover);
}
&.alert-green {
border-color: $brand-success;
border-radius: 8px;
border-width: 4px;
}
&.alert-yellow {
border-color: $brand-warning;
border-width: 4px;
border-radius: 8px;
}
&.alert-red {
border-color: $brand-danger;
border-width: 4px;
border-radius: 8px;
}
}
.module-large .tags-container,
.module-medium .tags-container {
padding-top: 4px;
div {
font-size: 20px;
width: 4px;
height: 0px;
display: inline-block;
& .fas {
position: inherit;
}
&.last {
margin-right: 15px;
color: $color-silver-chalice;
}
}
& span.badge {
margin-left: -12px;
margin-right: 4px;
margin-top: -7px;
}
}
/* SMALL-ZOOM MODULE */
.module-small {
width: 50px;
height: 50px;
border-radius: 50%;
border: 6px solid $color-white;
@include box-shadow(inset 5px 5px 45px -6px $color-dove-gray);
background-color: $color-alto;
cursor: pointer;
position: absolute;
display: block;
text-align: center;
z-index: 5;
color: black;
span {
font-weight: bold;
font-size: $font-size-large;
text-transform: uppercase;
display: block;
margin-top: 20%;
a {
color: $color-emperor;
}
}
&.group-hover {
@include box-shadow(0 0 0 5px $color-group-hover);
}
&.module-hover {
@include box-shadow(0 0 0 5px $color-module-hover);
}
&.alert-green {
border-color: $brand-success;
}
&.alert-yellow {
border-color: $brand-warning;
}
&.alert-red {
border-color: $brand-danger;
}
}
/* Sidebar hovered style */
li.group-hover {
background-color: $color-silver;
border-radius: 4px;
}
li.module-hover {
a {
color: $brand-primary;
text-decoration: underline;
}
}
/* Edit module tags modal window */
#manage-module-tags-modal {
.add-tag-form {
display: inline-block;
margin-left: 15px;
}
.modal-body ul.list-group > li {
padding-top: 2px;
padding-bottom: 2px;
& > div.tag-show {
color: $color-white;
form {
display: inline-block;
.btn-link {
margin-top: 4px;
}
}
}
& > div.tag-edit {
.form-group {
margin-bottom: 2px;
margin-top: 3px;
}
.dropdown-colorselector {
display: inline-block;
.btn-colorselector {
height: 30px;
width: 30px;
margin-top: 5px;
font-family: 'Glyphicons Halflings';
color: $color-white;
font-size: $font-size-large;
&:before {
content: "\e221";
margin-left: 6px;
}
}
}
}
.fas {
color: $color-white;
font-size: $font-size-h6;
}
a.btn-link {
padding-top: 10px;
}
}
.well {
margin-bottom: 0;
& .bootstrap-select {
width: 150px !important;
}
}
.create-new-tag-btn {
margin-right: 15px;
margin-top: 10px;
}
}
/// icon override
.panel-project {
.nav-tabs[data-hook="project-footer-icons"] {
.btn-link {
display: inline-block;
min-width: 30px;
}
.badge-indicator {
background: transparent;
color: $color-silver-chalice;
font-size: 12px;
margin-left: 0;
padding: 0;
top: 0;
}
}
.tab-content[data-hook="project-dropdown-panel"] {
.over-due {
.title {
border-top: 1px solid $color-concrete;
font-size: 14px;
line-height: 15px;
padding: 10px 15px 0;
}
.notification {
padding-left: 35px;
.date-time {
position: relative;
.fas {
font-size: 14px;
left: -20px;
position: absolute;
top: 2px;
}
}
}
}
}
}
// New projects page
.projects-index {
.cards-wrapper {
align-items: center;
display: grid;
grid-auto-rows: 2em;
grid-column-gap: 1em;
grid-row-gap: 1em;
grid-template-columns: repeat(auto-fill, minmax(291px, 1fr));
width: 100%;
.table-header {
display: none;
}
}
.projects-view-mode {
&.active::after {
@include font-awesome;
content: "\f00c";
position: absolute;
right: 1em;
}
}
.archive-projects-form {
display: inline-block;
}
.restore-projects-form {
display: inline-block;
}
.header-actions {
align-items: center;
display: flex;
margin-left: auto;
.projects-sort-menu {
display: inline-block;
#sortMenu {
background: $color-white;
&:focus,
&:active {
box-shadow: none;
}
&:hover {
background: $color-concrete;
}
}
.dropdown-menu {
@include font-button;
min-width: 150px;
padding: .5em 0;
a {
border-radius: unset;
cursor: pointer;
padding: .5em 1em;
text-align: left;
&:hover {
background: $color-concrete;
}
&.selected::after {
@include font-awesome;
content: $font-fas-check;
margin-left: auto;
position: absolute;
right: 1em;
}
}
}
}
}
.filter-container {
position: initial;
.projects-filters {
padding: 0;
width: 230px;
.header {
align-items: center;
border-bottom: $border-default;
display: flex;
height: 2.75em;
margin-bottom: 1em;
padding: 0 .3em 0 1em;
.title {
@include font-h2;
flex-grow: 1;
user-select: none;
}
}
.select-block {
display: inline-block;
padding: 0 1em 1em;
position: relative;
width: 100%;
label {
@include font-small;
font-weight: bold;
margin-bottom: .3em;
user-select: none;
}
&.folders {
align-items: center;
display: flex;
.folder-search-label {
@include font-button;
margin: 0 .3em;
}
.fas {
color: inherit;
cursor: pointer;
text-decoration: none;
}
.folder-search-popover {
@include font-button;
left: -140px;
padding: 1.25em;
width: 220px;
}
}
}
.text-search-filter {
&.open {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
}
.recent-searches {
border-top-left-radius: 0;
border-top-right-radius: 0;
left: auto;
margin-top: -1px;
top: auto;
width: calc(100% - 2em);
label {
@include font-small;
color: $color-silver-chalice;
font-weight: bold;
margin-bottom: .3em;
padding: 0 1.5em;
user-select: none;
}
.projects-search-keyword {
@include font-button;
padding: .5em 1.25em;
.keyword-text {
margin-left: .25em;
}
}
}
.footer {
align-items: center;
border-top: $border-default;
display: flex;
height: 4.25em;
justify-content: center;
padding: 0 1em;
position: relative;
width: 100%;
}
}
&.filters-applied::after {
background: $brand-danger;
border: 1px solid $color-white;
border-radius: 50%;
content: "";
height: .5em;
left: 1.5em;
position: absolute;
top: .5em;
width: .5em;
}
.connect-line {
background: $input-border;
height: 10px;
margin: 5px auto;
width: 2px;
}
@media (min-width: 768px) {
.projects-filters {
width: 460px;
}
.footer {
.btn:last-child {
margin-left: auto;
}
}
.datetime-picker-container {
display: inline-block;
width: 46%;
}
.connect-line {
display: inline-block;
margin: 0 11px;
position: relative;
top: 2px;
transform: rotate(90deg);
}
.created-on-label {
display: block;
}
}
.users-dropdown-list {
.item-avatar {
border-radius: 50%;
height: 20px;
margin: 0 .5em 0 0;
width: 20px;
}
}
}
.projects-toolbar {
margin-bottom: 1em;
.form-group {
width: 100%;
}
}
.projects-container {
margin: 1.5em 20px;
.cards-wrapper {
align-items: center;
display: grid;
grid-auto-rows: 2em;
grid-column-gap: 1em;
grid-row-gap: 1em;
grid-template-columns: repeat(auto-fill, minmax(291px, 1fr));
width: 100%;
&.no-results {
display: block;
margin-top: 100px;
.no-results-img {
display: block;
margin: auto;
max-height: 230px;
}
.no-results-title {
@include font-h1;
margin-bottom: .25em;
margin-top: 1.25em;
text-align: center;
}
.no-results-description {
@include font-main;
color: $color-silver-chalice;
text-align: center;
}
}
.table-header {
display: none;
}
.projects-group {
grid-column: 1/-1;
margin: 0;
}
.card {
background-color: $color-white;
color: $color-volcano;
display: flex;
flex-wrap: wrap;
grid-row: span 4;
height: 100%;
padding: .5em 1em;
position: relative;
width: 100%;
.checkbox-cell {
align-items: center;
display: flex;
height: 2em;
justify-content: center;
left: .5em;
position: absolute;
top: .5em;
width: 2em;
}
.user-cell {
.global-avatar-container {
height: 28px;
margin-right: .25em;
width: 28px;
}
.value {
display: flex;
flex-wrap: wrap;
}
}
.manage-users-link {
color: $color-silver-chalice;
&:hover {
text-decoration: none;
}
}
&.folder-card {
text-align: center;
.icon-folder {
color: $brand-primary-light;
font-size: 5em;
width: 100%;
}
.name {
color: $color-volcano;
font-weight: bold;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
.description {
color: $color-volcano;
width: 100%;
}
.project-folder-link {
color: $color-volcano;
display: contents;
text-decoration: none;
}
}
&.project-card {
border-radius: 4px;
box-shadow: $flyout-shadow;
.project-name-cell {
align-items: center;
display: flex;
height: 2em;
margin: 0 1.75em;
overflow: hidden;
a {
color: inherit;
overflow: hidden;
white-space: nowrap;
}
.name {
line-height: 2em;
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
}
}
.actions {
position: absolute;
right: .2em;
top: .2em;
.project-actions-menu {
a {
@include font-button;
padding: .5em 1em;
.fas {
margin-right: .4em;
}
}
&.new-comments::after {
@include red-dot;
right: .4em;
top: .4em;
}
&.new-comments {
.fa-comment {
position: relative;
&::after {
@include red-dot;
right: -.4em;
top: -.3em;
}
}
}
}
}
.data-row {
@include font-button;
align-items: center;
color: $color-black;
display: flex;
flex-basis: 100%;
font-weight: bold;
line-height: 2em;
.card-label {
color: $color-volcano;
font-weight: normal;
width: 5.5em;
}
.cell-value {
display: none;
}
.more-users {
align-items: center;
background: $color-volcano;
border-radius: 50%;
color: $color-white;
cursor: pointer;
display: flex;
height: 2em;
justify-content: center;
margin-right: .25em;
width: 2em;
&:hover {
text-decoration: none;
}
}
.new-user {
align-items: center;
background: $color-concrete;
border-radius: 50%;
cursor: pointer;
display: flex;
height: 2em;
justify-content: center;
width: 2em;
}
}
}
}
&.list {
grid-auto-flow: dense;
grid-auto-rows: 2em 1px;
grid-row-gap: .5em;
grid-template-columns: max-content repeat(3, minmax(100px, auto)) max-content max-content;
margin: 40px 0 0 6px;
.projects-group {
display: contents;
.projects-breadcrumbs {
grid-column: inherit;
}
&::after {
background: $color-concrete;
content: "";
display: inline-block;
grid-column: inherit;
height: 1px;
}
}
.card {
display: contents;
// Border element
&:after {
background: $color-concrete;
content: "";
display: inline-block;
grid-column: 1/-1;
height: 1px;
}
.data-row {
font-weight: normal;
line-height: 1.25em;
}
.card-label {
display: none;
}
.cell-value {
display: block !important;
}
.name {
@include font-button;
color: $brand-primary;
font-weight: normal;
}
.checkbox-cell {
position: initial;
}
&.folder-card {
text-align: left;
.icon-folder {
display: none;
font-size: 2em;
margin: 0;
}
.name {
grid-column: 5 span;
&:before {
@include font-awesome;
content: "\f07b";
margin-right: .25em;
}
}
.description {
display: none;
}
}
&.project-card {
.card-value {
display: none;
}
.checkbox-cell {
grid-column: 1;
}
.project-name-cell {
grid-column: 2;
margin: 0;
a:hover {
color: $brand-primary-light;
}
}
.start-date-cell {
grid-column: 3;
}
.visibility-cell {
grid-column: 4;
}
.user-cell {
grid-column: 5;
}
.actions-cell {
grid-column: 6;
position: initial;
}
}
}
.table-header {
display: contents;
&::after {
content: "";
grid-column: 1/-1;
}
.table-header-cell {
align-items: center;
border: 1px solid $color-white;
display: flex;
height: 3em;
margin-left: -.5em;
padding: 0 .5em;
width: calc(100% + 1em);
&.select-all-checkboxes {
justify-content: center;
position: relative;
}
}
& > * {
background-color: $color-concrete;
}
}
}
}
}
&.active {
[data-view-mode="archived"] {
display: none !important;
}
}
&.archived {
[data-view-mode="active"] {
display: none !important;
}
.projects-container {
.project-actions-menu {
.btn-light:hover {
background: $color-alto;
}
}
.cards-wrapper {
grid-auto-rows: 2.5em;
.card.project-card {
background: $color-concrete;
box-shadow: none;
.data-row {
color: $color-silver-chalice;
.card-label {
color: $color-silver-chalice;
}
&.archived-date-cell {
color: $color-volcano;
.card-label {
color: $color-volcano;
}
}
}
}
&.list {
grid-auto-rows: 2em 1px;
grid-template-columns: max-content repeat(5, minmax(100px, auto)) max-content;
.card::after {
background: $color-white;
}
.card.folder-card {
.name {
grid-column: 6 span;
}
}
.card.project-card {
.checkbox-cell,
.project-name-cell,
.actions-cell,
.data-row {
align-items: center;
background: $color-concrete;
color: $color-volcano;
display: flex;
height: 3em;
margin-left: -.5em;
padding-left: .5em;
width: calc(100% + 1em);
}
.checkbox-cell {
padding-left: 0;
}
.archived-date-cell {
grid-column: 6;
}
.actions-cell {
grid-column: 7;
position: initial;
}
}
}
}
}
}
}
#move-to-modal {
.button-to-inline-form {
display: inline;
position: relative;
}
.sci-input-container.left-icon {
margin: 1em 0;
}
}