░▒▓████████████████████████████████▓▒░ ░▒▓█ ▓▒░ ░▒▓█ ~ S W A M P ~ ▓▒░ ░▒▓█ ▓▒░ ░▒▓████████████████████████████████▓▒░
pplmvsvm
LOCATION:
/var/www/canvas/app/stylesheets/pages/gradebook
☗ ROOT
↻ REFRESH
✎ CARVE FLESH
EDITING: _gradebook.scss
/* * Copyright (C) 2014 - present Instructure, Inc. * * This file is part of Canvas. * * Canvas is free software: you can redistribute it and/or modify it under * the terms of the GNU Affero General Public License as published by the Free * Software Foundation, version 3 of the License. * * Canvas is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR * A PARTICULAR PURPOSE. See the GNU Affero General Public License for more * details. * * You should have received a copy of the GNU Affero General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ $gradebook_letter-grade-font: lighten($ic-color-dark, 8%); a#accessibility_warning { @include accessibility-prompt; @include fontSize(14px); } #footer { display: none; } #keyboard-shortcuts:focus { margin: -1px; border-radius: 0.25rem; // from app/stylesheets/vendor/bootstrap/_forms.scss .uneditable-input:focus border: 1px solid var(--ic-link-color-lightened-10); outline: 0; } #textarea-container { position: relative; } #emoji-picker-container { position: absolute; bottom: 0; #{direction(right)}: 0; } #emoji-quick-picker-container { margin: 10px 0 6px 0; } $row-height: 35px; $cell_height: 33px; $cell-icon-height: 31px; $cell-icon-width: 32px; $header-height: 38px; $header-content-height: $header-height - 2px; // subtract border $grid-border-color: #c7cdd1; $active-border-color: #1790df; $gradebook_cell_padding_top: 8px; .Gradebook__FlashMessage { max-width: 50em; margin: 1rem auto; } /* GridSupport Styles */ .slick-row .slick-cell.active.primary-column { border: 1px solid $active-border-color; height: $row-height - 2px; } .slick-row .slick-cell.active:not(.primary-column) { border: 2px solid $active-border-color; height: $row-height - 4px; } .container_0, .container_1 { .slick-header.ui-state-default { // header container with full width of grid background: transparent; border: none; } .slick-cell { // each cell of the body border-bottom: 1px solid $grid-border-color; border-#{direction(right)}: 1px solid $grid-border-color; padding: 0; overflow: visible; &.editable { background: transparent; } } } .container_0 { .slick-header-column:first-child { border-#{direction(left)}: 1px solid $grid-border-color; padding-#{direction(left)}: 0px; } .slick-cell:first-child { border-#{direction(left)}: 1px solid $grid-border-color; } } .slick-cell { &.active { box-shadow: 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.1), 0 0.1875rem 0.375rem rgba(0, 0, 0, 0.16); z-index: 5; &.assignment-group-cell .gradebook-cell { padding-top: $gradebook_cell_padding_top - 1px; // subtract extra 1px top border } &.total_grade .gradebook-cell { padding-top: $gradebook_cell_padding_top - 1px; // subtract extra 1px top border } &.assignment .gradebook-cell { &:not(.Grid__GradeCell) { padding-top: $gradebook_cell_padding_top - 2px; // subtract 2px top border height: $row-height - $gradebook_cell_padding_top - 3px; } } } &:not(.active) { &.assignment .gradebook-cell:not(.Grid__GradeCell) { padding: 1px; // maintain extra spacing from active border } &.assignment .gradebook-cell:not(.Grid__GradeCell) { padding-top: $gradebook_cell_padding_top - 1px; // subtract extra 1px top border } } &.custom_column { &:not(.active) { border-top: 0; height: $row-height - 4px; padding-top: 2px; padding-bottom: 1px; } color: #333333; @include fontSize(12px); text-align: center; line-height: 35px; } } .slick-row.active { .slick-cell:not(.active) { &.custom_column { height: $row-height - 4px; padding-top: 1px; padding-bottom: 1px; } } } .slick-cell.meta-cell { padding: 0; } .gradebook .ic-Layout-contentMain { position: relative; padding: 0 $ic-sp*2; } #gradebook-grid-wrapper { position: relative; } .student-name { color: #1b7eda; text-shadow: #fbf8f8 0 0 1px; padding-#{direction(left)}: 0.75rem; } .student-grades-link { @if $use_high_contrast { color: var(--ic-link-color-darkened-10); } } .student-placeholder { display: none; } .secondary-info { margin-top: -5px; @include fontSize(12px); padding-#{direction(left)}: 0.75rem; } .student-name, .secondary-info, .student-section, .student-placeholder, .Gradebook__ColumnHeaderDetail--secondary { overflow: hidden; text-overflow: ellipsis; } // override the default jquery ui top border .slick-header.ui-state-default { border-top: 0; } .slick-header-column { background-color: $ic-bg-light-neutral; background-image: none; @include fontSize(12px); text-align: center; font-weight: normal; // override jqueryUI style &.ui-state-default { border-top: 1px solid $grid-border-color; border-#{direction(right)}: 1px solid $grid-border-color; border-bottom: 1px solid $grid-border-color; border-#{direction(left)}: none; height: $header-content-height; padding-bottom: 0; padding-#{direction(left)}: 1px; padding-#{direction(right)}: 0; padding-top: 0; @if $direction == 'rtl' { .ui-widget &.ui-sortable-helper { /* because in rtl we set the "right" property, but during drag jqueryUI uses the "left" property */ #{direction(right)}: auto; border-#{direction(right)}: 1px solid $grid-border-color; } } } .assignment-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; a { color: var(--ic-link-color); } } .Gradebook__ColumnHeaderContent { align-items: center; display: flex; height: 36px; overflow: hidden; width: 100%; } .Gradebook__ColumnHeaderIndicators, .Gradebook__ColumnHeaderAction { text-align: center; width: $header-content-height - 2px; } .Gradebook__ColumnHeaderIndicators { padding: direction-sides(0 0 0 2px); } .Gradebook__ColumnHeaderAction { padding: direction-sides(0 2px 0 0); } .Gradebook__ColumnHeaderDetail { display: block; height: $header-content-height; line-height: $header-content-height; } .Gradebook__ColumnHeaderDetail--OneLine { overflow: hidden; text-overflow: ellipsis; } .Gradebook__ColumnHeaderDetailLine { display: block; height: $header-content-height * 0.5; line-height: $header-content-height * 0.5; } .Gradebook__ColumnHeaderAction { button { opacity: 0; &:focus, &:hover { opacity: 1; } } &.menuShown { button { opacity: 1; } } } &:hover .Gradebook__ColumnHeaderAction button { opacity: 1; } .Gradebook__ColumnHeaderContent.focused { .Gradebook__ColumnHeaderAction button { opacity: 1; } } } .odd .slick-cell { background-color: $ic-bg-light-neutral; &.minimized { background-color: darken($ic-bg-light-neutral, 4%); } } .even .slick-cell { background-color: #ffffff; &.minimized { background-color: darken(#ffffff, 4%); } } // overrides of jqueryUI theme .slick-row.ui-state-active { color: inherit; background-image: none; font-weight: normal; border: none; } .slick-row { &.active { .slick-cell:not(.active) { border-bottom: 1px solid $active-border-color; border-top: 1px solid $active-border-color; height: $row-height - 2px; // subtract top and bottom border } .slick-cell.primary-column { border-#{direction(left)}: 1px solid $active-border-color; border-#{direction(right)}: 1px solid $active-border-color; height: $row-height - 2px; // subtract top and bottom border } } } .container_1 { .slick-row.active { .slick-cell:not(.active):last-child { border-#{direction(right)}: 1px solid $active-border-color; } } } // my styles .slick-row.ui-state-active .slick-cell { background-color: #dfe9f2; } .slick-cell.editable { border-color: $active-border-color; } .slick-cell.ungraded { background-image: url("/images/4_percent_opacity.png"); background-repeat: repeat; } @mixin first-row-tooltip() { top: 35px; &:after { display: none; } &:before { border-color: #444444 transparent; border-style: solid; border-width: 5px 5px 0; position: absolute; width: 0; #{direction(left)}: 15px; content: ""; border-top-color: transparent; border-#{direction(left)}-color: transparent; border-#{direction(right)}-color: transparent; border-bottom: 5px solid #444444; top: -10px; } } .gradebook-tooltip { visibility: hidden; opacity: 0; background-color: #444444; color: white; border-radius: 3px; padding: 5px 10px; z-index: 7; position: absolute; font-size: 0.8em; #{direction(left)}: 0; top: -30px; line-height: 1rem; &:after { border-color: #444444 transparent; border-style: solid; border-width: 5px 5px 0; position: absolute; bottom: -5px; width: 0; #{direction(left)}: 15px; content: ""; } .slick-cell.hover &, .slick-cell.focus &, .slick-cell.selected & { visibility: visible; opacity: 1; } .slick-cell.active &, .slick-cell.editable & { visibility: visible; opacity: 1; } &.first-row { @include first-row-tooltip(); } } .slick-row.first-row { .gradebook-tooltip { @include first-row-tooltip(); } } .total-column-tooltip { width: 250px; height: 60px; white-space: pre-line; padding-top: 5px; padding-bottom: 55px; margin-bottom: -50px; } .container_1 .slick-cell:last-child .gradebook-tooltip { #{direction(left)}: auto; #{direction(right)}: 0; &:after { #{direction(left)}: auto; #{direction(right)}: 15px; } } .gradebook-cell { &:not(.Grid__GradeCell) { border: none; height: $cell_height - $gradebook_cell_padding_top; padding-top: $gradebook_cell_padding_top; position: relative; text-align: center; } &.grayed-out { background-color: $grayLighter; } } .gradebook-cell-turnitin { position: absolute; top: 2px; #{direction(right)}: 2px; z-index: 1; width: 20px; height: 16px; &.no-score { background-image: url(/images/turnitin_no_score.png); } &.none-score { background-image: url(/images/turnitin_none_score.png); } &.acceptable-score { background-image: url(/images/turnitin_acceptable_score.png); } &.warning-score { background-image: url(/images/turnitin_warning_score.png); } &.problem-score { background-image: url(/images/turnitin_problem_score.png); } &.failure-score { background-image: url(/images/turnitin_failure_score.png); } &.pending-score { background-image: url(/images/turnitin_submission_pending.png); } &.error-score { background-image: url(/images/turnitin_submission_error.png); } } .gradebook-cell-editable { height: $cell_height - 8px; padding-top: 8px; margin: 0; background-color: white; } .slick-cell { z-index: auto; &.custom_column { overflow: hidden; text-overflow: ellipsis; } &.assignment { .gradebook-cell, .Grid__GradeCell { overflow: hidden; text-overflow: ellipsis; } } &.assignment-group-cell { .gradebook-cell .percentage { display: inline-block; overflow: hidden; text-overflow: ellipsis; width: 100%; } } &.total_grade { .gradebook-cell .grades { display: inline-block; overflow: hidden; text-overflow: ellipsis; width: 100%; } } &.total-grade-override { overflow: hidden; text-overflow: ellipsis; } &.active { background-color: inherit; z-index: 5; &.editable { top: 0; } } } /* Assignment Cell */ .slick-cell { &.assignment, &.total-grade-override { .Grid__GradeCell { height: $row-height - 4px; } // Inactive Cell &:not(.active) { .Grid__GradeCell { padding: 1px; height: $row-height - 4px; } } // Inactive or Active Cell &:not(.editable) { // Inner Elements .Grid__GradeCell__OriginalityScore { padding-bottom: 2px; // match the icon container size from InstUI } } } } .Grid__GradeCell { align-items: center; display: flex; flex-direction: row; height: $cell_height; justify-content: space-between; } .Grid__GradeCell__InvalidGrade, .Grid__GradeCell__OriginalityScore { align-items: center; box-sizing: border-box; display: flex; justify-content: center; width: $cell-icon-width; } .Grid__GradeCell__InvalidGrade { i { padding-bottom: 2px; // match the icon container size from InstUI &.icon-warning { color: $ic-color-danger; } } } .Grid__GradeCell__OriginalityScore { i { &.icon-empty, &.icon-oval-half { color: $ic-color-danger; } &.icon-certified { color: $ic-color-success; } } } .Grid__GradeCell__UnpostedGrade { background-color: $ic-color-alert; border-radius: 50%; height: 0.4rem; position: absolute; width: 0.4rem; } .Grid__GradeCell__StartContainer, .Grid__GradeCell__EndContainer { display: flex; flex-basis: $cell-icon-width * 2; flex-grow: 1; flex-shrink: 1; height: 100%; white-space: nowrap; } .Grid__GradeCell__EndContainer { justify-content: flex-end; } .Grid__GradeCell__Content { flex-basis: auto; flex-grow: 0; flex-shrink: 0; .Grade { display: flex; } .Grade--complete { color: $ic-color-success; } } .Grid__GradeCell { &.gradingScheme, &.passFail { .Grid__GradeCell__EndContainer { flex-basis: $cell-icon-width; } } } .Grid__GradeCell { // This nesting is required to ensure higher specificity than InstUI styles .Grid__GradeCell__PercentInput, .Grid__GradeCell__PointsInput { // wide enough to fit "Excused" width: 78px; } .Grid__GradeCell__GradingSchemeInput { // wide enough to fit "Excused," input padding, and the menu button width: 78px + $cell-icon-width; } .Grid__GradeCell__CompleteIncompleteInput { // wide enough to fit "Excused" and the menu button width: 64px + $cell-icon-width; } .HorizontalFlex { align-content: space-between; align-items: center; display: flex; flex-direction: row; justify-content: center; } .Grid__GradeCell__PercentInput, .Grid__GradeCell__PointsInput, .Grid__GradeCell__GradingSchemeInput { // clip any input messages span > span { margin-bottom: 0; } label > span > span + span { display: none; } } } .Grid__GradeCell__CompleteIncompleteValue { display: flex; flex-grow: 1; justify-content: center; overflow: hidden; > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } svg { display: flex; } } .Grid__GradeCell__EndText { align-items: center; box-sizing: border-box; display: flex; flex-basis: 0; flex-grow: 1; flex-shrink: 0; min-width: $cell-icon-width; overflow: hidden; padding-#{direction(left)}: 2px; text-align: direction(left); white-space: nowrap; } .Grid__GradeCell__CompleteIncompleteMenu, .Grid__GradeCell__GradingSchemeMenu, .Grid__GradeCell__Options { align-items: center; box-sizing: border-box; display: flex; height: $cell-icon-height; justify-content: center; width: $cell-icon-width; } .Grid__GradeCell__CompleteIncompleteMenu, .Grid__GradeCell__GradingSchemeMenu { flex-basis: auto; flex-grow: 0; flex-shrink: 0; } /* End Styles for Assignment Cells */ .gradebook-cell { .grade { border: none; text-align: center; outline: none; @include fontSize(12px); width: 100%; padding: 0; margin: 0; background: none; box-shadow: none !important; } .grade::-webkit-outer-spin-button { display: none; } .grade::-ms-clear { display: none; } } $gradebook_checkbox_size: 16px; .gradebook-checkbox { display: block; position: absolute; #{direction(left)}: 50%; top: 50%; margin-top: -($gradebook_checkbox_size * 0.5) - ( $gradebook_cell_padding_top * 0.5 ); margin-#{direction(left)}: -$gradebook_checkbox_size * 0.5; } #hide_warning { vertical-align: top; } .minimized { background-color: darken($ic-bg-light-neutral, 4%); .gradebook-cell, .Gradebook__ColumnHeaderContent { display: none; } } /* Total Grade Override Cell START */ .slick-cell.total-grade-override { .gradebook-cell { align-items: center; display: flex; flex-direction: row; height: 100%; justify-content: center; padding: 0; .grade { flex: 1 1; text-align: center; } } } /* Total Grade Override Cell END */ // STUFF FOR HEADER #gradebook-toolbar { display: flex; flex-direction: row; position: relative; padding: $ic-sp 0; border-top: none; @include breakpoint(desktop) { align-items: center; justify-content: space-between; } @include mobile-only { flex-direction: column; } } .section-button-placeholder { display: inline-block; } .gradebook-menus { display: inline-block; white-space: nowrap; } #gradebook-actions { display: inline-block; white-space: nowrap; } .gradebook-filter-container { display: inline-block; flex: 0 1 auto; margin-#{direction(left)}: $ic-sp*0.5; } .gradebook_filter { display: inline-block; margin-#{direction(left)}: $ic-sp*0.5; input { @include desktop-only { width: 248px; } @include mobile-only { padding-#{direction(right)}: 0; } } } .gradebook_menu { display: inline-block; margin-#{direction(left)}: $ic-sp*0.5; } @mixin gradebook_menu_label($fontsize) { font-size: $fontsize; font-weight: bold; margin-bottom: 0; vertical-align: 0px !important; position: relative; line-height: 1.5; } #section-to-show-menu { width: 350px; overflow-x: hidden; overflow-y: auto; max-height: 275px; label { @include gradebook_menu_label(12px); } .ui-state-focus:last-child { margin: 0 !important; } } .post-grades-placeholder { display: inline-block; } .letter-grade-points, .gpa-scale-points { position: absolute; @include fontSize(12px); padding-#{direction(left)}: 8px; line-height: 19px; color: $gradebook_letter-grade-font; .muted & { @if $use_high_contrast { color: darken($ic-hint-text, 20%); } @else { color: $ic-hint-text; } } .total_grade & { position: static; } } .final-warning { margin-#{direction(left)}: -16px; } .gradebook_dropdown, .export_dropdown { li, label { @include gradebook_menu_label(13px); cursor:pointer; } } .ui-menu .ui-menu-item.ui-state-disabled { padding: 0; margin: 0; line-height: 1; } .ui-menu-item.ui-state-disabled label { margin-bottom: 0; vertical-align: 0; } .post-grades-menu { li.external-tools-dialog, li.post-grades-placeholder { cursor: pointer; } li.external-tools-dialog.ellip { cursor: default; } } .ui-dialog.post-grades-frame-dialog { .ui-dialog-content { padding: 0; overflow: hidden; } } #export_progress { background-color: gray; width: 100px; height: 8px; margin: auto; div { position: relative; #{direction(left)}: 0; width: 20px; height: 8px; background: blue; } } // Very specific declaration to get Choose a Section text to have better text:background contrast in Section dropdown #section-to-show-menu { li:first-of-type.ui-state-disabled { opacity: 0.8; } } .Gradebook__StatusModalListItem { padding: 7px; margin-bottom: 5px; border: 1px solid #C7CDD1; border-radius: 3px; } .Gradebook__StatusModalList { margin: 0px; list-style-type: none; } #LatePoliciesTabPanel__Container-noContent { text-align: center; min-height: 30rem; } #LatePoliciesTabPanel__Container { min-height: 30rem; display: flex; justify-content: space-around; flex-direction: column; input[type="text"] { line-height: 1; margin: 0; padding: auto; box-shadow: none; border: none; } } .NumberInput__Container { display: flex; align-items: center; } .NumberInput__Container-LeftIndent { margin-#{direction(left)}: 1.5rem } .SubmissionTray__Container { box-sizing: border-box; height: 100%; padding: 1.5rem; input[type="text"] { height: auto; line-height: 1; margin: 0; padding: auto; box-shadow: none; border: none; } } .with-fixed-bottom #SubmissionTray__Content::after { content: ' '; height: 60px; // ref: app/stylesheets/components/_g_instructure.scss display: block; } .SubmissionTray__RadioInput { padding: 0.4rem; margin-bottom: 0.4rem; display: flex; flex-direction: column; justify-content: space-around; } .SubmissionTray__RadioInput-WithBackground { border: 1px solid $ic-border-color; border-radius: 0.25rem; } #SubmissionTray__Content { display: flex; flex-direction: column; height: 100%; } #SubmissionTray__Avatar { min-height: 2rem; padding: 0.7rem; text-align: center; font-size: 1.375rem; } #SubmissionTray__Comments { line-height: 1; } #SubmissionTray__StudentName { text-align: center; padding: 0.7rem; } // Specific width to ensure the text of the dialog doesn't wrap by default #anonymous-speed-grader-alert-container { min-width: 35rem; }
CANCEL
Name
Type
Size
Modified
Actions
↩ ..
DIR
—
—
📄 _grade_passback.scss
SCSS
2.4 KB
2023-09-24 03:36
EDIT
📄 _gradebook.scss
SCSS
21 KB
2023-09-24 03:36
EDIT
📄 _gradebook_settings.scss
SCSS
922 B
2023-09-24 03:36
EDIT
📄 _learning_outcome_gradebook.scss
SCSS
7.4 KB
2023-09-24 03:36
EDIT