scinote-web/app/assets/stylesheets/projects.scss
2021-03-12 12:21:10 +01:00

889 lines
16 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;
/* 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;
}
}
// New projects page
#breadcrumbsWrapper {
background: $color-white;
height: 1em;
margin-left: -2em;
padding: 0 2em;
width: calc(100% + 4em);
.projects-breadcrumbs {
padding: .75em 0;
}
&.breadcrumbs-in-secondary-navigation {
.projects-breadcrumbs {
margin-left: 3em;
padding-bottom: 0;
}
}
}
.projects-index {
.project-users-list {
hr {
margin: .5em 0;
}
}
.delete-folders-form,
.delete-folders-btn {
display: inline-block;
}
.filter-container {
.projects-filters {
.select-block {
&.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;
}
}
}
}
.users-dropdown-list {
.item-avatar {
border-radius: 50%;
height: 20px;
margin: 0 .5em 0 0;
width: 20px;
}
}
}
.projects-toolbar {
.form-group {
width: 100%;
}
.archive-projects-form {
display: inline-block;
}
.restore-projects-form {
display: inline-block;
}
}
.projects-container {
margin: 1.5em 0;
.cards-wrapper {
--card-min-width: 291px;
--list-columns-number: 6;
.projects-group {
grid-column: 1/-1;
margin: 0;
}
.card {
.project-users-link {
align-items: center;
color: $color-silver-chalice;
display: flex;
&: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;
}
&.user-cell {
a:hover {
text-decoration: none;
}
.value {
display: flex;
flex-wrap: wrap;
}
.global-avatar-container {
height: 2em;
line-height: 2em;
margin-right: .25em;
width: 2em;
}
.more-users {
background: $color-volcano;
border-radius: 50%;
color: $color-white;
height: 2em;
line-height: 2em;
margin-right: .25em;
text-align: center;
text-decoration: none;
width: 2em;
}
.new-user {
background: $color-concrete;
text-align: center;
}
}
}
}
}
&.list {
grid-template-columns: max-content repeat(calc(var(--list-columns-number) - 3), minmax(100px, auto)) max-content max-content;
.projects-group {
display: contents;
.projects-breadcrumbs {
grid-column: inherit;
}
&::after {
background: $color-concrete;
content: "";
display: inline-block;
grid-column: inherit;
height: 1px;
}
}
.card {
.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;
}
&.folder-card {
text-align: left;
.icon-folder {
display: none;
font-size: 2em;
margin: 0;
}
.name {
grid-column: 5 span;
line-height: 3em;
&:before {
@include font-awesome;
content: "\f07b";
margin-right: .25em;
}
}
.description {
display: none;
}
}
&.project-card {
.card-value {
display: none;
}
.project-name-cell {
grid-column: 2;
height: 100%;
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 {
align-items: center;
display: flex;
grid-column: 6;
position: initial;
}
}
}
}
}
}
&.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 {
.data-row {
color: $color-silver-chalice;
.card-label {
color: $color-silver-chalice;
}
&.archived-date-cell {
color: $color-volcano;
.card-label {
color: $color-volcano;
}
}
}
}
&.list {
--list-columns-number: 7;
grid-auto-rows: 3em 1px;
grid-template-columns: max-content repeat(calc(var(--list-columns-number) - 2), minmax(100px, auto)) max-content;
.card {
&.folder-card {
.name {
grid-column: 6 span;
}
}
.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;
}
}