diff options
Diffstat (limited to 'js/options/fav.js')
| -rw-r--r-- | js/options/fav.js | 72 |
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(); +}); +}); |
