MOBILE-4329 chore: Add generic table styles
parent
791903a80d
commit
dddc95bfc6
|
@ -15,7 +15,7 @@
|
|||
<core-loading [hideUntil]="loaded">
|
||||
<core-empty-box *ngIf="!rows.length" icon="fas-chart-bar" [message]="'core.grades.nogradesreturned' | translate" />
|
||||
<div *ngIf="rows.length" class="core-grades-container">
|
||||
<table class="core-grades-table" [class.summary]="showSummary">
|
||||
<table class="core-table core-grades-table" [class.summary]="showSummary">
|
||||
<thead>
|
||||
<tr>
|
||||
<th *ngFor="let column of columns" id="{{column.name}}" class="ion-text-start"
|
||||
|
|
|
@ -1,67 +1,22 @@
|
|||
@use "theme/globals" as *;
|
||||
|
||||
:host {
|
||||
--header-background: var(--white);
|
||||
--odd-cell-background: var(--light);
|
||||
--odd-cell-hover: var(--gray-200);
|
||||
--even-cell-background: var(--white);
|
||||
--even-cell-hover: var(--light);
|
||||
--icon-color: var(--gray-500);
|
||||
--border-color: var(--stroke);
|
||||
|
||||
.odd {
|
||||
--cell-background: var(--odd-cell-background);
|
||||
--cell-hover: var(--odd-cell-hover);
|
||||
}
|
||||
|
||||
.even {
|
||||
--cell-background: var(--even-cell-background);
|
||||
--cell-hover: var(--even-cell-hover);
|
||||
}
|
||||
|
||||
--core-table-border-color: var(--stroke);
|
||||
}
|
||||
|
||||
:host-context(html.dark) {
|
||||
--header-background: var(--gray-900);
|
||||
--odd-cell-background: var(--gray-800);
|
||||
--odd-cell-hover: var(--gray-600);
|
||||
--even-cell-background: var(--gray-900);
|
||||
--even-cell-hover: var(--gray-700);
|
||||
--icon-color: var(--gray-200);
|
||||
}
|
||||
|
||||
.core-grades-table {
|
||||
border-collapse: collapse;
|
||||
line-height: 20px;
|
||||
table.core-table.core-grades-table {
|
||||
width: 100%;
|
||||
font-size: 16px;
|
||||
color: var(--ion-text-color);
|
||||
|
||||
tr {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
}
|
||||
|
||||
th, td {
|
||||
@include padding(8px, 8px, 8px, null);
|
||||
vertical-align: top;
|
||||
white-space: normal;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
thead th {
|
||||
vertical-align: bottom;
|
||||
font-weight: bold;
|
||||
background-color: var(--header-background);
|
||||
}
|
||||
margin: 0px;
|
||||
|
||||
thead #gradeitem {
|
||||
@include padding(null, null, null, 24px);
|
||||
}
|
||||
|
||||
tbody th {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
tbody tr.core-bold th {
|
||||
font-weight: inherit;
|
||||
}
|
||||
|
@ -70,9 +25,13 @@
|
|||
@include padding(null, null, null, 4px);
|
||||
}
|
||||
|
||||
th, td {
|
||||
@include padding(8px, 8px, 8px, 0px);
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.core-grades-table-gradeitem {
|
||||
@include padding(null, null, null, 4px);
|
||||
font-weight: bold;
|
||||
|
||||
&.column-itemname {
|
||||
@include padding(null, null, null, 0);
|
||||
|
@ -90,7 +49,6 @@
|
|||
--filter: var(--module-icon-filter);
|
||||
}
|
||||
|
||||
|
||||
ion-icon {
|
||||
color: var(--icon-color);
|
||||
}
|
||||
|
@ -130,21 +88,6 @@
|
|||
width: 0;
|
||||
}
|
||||
|
||||
.ion-no-border {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.dimmed_text,
|
||||
.hidden {
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.odd, .even {
|
||||
td, th, th[aria-current="page"] {
|
||||
background-color: var(--cell-background);
|
||||
}
|
||||
}
|
||||
|
||||
.core-grades-grade-clickable {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
Binary file not shown.
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
@ -22,7 +22,7 @@
|
|||
</ng-container>
|
||||
|
||||
<ng-container *ngIf="!isCardLayout">
|
||||
<table>
|
||||
<table class="core-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th *ngFor="let header of state.report.data.headers">
|
||||
|
@ -30,7 +30,7 @@
|
|||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tbody class="auto-striped">
|
||||
<tr *ngFor="let row of state.report.data.rows">
|
||||
<td *ngFor="let column of row.columns">
|
||||
<core-format-text *ngIf="isString(column); else notText" [text]="column" [contextLevel]="source$ | async"
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
@use "theme/globals" as *;
|
||||
|
||||
:host {
|
||||
--header-background: var(--white);
|
||||
--border-color: var(--stroke);
|
||||
|
||||
.report-title {
|
||||
ion-item {
|
||||
width: 100%;
|
||||
|
@ -11,32 +6,9 @@
|
|||
}
|
||||
|
||||
table {
|
||||
width: 98%;
|
||||
margin: 1em auto;
|
||||
border-collapse: collapse;
|
||||
color: var(--ion-text-color);
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
|
||||
tbody {
|
||||
display: table;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: var(--header-background);
|
||||
}
|
||||
|
||||
tr {
|
||||
border-bottom: 1px solid var(--border-color);
|
||||
|
||||
&:nth-child(even) {
|
||||
background: var(--light);
|
||||
}
|
||||
}
|
||||
|
||||
th, td {
|
||||
@include padding(8px, 8px, 8px, null);
|
||||
text-align: start;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
@ -1711,9 +1711,11 @@ ion-input .native-input {
|
|||
}
|
||||
}
|
||||
|
||||
input {
|
||||
ion-input,
|
||||
ion-input input,
|
||||
ion-textarea {
|
||||
--placeholder-color: var(--ion-placeholder-color);
|
||||
--placeholder-opacity: .85;
|
||||
--placeholder-opacity: .65;
|
||||
}
|
||||
|
||||
// Disable scroll on parent ion contents to enabled PTR on the ones inside the splitview. See split-view component for more info.
|
||||
|
@ -1905,6 +1907,10 @@ swiper-container {
|
|||
}
|
||||
|
||||
|
||||
.core-flex-no-grow {
|
||||
flex-grow: 0;
|
||||
}
|
||||
|
||||
// Loader animation.
|
||||
.core-loading {
|
||||
position: relative;
|
||||
|
@ -2015,3 +2021,83 @@ ion-item.item-label-stacked ion-datetime-button {
|
|||
margin-bottom: 8px;
|
||||
align-self: self-end;
|
||||
}
|
||||
|
||||
// Table App styles
|
||||
table.core-table {
|
||||
border-collapse: collapse;
|
||||
line-height: 20px;
|
||||
width: 98%;
|
||||
margin: 1em auto;
|
||||
color: var(--text-color);
|
||||
|
||||
|
||||
thead th {
|
||||
vertical-align: bottom;
|
||||
font-weight: bold;
|
||||
font-size: 14px;
|
||||
background-color: var(--core-table-header-background);
|
||||
}
|
||||
|
||||
tbody th {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
th, td {
|
||||
padding: 8px;
|
||||
white-space: normal;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
tr {
|
||||
border-bottom: 1px solid var(--core-table-border-color);
|
||||
}
|
||||
|
||||
tbody td {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.odd {
|
||||
--cell-background: var(--core-table-odd-cell-background);
|
||||
--cell-hover: var(--core-table-odd-cell-hover);
|
||||
}
|
||||
|
||||
.even {
|
||||
--cell-background: var(--core-table-even-cell-background);
|
||||
--cell-hover: var(--core-table-even-cell-hover);
|
||||
}
|
||||
|
||||
.odd, .even {
|
||||
td, th, th[aria-current="page"] {
|
||||
background-color: var(--cell-background);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--cell-hover);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tbody.auto-striped tr:nth-child(odd) {
|
||||
background-color: var(--core-table-odd-cell-background);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--core-table-even-odd-hover);
|
||||
}
|
||||
}
|
||||
|
||||
tbody.auto-striped tr:nth-child(even) {
|
||||
background-color: var(--core-table-even-cell-background);
|
||||
|
||||
&:hover {
|
||||
background-color: var(--core-table-even-cell-hover);
|
||||
}
|
||||
}
|
||||
|
||||
.ion-no-border {
|
||||
border: 0 !important;
|
||||
}
|
||||
|
||||
.dimmed_text,
|
||||
.hidden {
|
||||
opacity: .7;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -169,4 +169,10 @@ html.dark {
|
|||
|
||||
--addon-forum-border-color: var(--gray-500);
|
||||
--addon-forum-highlight-color: var(--gray-800);
|
||||
|
||||
--core-table-header-background: var(--gray-900);
|
||||
--core-table-odd-cell-background: var(--gray-800);
|
||||
--core-table-odd-cell-hover: var(--gray-600);
|
||||
--core-table-even-cell-background: var(--gray-900);
|
||||
--core-table-even-cell-hover: var(--gray-700);
|
||||
}
|
||||
|
|
|
@ -381,6 +381,13 @@ html {
|
|||
--core-dd-question-radius: 10px;
|
||||
--core-dd-question-border: var(--medium);
|
||||
|
||||
--core-table-header-background: var(--white);
|
||||
--core-table-odd-cell-background: var(--light);
|
||||
--core-table-odd-cell-hover: var(--gray-200);
|
||||
--core-table-even-cell-background: var(--white);
|
||||
--core-table-even-cell-hover: var(--light);
|
||||
--core-table-border-color: var(--stroke);
|
||||
|
||||
--rotate-expandable: rotate(90deg);
|
||||
&[dir=rtl] {
|
||||
--rotate-expandable: rotate(-90deg);
|
||||
|
|
Loading…
Reference in New Issue