FED clean up of studio outline page

This commit is contained in:
Frances Botsford
2013-12-04 11:13:23 -05:00
parent 724cc02556
commit a2d5500f9e
14 changed files with 996 additions and 770 deletions

View File

@@ -47,7 +47,7 @@
// ====================
// needed for poorly scoped margin rules on all content elements
.branch .sortable-unit-list {
.courseware-subsection .sortable-unit-list {
margin-bottom: 0;
}

View File

@@ -0,0 +1,179 @@
// studio - elements - uploads
// ========================
body.course.feature-edit-dialog {
// dialog
.wrapper-dialog {
@extend %ui-depth5;
@include transition(all 0.05s ease-in-out);
position: fixed;
top: 0;
background: $black-t2;
width: 100%;
height: 100%;
text-align: center;
&:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em; /* Adjusts for spacing */
}
.dialog {
@include box-sizing(border-box);
box-shadow: 0px 0px 7px $shadow-d1;
border-radius: ($baseline/5);
background-color: $gray-l4;
display: inline-block;
vertical-align: middle;
width: $baseline*23;
padding: 7px;
text-align: left;
.title {
@extend %t-title5;
margin-bottom: ($baseline/2);
font-weight: 600;
color: $black;
}
.message {
@extend %t-copy-sub2;
color: $gray;
}
.error {
color: $white;
}
form {
padding: 0;
.form-content {
box-shadow: 0 0 3px $shadow-d1;
padding: ($baseline*1.5);
background-color: $white;
}
.field {
margin-bottom: ($baseline/2);
}
label {
@include font-size(14);
display: block;
font-weight: bold;
}
input[type="text"] {
@extend %t-copy-sub2;
}
.message-status {
@include border-top-radius(2px);
@include box-sizing(border-box);
@include font-size(14);
display: none;
border-bottom: 2px solid $yellow;
margin: 0 0 20px 0;
padding: 10px 20px;
font-weight: 500;
background: $paleYellow;
.text {
display: inline-block;
}
&.error {
border-color: $red-d2;
background: $red-l1;
color: $white;
}
&.confirm {
border-color: $green-d2;
background: $green-l1;
color: $white;
}
&.is-shown {
display: block;
}
}
.actions {
padding: ($baseline*0.75) $baseline ($baseline/2) $baseline;
.action-item {
@extend %t-action4;
display: inline-block;
margin-right: ($baseline*0.75);
&:last-child {
margin-right: 0;
}
}
.action-primary {
@include blue-button();
@include font-size(12); // needed due to bad button mixins for now
border-color: $blue-d1;
color: $white;
}
a {
color: $blue;
&:hover {
color: $blue-s2;
}
}
}
}
}
}
// ====================
// dialog set-up
.wrapper-dialog {
visibility: hidden;
pointer-events: none;
.dialog {
opacity: 0;
}
}
// dialog showing/hiding
&.dialog-is-shown {
.wrapper-dialog {
-webkit-filter: blur(2px) grayscale(25%);
filter: blur(2px) grayscale(25%);
}
.wrapper-dialog.is-shown {
visibility: visible;
pointer-events: auto;
.dialog {
opacity: 1.0;
}
}
}
}

View File

@@ -38,3 +38,4 @@
@import 'elements/modal'; // interstitial UI, dialogs, modal windows
@import 'elements/vendor'; // overrides to vendor-provided styling
@import 'elements/uploads';
@import 'elements/edit_dialog';

View File

@@ -3,212 +3,186 @@
.view-outline {
input.courseware-unit-search-input {
float: left;
width: 260px;
background-color: #fff;
// page structure
.content-primary,
.content-supplementary {
@include box-sizing(border-box);
float: left;
}
.branch {
.content-primary {
width: flex-grid(9, 12);
margin-right: flex-gutter();
.section-item {
@include clearfix();
.no-outline-content {
@extend %ui-well;
padding: ($baseline*2);
background-color: $gray-l4;
text-align: center;
color: $gray;
.details {
display: block;
float: left;
margin-bottom: 0;
width: 650px;
}
.new-button {
@include font-size(14);
margin-left: $baseline;
.gradable-status {
float: right;
position: relative;
top: -4px;
right: 50px;
width: 100px;
.status-label {
@include font-size(12);
position: absolute;
top: 2px;
right: -5px;
display: none;
width: 110px;
padding: 5px 40px 5px 10px;
border-radius: 3px;
color: $lightGrey;
text-align: right;
font-weight: bold;
line-height: 16px;
}
.menu-toggle {
z-index: 10;
position: absolute;
top: 0;
right: 5px;
padding: 5px;
color: $mediumGrey;
&:hover, &.is-active {
color: $blue;
}
}
[class^="icon-"] {
vertical-align: middle;
margin-top: -5px;
display: inline-block;
}
.menu {
@include font-size(12);
@include transition(opacity $tmg-f2 linear 0s);
border-radius: 4px;
box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
z-index: 1;
display: none;
opacity: 0.0;
position: absolute;
top: -1px;
right: 0;
margin: 0;
padding: 8px 12px;
background: $white;
border: 1px solid $mediumGrey;
li {
width: 115px;
margin-bottom: 3px;
padding-bottom: 3px;
border-bottom: 1px solid $lightGrey;
&:last-child {
margin-bottom: 0;
padding-bottom: 0;
border: none;
a {
color: $darkGrey;
}
}
}
a {
color: $blue;
&.is-selected {
font-weight: bold;
}
}
}
// dropdown state
&.is-active {
.menu {
z-index: 1000;
display: block;
opacity: 1.0;
}
.menu-toggle {
z-index: 10000;
}
}
// set state
&.is-set {
.menu-toggle {
color: $blue;
}
.status-label {
display: block;
color: $blue;
}
}
[class^="icon-"] {
margin-right: ($baseline/2);
}
}
}
}
.content-supplementary {
width: flex-grid(3, 12);
}
// page header bits
.toggle-button-sections {
@include font-size(12);
display: none;
position: relative;
float: right;
margin-top: ($baseline/4);
color: $darkGrey;
&.is-shown {
display: block;
}
[class^="icon-"] {
@include font-size(11);
border-radius: 20px;
position: relative;
top: -1px;
display: inline-block;
margin-right: 2px;
line-height: 5px;
}
.label {
display: inline-block;
}
}
// new section, subsection, unit
.new-section-name,
.new-subsection-name-input {
@include font-size(16);
display: inline-block;
vertical-align: top;
width: 515px;
padding: ($baseline/4);
}
.new-section-name-save,
.new-subsection-name-save {
@include blue-button;
padding: 4px 20px 7px;
margin: 0 5px;
color: #fff !important;
}
.new-section-name-cancel,
.new-subsection-name-cancel {
@include white-button;
padding: 4px 20px 7px;
color: #8891a1 !important;
}
.new-subsection-item,
.new-unit-item {
@extend %ui-btn-flat-outline;
width: 100%;
margin: 0 0 ($baseline/2) 0;
border: 1px solid $gray-l3;
padding: ($baseline/2) 0;
color: $gray-l2;
&:hover {
box-shadow: none;
background-image: none;
}
}
.courseware-unit-new {
margin-right: ($baseline*1.5);
}
// general action list styles (section and subsection)
.expand-collapse {
@include transition(all $tmg-f2 linear 0s);
display: inline-block;
vertical-align: top;
margin: 0 ($baseline/4);
padding: 0;
color: $gray-l2;
&:hover {
color: $blue;
}
.ui-toggle-expansion {
@include transition(all $tmg-f2 ease-in-out 0s);
@include font-size(18);
display: inline-block;
vertical-align: middle;
margin-right: ($baseline/4);
color: $gray-l3;
}
&.expand .ui-toggle-expansion {
@include transform(rotate(-90deg));
@include transform-origin(50% 50%);
}
}
.actions-list {
display: inline-block;
margin-bottom: 0;
}
.actions-item {
@include font-size(13);
display: inline-block;
padding: 0 4px;
vertical-align: middle;
.action {
min-width: ($baseline*.75);
color: $gray-l2;
&:hover,
&.isset {
color: $blue;
visibility: visible;
}
//reset old drag handle style
&.drag-handle {
float: none;
margin: 0;
background: none;
text-align: center;
}
}
}
// section styles
.courseware-section {
@extend %ui-window;
@include transition(background $tmg-avg ease-in-out 0);
position: relative;
margin-top: ($baseline);
padding-bottom: ($baseline/2);
padding: ($baseline*1.5) $baseline $baseline $baseline;
&.collapsed {
padding-bottom: 0;
}
label {
float: left;
line-height: 29px;
}
.datepair {
float: left;
margin-left: 10px;
}
.section-published-date {
position: absolute;
top: 19px;
right: 80px;
padding: 4px 10px;
border-radius: 3px;
background: $lightGrey;
text-align: right;
.published-status {
@include font-size(12);
margin-right: 15px;
strong {
font-weight: bold;
}
}
.schedule-button {
@include blue-button;
}
.edit-button {
@include blue-button;
}
.schedule-button,
.edit-button {
@include font-size(11);
padding: 3px 15px 5px;
}
}
.datepair .date,
.datepair .time {
@include font-size(13);
box-shadow: none;
padding-left: 0;
padding-right: 0;
border: none;
background: none;
font-weight: bold;
color: $blue;
cursor: pointer;
}
.datepair .date {
width: 80px;
}
.datepair .time {
width: 65px;
padding-bottom: 0;
}
&.collapsed .subsection-list,
@@ -217,44 +191,65 @@
display: none !important;
}
header {
min-height: 75px;
&.new-section {
header {
@include clearfix();
height: auto;
border-bottom: 0;
}
.item-details, .section-published-date {
.expand-collapse {
visibility: hidden;
}
.item-details {
padding: 25px 0 0 0;
.section-name {
float: none;
width: 100%;
}
}
}
.section {
@include clearfix();
min-height: 65px; // needed to align with edit input
margin-bottom: 0;
border: 0;
padding: 0;
// section name area
.item-details {
@include clearfix();
display: inline-block;
float: none;
padding: 0 0 ($baseline/2) 0;
.section-name {
@include font-size(19);
float: left;
width: 400px;
margin-right: 10px;
}
.item-details {
display: inline-block;
padding: 20px 0 10px 0;
@include clearfix();
.section-name-span {
@include transition(color $tmg-f2 linear 0s);
cursor: pointer;
.section-name {
@include font-size(19);
float: left;
margin-right: 10px;
width: 350px;
font-weight: bold;
color: $blue;
}
&:hover {
color: $blue;
}
}
.section-name-span {
@include transition(color $tmg-f2 linear 0s);
cursor: pointer;
.section-name-edit {
position: relative;
width: 400px;
background: $white;
&:hover {
color: $orange;
}
}
.section-name-edit {
position: relative;
width: 400px;
background: $white;
input {
@include font-size(16);
input {
@include font-size(16);
}
.save-button {
@@ -268,11 +263,43 @@
padding: 7px 20px 7px;
}
}
}
// section specific action styles
.item-actions {
top: 0;
}
.actions-item {
padding: 0 0 0 8px;
&:last-child {
padding-right: 4px;
}
&.pubdate {
padding-right: 0;
}
.action {
&.pubdate {
visibility: hidden;
}
&:hover,
&.isset {
color: $blue;
visibility: visible;
}
}
.section-published-date {
float: right;
padding: 4px 10px;
border-radius: 3px;
background: $lightGrey;
text-align: right;
.published-status {
@include font-size(12);
@@ -283,392 +310,286 @@
}
}
.schedule-button {
@include blue-button;
}
&.released .section-published-date {
background-color: transparent;
color: $gray-l1;
.edit-button {
@include blue-button;
}
a {
color: $gray-l2;
.schedule-button,
.edit-button {
@include font-size(11);
padding: 0 15px 2px 15px;
}
}
.gradable-status {
position: absolute;
top: 20px;
right: 70px;
width: 145px;
.status-label {
@include font-size(12);
border-radius: 3px;
position: absolute;
top: 0;
right: 2px;
display: none;
width: 100px;
padding: 10px 35px 10px 10px;
background: $lightGrey;
color: $lightGrey;
text-align: right;
font-weight: bold;
line-height: 16px;
}
.menu-toggle {
z-index: 10;
position: absolute;
top: 2px;
right: 5px;
padding: 5px;
color: $lightGrey;
&:hover, &.is-active {
&:hover {
color: $blue;
}
}
.menu {
@include font-size(12);
@include transition(opacity $tmg-f2 linear 0s, display $tmg-f2 linear 0s);
border-radius: 4px;
box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
z-index: 1;
display: none;
opacity: 0.0;
position: absolute;
top: -1px;
left: 2px;
margin: 0;
padding: 8px 12px;
background: $white;
border: 1px solid $mediumGrey;
li {
width: 115px;
margin-bottom: 3px;
padding-bottom: 3px;
border-bottom: 1px solid $lightGrey;
&:last-child {
margin-bottom: 0;
padding-bottom: 0;
border: none;
a {
color: $darkGrey;
}
}
}
a {
&.is-selected {
font-weight: bold;
}
}
}
// dropdown state
&.is-active {
.menu {
z-index: 1000;
display: block;
opacity: 1.0;
}
.menu-toggle {
z-index: 10000;
}
}
// set state
&.is-set {
.menu-toggle {
color: $blue;
}
.status-label {
display: block;
color: $blue;
}
}
float: left;
padding: 21px 0 0;
}
}
.item-actions {
margin-top: 21px;
margin-right: 12px;
.edit-button,
.delete-button {
margin-top: -3px;
}
}
.expand-collapse-icon {
@include transition(none);
float: left;
margin: 25px 6px 16px 16px;
&.expand {
background-position: 0 0;
}
&.collapsed {
}
}
.drag-handle {
margin-left: 11px;
}
}
h3 {
@include font-size(19);
font-weight: 700;
color: $blue;
}
.section-name-span {
@include transition(color $tmg-f2 linear 0s);
cursor: pointer;
&:hover {
color: $orange;
}
}
.section-name-form {
margin-bottom: 15px;
}
.section-name-edit {
input {
@include font-size(16);
}
.save-button {
@include blue-button;
padding: 7px 20px 7px;
margin-right: 5px;
}
.cancel-button {
@include white-button;
padding: 7px 20px 7px;
}
}
h4 {
@include font-size(12);
color: #878e9d;
strong {
font-weight: bold;
}
}
.list-header {
@include linear-gradient(top, transparent, rgba(0, 0, 0, .1));
background-color: #ced2db;
border-radius: 3px 3px 0 0;
}
.subsection-list {
margin: 0 12px;
> ol {
@include tree-view;
border-top-width: 0;
}
}
&.new-section {
header {
@include clearfix();
height: auto;
}
.expand-collapse-icon {
visibility: hidden;
}
.item-details {
padding: 25px 0 0 0;
.section-name {
float: none;
width: 100%;
}
}
}
}
.toggle-button-sections {
@include font-size(12);
display: none;
position: relative;
float: right;
margin-top: ($baseline/4);
color: $darkGrey;
&.is-shown {
// subsection styles
.courseware-subsection {
@include clearfix();
margin-bottom: 5px;
&.visible {
border-left: 5px solid $green;
}
&.mixed {
border-left: 5px solid $yellow-s1;
}
.status {
@extend %cont-text-sr;
}
.section-item {
@include transition(background $tmg-avg ease-in-out 0);
@include font-size(13);
position: relative;
display: block;
background-color: $gray-l5;
padding: 6px 8px 8px 16px;
&:hover {
background: $blue-l5;
.item-actions {
display: block;
}
}
&.editing {
background: $orange-l4;
}
}
.details {
display: block;
margin-bottom: 0;
width: 600px;
a {
color: $baseFontColor;
}
}
}
// gradable drop down
.gradable-status {
display: inline-block;
position: relative;
.status-label {
@include font-size(12);
width: 110px;
padding: 5px 40px 5px 10px;
border-radius: 3px;
color: transparent;
text-align: right;
font-weight: bold;
line-height: 16px;
}
.menu-toggle {
z-index: 10;
position: absolute;
top: 0;
right: 5px;
padding: 2px 5px;
color: $mediumGrey;
&:hover,
&.is-active {
color: $blue;
}
&:focus {
outline: 0;
}
[class^="icon-"] {
@include font-size(11);
border-radius: 20px;
position: relative;
top: -1px;
display: inline-block;
margin-right: 2px;
line-height: 5px;
vertical-align: middle;
margin-top: -5px;
display: inline-block;
}
}
.label {
display: inline-block;
}
}
.new-section-name,
.new-subsection-name-input {
width: 515px;
}
.new-section-name-save,
.new-subsection-name-save {
@include blue-button;
padding: 4px 20px 7px;
margin: 0 5px;
color: #fff !important;
}
.new-section-name-cancel,
.new-subsection-name-cancel {
@include white-button;
padding: 4px 20px 7px;
color: #8891a1 !important;
}
.dummy-calendar {
// gradable dropdown menu default
.menu {
@include font-size(12);
@include transition(opacity $tmg-f2 linear 0s);
display: none;
opacity: 0.0;
z-index: 1;
position: absolute;
top: 55px;
left: 110px;
z-index: 9999;
border: 1px solid #3C3C3C;
box-shadow: 0 1px 15px rgba(0, 0, 0, .2);
}
top: -4px;
right: 0;
margin: 0;
box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
border: 1px solid $mediumGrey;
border-radius: 4px;
padding: 8px 12px;
background: $white;
.preview {
background: url(../img/preview.jpg) center top no-repeat;
}
li {
width: 115px;
margin-bottom: 3px;
padding-bottom: 3px;
border-bottom: 1px solid $lightGrey;
.edit-subsection-publish-settings {
display: none;
position: fixed;
top: 100px;
left: 50%;
z-index: 99999;
width: 600px;
margin-left: -300px;
background: #fff;
text-align: center;
&:last-child {
margin-bottom: 0;
padding-bottom: 0;
border: none;
.settings {
padding: 40px;
}
h3 {
@include font-size(34);
font-weight: 300;
}
.picker {
@include clearfix();
margin: 30px 0 65px;
.field {
float: left;
margin-right: ($baseline/2);
&:first-child {
margin-left: ($baseline*5);
}
&:last-child {
margin-right: 0;
}
label, input {
display: block;
text-align: left;
}
label {
@extend %t-copy-sub1;
margin-bottom: ($baseline/4);
}
.gradable-status-notgraded {
color: $darkGrey;
}
}
}
.description {
@include font-size(14);
float: left;
margin-top: 30px;
line-height: 20px;
width: 100%;
a {
color: $blue;
&.is-selected {
font-weight: bold;
}
}
}
// gradable dropdown state
&.is-active {
.menu {
z-index: 1000;
display: block;
opacity: 1.0;
}
strong {
font-weight: 700;
.menu-toggle {
z-index: 10000;
}
}
// set state
&.is-set {
.menu-toggle {
color: $blue;
}
.start-date,
.start-time {
@include font-size(19);
}
.save-button {
@include blue-button;
margin-right: 10px;
}
.cancel-button {
@include white-button;
}
.save-button,
.cancel-button {
@include font-size(16);
.status-label {
display: block;
color: $blue;
}
}
}
.collapse-all-button {
@include font-size(13);
float: right;
margin-top: 10px;
color: $darkGrey;
// unit styles
.courseware-unit {
margin: ($baseline/4) 0 0 ($baseline*1.75);
&.add-new-unit {
margin-right: ($baseline*1.75);
}
.section-item {
border: 0;
background-color: $white;
}
.public-item {
color: $black;
}
.private-item {
color: $gray-l1;
}
.draft-item {
color: $yellow-d1;
}
.draft-item:after,
.public-item:after,
.private-item:after {
margin-left: 3px;
font-size: 9px;
font-weight: 600;
text-transform: uppercase;
}
.draft-item:after {
content: "- draft";
}
.private-item:after {
content: "- private";
}
}
// modal to edit section publish settings
.edit-section-publish-settings {
.picker {
@include clearfix();
.field {
float: left;
margin-right: ($baseline/2);
label, input {
display: block;
text-align: left;
}
label {
@extend %t-copy-sub1;
margin-bottom: ($baseline/4);
}
}
}
.description {
@include font-size(14);
float: left;
margin-top: 30px;
line-height: 20px;
width: 100%;
}
strong {
font-weight: 700;
}
.start-date,
.start-time {
@include font-size(19);
}
.save-button {
@include blue-button;
margin-right: 10px;
}
.cancel-button {
@include white-button;
}
.save-button,
.cancel-button {
@include font-size(16);
}
}
// UI: DnD - specific elems/cases - section
.courseware-section {