Files
edx-platform/lms/static/js/edxnotes/views/tabs/course_structure.js
Syed Ali Abbas Zaidi f1fb38ed83 fix: multi lines and spaces issues (#31885)
* fix: multi lines and spaces issues

* fix: eslint operator-linebreak issue

* fix: eslint quotes issue

* fix: remaining quotes issues

* fix: eslint object curly newline issue

* fix: eslint object curly spacing issue

* fix: eslint brace-style issues

* fix: react jsx indent and props issues

* fix: eslint trailing spaces issues

* fix: eslint linbreak style issue

* fix: eslint space unary operator issue

* fix: eslint line around directives issue

* fix: void and typeof space unary ops issue
2023-05-03 12:22:46 +05:00

60 lines
2.5 KiB
JavaScript

(function(define, undefined) {
'use strict';
define([
'gettext', 'underscore', 'js/edxnotes/views/note_group', 'js/edxnotes/views/tab_panel',
'js/edxnotes/views/tab_view', 'edx-ui-toolkit/js/utils/html-utils'
], function(gettext, _, NoteGroupView, TabPanelView, TabView, HtmlUtils) {
var view = 'Location in Course';
var CourseStructureView = TabView.extend({
PanelConstructor: TabPanelView.extend({
id: 'structure-panel',
title: view,
renderContent: function() {
var courseStructure = this.collection.getCourseStructure(),
container = document.createDocumentFragment();
_.each(courseStructure.chapters, function(chapterInfo) {
var chapterView = this.getChapterGroupView(chapterInfo);
_.each(chapterInfo.children, function(location) {
var sectionInfo = courseStructure.sections[location],
sectionView;
if (sectionInfo) {
sectionView = chapterView.addChild(sectionInfo);
_.each(sectionInfo.children, function(location) {
var notes = courseStructure.units[location];
if (notes) {
sectionView.addChild(this.getNotes(notes));
}
}, this);
}
}, this);
container.appendChild(chapterView.render().el);
}, this);
this.$el.append(HtmlUtils.HTML(container).toString());
return this;
},
getChapterGroupView: function(chapter, section) {
var group = new NoteGroupView.ChapterView({
chapter: chapter,
section: section
});
this.children.push(group);
return group;
}
}),
tabInfo: {
name: gettext('Location in Course'),
identifier: 'view-course-structure',
icon: 'fa fa-list-ul',
view: view
}
});
return CourseStructureView;
});
}).call(this, define || RequireJS.define);