fix: migrate remaining eslint-config-edx (#31760)
* fix: migrate remaining eslint-config-edx * refactor: updated eslint rules according to eslint-config-edx-es5 * refactor: add custom rules to suppress unnecessary eslint issues * refactor: add custom rules to internal eslint configs * fix: fix all indentation issues * chore: update lock file
This commit is contained in:
committed by
GitHub
parent
9cdbe72b82
commit
5549db4d80
@@ -13,7 +13,7 @@ define(
|
||||
'js/views/message_banner'
|
||||
],
|
||||
function(Backbone, $, _, AjaxHelpers, TemplateHelpers, Helpers, LearnerProfileHelpers, FieldViews,
|
||||
UserAccountModel, UserPreferencesModel, LearnerProfileView, LearnerProfileFields, LearnerProfilePage) {
|
||||
UserAccountModel, UserPreferencesModel, LearnerProfileView, LearnerProfileFields, LearnerProfilePage) {
|
||||
'use strict';
|
||||
|
||||
describe('edx.user.LearnerProfileFactory', function() {
|
||||
|
||||
@@ -8,92 +8,92 @@ define([
|
||||
'learner_profile/js/spec_helpers/helpers',
|
||||
'learner_profile/js/views/badge_list_container'
|
||||
],
|
||||
function(Backbone, $, _, URI, AjaxHelpers, PagingCollection, LearnerProfileHelpers, BadgeListContainer) {
|
||||
'use strict';
|
||||
function(Backbone, $, _, URI, AjaxHelpers, PagingCollection, LearnerProfileHelpers, BadgeListContainer) {
|
||||
'use strict';
|
||||
|
||||
describe('edx.user.BadgeListContainer', function() {
|
||||
var view;
|
||||
describe('edx.user.BadgeListContainer', function() {
|
||||
var view;
|
||||
|
||||
var createView = function(requests, pageNum, badgeListObject) {
|
||||
var BadgeCollection = PagingCollection.extend({
|
||||
queryParams: {
|
||||
currentPage: 'current_page'
|
||||
}
|
||||
});
|
||||
var badgeCollection = new BadgeCollection();
|
||||
var models = [];
|
||||
var badgeListContainer;
|
||||
var request;
|
||||
var path;
|
||||
badgeCollection.url = '/api/badges/v1/assertions/user/staff/';
|
||||
_.each(_.range(badgeListObject.count), function(idx) {
|
||||
models.push(LearnerProfileHelpers.makeBadge(idx));
|
||||
});
|
||||
badgeListObject.results = models; // eslint-disable-line no-param-reassign
|
||||
badgeCollection.setPage(pageNum);
|
||||
request = AjaxHelpers.currentRequest(requests);
|
||||
path = new URI(request.url).path();
|
||||
expect(path).toBe('/api/badges/v1/assertions/user/staff/');
|
||||
AjaxHelpers.respondWithJson(requests, badgeListObject);
|
||||
badgeListContainer = new BadgeListContainer({
|
||||
collection: badgeCollection
|
||||
|
||||
});
|
||||
badgeListContainer.render();
|
||||
return badgeListContainer;
|
||||
};
|
||||
|
||||
afterEach(function() {
|
||||
view.$el.remove();
|
||||
var createView = function(requests, pageNum, badgeListObject) {
|
||||
var BadgeCollection = PagingCollection.extend({
|
||||
queryParams: {
|
||||
currentPage: 'current_page'
|
||||
}
|
||||
});
|
||||
|
||||
it('displays all badges', function() {
|
||||
var requests = AjaxHelpers.requests(this),
|
||||
badges;
|
||||
view = createView(requests, 1, {
|
||||
count: 30,
|
||||
previous: '/arbitrary/url',
|
||||
num_pages: 3,
|
||||
next: null,
|
||||
start: 20,
|
||||
current_page: 1,
|
||||
results: []
|
||||
});
|
||||
badges = view.$el.find('div.badge-display');
|
||||
expect(badges.length).toBe(30);
|
||||
var badgeCollection = new BadgeCollection();
|
||||
var models = [];
|
||||
var badgeListContainer;
|
||||
var request;
|
||||
var path;
|
||||
badgeCollection.url = '/api/badges/v1/assertions/user/staff/';
|
||||
_.each(_.range(badgeListObject.count), function(idx) {
|
||||
models.push(LearnerProfileHelpers.makeBadge(idx));
|
||||
});
|
||||
badgeListObject.results = models; // eslint-disable-line no-param-reassign
|
||||
badgeCollection.setPage(pageNum);
|
||||
request = AjaxHelpers.currentRequest(requests);
|
||||
path = new URI(request.url).path();
|
||||
expect(path).toBe('/api/badges/v1/assertions/user/staff/');
|
||||
AjaxHelpers.respondWithJson(requests, badgeListObject);
|
||||
badgeListContainer = new BadgeListContainer({
|
||||
collection: badgeCollection
|
||||
|
||||
it('displays placeholder on last page', function() {
|
||||
var requests = AjaxHelpers.requests(this),
|
||||
placeholder;
|
||||
view = createView(requests, 3, {
|
||||
count: 30,
|
||||
previous: '/arbitrary/url',
|
||||
num_pages: 3,
|
||||
next: null,
|
||||
start: 20,
|
||||
current_page: 3,
|
||||
results: []
|
||||
});
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(1);
|
||||
});
|
||||
badgeListContainer.render();
|
||||
return badgeListContainer;
|
||||
};
|
||||
|
||||
it('does not display placeholder on first page', function() {
|
||||
var requests = AjaxHelpers.requests(this),
|
||||
placeholder;
|
||||
view = createView(requests, 1, {
|
||||
count: 30,
|
||||
previous: '/arbitrary/url',
|
||||
num_pages: 3,
|
||||
next: null,
|
||||
start: 0,
|
||||
current_page: 1,
|
||||
results: []
|
||||
});
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(0);
|
||||
});
|
||||
afterEach(function() {
|
||||
view.$el.remove();
|
||||
});
|
||||
}
|
||||
|
||||
it('displays all badges', function() {
|
||||
var requests = AjaxHelpers.requests(this),
|
||||
badges;
|
||||
view = createView(requests, 1, {
|
||||
count: 30,
|
||||
previous: '/arbitrary/url',
|
||||
num_pages: 3,
|
||||
next: null,
|
||||
start: 20,
|
||||
current_page: 1,
|
||||
results: []
|
||||
});
|
||||
badges = view.$el.find('div.badge-display');
|
||||
expect(badges.length).toBe(30);
|
||||
});
|
||||
|
||||
it('displays placeholder on last page', function() {
|
||||
var requests = AjaxHelpers.requests(this),
|
||||
placeholder;
|
||||
view = createView(requests, 3, {
|
||||
count: 30,
|
||||
previous: '/arbitrary/url',
|
||||
num_pages: 3,
|
||||
next: null,
|
||||
start: 20,
|
||||
current_page: 3,
|
||||
results: []
|
||||
});
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(1);
|
||||
});
|
||||
|
||||
it('does not display placeholder on first page', function() {
|
||||
var requests = AjaxHelpers.requests(this),
|
||||
placeholder;
|
||||
view = createView(requests, 1, {
|
||||
count: 30,
|
||||
previous: '/arbitrary/url',
|
||||
num_pages: 3,
|
||||
next: null,
|
||||
start: 0,
|
||||
current_page: 1,
|
||||
results: []
|
||||
});
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(0);
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@@ -6,77 +6,77 @@ define([
|
||||
'learner_profile/js/spec_helpers/helpers',
|
||||
'learner_profile/js/views/badge_list_view'
|
||||
],
|
||||
function(Backbone, $, _, PagingCollection, LearnerProfileHelpers, BadgeListView) {
|
||||
'use strict';
|
||||
function(Backbone, $, _, PagingCollection, LearnerProfileHelpers, BadgeListView) {
|
||||
'use strict';
|
||||
|
||||
describe('edx.user.BadgeListView', function() {
|
||||
var view;
|
||||
describe('edx.user.BadgeListView', function() {
|
||||
var view;
|
||||
|
||||
var createView = function(badges, pages, page, hasNextPage) {
|
||||
var badgeCollection = new PagingCollection();
|
||||
var models = [];
|
||||
var badgeList;
|
||||
badgeCollection.url = '/api/badges/v1/assertions/user/staff/';
|
||||
_.each(badges, function(element) {
|
||||
models.push(new Backbone.Model(element));
|
||||
});
|
||||
badgeCollection.models = models;
|
||||
badgeCollection.length = badges.length;
|
||||
badgeCollection.currentPage = page;
|
||||
badgeCollection.totalPages = pages;
|
||||
badgeCollection.hasNextPage = function() {
|
||||
return hasNextPage;
|
||||
};
|
||||
badgeList = new BadgeListView({
|
||||
collection: badgeCollection
|
||||
|
||||
});
|
||||
return badgeList;
|
||||
var createView = function(badges, pages, page, hasNextPage) {
|
||||
var badgeCollection = new PagingCollection();
|
||||
var models = [];
|
||||
var badgeList;
|
||||
badgeCollection.url = '/api/badges/v1/assertions/user/staff/';
|
||||
_.each(badges, function(element) {
|
||||
models.push(new Backbone.Model(element));
|
||||
});
|
||||
badgeCollection.models = models;
|
||||
badgeCollection.length = badges.length;
|
||||
badgeCollection.currentPage = page;
|
||||
badgeCollection.totalPages = pages;
|
||||
badgeCollection.hasNextPage = function() {
|
||||
return hasNextPage;
|
||||
};
|
||||
badgeList = new BadgeListView({
|
||||
collection: badgeCollection
|
||||
|
||||
afterEach(function() {
|
||||
view.$el.remove();
|
||||
});
|
||||
return badgeList;
|
||||
};
|
||||
|
||||
it('there is a single row if there is only one badge', function() {
|
||||
var rows;
|
||||
view = createView([LearnerProfileHelpers.makeBadge(1)], 1, 1, false);
|
||||
view.render();
|
||||
rows = view.$el.find('div.row');
|
||||
expect(rows.length).toBe(1);
|
||||
});
|
||||
|
||||
it('accomplishments placeholder is visible on a last page', function() {
|
||||
var placeholder;
|
||||
view = createView([LearnerProfileHelpers.makeBadge(1)], 2, 2, false);
|
||||
view.render();
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(1);
|
||||
});
|
||||
|
||||
it('accomplishments placeholder to be not visible on a first page', function() {
|
||||
var placeholder;
|
||||
view = createView([LearnerProfileHelpers.makeBadge(1)], 1, 2, true);
|
||||
view.render();
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(0);
|
||||
});
|
||||
|
||||
it('badges are in two columns (checked by counting rows for a known number of badges)', function() {
|
||||
var badges = [];
|
||||
var placeholder;
|
||||
var rows;
|
||||
_.each(_.range(4), function(item) {
|
||||
badges.push(LearnerProfileHelpers.makeBadge(item));
|
||||
});
|
||||
view = createView(badges, 1, 2, true);
|
||||
view.render();
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(0);
|
||||
rows = view.$el.find('div.row');
|
||||
expect(rows.length).toBe(2);
|
||||
});
|
||||
afterEach(function() {
|
||||
view.$el.remove();
|
||||
});
|
||||
}
|
||||
|
||||
it('there is a single row if there is only one badge', function() {
|
||||
var rows;
|
||||
view = createView([LearnerProfileHelpers.makeBadge(1)], 1, 1, false);
|
||||
view.render();
|
||||
rows = view.$el.find('div.row');
|
||||
expect(rows.length).toBe(1);
|
||||
});
|
||||
|
||||
it('accomplishments placeholder is visible on a last page', function() {
|
||||
var placeholder;
|
||||
view = createView([LearnerProfileHelpers.makeBadge(1)], 2, 2, false);
|
||||
view.render();
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(1);
|
||||
});
|
||||
|
||||
it('accomplishments placeholder to be not visible on a first page', function() {
|
||||
var placeholder;
|
||||
view = createView([LearnerProfileHelpers.makeBadge(1)], 1, 2, true);
|
||||
view.render();
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(0);
|
||||
});
|
||||
|
||||
it('badges are in two columns (checked by counting rows for a known number of badges)', function() {
|
||||
var badges = [];
|
||||
var placeholder;
|
||||
var rows;
|
||||
_.each(_.range(4), function(item) {
|
||||
badges.push(LearnerProfileHelpers.makeBadge(item));
|
||||
});
|
||||
view = createView(badges, 1, 2, true);
|
||||
view.render();
|
||||
placeholder = view.$el.find('span.accomplishment-placeholder');
|
||||
expect(placeholder.length).toBe(0);
|
||||
rows = view.$el.find('div.row');
|
||||
expect(rows.length).toBe(2);
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -3,112 +3,112 @@ define([
|
||||
'learner_profile/js/spec_helpers/helpers',
|
||||
'learner_profile/js/views/badge_view'
|
||||
],
|
||||
function(Backbone, $, _, LearnerProfileHelpers, BadgeView) {
|
||||
'use strict';
|
||||
function(Backbone, $, _, LearnerProfileHelpers, BadgeView) {
|
||||
'use strict';
|
||||
|
||||
describe('edx.user.BadgeView', function() {
|
||||
var view,
|
||||
badge,
|
||||
testBadgeNameIsDisplayed,
|
||||
testBadgeIconIsDisplayed;
|
||||
describe('edx.user.BadgeView', function() {
|
||||
var view,
|
||||
badge,
|
||||
testBadgeNameIsDisplayed,
|
||||
testBadgeIconIsDisplayed;
|
||||
|
||||
var createView = function(ownProfile) {
|
||||
var options,
|
||||
testView;
|
||||
badge = LearnerProfileHelpers.makeBadge(1);
|
||||
options = {
|
||||
model: new Backbone.Model(badge),
|
||||
ownProfile: ownProfile,
|
||||
badgeMeta: {}
|
||||
};
|
||||
testView = new BadgeView(options);
|
||||
testView.render();
|
||||
$('body').append(testView.$el);
|
||||
testView.$el.show();
|
||||
expect(testView.$el.is(':visible')).toBe(true);
|
||||
return testView;
|
||||
var createView = function(ownProfile) {
|
||||
var options,
|
||||
testView;
|
||||
badge = LearnerProfileHelpers.makeBadge(1);
|
||||
options = {
|
||||
model: new Backbone.Model(badge),
|
||||
ownProfile: ownProfile,
|
||||
badgeMeta: {}
|
||||
};
|
||||
testView = new BadgeView(options);
|
||||
testView.render();
|
||||
$('body').append(testView.$el);
|
||||
testView.$el.show();
|
||||
expect(testView.$el.is(':visible')).toBe(true);
|
||||
return testView;
|
||||
};
|
||||
|
||||
afterEach(function() {
|
||||
view.$el.remove();
|
||||
$('.badges-modal').remove();
|
||||
});
|
||||
|
||||
it('profile of other has no share button', function() {
|
||||
view = createView(false);
|
||||
expect(view.context.ownProfile).toBeFalsy();
|
||||
expect(view.$el.find('button.share-button').length).toBe(0);
|
||||
});
|
||||
|
||||
it('own profile has share button', function() {
|
||||
view = createView(true);
|
||||
expect(view.context.ownProfile).toBeTruthy();
|
||||
expect(view.$el.find('button.share-button').length).toBe(1);
|
||||
});
|
||||
|
||||
it('click on share button calls createModal function', function() {
|
||||
var shareButton;
|
||||
view = createView(true);
|
||||
spyOn(view, 'createModal');
|
||||
view.delegateEvents();
|
||||
expect(view.context.ownProfile).toBeTruthy();
|
||||
shareButton = view.$el.find('button.share-button');
|
||||
expect(shareButton.length).toBe(1);
|
||||
expect(view.createModal).not.toHaveBeenCalled();
|
||||
shareButton.click();
|
||||
expect(view.createModal).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('click on share button calls shows the dialog', function(done) {
|
||||
var shareButton,
|
||||
$modalElement;
|
||||
view = createView(true);
|
||||
expect(view.context.ownProfile).toBeTruthy();
|
||||
shareButton = view.$el.find('button.share-button');
|
||||
expect(shareButton.length).toBe(1);
|
||||
$modalElement = $('.badges-modal');
|
||||
expect($modalElement.length).toBe(0);
|
||||
expect($modalElement.is(':visible')).toBeFalsy();
|
||||
shareButton.click();
|
||||
// Note: this element should have appeared in the dom during: shareButton.click();
|
||||
$modalElement = $('.badges-modal');
|
||||
jasmine.waitUntil(function() {
|
||||
return $modalElement.is(':visible');
|
||||
}).always(done);
|
||||
});
|
||||
|
||||
testBadgeNameIsDisplayed = function(ownProfile) {
|
||||
var badgeDiv;
|
||||
view = createView(ownProfile);
|
||||
badgeDiv = view.$el.find('.badge-name');
|
||||
expect(badgeDiv.length).toBeTruthy();
|
||||
expect(badgeDiv.is(':visible')).toBe(true);
|
||||
expect(_.count(badgeDiv.html(), badge.badge_class.display_name)).toBeTruthy();
|
||||
};
|
||||
|
||||
it('test badge name is displayed for own profile', function() {
|
||||
testBadgeNameIsDisplayed(true);
|
||||
});
|
||||
|
||||
it('test badge name is displayed for other profile', function() {
|
||||
testBadgeNameIsDisplayed(false);
|
||||
});
|
||||
|
||||
testBadgeIconIsDisplayed = function(ownProfile) {
|
||||
var badgeImg;
|
||||
view = createView(ownProfile);
|
||||
badgeImg = view.$el.find('img.badge');
|
||||
expect(badgeImg.length).toBe(1);
|
||||
expect(badgeImg.attr('src')).toEqual(badge.image_url);
|
||||
};
|
||||
|
||||
it('test badge icon is displayed for own profile', function() {
|
||||
testBadgeIconIsDisplayed(true);
|
||||
});
|
||||
|
||||
it('test badge icon is displayed for other profile', function() {
|
||||
testBadgeIconIsDisplayed(false);
|
||||
});
|
||||
afterEach(function() {
|
||||
view.$el.remove();
|
||||
$('.badges-modal').remove();
|
||||
});
|
||||
}
|
||||
|
||||
it('profile of other has no share button', function() {
|
||||
view = createView(false);
|
||||
expect(view.context.ownProfile).toBeFalsy();
|
||||
expect(view.$el.find('button.share-button').length).toBe(0);
|
||||
});
|
||||
|
||||
it('own profile has share button', function() {
|
||||
view = createView(true);
|
||||
expect(view.context.ownProfile).toBeTruthy();
|
||||
expect(view.$el.find('button.share-button').length).toBe(1);
|
||||
});
|
||||
|
||||
it('click on share button calls createModal function', function() {
|
||||
var shareButton;
|
||||
view = createView(true);
|
||||
spyOn(view, 'createModal');
|
||||
view.delegateEvents();
|
||||
expect(view.context.ownProfile).toBeTruthy();
|
||||
shareButton = view.$el.find('button.share-button');
|
||||
expect(shareButton.length).toBe(1);
|
||||
expect(view.createModal).not.toHaveBeenCalled();
|
||||
shareButton.click();
|
||||
expect(view.createModal).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('click on share button calls shows the dialog', function(done) {
|
||||
var shareButton,
|
||||
$modalElement;
|
||||
view = createView(true);
|
||||
expect(view.context.ownProfile).toBeTruthy();
|
||||
shareButton = view.$el.find('button.share-button');
|
||||
expect(shareButton.length).toBe(1);
|
||||
$modalElement = $('.badges-modal');
|
||||
expect($modalElement.length).toBe(0);
|
||||
expect($modalElement.is(':visible')).toBeFalsy();
|
||||
shareButton.click();
|
||||
// Note: this element should have appeared in the dom during: shareButton.click();
|
||||
$modalElement = $('.badges-modal');
|
||||
jasmine.waitUntil(function() {
|
||||
return $modalElement.is(':visible');
|
||||
}).always(done);
|
||||
});
|
||||
|
||||
testBadgeNameIsDisplayed = function(ownProfile) {
|
||||
var badgeDiv;
|
||||
view = createView(ownProfile);
|
||||
badgeDiv = view.$el.find('.badge-name');
|
||||
expect(badgeDiv.length).toBeTruthy();
|
||||
expect(badgeDiv.is(':visible')).toBe(true);
|
||||
expect(_.count(badgeDiv.html(), badge.badge_class.display_name)).toBeTruthy();
|
||||
};
|
||||
|
||||
it('test badge name is displayed for own profile', function() {
|
||||
testBadgeNameIsDisplayed(true);
|
||||
});
|
||||
|
||||
it('test badge name is displayed for other profile', function() {
|
||||
testBadgeNameIsDisplayed(false);
|
||||
});
|
||||
|
||||
testBadgeIconIsDisplayed = function(ownProfile) {
|
||||
var badgeImg;
|
||||
view = createView(ownProfile);
|
||||
badgeImg = view.$el.find('img.badge');
|
||||
expect(badgeImg.length).toBe(1);
|
||||
expect(badgeImg.attr('src')).toEqual(badge.image_url);
|
||||
};
|
||||
|
||||
it('test badge icon is displayed for own profile', function() {
|
||||
testBadgeIconIsDisplayed(true);
|
||||
});
|
||||
|
||||
it('test badge icon is displayed for other profile', function() {
|
||||
testBadgeIconIsDisplayed(false);
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@@ -11,7 +11,7 @@ define(
|
||||
'js/views/message_banner'
|
||||
],
|
||||
function(Backbone, $, _, AjaxHelpers, TemplateHelpers, Helpers, UserAccountModel, LearnerProfileFields,
|
||||
MessageBannerView) {
|
||||
MessageBannerView) {
|
||||
'use strict';
|
||||
|
||||
describe('edx.user.LearnerProfileFields', function() {
|
||||
|
||||
@@ -20,8 +20,8 @@ define(
|
||||
'js/views/message_banner'
|
||||
],
|
||||
function(gettext, Backbone, $, _, PagingCollection, AjaxHelpers, TemplateHelpers, Helpers, LearnerProfileHelpers,
|
||||
FieldViews, UserAccountModel, AccountPreferencesModel, LearnerProfileFields, LearnerProfileView,
|
||||
BadgeListContainer, AccountSettingsFieldViews, MessageBannerView) {
|
||||
FieldViews, UserAccountModel, AccountPreferencesModel, LearnerProfileFields, LearnerProfileView,
|
||||
BadgeListContainer, AccountSettingsFieldViews, MessageBannerView) {
|
||||
'use strict';
|
||||
|
||||
describe('edx.user.LearnerProfileView', function() {
|
||||
|
||||
@@ -10,56 +10,56 @@
|
||||
'learner_profile/js/views/badge_view',
|
||||
'text!learner_profile/templates/badge_placeholder.underscore'
|
||||
],
|
||||
function(gettext, $, _, HtmlUtils, ListView, BadgeView, badgePlaceholder) {
|
||||
var BadgeListView = ListView.extend({
|
||||
tagName: 'div',
|
||||
function(gettext, $, _, HtmlUtils, ListView, BadgeView, badgePlaceholder) {
|
||||
var BadgeListView = ListView.extend({
|
||||
tagName: 'div',
|
||||
|
||||
template: HtmlUtils.template(badgePlaceholder),
|
||||
template: HtmlUtils.template(badgePlaceholder),
|
||||
|
||||
renderCollection: function() {
|
||||
var self = this,
|
||||
$row;
|
||||
renderCollection: function() {
|
||||
var self = this,
|
||||
$row;
|
||||
|
||||
this.$el.empty();
|
||||
this.$el.empty();
|
||||
|
||||
// Split into two columns.
|
||||
this.collection.each(function(badge, index) {
|
||||
var $item;
|
||||
if (index % 2 === 0) {
|
||||
$row = $('<div class="row">');
|
||||
this.$el.append($row);
|
||||
}
|
||||
$item = new BadgeView({
|
||||
model: badge,
|
||||
badgeMeta: this.badgeMeta,
|
||||
ownProfile: this.ownProfile
|
||||
}).render().el;
|
||||
|
||||
if ($row) {
|
||||
$row.append($item);
|
||||
}
|
||||
|
||||
this.itemViews.push($item);
|
||||
}, this);
|
||||
// Placeholder must always be at the end, and may need a new row.
|
||||
if (!this.collection.hasNextPage()) {
|
||||
// find_courses_url set by BadgeListContainer during initialization.
|
||||
if (this.collection.length % 2 === 0) {
|
||||
$row = $('<div class="row">');
|
||||
this.$el.append($row);
|
||||
}
|
||||
|
||||
if ($row) {
|
||||
HtmlUtils.append(
|
||||
$row,
|
||||
this.template({find_courses_url: self.find_courses_url})
|
||||
);
|
||||
}
|
||||
// Split into two columns.
|
||||
this.collection.each(function(badge, index) {
|
||||
var $item;
|
||||
if (index % 2 === 0) {
|
||||
$row = $('<div class="row">');
|
||||
this.$el.append($row);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
$item = new BadgeView({
|
||||
model: badge,
|
||||
badgeMeta: this.badgeMeta,
|
||||
ownProfile: this.ownProfile
|
||||
}).render().el;
|
||||
|
||||
return BadgeListView;
|
||||
if ($row) {
|
||||
$row.append($item);
|
||||
}
|
||||
|
||||
this.itemViews.push($item);
|
||||
}, this);
|
||||
// Placeholder must always be at the end, and may need a new row.
|
||||
if (!this.collection.hasNextPage()) {
|
||||
// find_courses_url set by BadgeListContainer during initialization.
|
||||
if (this.collection.length % 2 === 0) {
|
||||
$row = $('<div class="row">');
|
||||
this.$el.append($row);
|
||||
}
|
||||
|
||||
if ($row) {
|
||||
HtmlUtils.append(
|
||||
$row,
|
||||
this.template({find_courses_url: self.find_courses_url})
|
||||
);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
return BadgeListView;
|
||||
});
|
||||
}).call(this, define || RequireJS.define);
|
||||
|
||||
Reference in New Issue
Block a user