summaryrefslogtreecommitdiff
path: root/js/options/fav.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/options/fav.js')
-rw-r--r--js/options/fav.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/js/options/fav.js b/js/options/fav.js
new file mode 100644
index 00000000..17ccb337
--- /dev/null
+++ b/js/options/fav.js
@@ -0,0 +1,72 @@
+$(document).ready(function(){
+//Creating functions
+var generateList = function(){
+ var favStor = [];
+ for(var i=1; i<favorites.length+1; i++){
+ favStor.push($("#sortable > div:nth-child("+i+")").html());
+ }
+ return favStor;
+} //This will generate a list of boards based off of the list on the screen
+function removeBoard(boardNumber){
+ favorites.splice(boardNumber, 1);
+ localStorage.favorites = JSON.stringify(favorites);
+ $("#sortable > div:nth-child("+(boardNumber+1)+")").remove();
+ $("#minusList > div:nth-child("+(favorites.length+1)+")").remove();
+ add_favorites();
+} //This removes a board from favorites, localStorage.favorites and the page
+function addBoard(){
+ $("#sortable").append("<div>"+($("#plusBox").val())+"</div>");
+ $("#minusList").append( $('<div data-board="'+favorites.length+'" style="cursor: pointer; margin-right: 5px">-</div>').on('click', function(e){removeBoard($(this).data('board'));}) );
+ favorites.push($("#plusBox").val());
+ localStorage.favorites = JSON.stringify(favorites);
+ $("#plusBox").val(""); //Removing text from textbox
+ add_favorites();
+} //This adds the text inside the textbox to favorites, localStorage.favorites and the page
+
+var favorites = JSON.parse(localStorage.favorites);
+Options.add_tab('fav-tab','star',_("Favorites"));
+
+//Pregenerating list of boards
+var favList = $('<div id="sortable" style="cursor: pointer; display: inline-block">');
+for(var i=0; i<favorites.length; i++){
+ favList.append( $('<div>'+favorites[i]+'</div>') );
+}
+
+//Creating list of minus symbols to remove unwanted boards
+var minusList = $('<div id="minusList" style="color: #0000FF; display: inline-block">');
+for(var i=0; i<favorites.length; i++){
+ minusList.append( $('<div data-board="'+i+'" style="cursor: pointer; margin-right: 5px">-</div>').on('click', function(e){removeBoard($(this).data('board'));}) );
+}
+
+//Help message so people understand how sorting boards works
+$("<span>"+_("Drag the boards to sort them.")+"</span><br><br>").appendTo(Options.get_tab('fav-tab').content);
+
+//Adding list of boards and minus symbols to remove boards with
+$(minusList).appendTo(Options.get_tab('fav-tab').content); //Adding the list of minus symbols to the tab
+$(favList).appendTo(Options.get_tab('fav-tab').content); //Adding the list of favorite boards to the tab
+
+//Adding spacing and text box to right boards into
+var addDiv = $("<div id='favs-add-board'>");
+
+var plusBox = $("<input id=\"plusBox\" type=\"text\">").appendTo(addDiv);
+plusBox.keydown(function( event ) {
+ if(event.keyCode == 13){
+ $("#plus").click();
+ }
+});
+
+//Adding plus symbol to use to add board
+$("<div id=\"plus\">+</div>").css({
+ cursor: "pointer",
+ color: "#0000FF"
+}).on('click', function(e){addBoard()}).appendTo(addDiv);
+
+addDiv.appendTo(Options.get_tab('fav-tab').content); //Adding the plus button
+
+favList.sortable(); //Making boards with sortable id use the sortable jquery function
+favList.on('sortstop', function() {
+ favorites = generateList();
+ localStorage.favorites = JSON.stringify(favorites);
+ add_favorites();
+});
+});