Skip to content

Commit

Permalink
Enable eslint no-new. Fix linting errors.
Browse files Browse the repository at this point in the history
  • Loading branch information
thallada committed Jul 20, 2016
1 parent 665720f commit d63f898
Show file tree
Hide file tree
Showing 34 changed files with 237 additions and 167 deletions.
3 changes: 1 addition & 2 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@
},
"rules": {
"import/no-unresolved": "off",
"no-new" : "off",
"no-param-reassign" : "off",
"no-undef" : "off",
"array-callback-return" : "off",
"no-restricted-syntax" : "off",
"vars-on-top" : "off",
"global-require" : "off"
}
}
}
2 changes: 1 addition & 1 deletion analytics_dashboard/static/apps/learners/app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ define(function(require) {
pageModel: pageModel
}).render();

new LearnersRouter({
learnersRouter = new LearnersRouter({
controller: new LearnersController({
courseId: this.options.courseId,
learnerCollection: learnerCollection,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,9 @@ define(function(require) {
});

it('should treat the username as its id', function() {
var learner = new LearnerModel({username: 'daniel', course_id: 'edX/DemoX/Demo_Course'});
new (Backbone.Collection.extend({url: '/endpoint/'}))([learner]);
var learner = new LearnerModel({username: 'daniel', course_id: 'edX/DemoX/Demo_Course'}),
// eslint-disable-next-line no-unused-vars
collection = new (Backbone.Collection.extend({url: '/endpoint/'}))([learner]);
expect(learner.url()).toEqual('/endpoint/daniel?course_id=edX%2FDemoX%2FDemo_Course');
learner = new (LearnerModel.extend({
urlRoot: '/other-endpoint/'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,23 @@ define(function(require) {
var AlertView = require('learners/common/views/alert-view');

describe('AlertView', function() {
var alertView;

it('throws exception for invalid alert types', function() {
expect(function() {
new AlertView({alertType: 'scooby-doo'});
alertView = new AlertView({alertType: 'scooby-doo'});
}).toThrow(new Error('AlertView error: "scooby-doo" is not valid. Valid types are error, info.'));
});

it('renders an error alert', function() {
var fixture = setFixtures('<div id="error-alert"></div>');

new AlertView({
alertView = new AlertView({
el: '#error-alert',
alertType: 'error',
title: 'edX Error Alert'
}).render();
});
alertView.render();

expect(fixture).toContainElement('i.fa-exclamation-triangle');
expect(fixture).toContainElement('.alert-error-container');
Expand All @@ -26,13 +29,14 @@ define(function(require) {
it('renders an info alert', function() {
var fixture = setFixtures('<div class="info-alert"></div>');

new AlertView({
alertView = new AlertView({
el: '.info-alert',
alertType: 'info',
title: 'edX Info Alert',
body: 'More description about an information alert.',
suggestions: ['Display alerts.', 'Alerts are helpful messages!']
}).render();
});
alertView.render();

expect(fixture).toContainElement('i.fa-bullhorn');
expect(fixture).toContainElement('.alert-info-container');
Expand All @@ -42,14 +46,15 @@ define(function(require) {
it('renders an alert with a link', function() {
var fixture = setFixtures('<div class="info-alert"></div>');

new AlertView({
alertView = new AlertView({
el: '.info-alert',
alertType: 'info',
title: 'edX Info Alert',
body: 'More description about an information alert.',
suggestions: ['Display alerts.', 'Alerts are helpful messages!'],
link: {url: 'http://example.com', text: 'A helpful link.'}
}).render();
});
alertView.render();

expect(fixture).toContainElement('i.fa-bullhorn');
expect(fixture).toContainElement('.alert-info-container');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ define(function(require) {
main: '.learner-engagement-table.analytics-table'
},
onAttach: function() {
new DataTableView({
var learnerEngagementTable = new DataTableView({
el: this.regions.main,
model: this.model,
modelAttribute: 'days',
Expand Down Expand Up @@ -44,6 +44,7 @@ define(function(require) {
sorting: ['-date'],
replaceNull: '-'
});
learnerEngagementTable.renderIfDataAvailable();
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ define(function(require) {
// Normally we'd declare this logic in the
// `Marionette.View.onBeforeView` method, but the TrendsView
// requires that the chart's container element is in the DOM.
new TrendsView({
var learnerEngagementChart = new TrendsView({
showLegend: true,
el: this.regions.main,
model: this.model,
Expand Down Expand Up @@ -48,6 +48,7 @@ define(function(require) {
key: 'value'
}
});
learnerEngagementChart.renderIfDataAvailable();
}
});

Expand Down
3 changes: 2 additions & 1 deletion analytics_dashboard/static/js/application-main.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ require(['bootstrap',

// Instantiate the announcement view(s)
$('[data-view=announcement]').each(function(index, element) {
new AnnouncementView({el: element});
var announcement = AnnouncementView({el: element});
announcement.render();
});
}
);
10 changes: 7 additions & 3 deletions analytics_dashboard/static/js/engagement-content-main.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
type: 'percent'
}
],
trendSettings;
trendSettings,
engagementChart,
engagementTable;

// remove settings for data that doesn't exist (ex. forums)
settings = _(settings).filter(function(setting) {
Expand All @@ -64,7 +66,7 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
});

// weekly engagement activities graph
new TrendsView({
engagementChart = new TrendsView({
el: '#engagement-trend-view',
model: page.models.courseModel,
modelAttribute: 'engagementTrends',
Expand All @@ -82,15 +84,17 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
// Translators: <%=value%> will be replaced with a date.
interactiveTooltipHeaderTemplate: _.template(gettext('Week Ending <%=value%>'))
});
engagementChart.renderIfDataAvailable();

// weekly engagement activities table
new DataTableView({
engagementTable = new DataTableView({
el: '[data-role=engagement-table]',
model: page.models.courseModel,
modelAttribute: 'engagementTrends',
columns: settings,
sorting: ['-weekEnding'],
replaceNull: '-'
});
engagementTable.renderIfDataAvailable();
});
});
10 changes: 7 additions & 3 deletions analytics_dashboard/static/js/engagement-video-content-main.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
{key: 'index', title: gettext('Order'), type: 'number', className: 'text-right'},
{key: 'name', title: model.get('contentTableHeading'), type: 'hasNull'},
{key: 'num_modules', title: gettext('Videos'), type: 'number', className: 'text-right'}
];
],
videoContentChart,
videoContentTable;

tableColumns = tableColumns.concat(graphVideoColumns);
tableColumns.push({
Expand All @@ -42,22 +44,24 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
});

if (model.get('hasData')) {
new StackedBarView({
videoContentChart = new StackedBarView({
el: '#chart-view',
model: model,
modelAttribute: 'primaryContent',
dataType: 'decimal',
trends: graphVideoColumns
});
videoContentChart.renderIfDataAvailable();
}

new DataTableView({
videoContentTable = new DataTableView({
el: '[data-role=data-table]',
model: model,
modelAttribute: 'primaryContent',
columns: tableColumns,
sorting: ['index'],
replaceZero: '-'
});
videoContentTable.renderIfDataAvailable();
});
});
16 changes: 11 additions & 5 deletions analytics_dashboard/static/js/engagement-video-timeline-main.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,34 +37,40 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
],
tableColumns = [
{key: 'start_time', title: gettext('Time'), type: 'time'}
];
],
iframe,
videoTimelineChart,
videoTimelineTable;

tableColumns = tableColumns.concat(timelineSettings);

new DisclosureView({
new DisclosureView({ // eslint-disable-line no-new
el: '.module-preview-disclosure'
});

// loading the iframe blocks content, so load it after the rest of the page loads
new IFrameView({
iframe = new IFrameView({
el: '#module-preview',
loadingSelector: '#module-loading'
});
iframe.render();

new StackedTimelineView({
videoTimelineChart = new StackedTimelineView({
el: '#chart-view',
model: courseModel,
modelAttribute: 'videoTimeline',
trends: timelineSettings,
x: {key: 'start_time', title: 'Time'},
y: {key: 'num_users'}
});
videoTimelineChart.renderIfDataAvailable();

new DataTableView({
videoTimelineTable = new DataTableView({
el: '[data-role=data-table]',
model: courseModel,
modelAttribute: 'videoTimeline',
columns: tableColumns
});
videoTimelineTable.renderIfDataAvailable();
});
});
10 changes: 7 additions & 3 deletions analytics_dashboard/static/js/engagement-videos-main.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
tableColumns = [
{key: 'index', title: gettext('Order'), type: 'number', className: 'text-right'},
{key: 'name', title: model.get('contentTableHeading'), type: 'hasNull'}
];
],
videoChart,
videoTable;

tableColumns = tableColumns.concat(graphVideoColumns);
tableColumns.push({
Expand All @@ -39,21 +41,23 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
});

if (model.get('hasData')) {
new StackedBarView({
videoChart = new StackedBarView({
el: '#chart-view',
model: model,
modelAttribute: 'primaryContent',
trends: graphVideoColumns
});
videoChart.renderIfDataAvailable();
}

new DataTableView({
videoTable = new DataTableView({
el: '[data-role=data-table]',
model: model,
modelAttribute: 'primaryContent',
columns: tableColumns,
sorting: ['index'],
replaceZero: '-'
});
videoTable.renderIfDataAvailable();
});
});
10 changes: 7 additions & 3 deletions analytics_dashboard/static/js/enrollment-activity-main.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
})
],
trendSettings,
enrollmentTrackTrendSettings;
enrollmentTrackTrendSettings,
enrollmentChart,
enrollmentTable;

// Remove settings for which there is no data (e.g. don't attempt to display verified if there is no data).
settings = _(settings).filter(function(setting) {
Expand All @@ -76,22 +78,24 @@ require(['vendor/domReady!', 'load/init-page'], function(doc, page) {
}

// Daily enrollment graph
new StackedTrendsView({
enrollmentChart = new StackedTrendsView({
el: '#enrollment-trend-view',
model: page.models.courseModel,
modelAttribute: 'enrollmentTrends',
trends: trendSettings,
x: {key: 'date'},
y: {key: 'count'}
});
enrollmentChart.renderIfDataAvailable();

// Daily enrollment table
new DataTableView({
enrollmentTable = new DataTableView({
el: '[data-role=enrollment-table]',
model: page.models.courseModel,
modelAttribute: 'enrollmentTrends',
columns: settings,
sorting: ['-date']
});
enrollmentTable.renderIfDataAvailable();
});
});
Loading

0 comments on commit d63f898

Please sign in to comment.