From 77ca327e7e781a8ee8790258c417e62e7baa8b82 Mon Sep 17 00:00:00 2001 From: WrinklyNinja Date: Fri, 18 Jul 2014 20:20:51 +0100 Subject: [PATCH] Forgot to commit moved Tag string code. --- resources/report/js/plugin.js | 53 +++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/resources/report/js/plugin.js b/resources/report/js/plugin.js index 72641242..c636bdf4 100644 --- a/resources/report/js/plugin.js +++ b/resources/report/js/plugin.js @@ -46,6 +46,59 @@ function Plugin(obj) { card.querySelector('.editMetadata').addEventListener('click', this.onMenuItemClick, false); } + Plugin.prototype.getTagsStrings = function () { + var tagsAdded = []; + var tagsRemoved = []; + + if (this.masterlist && this.masterlist.tag) { + for (var i = 0; i < this.masterlist.tag.length; ++i) { + if (this.masterlist.tag[i].name[0] == '-') { + tagsRemoved.push(this.masterlist.tag[i].name); + } else { + tagsAdded.push(this.masterlist.tag[i].name); + } + } + } + /* Now make sure that the same tag doesn't appear in both arrays. + Prefer the removed list. */ + for (var i = 0; i < tagsAdded.length; ++i) { + for (var j = 0; j < tagsRemoved.length; ++j) { + if (tagsRemoved[j].name.toLowerCase() == tagsAdded[i].name.toLowerCase()) { + /* Remove tag from the tagsAdded array. */ + tagsAdded.splice(i, 1); + --i; + } + } + } + + if (this.userlist && this.userlist.tag) { + for (var i = 0; i < this.userlist.tag.length; ++i) { + if (this.userlist.tag[i][0] == '-') { + tagsRemoved.push(this.userlist.tag[i]); + } else { + tagsAdded.push(this.userlist.tag[i]); + } + } + } + /* Now again make sure that the same tag doesn't appear in both arrays. + Prefer the removed list. */ + for (var i = 0; i < tagsAdded.length; ++i) { + for (var j = 0; j < tagsRemoved.length; ++j) { + if (tagsRemoved[j].name.toLowerCase() == tagsAdded[i].name.toLowerCase()) { + /* Remove tag from the tagsAdded array. */ + tagsAdded.splice(i, 1); + --i; + } + } + } + + return { + tagsAdded: tagsAdded.join(', '), + tagsRemoved: tagsRemoved.join(', ') + }; + + } + Plugin.prototype.createCard = function() { var card = new PluginCard();