#45 finally won't see two 'Stored XSS lessons hightlighted

This commit is contained in:
Jason White 2015-12-02 15:08:32 -05:00
parent 0628a27b34
commit 539985c59e

View File

@ -50,7 +50,6 @@ define(['jquery',
catLink.append(catArrow); catLink.append(catArrow);
catLink.append(catLinkText); catLink.append(catLinkText);
//TODO: refactor this along with sub-views/components
var self = this; var self = this;
catLink.click(_.bind(this.expandCategory,this,catId)); catLink.click(_.bind(this.expandCategory,this,catId));
category.append(catLink); category.append(catLink);
@ -62,12 +61,12 @@ define(['jquery',
for (var j=0; j < lessons.length;j++) { for (var j=0; j < lessons.length;j++) {
var lessonItem = $('<li>',{class:'lesson'}); var lessonItem = $('<li>',{class:'lesson'});
var lessonName = lessons[j].name; var lessonName = lessons[j].name;
var lessonId = GoatUtils.makeId(lessonName); var lessonId = catId + '-' + GoatUtils.makeId(lessonName);
if (this.curLessonLinkId === lessonId) { if (this.curLessonLinkId === lessonId) {
lessonItem.addClass('selected'); lessonItem.addClass('selected');
} }
var lessonLink = $('<a>',{href:lessons[j].link,text:lessonName,id:lessonId}); var lessonLink = $('<a>',{href:lessons[j].link,text:lessonName,id:lessonId});
lessonLink.click(_.bind(this.onLessonClick,this,lessonName)); lessonLink.click(_.bind(this.onLessonClick,this,lessonId));
lessonItem.append(lessonLink); lessonItem.append(lessonLink);
//check for lab/stages //check for lab/stages
categoryLessonList.append(lessonItem); categoryLessonList.append(lessonItem);
@ -78,12 +77,12 @@ define(['jquery',
for (k=0; k < stages.length; k++) { for (k=0; k < stages.length; k++) {
var stageItem = $('<li>',{class:'stage'}); var stageItem = $('<li>',{class:'stage'});
var stageName = stages[k].name; var stageName = stages[k].name;
var stageId = GoatUtils.makeId(stageName); var stageId = lessonId + '-stage' + k;
if (this.curLessonLinkId === stageId) { if (this.curLessonLinkId === stageId) {
stageItem.addClass('selected'); stageItem.addClass('selected');
} }
var stageLink = $('<a>',{href:stages[k].link,text:stageName,id:stageId}); var stageLink = $('<a>',{href:stages[k].link,text:stageName,id:stageId});
stageLink.click(_.bind(this.onLessonClick,this,stageName)); stageLink.click(_.bind(this.onLessonClick,this,stageId));
stageItem.append(stageLink); stageItem.append(stageLink);
categoryLessonList.append(stageItem); categoryLessonList.append(stageItem);
if (stages[k].complete) { if (stages[k].complete) {
@ -108,14 +107,11 @@ define(['jquery',
this.collection.fetch(); this.collection.fetch();
}, },
onLessonClick: function (title) { onLessonClick: function (elementId) {
var oldLinkId = GoatUtils.makeId(this.curLessonLinkId); $('#'+this.curLessonLinkId).removeClass('selected');
$('#'+oldLinkId).removeClass('selected');
//update //update
this.curLessonLinkId = GoatUtils.makeId(title); $('#'+elementId).addClass('selected');
var newLinkId = GoatUtils.makeId(this.curLessonLinkId) this.curLessonLinkId = elementId;
$('#'+newLinkId).addClass('selected');
this.trigger('lesson:click', title); // will cause menu reload
}, },
expandCategory: function (id) { expandCategory: function (id) {