From 539985c59eee5e1ab1c51deecad0af099a19068f Mon Sep 17 00:00:00 2001 From: Jason White Date: Wed, 2 Dec 2015 15:08:32 -0500 Subject: [PATCH] #45 finally won't see two 'Stored XSS lessons hightlighted --- .../main/webapp/js/goatApp/view/MenuView.js | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/webgoat-container/src/main/webapp/js/goatApp/view/MenuView.js b/webgoat-container/src/main/webapp/js/goatApp/view/MenuView.js index f9ecf1177..005402ab4 100644 --- a/webgoat-container/src/main/webapp/js/goatApp/view/MenuView.js +++ b/webgoat-container/src/main/webapp/js/goatApp/view/MenuView.js @@ -50,7 +50,6 @@ define(['jquery', catLink.append(catArrow); catLink.append(catLinkText); - //TODO: refactor this along with sub-views/components var self = this; catLink.click(_.bind(this.expandCategory,this,catId)); category.append(catLink); @@ -62,12 +61,12 @@ define(['jquery', for (var j=0; j < lessons.length;j++) { var lessonItem = $('
  • ',{class:'lesson'}); var lessonName = lessons[j].name; - var lessonId = GoatUtils.makeId(lessonName); + var lessonId = catId + '-' + GoatUtils.makeId(lessonName); if (this.curLessonLinkId === lessonId) { lessonItem.addClass('selected'); } var lessonLink = $('',{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); //check for lab/stages categoryLessonList.append(lessonItem); @@ -78,12 +77,12 @@ define(['jquery', for (k=0; k < stages.length; k++) { var stageItem = $('
  • ',{class:'stage'}); var stageName = stages[k].name; - var stageId = GoatUtils.makeId(stageName); + var stageId = lessonId + '-stage' + k; if (this.curLessonLinkId === stageId) { stageItem.addClass('selected'); } var stageLink = $('',{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); categoryLessonList.append(stageItem); if (stages[k].complete) { @@ -108,14 +107,11 @@ define(['jquery', this.collection.fetch(); }, - onLessonClick: function (title) { - var oldLinkId = GoatUtils.makeId(this.curLessonLinkId); - $('#'+oldLinkId).removeClass('selected'); + onLessonClick: function (elementId) { + $('#'+this.curLessonLinkId).removeClass('selected'); //update - this.curLessonLinkId = GoatUtils.makeId(title); - var newLinkId = GoatUtils.makeId(this.curLessonLinkId) - $('#'+newLinkId).addClass('selected'); - this.trigger('lesson:click', title); // will cause menu reload + $('#'+elementId).addClass('selected'); + this.curLessonLinkId = elementId; }, expandCategory: function (id) {