scinote-web/app/assets/stylesheets/my_modules/protocols/index.scss

729 lines
12 KiB
SCSS
Raw Normal View History

2019-04-26 21:38:33 +08:00
// scss-lint:disable SelectorDepth
// scss-lint:disable NestingDepth
// scss-lint:disable SelectorFormat
// scss-lint:disable ImportantRule
// scss-lint:disable IdSelector
2019-04-26 21:38:33 +08:00
2019-02-25 20:04:58 +08:00
@import "constants";
@import "mixins";
.my-module-header {
2023-05-26 07:45:16 +08:00
.my-module-title-row {
align-items: center;
background: $color-white;
display: flex;
height: 4em;
margin-left: -1.5rem;
padding: 0 0.5rem;
width: calc(100% + 3rem);
.my_module-name {
display: flex;
min-width: 5rem;
width: 100%;
.fas {
margin-right: .5em;
}
}
}
.name-readonly-placeholder {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
2020-03-31 17:22:53 +08:00
.content-pane.my-modules-protocols-index {
2023-05-15 21:38:44 +08:00
background-color: $color-alto;
padding: 0 1rem 1rem !important;
min-height: calc(100vh - var(--navbar-height));
2023-05-15 21:38:44 +08:00
.title-row {
2023-05-17 20:18:16 +08:00
margin-left: -1rem;
width: calc(100% + 2rem);
2023-05-15 21:38:44 +08:00
}
.my-module-position-container {
background-color: $color-white;
box-shadow: $flyout-shadow;
2023-05-15 20:17:41 +08:00
margin: 1rem auto;
max-width: 900px;
padding: 10px;
2023-05-15 20:17:41 +08:00
z-index: 2;
}
.dropdown {
.dropdown-menu {
z-index: 102;
}
.dropdown-backdrop {
z-index: 101;
}
}
}
2020-07-13 20:51:51 +08:00
.content-pane.protocols-repository-edit-view {
margin: 0;
}
.task-section {
margin: 16px 0;
padding-left: 16px;
.task-section-caret {
color: $color-volcano;
display: inline-block;
padding: .5em;
text-decoration: none;
.fas {
margin-right: 5px;
}
&:not(.collapsed) .fas {
@include rotate(90deg);
}
}
.task-section-title {
display: inline-block;
h2 {
2020-04-17 01:13:18 +08:00
margin: 10px 0;
2020-05-08 23:01:55 +08:00
&.assigned-items-title {
&::after {
@include font-h3;
color: $color-alto;
content: '[' attr(data-assigned-items-count) ']';
display: inline;
line-height: 22px;
padding-left: 5px;
}
}
}
}
2020-04-09 21:14:55 +08:00
.task-section-header {
2020-04-17 01:13:18 +08:00
align-items: center;
2020-04-09 21:14:55 +08:00
display: flex;
flex-wrap: wrap;
.actions-block {
display: flex;
flex-grow: 1;
justify-content: flex-end;
2020-04-23 22:50:16 +08:00
.caret {
margin-left: 25px;
}
2020-04-09 21:14:55 +08:00
.repositories-assign-container {
flex-grow: 1;
2022-07-05 18:49:12 +08:00
max-width: 150px;
2020-04-09 21:14:55 +08:00
.btn {
text-align: left;
.caret {
margin: 8px 0;
}
}
.repositories-dropdown-menu {
max-height: 250px;
overflow: auto;
2020-04-09 21:14:55 +08:00
.repository {
@include font-button;
cursor: pointer;
2020-04-09 21:14:55 +08:00
display: flex;
padding: 8px 16px;
.assigned-items,
.shared-icon {
flex-shrink: 0;
.fas {
padding-right: 5px;
}
}
.assigned-items {
color: $color-alto;
}
.name {
flex-grow: 1;
}
}
}
}
2020-04-21 16:03:53 +08:00
.dropdown-menu {
2020-04-23 22:56:09 +08:00
@include font-button;
2020-04-23 22:50:16 +08:00
2020-04-21 16:03:53 +08:00
a {
padding: 8px 20px;
}
.fas {
padding-right: 5px;
}
}
2020-04-09 21:14:55 +08:00
}
}
}
.task-details {
2019-11-21 19:14:43 +08:00
.fas.block-icon {
2020-04-01 19:05:35 +08:00
margin-right: 8px;
2019-11-21 19:14:43 +08:00
}
2020-04-01 19:05:35 +08:00
.flex-block {
align-items: center;
display: flex;
line-height: 34px;
2020-04-01 19:05:35 +08:00
.flex-block-label {
2019-11-21 19:14:43 +08:00
align-items: center;
display: flex;
2020-04-01 19:05:35 +08:00
margin-right: 4px;
2019-11-21 19:14:43 +08:00
}
2020-04-01 19:05:35 +08:00
}
2019-11-21 19:14:43 +08:00
.empty-label {
color: $color-silver-chalice;
font-weight: normal;
}
2020-04-01 19:05:35 +08:00
.datetime-container {
align-items: center;
display: inline-flex;
2019-11-21 19:14:43 +08:00
2020-04-01 19:05:35 +08:00
.date-text {
border: 1px solid transparent;
font-weight: bold;
line-height: 32px;
margin-right: 25px;
padding: 0 4px;
position: relative;
2019-11-21 19:14:43 +08:00
2020-04-01 19:05:35 +08:00
.alert-green {
color: $brand-success;
}
2019-11-21 19:14:43 +08:00
2020-04-01 19:05:35 +08:00
.alert-yellow {
color: $brand-warning;
}
2020-04-01 19:05:35 +08:00
.alert-red {
color: $brand-danger;
2019-11-21 19:14:43 +08:00
}
2020-04-01 19:05:35 +08:00
.clear-date {
color: $color-silver;
cursor: pointer;
display: none;
font-size: 20px;
left: 100%;
line-height: 34px;
margin-left: 5px;
2019-11-21 19:14:43 +08:00
position: absolute;
top: 0;
2020-04-01 19:05:35 +08:00
}
}
2020-03-28 00:35:24 +08:00
2020-04-01 19:05:35 +08:00
.datetime-picker-container {
color: $color-emperor;
left: 0;
position: absolute;
top: 0;
width: 100%;
2019-11-27 19:34:54 +08:00
2020-04-01 19:05:35 +08:00
#calendarDueDate {
opacity: 0;
2019-11-21 19:14:43 +08:00
}
2020-04-01 19:05:35 +08:00
#calendarStartDate {
opacity: 0;
}
2020-04-01 19:05:35 +08:00
.fa-calendar-alt {
display: none;
2019-07-09 20:00:53 +08:00
}
2019-02-25 20:04:58 +08:00
}
2020-04-01 19:05:35 +08:00
&:hover {
.date-text[data-editable=true] {
2020-05-21 14:37:40 +08:00
background-color: $color-concrete;
border-radius: 4px;
2019-02-25 20:04:58 +08:00
2020-04-01 19:05:35 +08:00
.clear-date {
display: inline;
}
}
2019-02-25 20:04:58 +08:00
}
}
.module-tags {
.tags-wrapper {
2019-11-21 19:14:43 +08:00
align-items: center;
display: flex;
width: 100%;
}
2019-10-18 17:31:13 +08:00
.dropdown-selector-container {
.my-module-white-tags {
color: $color-white;
}
.my-module-tags-color {
align-items: center;
2019-10-18 17:31:13 +08:00
border-radius: 8px;
display: inline-flex;
2019-10-18 17:31:13 +08:00
height: 16px;
justify-content: center;
2019-10-18 17:31:13 +08:00
margin-right: 5px;
width: 16px;
&.new {
color: $color-silver-chalice;
}
2019-10-18 17:31:13 +08:00
}
.my-module-tags-create-new {
margin-left: 3px;
2019-10-18 17:31:13 +08:00
}
.input-field {
border: 1px solid transparent;
padding-right: 110px;
}
&.open {
2019-10-18 17:36:56 +08:00
.input-field {
border: 1px solid $color-alto;
2019-10-18 17:31:13 +08:00
}
}
2019-11-27 19:34:54 +08:00
&:not(.view-mode):hover {
2019-10-18 17:31:13 +08:00
.input-field {
border: 1px solid $color-alto;
2019-10-18 17:31:13 +08:00
}
}
}
.badge-icon {
display: inline-block;
line-height: 32px;
padding: 0 5px 0 0;
2019-05-14 15:43:02 +08:00
width: 28px;
}
.tags-title {
display: inline-block;
2019-05-14 15:43:02 +08:00
font-size: 14px;
line-height: 32px;
margin-right: 4px;
}
.select-container,
.select-user-container {
display: flex;
flex-basis: 100px;
flex-grow: 1;
flex-shrink: 1;
2020-05-13 16:58:40 +08:00
max-width: 100%;
position: relative;
select {
display: none;
}
.edit-button-container {
2019-10-18 17:31:13 +08:00
height: 36px;
padding-right: 10px;
position: absolute;
right: 0;
text-align: right;
top: 0;
width: 120px;
2019-10-18 17:31:13 +08:00
z-index: 20;
&.hidden {
display: none;
}
a {
color: inherit;
display: inline-block;
2019-10-18 17:31:13 +08:00
line-height: 36px;
opacity: .7;
text-decoration: none;
i {
float: left;
2019-04-26 21:38:33 +08:00
font-size: 16px;
2019-10-18 17:31:13 +08:00
line-height: 36px;
margin-right: 5px;
2019-04-26 21:38:33 +08:00
padding-top: 1px;
}
span {
float: left;
2019-10-18 17:31:13 +08:00
line-height: 36px;
}
}
}
}
}
2020-04-01 19:05:35 +08:00
#manage-module-tags-modal {
.well {
border: 0;
box-shadow: none;
}
}
.my-module-user-tags {
img {
border-radius: 50%;
display: inline;
margin-right: .5em;
max-height: 20px;
max-width: 20px;
}
}
.assign-new-user {
2020-05-21 14:37:40 +08:00
background-color: $color-alto;
color: $color-volcano;
text-align: center;
.fa-plus {
font-size: 16px;
}
}
2019-02-25 20:04:58 +08:00
}
2019-04-26 21:38:33 +08:00
.task-notes {
display: inline-block;
position: relative;
width: 100%;
.no-description {
font-size: 16px;
}
.task-notes-content {
margin-left: 10px;
2022-08-04 17:06:25 +08:00
.form-group.has-error {
border: 1px solid $brand-danger;
}
}
}
2020-04-17 01:13:18 +08:00
.my-module-protocol-status {
position: relative;
2020-04-17 01:13:18 +08:00
.status-label {
@include font-h3;
color: $color-alto;
float: left;
margin: 0 3px;
2020-04-17 01:13:18 +08:00
&.linked {
color: $brand-primary;
}
}
2020-04-17 01:13:18 +08:00
.status-info {
@include font-h2;
color: inherit;
padding: .5em;
2020-04-17 01:13:18 +08:00
text-decoration: none;
&:hover,
&:active {
color: inherit;
text-decoration: none;
}
2020-05-02 02:45:09 +08:00
&.protocol-newer {
2020-05-06 18:20:20 +08:00
color: $brand-focus;
2020-05-02 02:45:09 +08:00
}
&.parent-newer {
color: $brand-warning;
}
}
2020-04-17 01:13:18 +08:00
.status-info-dropdown {
left: -125px;
max-width: 100vw;
width: 506px;
padding: 0;
2020-04-17 01:13:18 +08:00
.dropdown-content {
padding: 12px 24px;
}
.dropdown-header,
.dropdown-body,
.dropdown-footer {
padding: 12px 0;
}
.dropdown-header {
background: $color-white;
border-bottom: $border-tertiary;
.protocol-name {
color: $color-black;
margin-top: 0;
overflow: hidden;
text-overflow: ellipsis;
}
.protocol-header-info {
color: $color-black;
display: flex;
font-size: .875em;
font-weight: 400;
justify-content: space-between;
}
}
.dropdown-body {
2020-04-17 01:13:18 +08:00
.info-line {
align-items: center;
display: flex;
flex-wrap: wrap;
margin: 9px 0;
.description {
@include font-button;
flex-grow: 1;
min-width: 120px;
}
.value {
@include font-h3;
flex-shrink: 0;
}
2020-04-17 01:13:18 +08:00
&.new-parent-version {
.value {
color: $brand-warning;
2020-04-17 01:13:18 +08:00
&::before {
@include font-awesome;
content: "\f2f1";
margin-right: 5px;
}
}
}
}
}
.dropdown-footer {
border-top: $border-tertiary;
2020-04-17 01:13:18 +08:00
.notification-line {
@include font-button;
color: $color-silver-chalice;
display: flex;
.fas {
line-height: 21px;
margin-right: 11px;
2020-04-17 01:13:18 +08:00
}
&.new-parent-version {
color: $brand-warning;
}
2020-04-17 01:13:18 +08:00
&.new-protocol-version {
color: $brand-focus;
}
}
2020-04-17 01:13:18 +08:00
}
}
}
.task-details-dropdown-container {
.task-details-button {
@include font-h2;
color: inherit;
2022-08-02 17:00:13 +08:00
margin-left: -5px;
text-decoration: none;
}
.dropdown-menu {
2020-05-19 16:29:07 +08:00
@include font-button;
min-width: 500px;
padding: 1em 2em;
2020-05-19 16:29:07 +08:00
.task-details-value {
@include font-h3;
}
.row-v-margin {
margin-bottom: .5em;
2020-05-19 16:29:07 +08:00
margin-top: .5em;
}
}
}
2020-07-14 17:24:33 +08:00
.task-information {
.task-section-header {
align-items: center;
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
width: 100%;
2020-07-14 17:24:33 +08:00
}
.status-buttons {
.status-flow-dropdown[data-status-changing=true] {
.caret.pull-right {
display: none;
}
}
> div > .btn {
min-width: 115px;
}
2020-07-14 17:24:33 +08:00
}
.task-flows {
align-items: center;
display: flex;
justify-content: flex-end;
#dropdownTaskFlowList {
min-width: 230px;
}
.status-label {
@include font-small;
flex-basis: 50%;
font-weight: 700;
margin-right: .5em;
text-align: right;
.status-note {
font-weight: normal;
}
.pull-right {
font-weight: 400;
}
}
.status-flow-dropdown {
&:last-child {
margin-right: 0;
}
}
.status-buttons {
display: flex;
2022-07-05 18:49:12 +08:00
> :not(:first-child):not(.dropdown-menu) {
margin-left: .5em;
}
}
.status-transition-error {
@include font-small;
color: $brand-danger;
margin-top: .5em;
.fas {
margin-right: .5em;
}
}
2020-07-14 17:24:33 +08:00
}
}
@media (max-width: 810px) {
.task-information .task-section-header {
display: block;
.task-flows,
.status-label,
.status-buttons {
display: block;
max-width: 230px;
}
.status-label {
margin: 0;
text-align: left;
}
2022-07-05 18:49:12 +08:00
.status-buttons > :not(:first-child):not(.dropdown-menu) {
margin-left: 0;
margin-top: .5em;
}
}
.task-information .expanded {
height: auto;
}
.content-pane.my-modules-protocols-index {
padding: 10px 0 0 0;
}
2020-04-17 01:13:18 +08:00
.my-module-protocol-status {
.status-info-dropdown {
left: -75px;
width: 300px;
.dropdown-footer {
display: block;
}
}
}
2020-07-14 17:24:33 +08:00
.task-information {
grid-template-columns: auto;
row-gap: .5em;
.task-details {
grid-row: 3 / span 1;
}
.task-flows {
grid-column: unset;
grid-row: 2 / span 1;
}
}
}
.task-details-code {
display: inline-block;
margin-left: 4px;
}
#confirm-link-update-modal,
.delete-steps-modal {
.modal-body p {
margin: 1.2em 0;
}
.warning {
font-weight: bold;
margin-bottom: 1.2em;
}
}