scinote-web/app/assets/stylesheets/projects.scss

1035 lines
17 KiB
SCSS
Raw Normal View History

// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
@import 'constants';
2016-02-12 23:52:43 +08:00
@import "mixins";
// Some color definitions
2018-05-12 00:02:17 +08:00
$color-group-hover: $color-alabaster;
$color-module-hover: $brand-primary;
2016-02-12 23:52:43 +08:00
#sortMenu {
border-color: $color-white;
&:not(:focus) {
color: $color-silver-chalice;
}
&:hover {
color: inherit;
}
}
/* Secondary navigation */
.navbar-nav {
.projects-view-mode-switch {
2019-12-12 20:17:09 +08:00
margin: 8px 10px 12px;
}
}
2016-02-12 23:52:43 +08:00
/* Canvas index page */
#canvas-container:not(.canvas-container-edit-mode) {
margin-top: 5px;
2016-02-12 23:52:43 +08:00
}
/**********************************
* jsPlumb CANVAS RELATED STYLING *
*********************************/
#diagram-buttons {
align-items: center;
display: flex;
2016-02-12 23:52:43 +08:00
#edit-canvas-button {
margin-right: 5px;
2016-02-12 23:52:43 +08:00
}
.actions-button {
margin-right: 15px;
2016-02-12 23:52:43 +08:00
}
.toolbarButtons {
align-items: center;
display: flex;
.zoom-text {
margin-right: 5px;
}
}
}
#update-canvas {
2019-12-12 20:17:09 +08:00
.canvas-header {
margin-bottom: 5px;
2016-02-12 23:52:43 +08:00
}
}
#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 {
2018-05-14 18:08:45 +08:00
@include box-shadow(0 0 2px 1px $color-silver);
2018-05-12 00:02:17 +08:00
background: $color-silver;
2016-02-12 23:52:43 +08:00
cursor: move;
2018-05-14 18:08:45 +08:00
height: 650px;
overflow: hidden;
// for IE10+ touch devices
touch-action: none;
2016-02-12 23:52:43 +08:00
}
.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 {
2018-03-28 19:54:01 +08:00
color: $brand-primary;
2016-02-12 23:52:43 +08:00
padding: 2px 9px 4px 9px;
}
}
}
.window._jsPlumb_connected {
border: 2px solid green;
}
.jsplumb-drag .title {
2018-03-28 19:54:01 +08:00
background-color: $brand-primary !important;
2016-02-12 23:52:43 +08:00
color: $color-white !important;
}
path, ._jsPlumb_endpoint {
cursor: pointer;
}
.ep-normal svg * {
fill: $color-white;
}
.ep-hover svg * {
2018-03-28 19:54:01 +08:00
fill: $brand-primary;
2016-02-12 23:52:43 +08:00
}
/* EDIT MODE MODULE */
.module.new {
opacity: 0.7;
}
.module.dragged > .panel-heading {
2018-03-28 19:54:01 +08:00
background-color: $brand-primary;
2016-02-12 23:52:43 +08:00
color: $color-white;
}
.module.collided {
.overlay {
display: block;
z-index: 21;
2018-03-28 19:54:01 +08:00
background-color: $brand-danger;
border: 1px solid $brand-danger;
@include box-shadow(0 0 0 1pt $brand-danger);
2016-02-12 23:52:43 +08:00
border-radius: 4px;
position: absolute;
top: 0;
height: 100%;
width: 100%;
opacity: 0.7;
}
}
.module {
cursor: pointer;
display: block;
2016-08-23 19:51:20 +08:00
position: absolute;
width: 290px;
2016-02-12 23:52:43 +08:00
.panel-heading {
height: 40px;
.dropdown {
bottom: 18px;
left: 0;
}
}
.panel-body {
2016-08-23 22:08:05 +08:00
height: 90px;
2016-02-12 23:52:43 +08:00
}
.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;
2016-02-12 23:52:43 +08:00
z-index: 5;
.panel-body .due-date-link {
color: $color-emperor;
2020-09-02 21:41:07 +08:00
display: block;
2016-02-12 23:52:43 +08:00
}
.panel-body .due-date-label {
margin-left: 30px;
}
2016-02-12 23:52:43 +08:00
&.expanded {
z-index: 30;
}
&.group-hover {
2016-10-13 16:11:32 +08:00
@include box-shadow(0 0 0 5px $color-group-hover);
2016-02-12 23:52:43 +08:00
}
&.module-hover {
2016-10-13 16:11:32 +08:00
@include box-shadow(0 0 0 5px $color-module-hover);
2016-02-12 23:52:43 +08:00
}
&.alert-green .panel-body {
2018-03-28 19:54:01 +08:00
color: $brand-success;
font-weight: bold;
.due-date-link {
2018-03-28 19:54:01 +08:00
color: $brand-success;
}
}
2016-02-12 23:52:43 +08:00
&.alert-yellow .panel-body {
2018-03-28 19:54:01 +08:00
color: $brand-warning;
2016-02-12 23:52:43 +08:00
font-weight: bold;
.due-date-link {
2018-03-28 19:54:01 +08:00
color: $brand-warning;
2016-02-12 23:52:43 +08:00
}
}
&.alert-red .panel-body {
2018-03-28 19:54:01 +08:00
color: $brand-danger;
2016-02-12 23:52:43 +08:00
font-weight: bold;
.due-date-link {
2018-03-28 19:54:01 +08:00
color: $brand-danger;
2016-02-12 23:52:43 +08:00
}
}
}
/* MEDIUM-ZOOM MODULE */
.module-medium {
width: 200px;
cursor: pointer;
position: absolute;
display: block;
z-index: 5;
&.group-hover {
2016-10-13 16:11:32 +08:00
@include box-shadow(0 0 0 5px $color-group-hover);
2016-02-12 23:52:43 +08:00
}
&.module-hover {
2016-10-13 16:11:32 +08:00
@include box-shadow(0 0 0 5px $color-module-hover);
2016-02-12 23:52:43 +08:00
}
&.alert-green {
2018-03-28 19:54:01 +08:00
border-color: $brand-success;
border-radius: 8px;
border-width: 4px;
}
2016-02-12 23:52:43 +08:00
&.alert-yellow {
2018-03-28 19:54:01 +08:00
border-color: $brand-warning;
2016-02-12 23:52:43 +08:00
border-width: 4px;
border-radius: 8px;
}
&.alert-red {
2018-03-28 19:54:01 +08:00
border-color: $brand-danger;
2016-02-12 23:52:43 +08:00
border-width: 4px;
border-radius: 8px;
}
}
.module-large .tags-container,
.module-medium .tags-container {
2020-07-17 20:48:45 +08:00
padding-top: 4px;
2016-02-12 23:52:43 +08:00
div {
2020-07-17 20:48:45 +08:00
font-size: 20px;
2016-02-12 23:52:43 +08:00
width: 4px;
height: 0px;
display: inline-block;
& .fas {
2016-02-12 23:52:43 +08:00
position: inherit;
}
&.last {
margin-right: 15px;
color: $color-silver-chalice;
}
}
& span.badge {
2020-07-17 20:48:45 +08:00
margin-left: -12px;
2016-02-12 23:52:43 +08:00
margin-right: 4px;
2020-07-17 20:48:45 +08:00
margin-top: -7px;
2016-02-12 23:52:43 +08:00
}
}
/* 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;
2018-03-30 15:54:57 +08:00
font-size: $font-size-large;
2016-02-12 23:52:43 +08:00
text-transform: uppercase;
display: block;
margin-top: 20%;
a {
2018-03-28 19:54:01 +08:00
color: $color-emperor;
2016-02-12 23:52:43 +08:00
}
}
&.group-hover {
2016-10-13 16:11:32 +08:00
@include box-shadow(0 0 0 5px $color-group-hover);
2016-02-12 23:52:43 +08:00
}
&.module-hover {
2016-10-13 16:11:32 +08:00
@include box-shadow(0 0 0 5px $color-module-hover);
2016-02-12 23:52:43 +08:00
}
&.alert-green {
2018-03-28 19:54:01 +08:00
border-color: $brand-success;
}
2016-02-12 23:52:43 +08:00
&.alert-yellow {
2018-03-28 19:54:01 +08:00
border-color: $brand-warning;
2016-02-12 23:52:43 +08:00
}
&.alert-red {
2018-03-28 19:54:01 +08:00
border-color: $brand-danger;
2016-02-12 23:52:43 +08:00
}
}
/* Sidebar hovered style */
li.group-hover {
background-color: $color-silver;
border-radius: 4px;
}
li.module-hover {
a {
2018-03-28 19:54:01 +08:00
color: $brand-primary;
2016-02-12 23:52:43 +08:00
text-decoration: underline;
}
}
/* Edit module tags modal window */
#manage-module-tags-modal {
.add-tag-form {
display: inline-block;
margin-left: 15px;
}
2016-02-12 23:52:43 +08:00
.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;
2018-03-30 15:54:57 +08:00
font-size: $font-size-large;
2016-02-12 23:52:43 +08:00
&:before {
content: "\e221";
margin-left: 6px;
}
}
}
}
.fas {
2016-02-12 23:52:43 +08:00
color: $color-white;
2018-03-30 15:54:57 +08:00
font-size: $font-size-h6;
2016-02-12 23:52:43 +08:00
}
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;
2016-02-12 23:52:43 +08:00
}
}
2019-01-18 22:57:44 +08:00
#project-show {
@media (min-width: 1400px) {
.col-md-6 {
width: 33.33%; // fallback if needed
width: calc(100% / 3);
2019-01-18 22:57:44 +08:00
}
}
}
// EXPERIMENT PANEL
2016-08-09 20:26:08 +08:00
.experiment-panel {
@include box-shadow(0 4px 8px 0 $color-dove-gray);
2019-01-18 23:16:00 +08:00
display: flex;
flex-direction: column;
2019-01-18 22:57:44 +08:00
height: 400px;
margin: 0 auto;
margin-bottom: 35px;
margin-top: 15px;
max-width: 700px;
2019-01-18 22:57:44 +08:00
.panel-title {
margin-bottom: 14px;
}
.panel-heading .clone-experiment,
.panel-heading .dropdown {
display: none;
}
&:hover .clone-experiment,
&:hover .dropdown {
display: block;
}
.panel-date {
color: $color-silver-chalice;
}
.panel-heading > .clone-experiment {
2019-01-18 22:57:44 +08:00
color: $color-silver-chalice;
padding-left: 4px;
2019-01-18 23:16:00 +08:00
padding-top: 2px;
2019-01-18 22:57:44 +08:00
}
.dropdown {
color: $color-silver-chalice;
2019-01-18 23:16:00 +08:00
2019-01-18 22:57:44 +08:00
button {
padding-left: 6px;
}
}
.panel-body {
display: flex;
flex: 1 1 auto;
flex-direction: column;
height: 100%;
a {
height: 100%;
}
}
.experiment-description {
margin-top: 10px;
2019-01-18 23:16:00 +08:00
max-height: 86px;
overflow-x: hidden;
2019-01-18 22:57:44 +08:00
p {
margin: 0;
}
}
.experiment-no-description {
2019-12-04 21:19:19 +08:00
@include font-h3;
color: $color-alto;
display: block;
font-weight: bold;
2019-01-18 22:57:44 +08:00
margin-top: 10px;
text-align: center;
}
.no-workflowimg {
color: $color-alto;
display: block;
font-size: 22px;
font-weight: bold;
margin: 15px 0;
2019-01-18 23:16:00 +08:00
max-height: 200px;
padding-bottom: 70px;
2019-01-18 22:57:44 +08:00
padding-top: 50px;
text-align: center;
}
}
2016-08-17 15:44:23 +08:00
2016-08-09 20:26:08 +08:00
.workflowimg-container {
align-items: center;
display: flex;
height: 100%;
justify-content: center;
img {
2019-01-18 22:57:44 +08:00
max-height: 190px;
max-width: 100%;
}
2016-08-09 20:26:08 +08:00
}
2016-08-17 15:44:23 +08:00
// SHOW
2016-08-17 15:44:23 +08:00
.center-btn {
display: block;
margin: 0 auto;
max-width: 200px;
}
2016-08-22 21:27:11 +08:00
.big-plus {
color: $color-gainsboro;
display: block;
2019-01-18 22:57:44 +08:00
font-size: 180px;
margin: 20px 0;
2016-08-22 21:27:11 +08:00
text-align: center;
&:hover {
color: $color-alto;
}
2016-08-22 21:27:11 +08:00
&:focus {
color: $color-alto;
}
}
/// 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;
}
}
}
}
}
}
2020-11-03 15:07:17 +08:00
// New projects page
.projects-container {
margin-top: 35px;
2020-11-03 15:07:17 +08:00
.cards-wrapper {
align-items: center;
display: grid;
grid-auto-rows: 11em;
grid-column-gap: 1em;
grid-row-gap: 1em;
grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
width: 100%;
.table-header {
display: none;
}
.card {
background-color: $color-white;
color: $color-volcano;
display: flex;
flex-wrap: wrap;
height: 100%;
padding: .5em 1em;
position: relative;
width: 100%;
.checkbox-cell {
align-items: center;
display: flex;
height: 2em;
justify-content: center;
left: 1em;
position: absolute;
top: .5em;
width: 2em;
}
.user-cell {
.global-avatar-container {
height: 28px;
margin-right: .25em;
width: 28px;
}
.value {
display: flex;
flex-wrap: wrap;
}
}
&.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-card {
border-radius: 4px;
box-shadow: $flyout-shadow;
.project-name-cell {
align-items: center;
display: flex;
height: 2em;
margin: 0 .5em 0 2.5em;
overflow: hidden;
a {
color: inherit;
overflow: hidden;
white-space: nowrap;
}
.name {
line-height: 2em;
margin: 0;
overflow: hidden;
text-overflow: ellipsis;
}
}
.data-row {
@include font-button;
align-items: center;
color: $color-black;
display: flex;
flex-basis: 100%;
line-height: 2em;
.information {
margin-left: auto;
}
.card-label {
color: $color-volcano;
width: 5em;
}
.new-user {
align-items: center;
background: $color-concrete;
border-radius: 50%;
cursor: pointer;
display: flex;
height: 2em;
justify-content: center;
width: 2em;
fas.fa-plus {
color: $color-silver-chalice;
}
}
}
}
}
&.list {
grid-auto-flow: dense;
grid-auto-rows: 2em 1px;
grid-row-gap: .5em;
grid-template-columns: max-content 1fr 1fr 1fr 1fr max-content;
margin: 40px 0 0 6px;
2020-11-03 15:07:17 +08:00
.card {
display: contents;
// Border element
&:after {
background: $color-concrete;
content: "";
display: inline-block;
grid-column: 1/-1;
height: 1px;
}
.card-label {
display: none;
}
.name {
@include font-button;
color: $brand-primary-light;
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 {
.start-date-row {
display: contents;
}
.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;
}
.information-cell {
grid-column: 6;
}
}
}
.table-header {
display: contents;
.table-header-cell {
align-items: center;
border: 1px solid $color-white;
display: flex;
height: 3em;
margin: 0 0 2.5em -.5em;
padding: 0 .5em;
width: calc(100% + 1em);
&.select-all-checkboxes {
justify-content: center;
position: relative;
}
}
& > * {
background-color: $color-concrete;
}
}
}
}
}
2020-10-28 15:50:10 +08:00
.projects-toolbar {
.filter-container {
.projects-filters {
2020-10-28 15:50:10 +08:00
padding: 0;
width: 230px;
.header {
align-items: center;
border-bottom: $border-default;
display: flex;
2020-10-28 15:50:36 +08:00
height: 2.75em;
margin-bottom: 1em;
padding: 0 .3em 0 1em;
2020-10-28 15:50:10 +08:00
.title {
@include font-h2;
flex-grow: 1;
user-select: none;
}
}
.select-block {
display: inline-block;
2020-10-28 15:50:36 +08:00
padding: 0 1em 1em;
2020-10-28 15:50:10 +08:00
position: relative;
width: 100%;
label {
@include font-small;
font-weight: bold;
2020-10-28 15:50:36 +08:00
margin-bottom: .3em;
2020-10-28 15:50:10 +08:00
user-select: none;
}
&.folders {
align-items: center;
2020-10-28 15:50:36 +08:00
display: flex;
2020-10-28 15:50:10 +08:00
.folder-search-label {
2020-10-28 15:50:36 +08:00
margin: 0 .3em;
2020-10-28 15:50:10 +08:00
}
}
}
.footer {
align-items: center;
border-top: $border-default;
display: flex;
2020-10-28 15:50:36 +08:00
height: 4.25em;
2020-10-28 15:50:10 +08:00
justify-content: center;
2020-10-28 15:50:36 +08:00
padding: 0 1em;
2020-10-28 15:50:10 +08:00
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;
}
.datetime-picker-container {
.calendar-input {
padding-right: 40px;
}
}
@media (min-width: 768px) {
.projects-filters {
2020-10-28 15:50:10 +08:00
width: 460px;
}
.footer {
.btn:last-child {
margin-left: auto;
}
}
.datetime-picker-container {
display: inline-block;
}
.connect-line {
display: inline-block;
margin: 0 12px;
position: relative;
top: 2px;
transform: rotate(90deg);
}
.created-on-label {
display: block;
}
}
.users-dropdown-list {
img {
border-radius: 10px;
height: 20px;
margin: 0 .5em 0 0;
width: 20px;
}
}
2020-10-28 15:50:10 +08:00
}
}