You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

776 lines
12 KiB

//
// Lists
// --------------------------------------------------
table {
border-spacing: 0;
border-collapse: collapse;
}
table.list {
width: 100%;
margin-bottom: $line-height-computed;
font-size: $font-size-list;
.autoscroll & {
margin-bottom: 0;
}
&.changesets {
margin-bottom: $line-height-computed;
}
th,
.table-list-header {
padding: $table-cell-padding;
border: 2px solid $table-border-color;
border-width: $table-list-header-border;
background-color: $table-list-header-bg;
color: $gray-700;
vertical-align: bottom;
@if $table-list-header-bg == $body-bg {
@at-root .box & {
background-color: $panel-bg;
}
}
a {
color: $gray-900;
}
}
tr.ui-sortable-helper {
background-color: $highlight-bg;
}
td {
padding: $table-cell-padding;
border: 1px solid $table-border-color;
border-width: $table-list-item-border;
text-align: center;
vertical-align: top;
&.icon {
padding-left: $table-cell-padding + $icon-width;
}
&.id,
&.issue_id,
&.legacy_id,
&.parent,
&.relations,
&.tracker {
width: 2%;
}
&.id,
&.issue_id,
&.legacy_id {
font-weight: $font-weight-bold;
}
&.reorder {
white-space: nowrap;
}
&.attachments a {
display: block;
}
}
th,
td {
&.checkbox {
width: 15px;
padding-right: $table-cell-padding;
padding-left: $table-cell-padding;
@if (parse-length($table-list-item-border, right) == 0) {
&:first-child {
padding-right: 0;
}
}
input {
margin: 2px 0 0;
}
}
&.activity,
&.assigned_to,
&.attachments,
&.author,
&.category,
&.comments,
&.description,
&.fixed_version,
&.last_notes,
&.last_updated_by,
&.name,
&.parent-subject,
&.priority,
&.relations,
&.roles,
&.status,
&.string,
&.subject,
&.text,
&.tracker,
&.user {
text-align: left;
}
&.id,
&.legacy_id,
&.estimated_hours,
&.float,
&.int,
&.remaining_hours,
&.spent_hours,
&.story_points {
text-align: right;
}
}
td,
div {
&.buttons {
text-align: right;
white-space: nowrap;
a {
margin-right: $padding-small-vertical;
&.icon-only {
margin-right: 0;
}
}
img {
vertical-align: middle;
}
}
}
caption {
padding: .5em .5em .5em 0;
text-align: left;
}
}
.table-list-cell {
display: table-cell;
padding: $table-cell-padding;
vertical-align: top;
}
tr.project {
.name a {
white-space: nowrap;
}
&.closed,
&.archived,
&.closed a,
&.archived a {
color: $gray-600;
}
&.idnt td.name {
background-image: inline-svg("chevron-right.svg", (path: (fill: $gray-600)));
background-repeat: no-repeat;
}
@for $i from 1 through 9 {
&.idnt-#{$i} td.name {
padding-left: $table-cell-padding + 16px * $i;
background-position: ($table-cell-padding + 16px * ($i - 1) - 3px) 50%;
}
}
}
tr.issue {
text-align: center;
white-space: nowrap;
.category,
.enumeration,
.list,
.parent-subject,
.parent,
.relations,
.string,
.subject,
.text {
white-space: normal;
}
.relations {
text-align: left;
white-space: normal;
span {
white-space: nowrap;
}
}
.controller-issues.action-index & {
&.assigned-to-me {
.assigned_to,
.subject {
a {
font-weight: $font-weight-bold;
}
}
}
}
&.idnt td.subject {
background-image: inline-svg("chevron-right.svg", (path: (fill: $gray-600)));
background-repeat: no-repeat;
}
&.overdue td.due_date {
color: $brand-danger;
}
@for $i from 1 through 9 {
&.idnt-#{$i} td.subject {
padding-left: $table-cell-padding + 16px * $i;
background-position: ($table-cell-padding + 16px * ($i - 1) - 3px) 50%;
}
}
}
.issues {
.block_column,
.description,
.last_notes {
padding: 0;
text-align: left;
white-space: normal;
> span {
display: block;
margin-bottom: $line-height-computed * .25;
padding: $table-cell-padding;
font-weight: $font-weight-bold;
}
pre {
white-space: normal;
}
@media screen and (min-width: $screen-sm-min) {
> .wiki {
max-height: 20em;
padding: $padding-wiki;
overflow: auto;
}
}
}
}
tr {
span.expander {
display: inline-block;
padding: 0;
float: left;
&.icon {
padding-left: 18px;
text-align: center;
&::before {
margin: 0 0 0 -18px;
color: $gray-600;
font-size: 12px;
}
}
&:not(.icon) {
width: 18px;
padding: 0;
background-image: inline-svg("plus.svg", (path: (fill: $btn-default-icon-color)));
background-repeat: no-repeat;
background-position: center center;
cursor: pointer;
user-select: none;
}
}
&.open span.expander:not(.icon) {
background-image: inline-svg("minus.svg", (path: (fill: $btn-default-icon-color)));
}
}
td.center {
text-align: center;
}
td.assigned_to,
td.last_updated_by {
white-space: normal;
}
.issue-report {
table-layout: fixed;
}
.issue-report-graph {
width: 75%;
margin: $line-height-computed auto;
}
.sample-data {
margin: $line-height-computed * .5;
margin-bottom: $line-height-computed;
border: 1px solid $table-border-color;
td {
border: 1px solid $table-border-color;
}
tr:first-child td {
font-weight: $font-weight-bold;
text-align: center;
}
}
tr.builtin td.name {
font-style: italic;
}
tr.entry {
border: 1px solid $gray-400;
td {
white-space: nowrap;
&.filename {
width: 30%;
text-align: left;
}
&.filename_no_report {
width: 70%;
text-align: left;
}
&.size {
text-align: right;
}
&.revision,
&.author {
text-align: center;
}
&.age {
text-align: right;
}
}
&.file td {
&.filename a,
&.filename_no_report a {
margin-left: 18px;
}
}
}
@if $table-list-color-odd-rows {
table.list:not(.odd-even) tbody tr:nth-child(odd):not(.ui-sortable-helper),
.odd {
> td {
background-color: $table-bg-accent;
}
}
}
@if $table-list-color-even-rows {
table.list:not(.odd-even) tbody tr:nth-child(even):not(.ui-sortable-helper),
.even {
> td {
background-color: $table-bg-accent;
}
}
}
@if $table-list-highlight-rows {
table.list > tbody > tr:nth-child(n):hover:not(.ui-sortable-helper) {
background-color: $table-bg-hover;
@if $color-priorities {
@each $priority-id, $priority-color in $priority-color-map {
&.priority-#{$priority-id} {
background-color: rgba(map-get($priority-color, background), $table-color-hover-factor);
}
}
}
}
}
//== Priorities
//
@if $priority-icon {
table.list tbody tr {
.priority {
@include priority-icon-base;
}
}
@each $priority-id, $priority-icon in $priority-icons-map {
@include priority-icon(
".priority-#{$priority-id}",
map-get($priority-icon, color),
map-get($priority-icon, icon)
);
}
}
@if $color-priorities {
@each $priority-id, $priority-color in $priority-color-map {
tr.priority-#{$priority-id} {
&.odd td {
background-color: rgba(map-get($priority-color, background), $table-color-odd-factor);
}
&.even td {
background-color: rgba(map-get($priority-color, background), $table-color-even-factor);
}
td {
border-color: map-get($priority-color, border);
color: map-get($priority-color, color);
}
a {
color: map-get($priority-color, link);
}
}
}
}
@if $color-trackers {
tr.issue .id > a,
tr.issue .issue_id > a,
tr.issue .legacy_id > a,
a.issue,
.relations > span > a.issue,
.parent > a.issue {
border-radius: $border-radius-small ($border-radius-small * 3) ($border-radius-small * 3) $border-radius-small;
background-color: $tracker-default-bg;
color: $tracker-default-text;
&:hover {
background-color: darken($tracker-default-bg, 10%);
color: $tracker-default-text;
text-decoration: none;
}
&:focus,
&:active {
text-decoration: none;
}
}
a.issue {
margin-right: 1px;
padding: $tracker-inline-padding;
font-weight: $font-weight-normal;
&.closed {
position: relative;
color: mix($tracker-default-text, $tracker-default-bg, 75%);
text-decoration: none;
&::after {
content: "";
display: block;
position: absolute;
right: 5px;
bottom: 0;
left: 5px;
height: calc(50% - 2px * .5);
transform: rotate(-4deg);
transition: border-color $transition-time;
border-top: 2px solid rgba($tracker-default-text, .95);
}
&:hover::after {
border-top-color: rgba($tracker-default-text, .25);
}
}
}
tr.issue .id > a,
tr.issue .legacy_id > a {
display: block;
padding: $tracker-list-padding;
&::before {
content: "#";
color: mix($tracker-default-text, $tracker-default-bg, 50%);
}
}
tr.issue .issue_id > a {
display: inline-block;
padding: $tracker-list-padding;
}
@each $tracker-id, $tracker-colors in $tracker-colors-map {
@include tracker(
".tracker-#{$tracker-id}",
map-get($tracker-colors, background),
map-get($tracker-colors, color)
);
}
}
//== List groups
//
tr.group {
> td {
border-bottom: 1px solid $table-border-color;
font-weight: $font-weight-bold;
text-align: left;
a {
color: $brand-primary;
}
}
.toggle-all {
display: none;
color: $gray-600;
font-weight: $font-weight-normal;
}
&:hover .toggle-all {
display: inline;
}
}
.toggle-all:hover {
text-decoration: none;
}
//== Time entry in report
//
tr.time-entry {
text-align: center;
td.project,
td.spent_on,
td.activity {
width: 6em;
}
td.user {
width: 12em;
}
td.issue,
td.comments {
text-align: left;
white-space: normal;
}
td.hours {
font-weight: $font-weight-bold;
}
}
.time-entries,
tr.time-entry {
td.hours {
width: 1%;
text-align: right;
white-space: nowrap;
.hours-dec {
font-size: .9em;
}
}
}
.mypage-box {
td.hours {
font-weight: $font-weight-bold;
em {
font-style: normal;
}
}
tr.time-entry td.hours {
font-weight: $font-weight-normal;
}
}
//== Wiki page history entry
//
tr.wiki-page-version {
td.updated_on,
td.author {
text-align: center;
}
}
//== Project versions list
//
tr.version {
&.closed {
color: $gray-700;
a {
color: $gray-700;
}
}
td {
&.date,
&.status,
&.sharing {
text-align: center;
white-space: nowrap;
}
}
}
//== Users list
//
tr.user {
td {
width: 13%;
white-space: nowrap;
&.username,
&.firstname,
&.lastname {
text-align: left;
}
&.email {
width: 18%;
text-align: left;
}
}
&.locked,
&.registered,
&.locked a,
&.registered a {
color: $gray-600;
}
}
//== Plugins list
//
table.plugins {
.configure {
text-align: right;
}
span.name {
margin-bottom: .5em;
font-size: $font-size-large;
font-weight: $font-weight-bold;
}
.description,
.url {
display: block;
}
}
//== Files list
//
table.files {
tbody th {
text-align: left;
}
tr.file td {
&.filename {
padding-left: $icon-width + $table-cell-padding;
text-align: left;
}
&.digest {
font-family: $font-family-monospace;
}
}
}
//== Admin lists
//
.controller-enumerations {
td.name {
width: 50%;
}
td.tick,
td.reorder {
width: 15%;
text-align: center;
}
}
table.list.enumerations {
table-layout: fixed;
+ h3 {
margin-top: $line-height-computed * 2;
}
+ p {
margin-bottom: $line-height-computed * 2;
}
}
//== Totals
//
.query-totals {
#content & {
margin-top: 0;
@media screen and (min-width: $redmine-responsive-min) {
margin-top: -($line-height-computed * 2 + $btn-padding-vertical);
text-align: right;
}
}
> span {
margin-right: $padding-base-horizontal;
&:last-child {
margin-right: 0;
}
}
.value {
font-weight: $font-weight-bold;
}
}