Display programs from all categories on the student dashboard
Removes most remaining hardcoded references to XSeries from the LMS. Part of ECOM-4638.
This commit is contained in:
@@ -20,17 +20,6 @@ var edx = edx || {};
|
||||
return properties;
|
||||
};
|
||||
|
||||
// Generate object to be passed with programs events
|
||||
edx.dashboard.generateProgramProperties = function(element) {
|
||||
var $el = $(element);
|
||||
|
||||
return {
|
||||
category: 'dashboard',
|
||||
course_id: $el.closest('.course-container').find('.info-course-id').html(),
|
||||
program_id: $el.data('program-id')
|
||||
};
|
||||
};
|
||||
|
||||
// Emit an event when the 'course title link' is clicked.
|
||||
edx.dashboard.trackCourseTitleClicked = function($courseTitleLink, properties) {
|
||||
var trackProperty = properties || edx.dashboard.generateTrackProperties;
|
||||
@@ -92,24 +81,6 @@ var edx = edx || {};
|
||||
);
|
||||
};
|
||||
|
||||
// Emit an event when the 'View XSeries Details' button is clicked
|
||||
edx.dashboard.trackXseriesBtnClicked = function($xseriesBtn, properties) {
|
||||
var trackProperty = properties || edx.dashboard.generateProgramProperties;
|
||||
window.analytics.trackLink(
|
||||
$xseriesBtn,
|
||||
'edx.bi.dashboard.xseries_cta_message.clicked',
|
||||
trackProperty
|
||||
);
|
||||
};
|
||||
|
||||
edx.dashboard.xseriesTrackMessages = function() {
|
||||
$('.xseries-action .btn').each(function(i, element) {
|
||||
var data = edx.dashboard.generateProgramProperties($(element));
|
||||
|
||||
window.analytics.track('edx.bi.dashboard.xseries_cta_message.viewed', data);
|
||||
});
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
if (!window.analytics) {
|
||||
return;
|
||||
@@ -120,7 +91,5 @@ var edx = edx || {};
|
||||
edx.dashboard.trackCourseOptionDropdownClicked($('.wrapper-action-more'));
|
||||
edx.dashboard.trackLearnVerifiedLinkClicked($('.verified-info'));
|
||||
edx.dashboard.trackFindCourseBtnClicked($('.btn-find-courses'));
|
||||
edx.dashboard.trackXseriesBtnClicked($('.xseries-action .btn'));
|
||||
edx.dashboard.xseriesTrackMessages();
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
@@ -27,10 +27,6 @@
|
||||
|
||||
|
||||
<div class="course-container">
|
||||
<div class="label-xseries-association">
|
||||
<span class="xseries-icon" aria-hidden="true"></span>
|
||||
<p class="message-copy">XSeries Program Course</p>
|
||||
</div>
|
||||
<div class="course honor">
|
||||
<section class="details" aria-labelledby="course-details-heading">
|
||||
<h2 class="hd hd-2 sr" id="course-details-heading">Course details</h2>
|
||||
@@ -96,32 +92,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="message message-status is-shown credit-message">
|
||||
<div class="xseries-action">
|
||||
<div class="message-copy xseries-msg">
|
||||
<p><b class="message-copy-bold">XSeries Program: Interested in more courses in this subject?</b></p>
|
||||
<p></p>
|
||||
<p class="message-copy">
|
||||
This course is 1 of 3 courses in the <a href="https://www.edx.org/xseries/water-management">Water Management</a> XSeries.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a class="btn xseries-border-btn" href="https://www.edx.org/xseries/water-management" target="_blank"
|
||||
data-program-id="xseries007">
|
||||
<span class="action-xseries-icon" aria-hidden="true"></span>
|
||||
<span>View XSeries Details</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
<div class="course-container">
|
||||
<div class="label-xseries-association">
|
||||
<span class="xseries-icon" aria-hidden="true"></span>
|
||||
<p class="message-copy">XSeries Program Course</p>
|
||||
</div>
|
||||
<div class="course honor">
|
||||
<div class="details">
|
||||
<div class="wrapper-course-image" aria-hidden="true">
|
||||
@@ -186,22 +161,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="message message-status is-shown credit-message">
|
||||
<div class="xseries-action">
|
||||
<div class="message-copy xseries-msg">
|
||||
<p><b class="message-copy-bold">XSeries Program: Interested in more courses in this subject?</b></p>
|
||||
<p class="message-copy">
|
||||
This course is 1 of 3 courses in the <a href="https://www.edx.org/xseries/water-management">Water Management</a> XSeries.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<a class="btn xseries-border-btn" href="https://www.edx.org/xseries/water-management" target="_blank"
|
||||
data-program-id="xseries007">
|
||||
<span class="action-xseries-icon" aria-hidden="true"></span>
|
||||
<span>View XSeries Details</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
@@ -92,31 +92,6 @@
|
||||
property
|
||||
);
|
||||
});
|
||||
|
||||
it('sends an analytics event when the user clicks the \'View XSeries Details\' button', function() {
|
||||
var $xseries = $('.xseries-action .btn');
|
||||
window.edx.dashboard.trackXseriesBtnClicked(
|
||||
$xseries,
|
||||
window.edx.dashboard.generateProgramProperties);
|
||||
|
||||
expect(window.analytics.trackLink).toHaveBeenCalledWith(
|
||||
$xseries,
|
||||
'edx.bi.dashboard.xseries_cta_message.clicked',
|
||||
window.edx.dashboard.generateProgramProperties
|
||||
);
|
||||
});
|
||||
|
||||
it('sends an analytics event when xseries messages are present in the DOM on page load', function() {
|
||||
window.edx.dashboard.xseriesTrackMessages();
|
||||
expect(window.analytics.track).toHaveBeenCalledWith(
|
||||
'edx.bi.dashboard.xseries_cta_message.viewed',
|
||||
{
|
||||
category: 'dashboard',
|
||||
course_id: 'CTB3365DWx',
|
||||
program_id: 'xseries007'
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
});
|
||||
}).call(this, window.define);
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
// Uses the Pattern Library
|
||||
|
||||
@import 'elements/banners';
|
||||
@import 'elements/program-card';
|
||||
@import 'elements/course-card';
|
||||
@import 'elements/icons';
|
||||
@import 'views/program-list';
|
||||
@import 'elements/program-card';
|
||||
@import 'elements-v2/icons';
|
||||
@import 'views/program-details';
|
||||
@import 'views/program-list';
|
||||
|
||||
@@ -13,11 +13,12 @@
|
||||
@import 'base/base';
|
||||
|
||||
// base - elements
|
||||
@import 'elements/typography';
|
||||
@import 'elements/controls';
|
||||
@import 'elements/creative-commons';
|
||||
@import 'elements/icons';
|
||||
@import 'elements/navigation';
|
||||
@import 'elements/pagination';
|
||||
@import 'elements/creative-commons';
|
||||
@import 'elements/typography';
|
||||
|
||||
// shared - course
|
||||
@import 'shared/fields';
|
||||
|
||||
34
lms/static/sass/elements-v2/_icons.scss
Normal file
34
lms/static/sass/elements-v2/_icons.scss
Normal file
@@ -0,0 +1,34 @@
|
||||
.xseries-icon {
|
||||
background: url('#{$static-path}/images/programs/xseries-icon.svg') no-repeat;
|
||||
}
|
||||
|
||||
.micromasters-icon {
|
||||
margin-top: $baseline * 0.05;
|
||||
background: url('#{$static-path}/images/programs/micromasters-icon.svg') no-repeat;
|
||||
}
|
||||
|
||||
.certificate-body {
|
||||
// Use the ampersand to reference parent selectors.
|
||||
.certificate-icon & {
|
||||
@include float(left);
|
||||
@include margin-right($baseline*0.4);
|
||||
|
||||
margin-top: ($baseline/10);
|
||||
width: 23px;
|
||||
height: 20px;
|
||||
padding: 2px;
|
||||
background-color: $white;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
.green-icon & {
|
||||
fill: palette(success, text);
|
||||
border-color: palette(success, text);
|
||||
}
|
||||
|
||||
.blue-icon & {
|
||||
fill: palette(primary, dark);
|
||||
border-color: palette(primary, dark);
|
||||
}
|
||||
}
|
||||
@@ -1,22 +1,8 @@
|
||||
.certificate-icon .certificate-body {
|
||||
@include float(left);
|
||||
@include margin-right($baseline*0.4);
|
||||
|
||||
margin-top: ($baseline/10);
|
||||
width: 23px;
|
||||
height: 20px;
|
||||
padding: 2px;
|
||||
background-color: $white;
|
||||
border-style: solid;
|
||||
border-width: 2px;
|
||||
.xseries-icon {
|
||||
background: url('#{$static-path}/images/programs/xseries-icon.svg') no-repeat;
|
||||
}
|
||||
|
||||
.green-certificate-icon .certificate-body {
|
||||
fill: palette(success, accent);
|
||||
border-color: palette(success, accent);
|
||||
}
|
||||
|
||||
.blue-certificate-icon .certificate-body {
|
||||
fill: palette(primary, dark);
|
||||
border-color: palette(primary, dark);
|
||||
.micromasters-icon {
|
||||
margin-top: $baseline * 0.05;
|
||||
background: url('#{$static-path}/images/programs/micromasters-icon.svg') no-repeat;
|
||||
}
|
||||
|
||||
@@ -97,15 +97,6 @@
|
||||
width: ($baseline*0.7);
|
||||
height: ($baseline*0.7);
|
||||
}
|
||||
|
||||
.xseries-icon{
|
||||
background: url('#{$static-path}/images/programs/xseries-icon.svg') no-repeat;
|
||||
}
|
||||
|
||||
.micromasters-icon{
|
||||
margin-top: $baseline * 0.05;
|
||||
background: url('#{$static-path}/images/programs/micromasters-icon.svg') no-repeat;
|
||||
}
|
||||
}
|
||||
|
||||
.hd-3 {
|
||||
|
||||
@@ -62,32 +62,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.wrapper-xseries-certificates{
|
||||
@include float(right);
|
||||
@include margin-left(flex-gutter());
|
||||
width: flex-grid(3);
|
||||
|
||||
.title{
|
||||
@extend %t-title7;
|
||||
@extend %t-weight4;
|
||||
}
|
||||
|
||||
ul{
|
||||
@include padding-left(0);
|
||||
margin-top: ($baseline/2);
|
||||
}
|
||||
|
||||
li{
|
||||
@include line-height(20);
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.copy {
|
||||
@extend %t-copy-sub1;
|
||||
margin-top: ($baseline/2);
|
||||
}
|
||||
}
|
||||
|
||||
.profile-sidebar {
|
||||
background: transparent;
|
||||
@include float(right);
|
||||
@@ -304,31 +278,11 @@
|
||||
border-bottom: 4px solid $border-color-l4;
|
||||
padding-bottom: $baseline;
|
||||
|
||||
.course-container{
|
||||
.course-container {
|
||||
border: 1px solid $border-color-l4;
|
||||
border-radius: 3px;
|
||||
|
||||
// CASE: Xseries associated course
|
||||
.label-xseries-association{
|
||||
@include margin($baseline/2, $baseline/5, 0, $baseline/2);
|
||||
|
||||
.xseries-icon{
|
||||
@include float(left);
|
||||
|
||||
@include margin-right($baseline*0.4);
|
||||
background: url('#{$static-path}/images/icon-sm-xseries-black.png') no-repeat;
|
||||
background-color: transparent;
|
||||
|
||||
width: ($baseline*1.1);
|
||||
height: ($baseline*1.1);
|
||||
}
|
||||
|
||||
.message-copy{
|
||||
padding-top: ($baseline/5);
|
||||
@extend %t-action3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
margin-bottom: 0;
|
||||
border-bottom: none;
|
||||
@@ -860,100 +814,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.xseries-action{
|
||||
.xseries-msg{
|
||||
@include float(left);
|
||||
width: flex-grid(9, 12);
|
||||
}
|
||||
|
||||
.message-copy{
|
||||
@extend %t-demi-strong;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.message-copy-bold{
|
||||
@extend %t-strong;
|
||||
}
|
||||
|
||||
.xseries-border-btn {
|
||||
@extend %btn-pl-black-border;
|
||||
@include float(right);
|
||||
position: relative;
|
||||
@include left(10px);
|
||||
padding: ($baseline*0.4) ($baseline*0.6);
|
||||
background-image: none ;
|
||||
text-shadow: none;
|
||||
box-shadow: none;
|
||||
text-transform: none;
|
||||
|
||||
.action-xseries-icon{
|
||||
@include float(left);
|
||||
display: inline;
|
||||
|
||||
@include margin-right($baseline*0.4);
|
||||
background: url('#{$static-path}/images/icon-sm-xseries-black.png') no-repeat;
|
||||
background-color: transparent;
|
||||
|
||||
width: ($baseline*1.1);
|
||||
height: ($baseline*1.1);
|
||||
}
|
||||
&:hover,
|
||||
&:focus {
|
||||
|
||||
.action-xseries-icon{
|
||||
@include float(left);
|
||||
display: inline;
|
||||
|
||||
@include margin-right($baseline*0.4);
|
||||
background: url('#{$static-path}/images/icon-sm-xseries-white.png') no-repeat;
|
||||
background-color: transparent;
|
||||
|
||||
width: ($baseline*1.1);
|
||||
height: ($baseline*1.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.xseries-base-btn {
|
||||
@extend %btn-pl-black-base;
|
||||
@include float(right);
|
||||
position: relative;
|
||||
@include left(10px);
|
||||
padding: ($baseline*0.4) ($baseline*0.6);
|
||||
background-image: none ;
|
||||
text-shadow: none;
|
||||
box-shadow: none;
|
||||
text-transform: none;
|
||||
|
||||
.action-xseries-icon{
|
||||
@include float(left);
|
||||
display: inline;
|
||||
|
||||
@include margin-right($baseline*0.4);
|
||||
background: url('#{$static-path}/images/icon-sm-xseries-white.png') no-repeat;
|
||||
background-color: transparent;
|
||||
|
||||
width: ($baseline*1.1);
|
||||
height: ($baseline*1.1);
|
||||
}
|
||||
&:hover,
|
||||
&:focus {
|
||||
|
||||
.action-xseries-icon {
|
||||
@include float(left);
|
||||
display: inline;
|
||||
|
||||
@include margin-right($baseline*0.4);
|
||||
background: url('#{$static-path}/images/icon-sm-xseries-black.png') no-repeat;
|
||||
background-color: transparent;
|
||||
|
||||
width: ($baseline*1.1);
|
||||
height: ($baseline*1.1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
|
||||
.action {
|
||||
@@ -1129,6 +989,46 @@
|
||||
}
|
||||
}
|
||||
|
||||
&.message-related-programs {
|
||||
background: none;
|
||||
border: none;
|
||||
margin-top: ($baseline/4);
|
||||
padding-bottom: 0;
|
||||
|
||||
.related-programs-preface {
|
||||
@include float(left);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
@include float(left);
|
||||
display: inline;
|
||||
padding: 0 0.5em;
|
||||
border-right: 1px solid;
|
||||
|
||||
.category-icon {
|
||||
@include float(left);
|
||||
@include margin-right($baseline/4);
|
||||
margin-top: ($baseline/10);
|
||||
background-color: transparent;
|
||||
background-size: 100%;
|
||||
width: ($baseline*0.7);
|
||||
height: ($baseline*0.7);
|
||||
}
|
||||
}
|
||||
|
||||
// Remove separator from last list item.
|
||||
li:last-child {
|
||||
border: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// TYPE: pre-requisites
|
||||
.prerequisites {
|
||||
@include clearfix;
|
||||
|
||||
Reference in New Issue
Block a user