scinote-web/app/assets/stylesheets/projects.scss
2023-07-05 12:03:44 +02:00

1285 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;
/* 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, .new-my-module-button {
margin-right: 5px;
}
.actions-button {
margin-right: 15px;
.fas {
margin-right: .4em;
}
a {
padding: .5em 1em;
}
}
.toolbarButtons {
align-items: center;
display: flex;
.zoom-text {
margin-right: 5px;
}
}
}
#update-canvas {
.canvas-header {
padding: 1em 2em;
}
}
#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;
.empty-canvas {
color: $color-volcano;
display: flex;
font-size: 22px;
justify-content: center;
margin-top: 48px;
}
}
.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;
.task-card-code {
color: $color-volcano;
font-style: normal;
font-weight: 400;
margin-bottom: 4px;
.new-my-module-canvas {
color: $color-silver-chalice;
}
}
}
.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;
&:hover {
text-decoration: none;
}
}
.panel-body .due-date-label {
margin-left: .5em;
&.empty-label {
color: $color-alto;
}
}
&.expanded {
z-index: 30;
}
.my-module-title {
color: $color-black;
}
&.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;
}
}
.nav-tabs {
border-bottom: 0;
}
.designated-users-task-title {
padding-left: 15px;
}
.user-role {
@include font-small;
}
&.private {
@include font-main;
color: $color-silver-chalice;
height: 136px;
padding: 1.5em 2em;
.panel-body {
align-items: center;
display: flex;
flex-direction: column;
}
.fas {
flex-grow: 1;
font-size: 24px;
}
.description {
margin-top: .5em;
text-align: center;
}
}
.panel-footer {
.btn-link {
display: flex;
}
}
}
/* 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;
}
&.private {
@include font-main;
color: $color-silver-chalice;
.fas {
margin-right: .25em;
}
}
}
.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: 20px;
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;
}
&.private {
@include font-main;
align-items: center;
background: $color-white;
box-shadow: none;
color: $color-silver-chalice;
display: flex;
justify-content: center;
}
}
/* 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: 20px;
&: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;
}
#manage-module-tags-modal-intro {
padding-left: 15px;
border-top: 0;
width: 568px;
height: 30px;
font-style: normal;
font-weight: 400;
font-size: 16px;
line-height: 21px;
color: $color-volcano;
flex: none;
order: 1;
align-self: stretch;
flex-grow: 0;
}
}
// 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 {
.content-header {
height: var(--content-header-size);
}
.project-users-list {
hr {
margin: .5em 0;
}
}
.projects-title {
flex-grow: 1;
}
.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;
}
}
}
}
}
.projects-toolbar {
.project-actions {
align-items: center;
display: flex;
justify-content: space-between;
.btn {
margin-right: .25em;
}
.left {
align-self: flex-start;
}
.middle {
align-self: center;
}
.right {
align-self: flex-end;
display: flex;
}
}
.form-group {
width: 100%;
}
.archive-projects-form {
display: inline-block;
}
.restore-projects-form {
display: inline-block;
}
}
.projects-container {
margin: 0;
.cards-wrapper {
--card-min-width: 291px;
--list-columns-number: 6;
&.last-page {
padding-bottom: 5em;
position: relative;
}
.projects-group {
grid-column: 1/-1;
margin: 0;
}
.card {
.project-users-link {
align-items: center;
color: $color-silver-chalice;
display: flex;
gap: .25rem;
&: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;
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;
overflow: hidden;
a {
color: inherit;
&.disabled-link {
color: var(--sn-grey);
pointer-events: none;
text-decoration: none;
.name {
color: var(--sn-grey);
}
}
}
.name {
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
}
}
.actions {
position: absolute;
right: .2em;
top: .2em;
.dropdown-menu {
z-index: 102;
}
.dropdown-backdrop {
z-index: 101;
}
.project-actions-menu {
height: 28px;
width: 28px;
a {
@include font-button;
padding: .5em 1em;
.fas {
margin-right: .4em;
text-align: left;
width: 1.1em;
}
}
&.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 {
align-items: center;
display: flex;
height: 2em;
justify-content: center;
position: unset;
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;
}
}
}
}
&.project-placeholder {
align-items: center;
background-color: $color-white;
border-radius: $border-radius-default;
box-shadow: $flyout-shadow;
display: flex;
.placeholder-element {
animation-duration: 2s;
animation-iteration-count: infinite;
animation-name: placeholder-pulsing;
background-color: var(--sn-sleepy-grey);
border-radius: $border-radius-default;
height: 18px;
&.line-0 {
flex-basis: 80%;
}
&.line-1 {
flex-basis: 65%;
}
&.line-2 {
flex-basis: 85%;
}
&.line-3 {
flex-basis: 25%;
}
&.circle {
border-radius: 50%;
height: 27px;
margin-left: .5em;
width: 27px;
}
@keyframes placeholder-pulsing {
0% {
opacity: 1;
}
50% {
opacity: .5;
}
100% {
opacity: 1;
}
}
}
}
}
&.list {
grid-auto-rows: minmax(4em, auto) 1px;
grid-template-columns: max-content repeat(calc(var(--list-columns-number) - 2), 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 {
align-items: center;
display: flex;
grid-column: 6 span;
line-height: 3em;
}
.description {
display: none;
}
}
&.project-card {
.card-value {
display: none;
}
.project-name-cell {
grid-column: 2;
height: 100%;
margin: 0;
padding: 5px .5em;
h3 {
line-height: 1.25em;
}
a:hover {
color: $brand-primary-light;
}
}
.project-code-cell {
display: flex;
align-items: center;
grid-column: 3;
}
.start-date-cell {
grid-column: 4;
}
.visibility-cell {
grid-column: 5;
}
.user-cell {
grid-column: 6;
}
.actions-cell {
align-items: center;
display: flex;
grid-column: 7;
position: initial;
}
}
&.project-placeholder {
display: contents;
.placeholder-element {
display: none;
padding: .5em 0;
}
.line-0 {
display: block;
grid-column: 2;
width: 50%;
}
.line-1 {
display: block;
grid-column: 3;
width: 75%;
}
.line-2 {
display: block;
grid-column: 4;
width: 75%;
}
.circle-0 {
display: block;
grid-column: 5;
}
}
}
}
}
.project-list-end-placeholder {
align-items: center;
background-color: $color-concrete;
bottom: 1em;
display: flex;
height: 3em;
left: calc(50% - 150px);
margin: 0 auto;
padding: 1em;
position: absolute;
width: 300px;
> * {
flex-grow: 1;
text-align: center;
}
}
}
&.active {
[data-view-mode="archived"] {
display: none !important;
}
}
&.archived {
[data-view-mode="active"] {
display: none !important;
}
.projects-container {
.project-actions-menu {
height: 28px;
width: 28px;
.btn-light:hover {
background: $color-alto;
}
}
.cards-wrapper {
grid-auto-rows: 2.5em;
.visibility-cell {
.value {
color: $color-black;
}
}
.start-date-cell {
.value {
color: $color-black;
}
}
.archived-date-cell {
z-index: 2;
.value {
color: $color-black;
}
}
&.last-page.cards {
.project-card {
.start-date-cell {
top: 36px;
.value {
color: $color-black;
}
}
.archived-date-cell {
top: 26px;
.value {
color: $color-black;
}
}
.visibility-cell {
top: 16px;
.value {
color: $color-black;
}
}
.user-cell {
top: 6px;
}
}
}
.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: 8;
grid-auto-rows: minmax(4em, auto) 1px;
grid-template-columns: max-content repeat(calc(var(--list-columns-number) - 3), minmax(100px, auto)) max-content max-content;
.card {
&.folder-card {
.name {
grid-column: 7 span;
}
}
.user-cell {
grid-column: 7;
}
.archived-date-cell {
grid-column: 5;
}
.actions-cell {
grid-column: 8;
position: initial;
}
.visibility-cell {
grid-column: 6;
}
}
}
}
}
}
}
#move-to-modal {
.button-to-inline-form {
display: inline;
position: relative;
}
.sci-input-container.left-icon {
margin: 1em 0;
}
}
.cards-wrapper.cards {
grid-gap: 25px;
.project-card {
.project-name-cell {
align-items: start !important;
top: 12%;
min-height: 35px;
position: absolute;
left: 14px;
top: 42px;
a {
color: inherit;
}
.name {
-webkit-box-orient: vertical;
display: -webkit-box;
-webkit-line-clamp: 2;
overflow: hidden;
}
}
.project-code-cell {
height: min-content;
margin-top: 3px;
position: relative;
}
.data-row {
position: relative;
top: 5%;
.card-label {
color: #808080 !important;
}
&.start-date-cell {
top: 30px;
}
&.visibility-cell {
top: 18px;
}
&.user-cell {
top: 5px;
}
}
}
}